@nomadamas/k-skill 0.1.0 → 0.2.0
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/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/skill.json +1 -1
- 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/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 +147 -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
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
### 1. 진단
|
|
37
37
|
|
|
38
38
|
```bash
|
|
39
|
-
|
|
39
|
+
npx -y @nomadamas/k-skill@0 exec naver-ad-performance scripts/naver_ad_performance.py -- doctor
|
|
40
40
|
```
|
|
41
41
|
|
|
42
42
|
키 3개 존재 여부와 `api.searchad.naver.com` 도달 가능 여부를 보여준다. `reachable: false`면 로컬(클로드 코드/코덱스 CLI) 환경에서 다시 실행하도록 안내한다.
|
|
@@ -44,16 +44,16 @@ python3 naver-ad-performance/scripts/naver_ad_performance.py doctor
|
|
|
44
44
|
### 2. 구조 조회 (id가 필요할 때)
|
|
45
45
|
|
|
46
46
|
```bash
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
47
|
+
npx -y @nomadamas/k-skill@0 exec naver-ad-performance scripts/naver_ad_performance.py -- campaigns
|
|
48
|
+
npx -y @nomadamas/k-skill@0 exec naver-ad-performance scripts/naver_ad_performance.py -- adgroups --campaign <nccCampaignId>
|
|
49
|
+
npx -y @nomadamas/k-skill@0 exec naver-ad-performance scripts/naver_ad_performance.py -- keywords --adgroup <nccAdgroupId>
|
|
50
50
|
```
|
|
51
51
|
|
|
52
52
|
### 3. 성과 조회 (핵심)
|
|
53
53
|
|
|
54
54
|
```bash
|
|
55
|
-
|
|
56
|
-
|
|
55
|
+
npx -y @nomadamas/k-skill@0 exec naver-ad-performance scripts/naver_ad_performance.py -- stats --ids <id1,id2> --since 2026-06-01 --until 2026-06-30
|
|
56
|
+
npx -y @nomadamas/k-skill@0 exec naver-ad-performance scripts/naver_ad_performance.py -- stats --ids <id> --since 2026-06-01 --until 2026-06-30 --by day
|
|
57
57
|
```
|
|
58
58
|
|
|
59
59
|
`ids`는 캠페인/광고그룹/키워드 id를 콤마로 구분해 섞어 넣을 수 있다. `--since`/`--until`을 생략하면 네이버 기본 기간(최근)으로 조회된다.
|
|
@@ -61,7 +61,7 @@ python3 naver-ad-performance/scripts/naver_ad_performance.py stats --ids <id> --
|
|
|
61
61
|
### 4. 키워드 도구
|
|
62
62
|
|
|
63
63
|
```bash
|
|
64
|
-
|
|
64
|
+
npx -y @nomadamas/k-skill@0 exec naver-ad-performance scripts/naver_ad_performance.py -- keywordtool --keywords "제주여행,게스트하우스"
|
|
65
65
|
```
|
|
66
66
|
|
|
67
67
|
## Signing (참고)
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
### 1. 네이버 블로그 검색
|
|
36
36
|
|
|
37
37
|
```bash
|
|
38
|
-
|
|
38
|
+
npx -y @nomadamas/k-skill@0 exec naver-blog-research scripts/naver_search.py -- "검색어" --count 10 --sort sim
|
|
39
39
|
```
|
|
40
40
|
|
|
41
41
|
| 인자 | 필수 | 설명 | 기본값 |
|
|
@@ -68,7 +68,7 @@ python3 scripts/naver_search.py "검색어" --count 10 --sort sim
|
|
|
68
68
|
검색 결과에서 관심 있는 포스트의 URL을 선택하여 원문을 읽는다.
|
|
69
69
|
|
|
70
70
|
```bash
|
|
71
|
-
|
|
71
|
+
npx -y @nomadamas/k-skill@0 exec naver-blog-research scripts/naver_read.py -- "https://blog.naver.com/user123/224212849946"
|
|
72
72
|
```
|
|
73
73
|
|
|
74
74
|
| 인자 | 필수 | 설명 | 기본값 |
|
|
@@ -83,13 +83,13 @@ PC URL을 넣어도 자동으로 모바일 URL로 변환하여 요청한다.
|
|
|
83
83
|
### 3. 이미지 다운로드 (필요 시)
|
|
84
84
|
|
|
85
85
|
```bash
|
|
86
|
-
|
|
86
|
+
npx -y @nomadamas/k-skill@0 exec naver-blog-research scripts/naver_download_images.py -- --urls "url1,url2,url3" --output ./images/
|
|
87
87
|
```
|
|
88
88
|
|
|
89
89
|
또는 `naver_read.py` 결과를 파이프로 전달:
|
|
90
90
|
|
|
91
91
|
```bash
|
|
92
|
-
|
|
92
|
+
npx -y @nomadamas/k-skill@0 exec naver-blog-research scripts/naver_read.py -- "https://..." | npx -y @nomadamas/k-skill@0 exec naver-blog-research scripts/naver_download_images.py -- --output ./images/
|
|
93
93
|
```
|
|
94
94
|
|
|
95
95
|
| 인자 | 필수 | 설명 | 기본값 |
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
"description": "네이버 검색 Open API 뉴스 검색(news.json)을 k-skill-proxy 경유로 조회해 최신 뉴스 기사 제목·발행시각·링크·요약을 보수적으로 정리한다. 사용자는 별도 API 키 발급 없이 호출한다.",
|
|
4
4
|
"profiles": [
|
|
5
5
|
"proxy",
|
|
6
|
-
"vault",
|
|
7
6
|
"lookup"
|
|
8
7
|
],
|
|
9
8
|
"frontmatter": "name: naver-news-search\ndescription: 네이버 검색 Open API 뉴스 검색(news.json)을 k-skill-proxy 경유로 조회해 최신 뉴스 기사 제목·발행시각·링크·요약을 보수적으로 정리한다. 사용자는 별도 API 키 발급 없이 호출한다.\nlicense: MIT\nmetadata:\n category: information\n locale: ko-KR\n phase: v1"
|
|
@@ -3,8 +3,7 @@
|
|
|
3
3
|
"description": "국민건강보험공단 장기요양기관·건강검진기관을 조회하고, 돌쇠에서는 공식 연락·예약 가능 표면까지 이어간다.",
|
|
4
4
|
"profiles": [
|
|
5
5
|
"proxy",
|
|
6
|
-
"
|
|
7
|
-
"action:booking"
|
|
6
|
+
"lookup"
|
|
8
7
|
],
|
|
9
8
|
"frontmatter": "name: nhis-care-checkup-search\ndescription: 국민건강보험공단 장기요양기관·건강검진기관을 조회하고, 돌쇠에서는 공식 연락·예약 가능 표면까지 이어간다.\nlicense: MIT\nmetadata:\n category: healthcare\n locale: ko-KR\n phase: v1"
|
|
10
9
|
}
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
|
|
19
19
|
- 인터넷 연결
|
|
20
20
|
- `python3`
|
|
21
|
-
-
|
|
21
|
+
- `@nomadamas/k-skill` CLI에 번들된 `scripts/nts_business_registration.py` helper
|
|
22
22
|
- hosted/self-host `k-skill-proxy`의 `/v1/nts-business/status`, `/v1/nts-business/validate` route 접근 가능
|
|
23
23
|
|
|
24
24
|
## Credential requirements
|
|
@@ -78,12 +78,12 @@
|
|
|
78
78
|
## CLI examples
|
|
79
79
|
|
|
80
80
|
```bash
|
|
81
|
-
|
|
81
|
+
npx -y @nomadamas/k-skill@0 exec nts-business-registration scripts/nts_business_registration.py -- status \
|
|
82
82
|
--b-no 123-45-67890
|
|
83
83
|
```
|
|
84
84
|
|
|
85
85
|
```bash
|
|
86
|
-
|
|
86
|
+
npx -y @nomadamas/k-skill@0 exec nts-business-registration scripts/nts_business_registration.py -- validate \
|
|
87
87
|
--business-json '{"b_no":"123-45-67890","start_dt":"2020-01-31","p_nm":"홍길동","b_nm":"테스트상사"}'
|
|
88
88
|
```
|
|
89
89
|
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
오늘의집 오늘의딜 공개 페이지에서 상품 목록을 가져온다. 기본 정렬은 할인율 높은 순이다.
|
|
54
54
|
|
|
55
55
|
```bash
|
|
56
|
-
|
|
56
|
+
npx -y @nomadamas/k-skill@0 exec ohou-today-deal scripts/ohou_today_deal.py -- list --limit 10
|
|
57
57
|
```
|
|
58
58
|
|
|
59
59
|
응답 예시:
|
|
@@ -95,7 +95,7 @@ python3 ohou-today-deal/scripts/ohou_today_deal.py list --limit 10
|
|
|
95
95
|
`bestDiscountPrice.discountRate`(쿠폰/결제혜택 반영 할인율)가 있으면 우선 사용하고, 없으면 상품 기본 `discountRate`를 사용한다.
|
|
96
96
|
|
|
97
97
|
```bash
|
|
98
|
-
|
|
98
|
+
npx -y @nomadamas/k-skill@0 exec ohou-today-deal scripts/ohou_today_deal.py -- list \
|
|
99
99
|
--sort discount \
|
|
100
100
|
--limit 5
|
|
101
101
|
```
|
|
@@ -107,7 +107,7 @@ python3 ohou-today-deal/scripts/ohou_today_deal.py list \
|
|
|
107
107
|
상품명 또는 브랜드에 키워드가 포함된 상품만 걸러내고, 최소 할인율과 무료배송 조건을 조합할 수 있다.
|
|
108
108
|
|
|
109
109
|
```bash
|
|
110
|
-
|
|
110
|
+
npx -y @nomadamas/k-skill@0 exec ohou-today-deal scripts/ohou_today_deal.py -- list \
|
|
111
111
|
--query 러그 \
|
|
112
112
|
--min-discount 30 \
|
|
113
113
|
--free-delivery \
|
|
@@ -119,7 +119,7 @@ python3 ohou-today-deal/scripts/ohou_today_deal.py list \
|
|
|
119
119
|
실제 네트워크 없이 저장된 HTML/JSON 파일로 동일한 파싱을 테스트한다.
|
|
120
120
|
|
|
121
121
|
```bash
|
|
122
|
-
|
|
122
|
+
npx -y @nomadamas/k-skill@0 exec ohou-today-deal scripts/ohou_today_deal.py -- list \
|
|
123
123
|
--html-file ./today-deals.html \
|
|
124
124
|
--limit 3
|
|
125
125
|
```
|
|
File without changes
|
|
@@ -57,21 +57,21 @@ KSKILL_POPBILL_USER_ID=
|
|
|
57
57
|
|
|
58
58
|
```bash
|
|
59
59
|
# 시크릿 파일 권한과 필수 env 존재 확인. 실제 secret 값은 출력하지 않는다.
|
|
60
|
-
|
|
60
|
+
npx -y @nomadamas/k-skill@0 exec popbill scripts/popbill_cli.py -- config-check
|
|
61
61
|
|
|
62
62
|
# 특정 SDK service method 목록과 approval 필요 여부 확인
|
|
63
|
-
|
|
64
|
-
|
|
63
|
+
npx -y @nomadamas/k-skill@0 exec popbill scripts/popbill_cli.py -- methods taxinvoice
|
|
64
|
+
npx -y @nomadamas/k-skill@0 exec popbill scripts/popbill_cli.py -- methods kakao
|
|
65
65
|
|
|
66
66
|
# 안전한 SDK 객체 템플릿 출력
|
|
67
|
-
|
|
68
|
-
|
|
67
|
+
npx -y @nomadamas/k-skill@0 exec popbill scripts/popbill_cli.py -- object-template taxinvoice
|
|
68
|
+
npx -y @nomadamas/k-skill@0 exec popbill scripts/popbill_cli.py -- object-template cashbill
|
|
69
69
|
|
|
70
70
|
# 테스트 환경에서 안전한 회원/파트너 잔액 smoke test
|
|
71
|
-
|
|
71
|
+
npx -y @nomadamas/k-skill@0 exec popbill scripts/popbill_cli.py -- health taxinvoice
|
|
72
72
|
|
|
73
73
|
# 휴폐업 단건 조회
|
|
74
|
-
|
|
74
|
+
npx -y @nomadamas/k-skill@0 exec popbill scripts/popbill_cli.py -- closedown-check --target-corp-num 123-45-67890
|
|
75
75
|
```
|
|
76
76
|
|
|
77
77
|
## Generic SDK call
|
|
@@ -79,7 +79,7 @@ uv run popbill/scripts/popbill_cli.py closedown-check --target-corp-num 123-45-6
|
|
|
79
79
|
전체 Popbill SDK 기능은 아래 형태로 호출한다.
|
|
80
80
|
|
|
81
81
|
```bash
|
|
82
|
-
|
|
82
|
+
npx -y @nomadamas/k-skill@0 exec popbill scripts/popbill_cli.py -- call <service> <method> \
|
|
83
83
|
--args-json '["@corp", "arg2"]' \
|
|
84
84
|
--kwargs-json '{"UserID":"optional-user"}'
|
|
85
85
|
```
|
|
@@ -116,7 +116,7 @@ uv run popbill/scripts/popbill_cli.py call <service> <method> \
|
|
|
116
116
|
발행·전송·삭제·취소처럼 되돌리기 어려운 동작은 사용자의 현재 턴 승인을 받은 뒤에만 실행한다.
|
|
117
117
|
|
|
118
118
|
```bash
|
|
119
|
-
|
|
119
|
+
npx -y @nomadamas/k-skill@0 exec popbill scripts/popbill_cli.py -- call taxinvoice registIssue \
|
|
120
120
|
--args-json '["@corp", {"__kind__":"taxinvoice", "...":"..."}]' \
|
|
121
121
|
--yes-i-understand
|
|
122
122
|
```
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
"description": "Korean apartment/officetel/villa/single-house real transaction price and rent lookups via k-skill-proxy. Based on tae0y's real-estate-mcp and MOLIT public data APIs.",
|
|
4
4
|
"profiles": [
|
|
5
5
|
"proxy",
|
|
6
|
-
"vault",
|
|
7
6
|
"lookup"
|
|
8
7
|
],
|
|
9
8
|
"frontmatter": "name: real-estate-search\ndescription: Korean apartment/officetel/villa/single-house real transaction price and rent lookups via k-skill-proxy. Based on tae0y's real-estate-mcp and MOLIT public data APIs.\nlicense: MIT\nmetadata:\n category: real-estate\n locale: ko-KR\n phase: v1"
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
"name": "s2b-notice-search",
|
|
3
3
|
"description": "S2B 학교장터 공개 고객 공고/견적요청 목록을 브라우저 우선으로 조회하고 fixture HTML을 파싱해 공고 메타데이터를 정리한다. 돌쇠에서는 가능한 가장 가까운 합법적 공식 단계까지 준비한다.",
|
|
4
4
|
"profiles": [
|
|
5
|
+
"vault",
|
|
5
6
|
"browser",
|
|
6
|
-
"
|
|
7
|
+
"legal"
|
|
7
8
|
],
|
|
8
9
|
"frontmatter": "name: s2b-notice-search\ndescription: S2B 학교장터 공개 고객 공고/견적요청 목록을 브라우저 우선으로 조회하고 fixture HTML을 파싱해 공고 메타데이터를 정리한다. 돌쇠에서는 가능한 가장 가까운 합법적 공식 단계까지 준비한다.\nlicense: MIT\nmetadata:\n category: procurement\n locale: ko-KR\n phase: v1"
|
|
9
10
|
}
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
"name": "saramin-talent-search",
|
|
3
3
|
"description": "사람인 기업회원 인재풀 로그인 세션에서 마스킹된 후보 정보를 검색·비교해 유료 열람 전 shortlist를 만듭니다. 돌쇠에서는 공식 표면을 통한 후속 액션까지 진행한다.",
|
|
4
4
|
"profiles": [
|
|
5
|
+
"vault",
|
|
5
6
|
"browser",
|
|
6
|
-
"action:
|
|
7
|
+
"action:recruiting"
|
|
7
8
|
],
|
|
8
9
|
"frontmatter": "name: saramin-talent-search\ndescription: 사람인 기업회원 인재풀 로그인 세션에서 마스킹된 후보 정보를 검색·비교해 유료 열람 전 shortlist를 만듭니다. 돌쇠에서는 공식 표면을 통한 후속 액션까지 진행한다.\nlicense: MIT\nmetadata:\n category: recruiting\n locale: ko-KR\n phase: v1"
|
|
9
10
|
}
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
## Single entrypoint
|
|
23
23
|
|
|
24
24
|
```bash
|
|
25
|
-
|
|
25
|
+
npx -y @nomadamas/k-skill@0 exec seoul-bike scripts/seoul_bike.py -- <subcommand> [args]
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
첫 사용 시 `Bash(python3 *seoul_bike.py:*)` 패턴 한 번만 승인하면 이후 호출은 모두 자동 허용된다.
|
|
@@ -40,7 +40,7 @@ python3 "$SKILL_DIR/scripts/seoul_bike.py" <subcommand> [args]
|
|
|
40
40
|
### 1. 현재 위치 주변 대여소 조회
|
|
41
41
|
|
|
42
42
|
```bash
|
|
43
|
-
|
|
43
|
+
npx -y @nomadamas/k-skill@0 exec seoul-bike scripts/seoul_bike.py -- nearby --lat 37.5717 --lon 126.9763 --radius-m 500
|
|
44
44
|
```
|
|
45
45
|
|
|
46
46
|
요약 항목:
|
|
@@ -54,7 +54,7 @@ python3 "$SKILL_DIR/scripts/seoul_bike.py" nearby --lat 37.5717 --lon 126.9763 -
|
|
|
54
54
|
### 2. 대여소 이름 검색
|
|
55
55
|
|
|
56
56
|
```bash
|
|
57
|
-
|
|
57
|
+
npx -y @nomadamas/k-skill@0 exec seoul-bike scripts/seoul_bike.py -- search "광화문" --limit 5
|
|
58
58
|
```
|
|
59
59
|
|
|
60
60
|
### 3. Proxy endpoints
|
|
File without changes
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
"description": "서울 따릉이 실시간 대여소의 대여 가능 자전거와 빈 거치대를 좌표 주변 또는 대여소 이름으로 조회한다.",
|
|
4
4
|
"profiles": [
|
|
5
5
|
"proxy",
|
|
6
|
-
"vault",
|
|
7
6
|
"lookup"
|
|
8
7
|
],
|
|
9
8
|
"frontmatter": "name: seoul-bike\ndescription: 서울 따릉이 실시간 대여소의 대여 가능 자전거와 빈 거치대를 좌표 주변 또는 대여소 이름으로 조회한다.\nlicense: MIT\nmetadata:\n category: transit\n locale: ko-KR\n phase: v1"
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
|
|
27
27
|
```bash
|
|
28
28
|
# macOS / Linux / Git-bash
|
|
29
|
-
|
|
29
|
+
npx -y @nomadamas/k-skill@0 exec seoul-density scripts/seoul_density.py -- <subcommand> [args]
|
|
30
30
|
|
|
31
31
|
# Windows (PowerShell): py 런처 또는 python
|
|
32
32
|
py -3 "$env:SKILL_DIR\scripts\seoul_density.py" <subcommand> [args]
|
|
@@ -51,7 +51,7 @@ py -3 "$env:SKILL_DIR\scripts\seoul_density.py" <subcommand> [args]
|
|
|
51
51
|
사용자가 "홍대 인파"처럼 모호하게 말하면 먼저 후보를 확인한다.
|
|
52
52
|
|
|
53
53
|
```bash
|
|
54
|
-
|
|
54
|
+
npx -y @nomadamas/k-skill@0 exec seoul-density scripts/seoul_density.py -- match "홍대" --json
|
|
55
55
|
# → ["홍대 관광특구", "홍대입구역(2호선)"]
|
|
56
56
|
```
|
|
57
57
|
|
|
@@ -63,7 +63,7 @@ python3 "$SKILL_DIR/scripts/seoul_density.py" match "홍대" --json
|
|
|
63
63
|
|
|
64
64
|
```bash
|
|
65
65
|
# macOS / Linux / Git-bash
|
|
66
|
-
|
|
66
|
+
npx -y @nomadamas/k-skill@0 exec seoul-density scripts/seoul_density.py -- query "강남역"
|
|
67
67
|
|
|
68
68
|
# Windows PowerShell
|
|
69
69
|
py -3 "$env:SKILL_DIR\scripts\seoul_density.py" query "강남역"
|
|
@@ -82,7 +82,7 @@ py -3 "$env:SKILL_DIR\scripts\seoul_density.py" query "강남역"
|
|
|
82
82
|
기계적 후처리가 필요하면 `--json` 플래그를 쓴다:
|
|
83
83
|
|
|
84
84
|
```bash
|
|
85
|
-
|
|
85
|
+
npx -y @nomadamas/k-skill@0 exec seoul-density scripts/seoul_density.py -- query "강남역" --json
|
|
86
86
|
```
|
|
87
87
|
|
|
88
88
|
자동 매칭을 끄고 싶으면 `--no-auto`를 쓴다.
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
"description": "서울 주요 121개 핫스팟 장소의 실시간 혼잡도와 인구 현황을 조회한다. 지금 강남역이 얼마나 붐비는지, 홍대 인파가 얼마나 되는지 물어볼 때 사용한다.",
|
|
4
4
|
"profiles": [
|
|
5
5
|
"proxy",
|
|
6
|
-
"vault",
|
|
7
6
|
"lookup"
|
|
8
7
|
],
|
|
9
8
|
"frontmatter": "name: seoul-density\ndescription: 서울 주요 121개 핫스팟 장소의 실시간 혼잡도와 인구 현황을 조회한다. 지금 강남역이 얼마나 붐비는지, 홍대 인파가 얼마나 되는지 물어볼 때 사용한다.\nlicense: MIT\nmetadata:\n category: utility\n locale: ko-KR\n phase: v1"
|
|
@@ -66,7 +66,7 @@ python3 -m pip install SRTrain
|
|
|
66
66
|
먼저 helper 로 조회해서 후보를 요약한다.
|
|
67
67
|
|
|
68
68
|
```bash
|
|
69
|
-
|
|
69
|
+
npx -y @nomadamas/k-skill@0 exec srt-booking scripts/srt_booking.py -- search 수서 부산 20260328 080000 --time-limit 120000 --limit 5
|
|
70
70
|
```
|
|
71
71
|
|
|
72
72
|
### 3. Summarize options before side effects
|
|
@@ -82,19 +82,19 @@ python3 scripts/srt_booking.py search 수서 부산 20260328 080000 --time-limit
|
|
|
82
82
|
`search` 의 좌석 가능 여부는 열차 단위 플래그다. 사용자가 "남은 좌석 번호", "호차별 좌석", "특정 좌석", "창측/순방향 자리", "예약 전에 자리 확인"처럼 구체적인 좌석을 물으면 예약 전에 `seats` 를 호출한다.
|
|
83
83
|
|
|
84
84
|
```bash
|
|
85
|
-
|
|
85
|
+
npx -y @nomadamas/k-skill@0 exec srt-booking scripts/srt_booking.py -- seats 수서 부산 20260328 080000 --train-id <train_id>
|
|
86
86
|
```
|
|
87
87
|
|
|
88
88
|
특정 호차의 빈 좌석만 확인하려면 `--car-no` 와 `--available-only` 를 쓴다.
|
|
89
89
|
|
|
90
90
|
```bash
|
|
91
|
-
|
|
91
|
+
npx -y @nomadamas/k-skill@0 exec srt-booking scripts/srt_booking.py -- seats 수서 부산 20260328 080000 --train-id <train_id> --car-no 5 --available-only
|
|
92
92
|
```
|
|
93
93
|
|
|
94
94
|
특정 좌석이 비었는지 확인하려면 `--seat` 를 붙인다.
|
|
95
95
|
|
|
96
96
|
```bash
|
|
97
|
-
|
|
97
|
+
npx -y @nomadamas/k-skill@0 exec srt-booking scripts/srt_booking.py -- seats 수서 부산 20260328 080000 --train-id <train_id> --car-no 5 --seat 11A
|
|
98
98
|
```
|
|
99
99
|
|
|
100
100
|
특정 호차를 지정하지 않으면 가운데 호차부터 탐색한다. `--car-priority center|low|high` 로 호차 탐색 순서를 바꾸고, `--seat-priority forward-window|window-forward|row-low` 로 좌석 정렬 우선순위를 바꾼다.
|
|
@@ -47,7 +47,7 @@ LOST112 검색 폼에서 확인되는 핵심 필드는 아래와 같다.
|
|
|
47
47
|
repo helper를 그대로 써도 된다.
|
|
48
48
|
|
|
49
49
|
```bash
|
|
50
|
-
|
|
50
|
+
npx -y @nomadamas/k-skill@0 exec subway-lost-property scripts/subway_lost_property.py -- \
|
|
51
51
|
--station 강남역 \
|
|
52
52
|
--item 지갑 \
|
|
53
53
|
--days 14
|
|
@@ -58,7 +58,7 @@ helper는 기본적으로 `SITE=V` 를 사용하고, 역명/물품명/기간을
|
|
|
58
58
|
### 3) Optionally verify live reachability
|
|
59
59
|
|
|
60
60
|
```bash
|
|
61
|
-
|
|
61
|
+
npx -y @nomadamas/k-skill@0 exec subway-lost-property scripts/subway_lost_property.py -- \
|
|
62
62
|
--station 강남역 \
|
|
63
63
|
--item 지갑 \
|
|
64
64
|
--days 14 \
|
|
File without changes
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "subway-lost-property",
|
|
3
3
|
"description": "Use when the user asks how to look up 지하철 분실물 or 유실물 by 역명/물품명. v1 is an 안내형/하이브리드 skill that structures the official LOST112 + 서울교통공사 flow conservatively. 돌쇠에서는 공식 표면을 통한 후속 액션까지 진행한다.",
|
|
4
4
|
"profiles": [
|
|
5
|
-
"
|
|
5
|
+
"lookup"
|
|
6
6
|
],
|
|
7
7
|
"frontmatter": "name: subway-lost-property\ndescription: Use when the user asks how to look up 지하철 분실물 or 유실물 by 역명/물품명. v1 is an 안내형/하이브리드 skill that structures the official LOST112 + 서울교통공사 flow conservatively. 돌쇠에서는 공식 표면을 통한 후속 액션까지 진행한다.\nlicense: MIT\nmetadata:\n category: transit\n locale: ko-KR\n phase: v1"
|
|
8
8
|
}
|
|
@@ -59,7 +59,7 @@ pip install httpx
|
|
|
59
59
|
### 2. 일정 조회 (`schedule`)
|
|
60
60
|
|
|
61
61
|
```bash
|
|
62
|
-
|
|
62
|
+
npx -y @nomadamas/k-skill@0 exec ticket-availability scripts/ticket_availability.py -- schedule "https://tickets.interpark.com/goods/26000541"
|
|
63
63
|
```
|
|
64
64
|
|
|
65
65
|
응답 — Interpark:
|
|
@@ -90,7 +90,7 @@ YES24 는 기본 3주 윈도우. 6개월 전체는 `--all-dates` 추가.
|
|
|
90
90
|
### 3. 잔여석 조회 (`seats`)
|
|
91
91
|
|
|
92
92
|
```bash
|
|
93
|
-
|
|
93
|
+
npx -y @nomadamas/k-skill@0 exec ticket-availability scripts/ticket_availability.py -- seats "interpark:26000541"
|
|
94
94
|
```
|
|
95
95
|
|
|
96
96
|
응답:
|
|
@@ -120,7 +120,7 @@ YES24 응답은 등급별 `price` (노출가) 도 포함:
|
|
|
120
120
|
### 4. 헬스체크 (`health`)
|
|
121
121
|
|
|
122
122
|
```bash
|
|
123
|
-
|
|
123
|
+
npx -y @nomadamas/k-skill@0 exec ticket-availability scripts/ticket_availability.py -- health
|
|
124
124
|
```
|
|
125
125
|
|
|
126
126
|
응답:
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
"name": "ticket-availability",
|
|
3
3
|
"description": "YES24 / 인터파크 공연의 공개 일정 + 등급별 잔여석을 단일 HTTP 호출로 조회 (조회 전용, 예매·결제 없음). 돌쇠에서는 가능한 가장 가까운 합법적 공식 단계까지 준비한다.",
|
|
4
4
|
"profiles": [
|
|
5
|
+
"vault",
|
|
5
6
|
"browser",
|
|
6
|
-
"
|
|
7
|
+
"action:booking"
|
|
7
8
|
],
|
|
8
9
|
"frontmatter": "name: ticket-availability\ndescription: YES24 / 인터파크 공연의 공개 일정 + 등급별 잔여석을 단일 HTTP 호출로 조회 (조회 전용, 예매·결제 없음). 돌쇠에서는 가능한 가장 가까운 합법적 공식 단계까지 준비한다.\nlicense: MIT\nmetadata:\n category: lifestyle\n subcategory: ticket\n locale: ko-KR\n phase: v1"
|
|
9
10
|
}
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
"name": "yebigun-training",
|
|
3
3
|
"description": "사용자가 직접 로그인한 예비군 홈페이지(yebigun1.mil.kr) Chrome 세션을 재사용해 이번 훈련 일정/장소를 조회하고, 작년 이전 기록과 비교해 무엇이 달라졌는지 알려준다. 조회 전용이며 로그인이나 연기·보류 신청은 절대 자동화하지 않는다. 돌쇠에서는 가능한 가장 가까운 합법적 공식 단계까지 준비한다.",
|
|
4
4
|
"profiles": [
|
|
5
|
+
"vault",
|
|
5
6
|
"browser",
|
|
6
|
-
"
|
|
7
|
+
"legal"
|
|
7
8
|
],
|
|
8
9
|
"frontmatter": "name: yebigun-training\ndescription: 사용자가 직접 로그인한 예비군 홈페이지(yebigun1.mil.kr) Chrome 세션을 재사용해 이번 훈련 일정/장소를 조회하고, 작년 이전 기록과 비교해 무엇이 달라졌는지 알려준다. 조회 전용이며 로그인이나 연기·보류 신청은 절대 자동화하지 않는다. 돌쇠에서는 가능한 가장 가까운 합법적 공식 단계까지 준비한다.\nlicense: MIT\nmetadata:\n category: legal\n locale: ko-KR\n phase: v1"
|
|
9
10
|
}
|
|
@@ -98,8 +98,8 @@ PY
|
|
|
98
98
|
저장소에는 같은 흐름을 감싼 실행 가능한 helper가 포함되어 있다.
|
|
99
99
|
|
|
100
100
|
```bash
|
|
101
|
-
|
|
102
|
-
|
|
101
|
+
npx -y @nomadamas/k-skill@0 exec zipcode-search scripts/zipcode_search.py -- "서울특별시 강남구 테헤란로 123"
|
|
102
|
+
npx -y @nomadamas/k-skill@0 exec zipcode-search scripts/zipcode_search.py -- "서울특별시 강남구 테헤란로 123"
|
|
103
103
|
```
|
|
104
104
|
|
|
105
105
|
예시 출력:
|
|
File without changes
|