@nomadamas/k-skill 0.1.0 → 0.2.1
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/bin/k-skill.js +35 -5
- package/package.json +2 -2
- package/skills/assembly-bill-vote-search/skill.json +0 -1
- package/skills/biz-health-check/instruction.md +2 -2
- package/skills/biz-health-check/skill.json +0 -1
- package/skills/bok-ecos-stats/instruction.md +8 -8
- package/skills/bok-ecos-stats/skill.json +0 -1
- package/skills/building-register-search/instruction.md +6 -6
- package/skills/building-register-search/scripts/building_register.py +0 -0
- package/skills/cheap-gas-nearby/skill.json +0 -1
- package/skills/corporate-registration-consulting/scripts/fill_official_hwp.py +0 -0
- package/skills/corporate-registration-consulting/skill.json +3 -1
- package/skills/coupang-product-search/instruction.md +10 -10
- package/skills/coupang-product-search/scripts/coupang_partners_mcp.py +0 -0
- package/skills/court-auction-notice-search/skill.json +2 -1
- package/skills/court-payment-order-assistant/skill.json +1 -1
- package/skills/d2b-notice-search/skill.json +2 -1
- package/skills/daangn-cars-search/instruction.md +3 -3
- package/skills/daangn-cars-search/scripts/daangn_cars.py +0 -0
- package/skills/daangn-jobs-search/instruction.md +2 -2
- package/skills/daangn-jobs-search/scripts/daangn_jobs.py +0 -0
- package/skills/daangn-jobs-search/skill.json +3 -1
- package/skills/daangn-realty-search/instruction.md +1 -1
- package/skills/daangn-realty-search/scripts/daangn_realty.py +0 -0
- package/skills/daangn-used-goods-search/instruction.md +2 -2
- package/skills/daangn-used-goods-search/scripts/daangn_used_goods.py +0 -0
- package/skills/daishin-report-search/skill.json +0 -1
- package/skills/danawa-price-search/instruction.md +4 -4
- package/skills/danawa-price-search/scripts/danawa_search.py +0 -0
- package/skills/ev-charger-nearby/instruction.md +5 -5
- package/skills/ev-charger-nearby/skill.json +1 -2
- package/skills/express-bus-booking/instruction.md +2 -2
- package/skills/express-bus-booking/scripts/kobus_express_booking.py +0 -0
- package/skills/express-bus-booking/skill.json +2 -0
- package/skills/fine-dust-location/instruction.md +1 -1
- package/skills/fine-dust-location/scripts/fine_dust.py +549 -0
- package/skills/fine-dust-location/skill.json +7 -1
- package/skills/flight-ticket-search/instruction.md +7 -7
- package/skills/foresttrip-vacancy/instruction.md +7 -7
- package/skills/foresttrip-vacancy/scripts/run_foresttrip_vacancy.py +0 -0
- package/skills/fsc-corporate-info/instruction.md +1 -1
- package/skills/fsc-corporate-info/skill.json +0 -1
- package/skills/g2b-order-plan-search/instruction.md +2 -2
- package/skills/g2b-order-plan-search/skill.json +2 -1
- package/skills/g2b-sanctioned-supplier/instruction.md +1 -1
- package/skills/g2b-sanctioned-supplier/skill.json +0 -1
- package/skills/geeknews-search/instruction.md +3 -3
- package/skills/geeknews-search/scripts/geeknews_search.py +0 -0
- package/skills/gov-overseas-trip-report/instruction.md +12 -12
- package/skills/gov-overseas-trip-report/scripts/gov_overseas_trip_report.py +0 -0
- package/skills/han-river-water-level/skill.json +0 -1
- package/skills/highway-traffic-status/instruction.md +2 -2
- package/skills/highway-traffic-status/skill.json +0 -1
- package/skills/household-waste-info/skill.json +0 -1
- package/skills/intercity-bus-booking/instruction.md +3 -3
- package/skills/intercity-bus-booking/scripts/intercity_bus_search.py +0 -0
- package/skills/intercity-bus-booking/skill.json +2 -0
- package/skills/iros-registry-automation/instruction.md +2 -2
- package/skills/iros-registry-automation/skill.json +2 -1
- package/skills/job-posting-match/instruction.md +2 -2
- package/skills/job-posting-match/skill.json +1 -1
- package/skills/jobkorea-talent-search/instruction.md +1 -1
- package/skills/jobkorea-talent-search/scripts/jobkorea_talent_search.py +0 -0
- package/skills/jobkorea-talent-search/skill.json +2 -1
- package/skills/joseon-sillok-search/instruction.md +6 -6
- package/skills/k-skill-cleaner/instruction.md +2 -2
- package/skills/k-skill-cleaner/scripts/k_skill_cleaner.py +0 -0
- package/skills/k-skill-setup/instruction.md +1 -1
- package/skills/k-skill-setup/scripts/check-setup.sh +29 -0
- package/skills/k-skill-setup/skill.json +8 -2
- package/skills/kakaotalk-mac/skill.json +1 -1
- package/skills/keris-academic-search/instruction.md +4 -4
- package/skills/korea-weather/skill.json +0 -1
- package/skills/korean-character-count/instruction.md +8 -8
- package/skills/korean-heritage-search/instruction.md +5 -5
- package/skills/korean-humanizer/instruction.md +1 -1
- package/skills/korean-jangbu-for/instruction.md +3 -3
- package/skills/korean-jangbu-for/scripts/install.sh +0 -0
- package/skills/korean-middle-korean/instruction.md +6 -6
- package/skills/korean-middle-korean/scripts/korean_middle_korean.js +0 -0
- package/skills/korean-patent-search/instruction.md +4 -4
- package/skills/korean-privacy-terms/instruction.md +4 -4
- package/skills/korean-privacy-terms/scripts/install.sh +0 -0
- package/skills/korean-scholarship-search/instruction.md +10 -10
- package/skills/korean-slang-writing/instruction.md +8 -8
- package/skills/korean-spell-check/instruction.md +3 -3
- package/skills/korean-spell-check/skill.json +0 -1
- package/skills/korean-stock-search/skill.json +0 -1
- package/skills/korean-transit-route/skill.json +0 -1
- package/skills/kosis-stats/instruction.md +13 -26
- package/skills/kr-whois-lookup/skill.json +1 -2
- package/skills/kstartup-search/instruction.md +8 -8
- package/skills/ktx-booking/instruction.md +15 -15
- package/skills/ktx-booking/scripts/ktx_booking.py +1316 -0
- package/skills/ktx-booking/skill.json +7 -1
- package/skills/lck-analytics/instruction.md +4 -4
- package/skills/lck-analytics/scripts/_lib.js +0 -0
- package/skills/lck-analytics/scripts/analyze-live-game.js +0 -0
- package/skills/lck-analytics/scripts/build-match-report.js +0 -0
- package/skills/lck-analytics/scripts/sync-oracle.js +0 -0
- package/skills/localdata-business-status/instruction.md +2 -2
- package/skills/mfds-drug-safety/instruction.md +3 -3
- package/skills/mfds-drug-safety/skill.json +0 -1
- package/skills/mfds-food-safety/instruction.md +6 -6
- package/skills/mfds-food-safety/skill.json +0 -1
- package/skills/myrealtrip-search/instruction.md +11 -11
- package/skills/myrealtrip-search/scripts/myrealtrip_mcp.py +0 -0
- package/skills/national-pension-workplace/instruction.md +1 -1
- package/skills/national-pension-workplace/skill.json +0 -1
- package/skills/naver-ad-performance/instruction.md +7 -7
- package/skills/naver-blog-research/instruction.md +4 -4
- package/skills/naver-news-search/skill.json +0 -1
- package/skills/nhis-care-checkup-search/skill.json +1 -2
- package/skills/nts-business-registration/instruction.md +3 -3
- package/skills/nts-tax-delinquency/instruction.md +1 -1
- package/skills/ohou-today-deal/instruction.md +4 -4
- package/skills/ohou-today-deal/scripts/ohou_today_deal.py +0 -0
- package/skills/popbill/instruction.md +9 -9
- package/skills/real-estate-search/skill.json +0 -1
- package/skills/s2b-notice-search/skill.json +2 -1
- package/skills/saramin-talent-search/skill.json +2 -1
- package/skills/seoul-bike/instruction.md +3 -3
- package/skills/seoul-bike/scripts/seoul_bike.py +0 -0
- package/skills/seoul-bike/skill.json +0 -1
- package/skills/seoul-density/instruction.md +4 -4
- package/skills/seoul-density/skill.json +0 -1
- package/skills/srt-booking/instruction.md +4 -4
- package/skills/subway-lost-property/instruction.md +2 -2
- package/skills/subway-lost-property/scripts/subway_lost_property.py +0 -0
- package/skills/subway-lost-property/skill.json +1 -1
- package/skills/ticket-availability/instruction.md +3 -3
- package/skills/ticket-availability/skill.json +2 -1
- package/skills/yebigun-training/skill.json +2 -1
- package/skills/zipcode-search/instruction.md +2 -2
- package/skills/zipcode-search/scripts/zipcode_search.py +0 -0
- package/src/assemble.js +148 -4
- package/src/execute.js +81 -0
- package/templates/action-recruiting.md +5 -0
- package/templates/legal.md +6 -0
- package/templates/operations.md +3 -0
- package/templates/action-communication.md +0 -5
- package/templates/hard-boundary.md +0 -3
|
@@ -25,7 +25,7 @@ v1 범위:
|
|
|
25
25
|
- KIPRIS Plus에서 발급받은 API 키
|
|
26
26
|
- helper 환경변수: `KIPRIS_PLUS_API_KEY`
|
|
27
27
|
- 실제 요청 쿼리 파라미터명: `ServiceKey`
|
|
28
|
-
-
|
|
28
|
+
- `@nomadamas/k-skill` CLI에 번들된 `scripts/patent_search.py` helper
|
|
29
29
|
|
|
30
30
|
## Inputs
|
|
31
31
|
|
|
@@ -51,9 +51,9 @@ v1 범위:
|
|
|
51
51
|
|
|
52
52
|
```bash
|
|
53
53
|
export KIPRIS_PLUS_API_KEY=your-service-key
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
54
|
+
npx -y @nomadamas/k-skill@0 exec korean-patent-search scripts/patent_search.py -- --query "배터리"
|
|
55
|
+
npx -y @nomadamas/k-skill@0 exec korean-patent-search scripts/patent_search.py -- --query "배터리" --year 2024 --num-rows 5
|
|
56
|
+
npx -y @nomadamas/k-skill@0 exec korean-patent-search scripts/patent_search.py -- --application-number 1020240001234
|
|
57
57
|
```
|
|
58
58
|
|
|
59
59
|
## Response policy
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
업스트림을 `~/.claude/skills/korean-privacy-terms/upstream/` 와 `~/.agents/skills/korean-privacy-terms/upstream/` 양쪽에 pinned SHA 로 체크아웃한다. 레포 내부에 업스트림 payload 를 커밋하지 않으므로 실사용 전 반드시 이 단계를 거친다.
|
|
41
41
|
|
|
42
42
|
```bash
|
|
43
|
-
|
|
43
|
+
npx -y @nomadamas/k-skill@0 exec korean-privacy-terms scripts/install.sh --
|
|
44
44
|
```
|
|
45
45
|
|
|
46
46
|
레포를 로컬에 clone 하지 않고 이미 홈 디렉토리 스킬 번들만 가진 상태에서도 설치할 수 있다 (installer 는 `${BASH_SOURCE[0]}` 로 절대경로를 해석하므로 cwd 에 구애받지 않는다):
|
|
@@ -77,7 +77,7 @@ bash ~/.agents/skills/korean-privacy-terms/scripts/install.sh
|
|
|
77
77
|
## Workflow
|
|
78
78
|
|
|
79
79
|
1. 사용자가 트리거 문구를 말하면 먼저 위 인터뷰 게이트를 실행한다.
|
|
80
|
-
2. `
|
|
80
|
+
2. `npx -y @nomadamas/k-skill@0 exec korean-privacy-terms scripts/install.sh --` 로 업스트림을 dual-install 한다 (이미 설치돼 있으면 pin 확인만 한다).
|
|
81
81
|
3. 업스트림이 제공하는 순서를 따른다: `scripts/interview.md` → `scripts/render.md` → `scripts/install.md`.
|
|
82
82
|
4. 업스트림은 Next.js 감지 → MDX/shadcn 의존성 설치 → 템플릿 치환 → `src/app/privacy/page.tsx` · `src/app/terms/page.tsx` · `src/components/legal/*` 등 파일 생성 → 법정 필수 11개 항목 검증 → 면책 주석 삽입 을 순차 실행한다.
|
|
83
83
|
5. 생성이 끝나면 사용자에게 보고하되, 아래 **Response policy** 의 고정 블록을 반드시 포함한다.
|
|
@@ -85,9 +85,9 @@ bash ~/.agents/skills/korean-privacy-terms/scripts/install.sh
|
|
|
85
85
|
## CLI examples
|
|
86
86
|
|
|
87
87
|
```bash
|
|
88
|
-
|
|
88
|
+
npx -y @nomadamas/k-skill@0 read korean-privacy-terms scripts/upstream.pin
|
|
89
89
|
|
|
90
|
-
|
|
90
|
+
npx -y @nomadamas/k-skill@0 exec korean-privacy-terms scripts/install.sh --
|
|
91
91
|
|
|
92
92
|
git -C ~/.claude/skills/korean-privacy-terms/upstream rev-parse HEAD
|
|
93
93
|
git -C ~/.agents/skills/korean-privacy-terms/upstream rev-parse HEAD
|
|
File without changes
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
4. 기업 공식 CSR/재단/채용·공지 페이지
|
|
52
52
|
5. 비공식 모음글/블로그/커뮤니티는 **lead source** 로만 사용하고, 공식 공고로 교차검증되지 않으면 제외
|
|
53
53
|
|
|
54
|
-
소스별 검색 패턴은 `references/source-patterns.md` 를 보고, 검색 누락을 줄이려면 `references/search-clues.md` 의 키워드와 제목 단서를 같이 쓴다.
|
|
54
|
+
소스별 검색 패턴은 `npx -y @nomadamas/k-skill@0 read korean-scholarship-search references/source-patterns.md` 를 보고, 검색 누락을 줄이려면 `npx -y @nomadamas/k-skill@0 read korean-scholarship-search references/search-clues.md` 의 키워드와 제목 단서를 같이 쓴다.
|
|
55
55
|
|
|
56
56
|
## Inputs
|
|
57
57
|
|
|
@@ -114,12 +114,12 @@
|
|
|
114
114
|
5. 첨부 PDF/HWP가 있으면 같이 열어 조건을 확인
|
|
115
115
|
6. 교내 장학과 외부 추천 장학을 분리해서 정리
|
|
116
116
|
|
|
117
|
-
학교 완전 탐색 체크리스트는 `references/school-discovery.md` 를 본다.
|
|
117
|
+
학교 완전 탐색 체크리스트는 `npx -y @nomadamas/k-skill@0 read korean-scholarship-search references/school-discovery.md` 를 본다.
|
|
118
118
|
|
|
119
119
|
학교별 search plan을 만들 때는:
|
|
120
120
|
|
|
121
121
|
```bash
|
|
122
|
-
|
|
122
|
+
npx -y @nomadamas/k-skill@0 exec korean-scholarship-search scripts/university_search_plan.py -- \
|
|
123
123
|
--school-name "부산대학교" \
|
|
124
124
|
--department "컴퓨터공학과" \
|
|
125
125
|
--year 2026
|
|
@@ -128,7 +128,7 @@ python3 scripts/university_search_plan.py \
|
|
|
128
128
|
전국 대학 sweep query를 만들 때는:
|
|
129
129
|
|
|
130
130
|
```bash
|
|
131
|
-
|
|
131
|
+
npx -y @nomadamas/k-skill@0 exec korean-scholarship-search scripts/university_search_plan.py -- --nationwide --year 2026
|
|
132
132
|
```
|
|
133
133
|
|
|
134
134
|
### 3. 각 후보를 정규화한다
|
|
@@ -175,7 +175,7 @@ python3 scripts/university_search_plan.py --nationwide --year 2026
|
|
|
175
175
|
여러 장학금 후보를 JSON으로 정리한 뒤:
|
|
176
176
|
|
|
177
177
|
```bash
|
|
178
|
-
|
|
178
|
+
npx -y @nomadamas/k-skill@0 exec korean-scholarship-search scripts/scholarship_filter.py -- filter \
|
|
179
179
|
--input scholarships.json \
|
|
180
180
|
--org-type foundation \
|
|
181
181
|
--student-level undergraduate \
|
|
@@ -186,7 +186,7 @@ python3 scripts/scholarship_filter.py filter \
|
|
|
186
186
|
지원 가능 여부 판정:
|
|
187
187
|
|
|
188
188
|
```bash
|
|
189
|
-
|
|
189
|
+
npx -y @nomadamas/k-skill@0 exec korean-scholarship-search scripts/scholarship_filter.py -- eligibility \
|
|
190
190
|
--input scholarships.json \
|
|
191
191
|
--school-name "서울대학교" \
|
|
192
192
|
--student-level undergraduate \
|
|
@@ -198,7 +198,7 @@ python3 scripts/scholarship_filter.py eligibility \
|
|
|
198
198
|
KST 기준 현재 날짜로 열린 공고만 readable 하게 보기:
|
|
199
199
|
|
|
200
200
|
```bash
|
|
201
|
-
|
|
201
|
+
npx -y @nomadamas/k-skill@0 exec korean-scholarship-search scripts/scholarship_filter.py -- report \
|
|
202
202
|
--input scholarships.json \
|
|
203
203
|
--today 2026-04-14 \
|
|
204
204
|
--only-open-now \
|
|
@@ -208,7 +208,7 @@ python3 scripts/scholarship_filter.py report \
|
|
|
208
208
|
마감 임박 공고만 보기:
|
|
209
209
|
|
|
210
210
|
```bash
|
|
211
|
-
|
|
211
|
+
npx -y @nomadamas/k-skill@0 exec korean-scholarship-search scripts/scholarship_filter.py -- report \
|
|
212
212
|
--input scholarships.json \
|
|
213
213
|
--today 2026-04-14 \
|
|
214
214
|
--deadline-within-days 7
|
|
@@ -238,7 +238,7 @@ python3 scripts/scholarship_filter.py report \
|
|
|
238
238
|
- 공식 공고 링크
|
|
239
239
|
- 신청 링크
|
|
240
240
|
|
|
241
|
-
더 자세한 form 규칙은 `references/report-format.md` 를 본다.
|
|
241
|
+
더 자세한 form 규칙은 `npx -y @nomadamas/k-skill@0 read korean-scholarship-search references/report-format.md` 를 본다.
|
|
242
242
|
|
|
243
243
|
## Response policy
|
|
244
244
|
|
|
@@ -311,7 +311,7 @@ python3 scripts/scholarship_filter.py report \
|
|
|
311
311
|
|
|
312
312
|
## Notes
|
|
313
313
|
|
|
314
|
-
- 한국장학재단 공식 장학·지원구간 표면은 `references/source-patterns.md` 참고
|
|
314
|
+
- 한국장학재단 공식 장학·지원구간 표면은 `npx -y @nomadamas/k-skill@0 read korean-scholarship-search references/source-patterns.md` 참고
|
|
315
315
|
- 학교별 장학 공지는 HTML 구조가 제각각이므로, 공고 제목/본문/첨부를 같이 읽어야 한다.
|
|
316
316
|
- 장학금 "조건" 과 "우대사항" 을 섞지 않는다.
|
|
317
317
|
- "등록금 전액" 같은 비정액 장학금은 `amount.text` 를 유지하고 수치가 없으면 `*_krw` 는 비워둔다.
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
## Prerequisites
|
|
37
37
|
|
|
38
38
|
- `python3` 3.10+ (`argparse`, `urllib`, `unittest` 만 사용 — 추가 의존성 없음)
|
|
39
|
-
-
|
|
39
|
+
- `@nomadamas/k-skill` CLI에 번들된 `scripts/*.py` helper
|
|
40
40
|
- 나무위키 lookup 에는 인터넷 연결이 필요하지만, 실패해도 시드 인덱스만으로 안전하게 응답할 수 있다.
|
|
41
41
|
|
|
42
42
|
## Response contract
|
|
@@ -108,7 +108,7 @@
|
|
|
108
108
|
### 2. 시드 인덱스에서 후보 탐색
|
|
109
109
|
|
|
110
110
|
```bash
|
|
111
|
-
|
|
111
|
+
npx -y @nomadamas/k-skill@0 exec korean-slang-writing scripts/slang_search.py -- --mood "긍정,유머" --context "SNS,마케팅" --safety safe --limit 5 --format json
|
|
112
112
|
```
|
|
113
113
|
|
|
114
114
|
주요 옵션:
|
|
@@ -128,8 +128,8 @@ python3 scripts/slang_search.py --mood "긍정,유머" --context "SNS,마케팅"
|
|
|
128
128
|
### 3. (선택) 나무위키 원문 요약 확인
|
|
129
129
|
|
|
130
130
|
```bash
|
|
131
|
-
|
|
132
|
-
|
|
131
|
+
npx -y @nomadamas/k-skill@0 exec korean-slang-writing scripts/slang_lookup.py -- "중꺾마" --format json
|
|
132
|
+
npx -y @nomadamas/k-skill@0 exec korean-slang-writing scripts/slang_lookup.py -- "https://namu.wiki/w/%EC%A4%91%EA%BA%BE%EB%A7%88" --max-length 800
|
|
133
133
|
```
|
|
134
134
|
|
|
135
135
|
- 성공 시 `title`, `summary` 를 돌려준다.
|
|
@@ -147,16 +147,16 @@ python3 scripts/slang_lookup.py "https://namu.wiki/w/%EC%A4%91%EA%BA%BE%EB%A7%88
|
|
|
147
147
|
|
|
148
148
|
```bash
|
|
149
149
|
# 1) 특정 유행어 뜻/메타 바로 확인
|
|
150
|
-
|
|
150
|
+
npx -y @nomadamas/k-skill@0 exec korean-slang-writing scripts/slang_search.py -- --query "갓생" --format text
|
|
151
151
|
|
|
152
152
|
# 2) 긍정 무드의 SNS 마케팅 후보 5개
|
|
153
|
-
|
|
153
|
+
npx -y @nomadamas/k-skill@0 exec korean-slang-writing scripts/slang_search.py -- --mood "긍정,유머" --context "SNS,마케팅" --safety safe --limit 5
|
|
154
154
|
|
|
155
155
|
# 3) 이용자가 지정한 커스텀 인덱스로 전환
|
|
156
|
-
|
|
156
|
+
npx -y @nomadamas/k-skill@0 exec korean-slang-writing scripts/slang_search.py -- --query "중꺾마" --index-path ~/Downloads/my-slang.json
|
|
157
157
|
|
|
158
158
|
# 4) 나무위키 원문 요약 시도
|
|
159
|
-
|
|
159
|
+
npx -y @nomadamas/k-skill@0 exec korean-slang-writing scripts/slang_lookup.py -- "럭키비키" --timeout 10 --format text
|
|
160
160
|
```
|
|
161
161
|
|
|
162
162
|
## Response policy
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
|
|
34
34
|
- 인터넷 연결
|
|
35
35
|
- `python3` 3.10+
|
|
36
|
-
-
|
|
36
|
+
- `@nomadamas/k-skill` CLI에 번들된 `scripts/korean_spell_check.py`
|
|
37
37
|
|
|
38
38
|
## Verified surface notes
|
|
39
39
|
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
### 3. Run the helper
|
|
59
59
|
|
|
60
60
|
```bash
|
|
61
|
-
|
|
61
|
+
npx -y @nomadamas/k-skill@0 exec korean-spell-check scripts/korean_spell_check.py -- \
|
|
62
62
|
--file README.md \
|
|
63
63
|
--format json
|
|
64
64
|
```
|
|
@@ -66,7 +66,7 @@ python3 scripts/korean_spell_check.py \
|
|
|
66
66
|
짧은 문장은 `--text` 로 바로 넣을 수 있다.
|
|
67
67
|
|
|
68
68
|
```bash
|
|
69
|
-
|
|
69
|
+
npx -y @nomadamas/k-skill@0 exec korean-spell-check scripts/korean_spell_check.py -- \
|
|
70
70
|
--text "아버지가방에들어가신다." \
|
|
71
71
|
--format text
|
|
72
72
|
```
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
"name": "korean-spell-check",
|
|
3
3
|
"description": "Use Nara/PNU Korean spell-check surfaces conservatively to proofread Korean text, chunk long input, and return change-focused correction suggestions.",
|
|
4
4
|
"profiles": [
|
|
5
|
-
"browser",
|
|
6
5
|
"local"
|
|
7
6
|
],
|
|
8
7
|
"frontmatter": "name: korean-spell-check\ndescription: Use Nara/PNU Korean spell-check surfaces conservatively to proofread Korean text, chunk long input, and return change-focused correction suggestions.\nlicense: MIT\nmetadata:\n category: writing\n locale: ko-KR\n phase: v1"
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
"description": "Use k-skill-proxy to search Korean listed stocks, inspect KRX base information, and fetch daily trade snapshots without asking the user to issue a KRX API key.",
|
|
4
4
|
"profiles": [
|
|
5
5
|
"proxy",
|
|
6
|
-
"vault",
|
|
7
6
|
"lookup"
|
|
8
7
|
],
|
|
9
8
|
"frontmatter": "name: korean-stock-search\ndescription: Use k-skill-proxy to search Korean listed stocks, inspect KRX base information, and fetch daily trade snapshots without asking the user to issue a KRX API key.\nlicense: MIT\nmetadata:\n category: finance\n locale: ko-KR\n phase: v1"
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
"description": "Korean door-to-door public transit routing (subway + bus + walking) via ODsay LIVE API with Kakao geocoding for address-to-address queries. Use when the user asks for 지하철/버스/대중교통 길찾기, 환승 경로, 소요시간, or transit directions between two places in Korea.",
|
|
4
4
|
"profiles": [
|
|
5
5
|
"proxy",
|
|
6
|
-
"vault",
|
|
7
6
|
"lookup"
|
|
8
7
|
],
|
|
9
8
|
"frontmatter": "name: korean-transit-route\ndescription: Korean door-to-door public transit routing (subway + bus + walking) via ODsay LIVE API with Kakao geocoding for address-to-address queries. Use when the user asks for 지하철/버스/대중교통 길찾기, 환승 경로, 소요시간, or transit directions between two places in Korea.\nlicense: MIT\nmetadata:\n category: transit\n locale: ko-KR\n phase: v1"
|
|
@@ -40,28 +40,15 @@
|
|
|
40
40
|
- `bigdata` 또는 `--direct`: KOSIS Open API 인증키 (무료, https://kosis.kr/openapi/ 에서 회원가입 후 활용신청)
|
|
41
41
|
|
|
42
42
|
```bash
|
|
43
|
-
|
|
43
|
+
npx -y @nomadamas/k-skill@0 exec kosis-stats scripts/run_kosis_stats.py -- --help
|
|
44
44
|
```
|
|
45
45
|
|
|
46
|
-
###
|
|
46
|
+
### Bundled helper and reference
|
|
47
47
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
```bash
|
|
53
|
-
skill_dir="<skill-dir>" # 예: ~/.hermes/skills/kosis-stats, ~/.claude/skills/kosis-stats
|
|
54
|
-
if [ ! -f "$skill_dir/scripts/run_kosis_stats.py" ]; then
|
|
55
|
-
mkdir -p "$skill_dir/scripts" "$skill_dir/references"
|
|
56
|
-
curl -fsSL https://raw.githubusercontent.com/NomaDamas/k-skill/main/kosis-stats/scripts/run_kosis_stats.py \
|
|
57
|
-
-o "$skill_dir/scripts/run_kosis_stats.py"
|
|
58
|
-
curl -fsSL https://raw.githubusercontent.com/NomaDamas/k-skill/main/kosis-stats/references/kosis-openapi-guide.md \
|
|
59
|
-
-o "$skill_dir/references/kosis-openapi-guide.md"
|
|
60
|
-
fi
|
|
61
|
-
python3 "$skill_dir/scripts/run_kosis_stats.py" --help
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
근본적으로는 디렉터리 단위로 설치하는 방식(`npx --yes skills add NomaDamas/k-skill --skill kosis-stats -g` 또는 repo clone)을 권장한다.
|
|
48
|
+
KOSIS helper와 OpenAPI guide reference는 `@nomadamas/k-skill` CLI 패키지에
|
|
49
|
+
함께 번들된다. raw `SKILL.md`만 설치된 환경에서도 별도로 다운로드하거나
|
|
50
|
+
복구하지 않는다. 조립된 instruction의 `k-skill exec`와 `k-skill read` 명령을
|
|
51
|
+
사용한다.
|
|
65
52
|
|
|
66
53
|
## Required environment variables
|
|
67
54
|
|
|
@@ -69,7 +56,7 @@ python3 "$skill_dir/scripts/run_kosis_stats.py" --help
|
|
|
69
56
|
- `KSKILL_PROXY_BASE_URL` — self-host·별도 프록시를 쓸 때만 설정. 비우면 기본 hosted proxy를 사용한다.
|
|
70
57
|
- `KSKILL_KOSIS_API_KEY` — `bigdata` 또는 `--direct`로 KOSIS를 직접 호출할 때만 필요하다.
|
|
71
58
|
|
|
72
|
-
발급 절차와 호출 한도, 에러 코드 등 자세한 내용은
|
|
59
|
+
발급 절차와 호출 한도, 에러 코드 등 자세한 내용은 `npx -y @nomadamas/k-skill@0 read kosis-stats references/kosis-openapi-guide.md` 참고.
|
|
73
60
|
|
|
74
61
|
### Credential resolution order (`bigdata` 또는 `--direct` 전용)
|
|
75
62
|
|
|
@@ -138,7 +125,7 @@ python3 "$skill_dir/scripts/run_kosis_stats.py" --help
|
|
|
138
125
|
질문을 먼저 한국어 키워드로 좁히고 `search` 로 후보 통계표를 본다.
|
|
139
126
|
|
|
140
127
|
```bash
|
|
141
|
-
|
|
128
|
+
npx -y @nomadamas/k-skill@0 exec kosis-stats scripts/run_kosis_stats.py -- search --query "1인 가구" --text
|
|
142
129
|
```
|
|
143
130
|
|
|
144
131
|
출력에서 `[ORG_ID/TBL_ID]`를 골라 다음 단계에 사용한다.
|
|
@@ -148,7 +135,7 @@ python3 kosis-stats/scripts/run_kosis_stats.py search --query "1인 가구" --te
|
|
|
148
135
|
데이터를 받기 전에 분류/단위/주기를 확인한다.
|
|
149
136
|
|
|
150
137
|
```bash
|
|
151
|
-
|
|
138
|
+
npx -y @nomadamas/k-skill@0 exec kosis-stats scripts/run_kosis_stats.py -- meta --table-id DT_1JC1501 --text
|
|
152
139
|
```
|
|
153
140
|
|
|
154
141
|
### 4. Fetch a small bounded slice first
|
|
@@ -156,7 +143,7 @@ python3 kosis-stats/scripts/run_kosis_stats.py meta --table-id DT_1JC1501 --text
|
|
|
156
143
|
`--prd-se`, `--start`, `--end`, `--obj-l` 으로 범위를 좁혀 작은 슬라이스를 먼저 조회한다.
|
|
157
144
|
|
|
158
145
|
```bash
|
|
159
|
-
|
|
146
|
+
npx -y @nomadamas/k-skill@0 exec kosis-stats scripts/run_kosis_stats.py -- data \
|
|
160
147
|
--table-id DT_1JC1501 --prd-se Y --start 2020 --end 2022 \
|
|
161
148
|
--obj-l 1=ALL --json
|
|
162
149
|
```
|
|
@@ -172,7 +159,7 @@ python3 kosis-stats/scripts/run_kosis_stats.py data \
|
|
|
172
159
|
`bigdata` 는 KOSIS 웹에서 미리 등록한 `userStatsId` 가 필요하다. 미등록 상태면 사용자에게 등록 안내만 하고 멈춘다.
|
|
173
160
|
|
|
174
161
|
```bash
|
|
175
|
-
|
|
162
|
+
npx -y @nomadamas/k-skill@0 exec kosis-stats scripts/run_kosis_stats.py -- bigdata \
|
|
176
163
|
--user-stats-id "openapisample/101/DT_1IN1502/2/1/20191106094026_1" \
|
|
177
164
|
--format json --new-est-prd-cnt 5
|
|
178
165
|
```
|
|
@@ -217,8 +204,8 @@ python3 kosis-stats/scripts/run_kosis_stats.py bigdata \
|
|
|
217
204
|
|
|
218
205
|
- `./scripts/validate-skills.sh`
|
|
219
206
|
- `python3 -m py_compile kosis-stats/scripts/run_kosis_stats.py kosis-stats/tests/test_run_kosis_stats.py`
|
|
220
|
-
- `
|
|
221
|
-
- `
|
|
207
|
+
- `npx -y @nomadamas/k-skill@0 exec kosis-stats scripts/run_kosis_stats.py -- --help`
|
|
208
|
+
- `npx -y @nomadamas/k-skill@0 exec kosis-stats scripts/run_kosis_stats.py -- search --query 인구 --dry-run` (URL/파라미터 출력만)
|
|
222
209
|
- `PYTHONPATH=kosis-stats/scripts python3 -m unittest discover -s kosis-stats/tests -p 'test_*.py' -v`
|
|
223
210
|
- `npm run ci`
|
|
224
211
|
|
|
@@ -3,8 +3,7 @@
|
|
|
3
3
|
"description": "공공데이터포털 WHOIS 도메인/IP 정보 API를 k-skill-proxy 경유로 호출해 .kr/.한국 도메인, IP 주소, AS 번호의 공개 등록정보를 조회한다. 조회 전용. 돌쇠에서는 공식 표면을 통한 후속 액션까지 진행한다.",
|
|
4
4
|
"profiles": [
|
|
5
5
|
"proxy",
|
|
6
|
-
"
|
|
7
|
-
"action:communication"
|
|
6
|
+
"lookup"
|
|
8
7
|
],
|
|
9
8
|
"frontmatter": "name: kr-whois-lookup\ndescription: 공공데이터포털 WHOIS 도메인/IP 정보 API를 k-skill-proxy 경유로 호출해 .kr/.한국 도메인, IP 주소, AS 번호의 공개 등록정보를 조회한다. 조회 전용. 돌쇠에서는 공식 표면을 통한 후속 액션까지 진행한다.\nlicense: MIT\nmetadata:\n category: security\n locale: ko-KR\n phase: v1"
|
|
10
9
|
}
|
|
@@ -101,7 +101,7 @@ API helper는 조회 전용이다. 돌쇠에서 사용자가 사업 신청을
|
|
|
101
101
|
`--per-page 10` 정도로 먼저 한 페이지를 받아 응답 스키마를 확인한 뒤, 필터를 좁히거나 페이지를 넘긴다.
|
|
102
102
|
|
|
103
103
|
```bash
|
|
104
|
-
|
|
104
|
+
npx -y @nomadamas/k-skill@0 exec kstartup-search scripts/run_kstartup.py -- announcements \
|
|
105
105
|
--supt-regin 서울특별시 --rcrt-prgs-yn Y --per-page 5 --text
|
|
106
106
|
```
|
|
107
107
|
|
|
@@ -122,23 +122,23 @@ API는 단순 필드 매칭만 지원하고, **그중 `supt_regin` 같은 일부
|
|
|
122
122
|
|
|
123
123
|
```bash
|
|
124
124
|
# 서울 모집 중 공고 5건
|
|
125
|
-
|
|
125
|
+
npx -y @nomadamas/k-skill@0 exec kstartup-search scripts/run_kstartup.py -- announcements \
|
|
126
126
|
--supt-regin 서울특별시 --rcrt-prgs-yn Y --per-page 5 --text
|
|
127
127
|
|
|
128
128
|
# 2024년 사업화 분야 통합공고
|
|
129
|
-
|
|
129
|
+
npx -y @nomadamas/k-skill@0 exec kstartup-search scripts/run_kstartup.py -- business-info \
|
|
130
130
|
--biz-yr 2024 --biz-category-cd cmrczn_Tab3 --json
|
|
131
131
|
|
|
132
132
|
# 정책·공지 최신 콘텐츠
|
|
133
|
-
|
|
133
|
+
npx -y @nomadamas/k-skill@0 exec kstartup-search scripts/run_kstartup.py -- contents \
|
|
134
134
|
--clss-cd notice_matr --per-page 10 --text
|
|
135
135
|
|
|
136
136
|
# 창업기업 실태조사 통계보고서
|
|
137
|
-
|
|
137
|
+
npx -y @nomadamas/k-skill@0 exec kstartup-search scripts/run_kstartup.py -- statistics \
|
|
138
138
|
--titl-nm "창업기업 실태조사" --per-page 5 --json
|
|
139
139
|
|
|
140
140
|
# 인증키 없이 dry-run 으로 요청 점검
|
|
141
|
-
|
|
141
|
+
npx -y @nomadamas/k-skill@0 exec kstartup-search scripts/run_kstartup.py -- announcements \
|
|
142
142
|
--supt-regin 부산광역시 --dry-run
|
|
143
143
|
```
|
|
144
144
|
|
|
@@ -171,8 +171,8 @@ K-Startup 인증키 없이도 다음 검증이 가능하다.
|
|
|
171
171
|
|
|
172
172
|
- `./scripts/validate-skills.sh`
|
|
173
173
|
- `python3 -m py_compile kstartup-search/scripts/run_kstartup.py kstartup-search/tests/test_run_kstartup.py`
|
|
174
|
-
- `
|
|
175
|
-
- `
|
|
174
|
+
- `npx -y @nomadamas/k-skill@0 exec kstartup-search scripts/run_kstartup.py -- --help`
|
|
175
|
+
- `npx -y @nomadamas/k-skill@0 exec kstartup-search scripts/run_kstartup.py -- announcements --supt-regin 서울특별시 --dry-run`
|
|
176
176
|
- `PYTHONPATH=kstartup-search/scripts python3 -m unittest discover -s kstartup-search/tests -p 'test_*.py' -v`
|
|
177
177
|
- `node --test packages/k-skill-proxy/test/server.test.js` (K-Startup 라우트 5개 신규 케이스 포함)
|
|
178
178
|
- `npm run ci`
|
|
@@ -73,13 +73,13 @@ python3 -m pip install korail2-ncard pycryptodome
|
|
|
73
73
|
항상 helper 를 통해 조회한다.
|
|
74
74
|
|
|
75
75
|
```bash
|
|
76
|
-
|
|
76
|
+
npx -y @nomadamas/k-skill@0 exec ktx-booking scripts/ktx_booking.py -- search 서울 부산 20260328 090000 --limit 5
|
|
77
77
|
```
|
|
78
78
|
|
|
79
79
|
기본 `--train-type` 은 `ktx` 다. ITX-청춘(예: 남춘천↔용산)·ITX-새마을·무궁화호처럼 KTX 외 노선을 잡으려면 `--train-type` 으로 지정한다.
|
|
80
80
|
|
|
81
81
|
```bash
|
|
82
|
-
|
|
82
|
+
npx -y @nomadamas/k-skill@0 exec ktx-booking scripts/ktx_booking.py -- search 남춘천 용산 20260503 150000 --train-type itx-cheongchun
|
|
83
83
|
```
|
|
84
84
|
|
|
85
85
|
선택지: `ktx`, `itx-saemaeul`, `mugunghwa`, `nuriro`, `tonggeun`, `itx-cheongchun`, `airport`, `all`.
|
|
@@ -106,19 +106,19 @@ python3 scripts/ktx_booking.py search 남춘천 용산 20260503 150000 --train-t
|
|
|
106
106
|
기본 상세 좌석 조회:
|
|
107
107
|
|
|
108
108
|
```bash
|
|
109
|
-
|
|
109
|
+
npx -y @nomadamas/k-skill@0 exec ktx-booking scripts/ktx_booking.py -- seats 서울 부산 20260328 090000 --train-id <train_id>
|
|
110
110
|
```
|
|
111
111
|
|
|
112
112
|
일반실/특실은 `--room` 으로 나눈다.
|
|
113
113
|
|
|
114
114
|
```bash
|
|
115
|
-
|
|
115
|
+
npx -y @nomadamas/k-skill@0 exec ktx-booking scripts/ktx_booking.py -- seats 서울 부산 20260328 090000 --train-id <train_id> --room special
|
|
116
116
|
```
|
|
117
117
|
|
|
118
118
|
남은 좌석번호만 보고 싶으면 `--available-only` 를 쓴다.
|
|
119
119
|
|
|
120
120
|
```bash
|
|
121
|
-
|
|
121
|
+
npx -y @nomadamas/k-skill@0 exec ktx-booking scripts/ktx_booking.py -- seats 서울 부산 20260328 090000 --train-id <train_id> --available-only
|
|
122
122
|
```
|
|
123
123
|
|
|
124
124
|
특정 호차를 지정하지 않으면 `seats` 는 **5호차를 최우선**으로 탐색한다. 5호차가 없으면 5호차와의 거리가 가까운 호차 순으로, 같은 거리에서는 낮은 호차 번호 순으로 탐색한다(예: 1~8호차 편성은 `5, 4, 6, 3, 7, 2, 8, 1`, 1~4호차 편성은 `4, 3, 2, 1`). 일반 KTX, KTX-산천(분류 코드 07·10), KTX-청룡 모두 같은 규칙을 적용한다. 각 호차 안의 좌석은 콘센트 힌트가 있는 좌석(`direct`, `adjacent`)을 먼저, 같은 조건에서는 순방향 좌석을 먼저 보여준다.
|
|
@@ -126,19 +126,19 @@ python3 scripts/ktx_booking.py seats 서울 부산 20260328 090000 --train-id <t
|
|
|
126
126
|
특정 호차만 확인하려면 `--car-no` 를 쓴다.
|
|
127
127
|
|
|
128
128
|
```bash
|
|
129
|
-
|
|
129
|
+
npx -y @nomadamas/k-skill@0 exec ktx-booking scripts/ktx_booking.py -- seats 서울 부산 20260328 090000 --train-id <train_id> --car-no 5 --available-only
|
|
130
130
|
```
|
|
131
131
|
|
|
132
132
|
콘센트 꿀팁 자리부터 확인하려면 `--power-only` 를 붙인다. 응답의 `power_outlet` 은 `direct`, `adjacent`, `none` 중 하나다.
|
|
133
133
|
|
|
134
134
|
```bash
|
|
135
|
-
|
|
135
|
+
npx -y @nomadamas/k-skill@0 exec ktx-booking scripts/ktx_booking.py -- seats 서울 부산 20260328 090000 --train-id <train_id> --available-only --power-only
|
|
136
136
|
```
|
|
137
137
|
|
|
138
138
|
`seats` 도 `search` 와 같은 `--train-type` 을 넘겨야 한다. ITX-청춘 등 KTX 외 열차를 조회했다면 상세 좌석 조회에도 같은 값을 사용한다.
|
|
139
139
|
|
|
140
140
|
```bash
|
|
141
|
-
|
|
141
|
+
npx -y @nomadamas/k-skill@0 exec ktx-booking scripts/ktx_booking.py -- seats 남춘천 용산 20260503 150000 \
|
|
142
142
|
--train-id <train_id> \
|
|
143
143
|
--train-type itx-cheongchun \
|
|
144
144
|
--available-only
|
|
@@ -159,13 +159,13 @@ python3 scripts/ktx_booking.py seats 남춘천 용산 20260503 150000 \
|
|
|
159
159
|
조회 결과의 `train_id` 를 고른 뒤에만 예약한다. 이 값은 helper 가 열차 번호/운행일/시각/역 코드를 묶어 만든 stable selector 이므로, 재조회 시 같은 열차가 아직 있으면 그대로 잡고 없으면 실패한다.
|
|
160
160
|
|
|
161
161
|
```bash
|
|
162
|
-
|
|
162
|
+
npx -y @nomadamas/k-skill@0 exec ktx-booking scripts/ktx_booking.py -- reserve 서울 부산 20260328 090000 --train-id <train_id> --seat-option general-first
|
|
163
163
|
```
|
|
164
164
|
|
|
165
165
|
ITX 등 KTX 외 노선을 search 단계에서 골랐다면 reserve 에도 똑같이 `--train-type` 을 넘긴다.
|
|
166
166
|
|
|
167
167
|
```bash
|
|
168
|
-
|
|
168
|
+
npx -y @nomadamas/k-skill@0 exec ktx-booking scripts/ktx_booking.py -- reserve 남춘천 용산 20260503 150000 --train-id <train_id> --train-type itx-cheongchun --seat-option general-first
|
|
169
169
|
```
|
|
170
170
|
|
|
171
171
|
응답에는 예약번호, 운임, 구입기한이 포함된다. 이 시점에 **좌석 확보는 완료되었다**고 안내한다. generic fallback에서는 결제를 handoff하고, 돌쇠에서는 아래 결제 단계로 계속 진행한다.
|
|
@@ -176,19 +176,19 @@ python3 scripts/ktx_booking.py reserve 남춘천 용산 20260503 150000 --train-
|
|
|
176
176
|
N카드 할인을 적용하려면 먼저 보유 N카드 목록을 조회해 카드 번호를 확인한다.
|
|
177
177
|
|
|
178
178
|
```bash
|
|
179
|
-
|
|
179
|
+
npx -y @nomadamas/k-skill@0 exec ktx-booking scripts/ktx_booking.py -- ncard-list
|
|
180
180
|
```
|
|
181
181
|
|
|
182
182
|
N카드로 할인 열차를 조회한다 (`--ncard-index` 는 `ncard-list` 결과의 순번). `ncard-list` 는 로그/셸 노출을 줄이기 위해 카드 번호를 마스킹해 출력한다.
|
|
183
183
|
|
|
184
184
|
```bash
|
|
185
|
-
|
|
185
|
+
npx -y @nomadamas/k-skill@0 exec ktx-booking scripts/ktx_booking.py -- ncard-search 대전 서울 20260512 100000 --ncard-index 1 --train-type ktx
|
|
186
186
|
```
|
|
187
187
|
|
|
188
188
|
응답의 `train_id` 를 복사해 `reserve` 에 같은 `--ncard-index` 를 붙여 예약한다.
|
|
189
189
|
|
|
190
190
|
```bash
|
|
191
|
-
|
|
191
|
+
npx -y @nomadamas/k-skill@0 exec ktx-booking scripts/ktx_booking.py -- reserve 대전 서울 20260512 100000 \
|
|
192
192
|
--train-id <train_id> \
|
|
193
193
|
--ncard-index 1
|
|
194
194
|
```
|
|
@@ -213,13 +213,13 @@ N카드 기능은 `korail2-ncard` 패키지가 필요하다. 없으면 해당
|
|
|
213
213
|
취소는 대상 예약을 다시 조회해 식별한 뒤에만 진행한다.
|
|
214
214
|
|
|
215
215
|
```bash
|
|
216
|
-
|
|
216
|
+
npx -y @nomadamas/k-skill@0 exec ktx-booking scripts/ktx_booking.py -- reservations
|
|
217
217
|
```
|
|
218
218
|
|
|
219
219
|
취소 실행 직전에 `clarify`로 예약번호, 열차, 날짜·시각, 승객, 환불/위약금 정보를 확인하고 승인받는다.
|
|
220
220
|
|
|
221
221
|
```bash
|
|
222
|
-
|
|
222
|
+
npx -y @nomadamas/k-skill@0 exec ktx-booking scripts/ktx_booking.py -- cancel <reservation_id>
|
|
223
223
|
```
|
|
224
224
|
|
|
225
225
|
## Done when
|