@nomadamas/k-skill 0.2.1 → 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/skills/bunjang-search/references/TRADEMARK-LEGAL-STATEMENT.md +9 -0
- package/skills/catchtable-sniper/references/TRADEMARK-LEGAL-STATEMENT.md +9 -0
- package/skills/coupang-product-search/references/TRADEMARK-LEGAL-STATEMENT.md +9 -0
- package/skills/daangn-cars-search/references/TRADEMARK-LEGAL-STATEMENT.md +9 -0
- package/skills/daangn-jobs-search/references/TRADEMARK-LEGAL-STATEMENT.md +9 -0
- package/skills/daangn-realty-search/references/TRADEMARK-LEGAL-STATEMENT.md +9 -0
- package/skills/daangn-used-goods-search/references/TRADEMARK-LEGAL-STATEMENT.md +9 -0
- package/skills/daishin-report-search/references/TRADEMARK-LEGAL-STATEMENT.md +9 -0
- package/skills/daiso-product-search/references/TRADEMARK-LEGAL-STATEMENT.md +9 -0
- package/skills/danawa-price-search/references/TRADEMARK-LEGAL-STATEMENT.md +9 -0
- package/skills/delivery-tracking/references/TRADEMARK-LEGAL-STATEMENT.md +9 -0
- package/skills/express-bus-booking/references/TRADEMARK-LEGAL-STATEMENT.md +9 -0
- package/skills/flight-ticket-search/references/TRADEMARK-LEGAL-STATEMENT.md +9 -0
- package/skills/foresttrip-vacancy/references/TRADEMARK-LEGAL-STATEMENT.md +9 -0
- package/skills/hankookilbo-news/instruction.md +143 -0
- package/skills/hankookilbo-news/skill.json +8 -0
- package/skills/hipass-receipt/references/TRADEMARK-LEGAL-STATEMENT.md +9 -0
- package/skills/intercity-bus-booking/references/TRADEMARK-LEGAL-STATEMENT.md +9 -0
- package/skills/job-posting-match/references/TRADEMARK-LEGAL-STATEMENT.md +9 -0
- package/skills/jobkorea-talent-search/references/TRADEMARK-LEGAL-STATEMENT.md +9 -0
- package/skills/kakao-bar-nearby/references/TRADEMARK-LEGAL-STATEMENT.md +9 -0
- package/skills/kakao-map/references/TRADEMARK-LEGAL-STATEMENT.md +9 -0
- package/skills/kakaotalk-mac/references/TRADEMARK-LEGAL-STATEMENT.md +9 -0
- package/skills/kbl-results/references/TRADEMARK-LEGAL-STATEMENT.md +9 -0
- package/skills/kbo-results/references/TRADEMARK-LEGAL-STATEMENT.md +9 -0
- package/skills/kleague-results/references/TRADEMARK-LEGAL-STATEMENT.md +9 -0
- package/skills/korean-cinema-search/references/TRADEMARK-LEGAL-STATEMENT.md +9 -0
- package/skills/korean-transit-route/references/TRADEMARK-LEGAL-STATEMENT.md +9 -0
- package/skills/kosis-stats/instruction.md +24 -3
- package/skills/kosis-stats/references/kosis-openapi-guide.md +5 -1
- package/skills/kosis-stats/scripts/run_kosis_stats.py +1 -1
- package/skills/ktx-booking/references/TRADEMARK-LEGAL-STATEMENT.md +9 -0
- package/skills/lck-analytics/references/TRADEMARK-LEGAL-STATEMENT.md +9 -0
- package/skills/lotto-results/references/TRADEMARK-LEGAL-STATEMENT.md +9 -0
- package/skills/market-kurly-search/references/TRADEMARK-LEGAL-STATEMENT.md +9 -0
- package/skills/myrealtrip-search/references/TRADEMARK-LEGAL-STATEMENT.md +9 -0
- package/skills/naver-ad-performance/references/TRADEMARK-LEGAL-STATEMENT.md +9 -0
- package/skills/naver-blog-research/references/TRADEMARK-LEGAL-STATEMENT.md +9 -0
- package/skills/naver-blog-research/scripts/naver_search.py +6 -1
- package/skills/naver-news-search/references/TRADEMARK-LEGAL-STATEMENT.md +9 -0
- package/skills/naver-shopping-search/references/TRADEMARK-LEGAL-STATEMENT.md +9 -0
- package/skills/ohou-today-deal/references/TRADEMARK-LEGAL-STATEMENT.md +9 -0
- package/skills/olive-young-search/references/TRADEMARK-LEGAL-STATEMENT.md +9 -0
- package/skills/popbill/references/TRADEMARK-LEGAL-STATEMENT.md +9 -0
- package/skills/saramin-talent-search/references/TRADEMARK-LEGAL-STATEMENT.md +9 -0
- package/skills/srt-booking/references/TRADEMARK-LEGAL-STATEMENT.md +9 -0
- package/skills/store-longevity-radar/instruction.md +91 -0
- package/skills/store-longevity-radar/scripts/store_longevity_radar.py +230 -0
- package/skills/store-longevity-radar/skill.json +8 -0
- package/skills/ticket-availability/references/TRADEMARK-LEGAL-STATEMENT.md +9 -0
- package/skills/toss-securities/references/TRADEMARK-LEGAL-STATEMENT.md +9 -0
- package/skills/used-car-price-search/references/TRADEMARK-LEGAL-STATEMENT.md +9 -0
- package/skills/gangnamunni-clinic-search/instruction.md +0 -113
- package/skills/gangnamunni-clinic-search/skill.json +0 -9
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
# Gangnam Unni Clinic Search
|
|
2
|
-
|
|
3
|
-
## What this skill does
|
|
4
|
-
|
|
5
|
-
강남언니(Gangnam Unni) 웹 검색 페이지의 **비로그인 공개 Next.js payload**를 읽어 병원 후보를 조회한다.
|
|
6
|
-
|
|
7
|
-
- 키워드로 병원 후보를 검색한다.
|
|
8
|
-
- 공개 검색 결과에 포함된 평점, 평점 수, 리뷰 수, 지원 언어, 공개 이미지, 병원 링크를 정리한다.
|
|
9
|
-
- 예약, 상담, 결제, 리뷰 작성, 앱 로그인 등 사용자 계정이 필요한 액션은 하지 않는다.
|
|
10
|
-
|
|
11
|
-
## When to use
|
|
12
|
-
|
|
13
|
-
- "강남언니에서 강남 성형외과 찾아줘"
|
|
14
|
-
- "강남언니 병원 평점이랑 리뷰 수 봐줘"
|
|
15
|
-
- "코성형 병원 후보를 강남언니 기준으로 몇 개만 보여줘"
|
|
16
|
-
- "성형외과/피부과 병원 공개 링크를 찾아줘"
|
|
17
|
-
|
|
18
|
-
## When not to use
|
|
19
|
-
|
|
20
|
-
- 상담 신청, 예약, 결제, 병원 채팅, 찜 같은 계정 기반 액션이 필요한 경우
|
|
21
|
-
- 로그인 사용자에게만 보이는 이벤트, 가격, 개인화 추천을 확정해야 하는 경우
|
|
22
|
-
- 의료적 판단, 시술 적합성, 안전성 보증을 대신해야 하는 경우
|
|
23
|
-
|
|
24
|
-
## Prerequisites
|
|
25
|
-
|
|
26
|
-
- 인터넷 연결
|
|
27
|
-
- Node.js 18+
|
|
28
|
-
- 이 저장소의 `gangnamunni-clinic-search` package 또는 동일 로직
|
|
29
|
-
|
|
30
|
-
## Required inputs
|
|
31
|
-
|
|
32
|
-
### 1. Ask for a search keyword if it is missing
|
|
33
|
-
|
|
34
|
-
검색어가 없으면 먼저 확인한다.
|
|
35
|
-
|
|
36
|
-
- 권장 질문: `강남언니에서 찾을 병원/시술/지역 키워드를 알려주세요. 예: 강남 성형외과, 코성형, 피부과`
|
|
37
|
-
- 너무 넓으면: `검색어가 넓어요. 지역이나 시술명을 같이 주시면 후보를 더 좁힐 수 있어요.`
|
|
38
|
-
|
|
39
|
-
### 2. Keep the answer conservative
|
|
40
|
-
|
|
41
|
-
강남언니 공개 페이지 기준으로 확인한 후보임을 분명히 말한다. 병원 선택, 의료 조언, 수술 권유처럼 해석될 수 있는 표현은 피한다.
|
|
42
|
-
|
|
43
|
-
## Public Gangnam Unni surface
|
|
44
|
-
|
|
45
|
-
- search list: `https://www.gangnamunni.com/search?q=<keyword>`
|
|
46
|
-
- parsed payload: `<script id="__NEXT_DATA__" type="application/json">...props.pageProps.hospitals...</script>`
|
|
47
|
-
- public hospital URL: `https://www.gangnamunni.com/hospitals/<id>`
|
|
48
|
-
|
|
49
|
-
Discovery result: `curl`/Node fetch로 비로그인 검색 HTML이 200으로 응답하고, 병원 후보는 server-rendered `__NEXT_DATA__`의 `props.pageProps.hospitals` 배열에 포함된다. 이 경로는 공개 read-only endpoint이므로 `k-skill-proxy`를 사용하지 않는다.
|
|
50
|
-
|
|
51
|
-
## Workflow
|
|
52
|
-
|
|
53
|
-
### 1. Search by keyword
|
|
54
|
-
|
|
55
|
-
```js
|
|
56
|
-
const { searchClinics } = require("gangnamunni-clinic-search")
|
|
57
|
-
|
|
58
|
-
const result = await searchClinics({ query: "강남 성형외과", limit: 5 })
|
|
59
|
-
console.log(result.items)
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
CLI:
|
|
63
|
-
|
|
64
|
-
```bash
|
|
65
|
-
npx gangnamunni-clinic-search "강남 성형외과" --limit 5
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
### 2. Interpret returned fields
|
|
69
|
-
|
|
70
|
-
우선 아래 필드를 본다.
|
|
71
|
-
|
|
72
|
-
- `name`: 병원명
|
|
73
|
-
- `rating`, `ratingCount`, `reviewCount`: 공개 검색 페이지에 포함된 평점/리뷰 지표
|
|
74
|
-
- `languages`: 공개 지원 언어
|
|
75
|
-
- `url`: 강남언니 공개 병원 페이지
|
|
76
|
-
- `profileImage`, `mainImage`: 공개 이미지 URL
|
|
77
|
-
|
|
78
|
-
### 3. Fallback order
|
|
79
|
-
|
|
80
|
-
1. 기본: `https://www.gangnamunni.com/search?q=<keyword>`의 `__NEXT_DATA__` payload를 파싱한다.
|
|
81
|
-
2. payload가 없으면 로그인벽, CAPTCHA, 차단, 빈 shell 페이지를 실패 모드로 분류한다.
|
|
82
|
-
3. 검색 결과가 너무 적거나 앱 전용 정보가 필요하면 자동화를 멈추고 사용자가 공식 앱/웹에서 직접 확인하도록 안내한다.
|
|
83
|
-
|
|
84
|
-
### 4. Respond safely
|
|
85
|
-
|
|
86
|
-
응답은 짧고 보수적으로 정리한다.
|
|
87
|
-
|
|
88
|
-
- 병원명
|
|
89
|
-
- 공개 평점/리뷰 수
|
|
90
|
-
- 지원 언어
|
|
91
|
-
- 강남언니 공개 링크
|
|
92
|
-
- `조회 시점 공개 검색 결과 기준이며, 의료 판단이나 실제 예약 가능 여부는 병원/공식 앱에서 확인해야 합니다.` 라고 명시한다.
|
|
93
|
-
|
|
94
|
-
## Done when
|
|
95
|
-
|
|
96
|
-
- 검색 키워드를 확인했다.
|
|
97
|
-
- 공개 검색 결과에서 병원 후보를 반환했거나, 실패 모드를 명확히 설명했다.
|
|
98
|
-
- 계정 기반 액션과 의료 판단은 하지 않았다.
|
|
99
|
-
|
|
100
|
-
## Failure modes
|
|
101
|
-
|
|
102
|
-
- 검색어가 너무 넓거나 강남언니가 병원 후보를 공개 payload에 일부만 넣을 수 있다.
|
|
103
|
-
- 강남언니 웹 구조가 바뀌면 `__NEXT_DATA__` 경로가 깨질 수 있다.
|
|
104
|
-
- 로그인 필요, CAPTCHA, 접근 차단, 빈 HTML shell은 자동 우회하지 않고 실패로 보고한다.
|
|
105
|
-
- 평점, 리뷰 수, 노출 순서는 시점에 따라 달라진다.
|
|
106
|
-
- 앱 전용/로그인 전용 정보는 비로그인 공개 조회만으로 확정할 수 없다.
|
|
107
|
-
|
|
108
|
-
## Notes
|
|
109
|
-
|
|
110
|
-
- 조회형 스킬이다.
|
|
111
|
-
- 비로그인 공개 표면 우선 원칙을 유지한다.
|
|
112
|
-
- 프록시와 API key는 사용하지 않는다.
|
|
113
|
-
- 의료 조언이나 병원 추천 보증이 아니라 공개 후보 정리로만 답한다.
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "gangnamunni-clinic-search",
|
|
3
|
-
"description": "강남언니 공개 검색 페이지에서 성형외과·피부과 병원 후보, 평점, 리뷰 수, 지원 언어, 공개 병원 링크를 조회한다. 돌쇠에서는 공식 표면을 통한 후속 액션까지 진행한다.",
|
|
4
|
-
"profiles": [
|
|
5
|
-
"proxy",
|
|
6
|
-
"action:booking"
|
|
7
|
-
],
|
|
8
|
-
"frontmatter": "name: gangnamunni-clinic-search\ndescription: 강남언니 공개 검색 페이지에서 성형외과·피부과 병원 후보, 평점, 리뷰 수, 지원 언어, 공개 병원 링크를 조회한다. 돌쇠에서는 공식 표면을 통한 후속 액션까지 진행한다.\nlicense: MIT\nmetadata:\n category: beauty\n locale: ko-KR\n phase: v1"
|
|
9
|
-
}
|