@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.
Files changed (142) hide show
  1. package/bin/k-skill.js +35 -5
  2. package/package.json +2 -2
  3. package/skills/assembly-bill-vote-search/skill.json +0 -1
  4. package/skills/biz-health-check/instruction.md +2 -2
  5. package/skills/biz-health-check/skill.json +0 -1
  6. package/skills/bok-ecos-stats/instruction.md +8 -8
  7. package/skills/bok-ecos-stats/skill.json +0 -1
  8. package/skills/building-register-search/instruction.md +6 -6
  9. package/skills/building-register-search/scripts/building_register.py +0 -0
  10. package/skills/cheap-gas-nearby/skill.json +0 -1
  11. package/skills/corporate-registration-consulting/scripts/fill_official_hwp.py +0 -0
  12. package/skills/corporate-registration-consulting/skill.json +3 -1
  13. package/skills/coupang-product-search/instruction.md +10 -10
  14. package/skills/coupang-product-search/scripts/coupang_partners_mcp.py +0 -0
  15. package/skills/court-auction-notice-search/skill.json +2 -1
  16. package/skills/court-payment-order-assistant/skill.json +1 -1
  17. package/skills/d2b-notice-search/skill.json +2 -1
  18. package/skills/daangn-cars-search/instruction.md +3 -3
  19. package/skills/daangn-cars-search/scripts/daangn_cars.py +0 -0
  20. package/skills/daangn-jobs-search/instruction.md +2 -2
  21. package/skills/daangn-jobs-search/scripts/daangn_jobs.py +0 -0
  22. package/skills/daangn-jobs-search/skill.json +3 -1
  23. package/skills/daangn-realty-search/instruction.md +1 -1
  24. package/skills/daangn-realty-search/scripts/daangn_realty.py +0 -0
  25. package/skills/daangn-used-goods-search/instruction.md +2 -2
  26. package/skills/daangn-used-goods-search/scripts/daangn_used_goods.py +0 -0
  27. package/skills/daishin-report-search/skill.json +0 -1
  28. package/skills/danawa-price-search/instruction.md +4 -4
  29. package/skills/danawa-price-search/scripts/danawa_search.py +0 -0
  30. package/skills/ev-charger-nearby/instruction.md +5 -5
  31. package/skills/ev-charger-nearby/skill.json +1 -2
  32. package/skills/express-bus-booking/instruction.md +2 -2
  33. package/skills/express-bus-booking/scripts/kobus_express_booking.py +0 -0
  34. package/skills/express-bus-booking/skill.json +2 -0
  35. package/skills/fine-dust-location/instruction.md +1 -1
  36. package/skills/fine-dust-location/scripts/fine_dust.py +549 -0
  37. package/skills/fine-dust-location/skill.json +7 -1
  38. package/skills/flight-ticket-search/instruction.md +7 -7
  39. package/skills/foresttrip-vacancy/instruction.md +7 -7
  40. package/skills/foresttrip-vacancy/scripts/run_foresttrip_vacancy.py +0 -0
  41. package/skills/fsc-corporate-info/instruction.md +1 -1
  42. package/skills/fsc-corporate-info/skill.json +0 -1
  43. package/skills/g2b-order-plan-search/instruction.md +2 -2
  44. package/skills/g2b-order-plan-search/skill.json +2 -1
  45. package/skills/g2b-sanctioned-supplier/instruction.md +1 -1
  46. package/skills/g2b-sanctioned-supplier/skill.json +0 -1
  47. package/skills/geeknews-search/instruction.md +3 -3
  48. package/skills/geeknews-search/scripts/geeknews_search.py +0 -0
  49. package/skills/gov-overseas-trip-report/instruction.md +12 -12
  50. package/skills/gov-overseas-trip-report/scripts/gov_overseas_trip_report.py +0 -0
  51. package/skills/han-river-water-level/skill.json +0 -1
  52. package/skills/highway-traffic-status/instruction.md +2 -2
  53. package/skills/highway-traffic-status/skill.json +0 -1
  54. package/skills/household-waste-info/skill.json +0 -1
  55. package/skills/intercity-bus-booking/instruction.md +3 -3
  56. package/skills/intercity-bus-booking/scripts/intercity_bus_search.py +0 -0
  57. package/skills/intercity-bus-booking/skill.json +2 -0
  58. package/skills/iros-registry-automation/instruction.md +2 -2
  59. package/skills/iros-registry-automation/skill.json +2 -1
  60. package/skills/job-posting-match/instruction.md +2 -2
  61. package/skills/job-posting-match/skill.json +1 -1
  62. package/skills/jobkorea-talent-search/instruction.md +1 -1
  63. package/skills/jobkorea-talent-search/scripts/jobkorea_talent_search.py +0 -0
  64. package/skills/jobkorea-talent-search/skill.json +2 -1
  65. package/skills/joseon-sillok-search/instruction.md +6 -6
  66. package/skills/k-skill-cleaner/instruction.md +2 -2
  67. package/skills/k-skill-cleaner/scripts/k_skill_cleaner.py +0 -0
  68. package/skills/k-skill-setup/instruction.md +1 -1
  69. package/skills/k-skill-setup/scripts/check-setup.sh +29 -0
  70. package/skills/k-skill-setup/skill.json +8 -2
  71. package/skills/kakaotalk-mac/skill.json +1 -1
  72. package/skills/keris-academic-search/instruction.md +4 -4
  73. package/skills/korea-weather/skill.json +0 -1
  74. package/skills/korean-character-count/instruction.md +8 -8
  75. package/skills/korean-heritage-search/instruction.md +5 -5
  76. package/skills/korean-humanizer/instruction.md +1 -1
  77. package/skills/korean-jangbu-for/instruction.md +3 -3
  78. package/skills/korean-jangbu-for/scripts/install.sh +0 -0
  79. package/skills/korean-middle-korean/instruction.md +6 -6
  80. package/skills/korean-middle-korean/scripts/korean_middle_korean.js +0 -0
  81. package/skills/korean-patent-search/instruction.md +4 -4
  82. package/skills/korean-privacy-terms/instruction.md +4 -4
  83. package/skills/korean-privacy-terms/scripts/install.sh +0 -0
  84. package/skills/korean-scholarship-search/instruction.md +10 -10
  85. package/skills/korean-slang-writing/instruction.md +8 -8
  86. package/skills/korean-spell-check/instruction.md +3 -3
  87. package/skills/korean-spell-check/skill.json +0 -1
  88. package/skills/korean-stock-search/skill.json +0 -1
  89. package/skills/korean-transit-route/skill.json +0 -1
  90. package/skills/kosis-stats/instruction.md +13 -26
  91. package/skills/kr-whois-lookup/skill.json +1 -2
  92. package/skills/kstartup-search/instruction.md +8 -8
  93. package/skills/ktx-booking/instruction.md +15 -15
  94. package/skills/ktx-booking/scripts/ktx_booking.py +1316 -0
  95. package/skills/ktx-booking/skill.json +7 -1
  96. package/skills/lck-analytics/instruction.md +4 -4
  97. package/skills/lck-analytics/scripts/_lib.js +0 -0
  98. package/skills/lck-analytics/scripts/analyze-live-game.js +0 -0
  99. package/skills/lck-analytics/scripts/build-match-report.js +0 -0
  100. package/skills/lck-analytics/scripts/sync-oracle.js +0 -0
  101. package/skills/localdata-business-status/instruction.md +2 -2
  102. package/skills/mfds-drug-safety/instruction.md +3 -3
  103. package/skills/mfds-drug-safety/skill.json +0 -1
  104. package/skills/mfds-food-safety/instruction.md +6 -6
  105. package/skills/mfds-food-safety/skill.json +0 -1
  106. package/skills/myrealtrip-search/instruction.md +11 -11
  107. package/skills/myrealtrip-search/scripts/myrealtrip_mcp.py +0 -0
  108. package/skills/national-pension-workplace/instruction.md +1 -1
  109. package/skills/national-pension-workplace/skill.json +0 -1
  110. package/skills/naver-ad-performance/instruction.md +7 -7
  111. package/skills/naver-blog-research/instruction.md +4 -4
  112. package/skills/naver-news-search/skill.json +0 -1
  113. package/skills/nhis-care-checkup-search/skill.json +1 -2
  114. package/skills/nts-business-registration/instruction.md +3 -3
  115. package/skills/nts-tax-delinquency/instruction.md +1 -1
  116. package/skills/ohou-today-deal/instruction.md +4 -4
  117. package/skills/ohou-today-deal/scripts/ohou_today_deal.py +0 -0
  118. package/skills/popbill/instruction.md +9 -9
  119. package/skills/real-estate-search/skill.json +0 -1
  120. package/skills/s2b-notice-search/skill.json +2 -1
  121. package/skills/saramin-talent-search/skill.json +2 -1
  122. package/skills/seoul-bike/instruction.md +3 -3
  123. package/skills/seoul-bike/scripts/seoul_bike.py +0 -0
  124. package/skills/seoul-bike/skill.json +0 -1
  125. package/skills/seoul-density/instruction.md +4 -4
  126. package/skills/seoul-density/skill.json +0 -1
  127. package/skills/srt-booking/instruction.md +4 -4
  128. package/skills/subway-lost-property/instruction.md +2 -2
  129. package/skills/subway-lost-property/scripts/subway_lost_property.py +0 -0
  130. package/skills/subway-lost-property/skill.json +1 -1
  131. package/skills/ticket-availability/instruction.md +3 -3
  132. package/skills/ticket-availability/skill.json +2 -1
  133. package/skills/yebigun-training/skill.json +2 -1
  134. package/skills/zipcode-search/instruction.md +2 -2
  135. package/skills/zipcode-search/scripts/zipcode_search.py +0 -0
  136. package/src/assemble.js +148 -4
  137. package/src/execute.js +81 -0
  138. package/templates/action-recruiting.md +5 -0
  139. package/templates/legal.md +6 -0
  140. package/templates/operations.md +3 -0
  141. package/templates/action-communication.md +0 -5
  142. package/templates/hard-boundary.md +0 -3
@@ -3,7 +3,6 @@
3
3
  "description": "금융위원회 기업기본정보(법인 개요)를 공공데이터포털 API(k-skill-proxy 경유)로 조회한다. 법인명으로 대표자·설립일·업종 등 법인 개요를 확인하고, 응답에 사업자번호가 있으면 입력 번호와 교차검증한다.",
4
4
  "profiles": [
5
5
  "proxy",
6
- "vault",
7
6
  "lookup"
8
7
  ],
9
8
  "frontmatter": "name: fsc-corporate-info\ndescription: 금융위원회 기업기본정보(법인 개요)를 공공데이터포털 API(k-skill-proxy 경유)로 조회한다. 법인명으로 대표자·설립일·업종 등 법인 개요를 확인하고, 응답에 사업자번호가 있으면 입력 번호와 교차검증한다.\nlicense: MIT\nmetadata:\n category: business\n locale: ko-KR\n phase: v1"
@@ -68,7 +68,7 @@ CLI flags:
68
68
  ### 1. Search order plans
69
69
 
70
70
  ```bash
71
- python3 g2b-order-plan-search/scripts/g2b_order_plan.py \
71
+ npx -y @nomadamas/k-skill@0 exec g2b-order-plan-search scripts/g2b_order_plan.py -- \
72
72
  --kind service \
73
73
  --keyword 청소 \
74
74
  --order-from 2025-01 \
@@ -81,7 +81,7 @@ python3 g2b-order-plan-search/scripts/g2b_order_plan.py \
81
81
  ### 2. Narrow by institution or location
82
82
 
83
83
  ```bash
84
- python3 g2b-order-plan-search/scripts/g2b_order_plan.py \
84
+ npx -y @nomadamas/k-skill@0 exec g2b-order-plan-search scripts/g2b_order_plan.py -- \
85
85
  --kind goods \
86
86
  --institution 조달청 \
87
87
  --region 대전 \
@@ -4,7 +4,8 @@
4
4
  "profiles": [
5
5
  "proxy",
6
6
  "vault",
7
- "hard-boundary"
7
+ "browser",
8
+ "legal"
8
9
  ],
9
10
  "frontmatter": "name: g2b-order-plan-search\ndescription: 조달청 나라장터 발주계획현황서비스로 물품·공사·용역·외자 발주계획 목록을 검색한다. 돌쇠에서는 가능한 가장 가까운 합법적 공식 단계까지 준비한다.\nlicense: MIT\nmetadata:\n category: business\n locale: ko-KR\n phase: v1"
10
11
  }
@@ -43,7 +43,7 @@ upstream 명세상 다음은 **제공되지 않는다** — 과거 이력 조회
43
43
  ## CLI examples
44
44
 
45
45
  ```bash
46
- python3 g2b-sanctioned-supplier/scripts/g2b_sanctioned_supplier.py --bizno 124-81-00998
46
+ npx -y @nomadamas/k-skill@0 exec g2b-sanctioned-supplier scripts/g2b_sanctioned_supplier.py -- --bizno 124-81-00998
47
47
  ```
48
48
 
49
49
  ## Failure modes
@@ -3,7 +3,6 @@
3
3
  "description": "조달청 나라장터 부정당제재업체정보를 공공데이터포털 API(k-skill-proxy 경유)로 조회한다. 사업자등록번호 정확 일치로 조회시점 현재 유효한 입찰참가자격 제한(부정당제재)의 기간·제재기관·근거법률을 확인한다.",
4
4
  "profiles": [
5
5
  "proxy",
6
- "vault",
7
6
  "lookup"
8
7
  ],
9
8
  "frontmatter": "name: g2b-sanctioned-supplier\ndescription: 조달청 나라장터 부정당제재업체정보를 공공데이터포털 API(k-skill-proxy 경유)로 조회한다. 사업자등록번호 정확 일치로 조회시점 현재 유효한 입찰참가자격 제한(부정당제재)의 기간·제재기관·근거법률을 확인한다.\nlicense: MIT\nmetadata:\n category: business\n locale: ko-KR\n phase: v1"
@@ -31,13 +31,13 @@ GeekNews 공개 RSS/Atom 피드(`https://feeds.feedburner.com/geeknews-feed`)를
31
31
  ### 1) List recent entries
32
32
 
33
33
  ```bash
34
- python3 scripts/geeknews_search.py list --limit 10
34
+ npx -y @nomadamas/k-skill@0 exec geeknews-search scripts/geeknews_search.py -- list --limit 10
35
35
  ```
36
36
 
37
37
  ### 2) Search the feed conservatively
38
38
 
39
39
  ```bash
40
- python3 scripts/geeknews_search.py search --query Claude --limit 5
40
+ npx -y @nomadamas/k-skill@0 exec geeknews-search scripts/geeknews_search.py -- search --query Claude --limit 5
41
41
  ```
42
42
 
43
43
  검색은 제목, 요약, 작성자, 링크/id 기준으로만 동작한다.
@@ -45,7 +45,7 @@ python3 scripts/geeknews_search.py search --query Claude --limit 5
45
45
  ### 3) Inspect a specific item
46
46
 
47
47
  ```bash
48
- python3 scripts/geeknews_search.py detail --id 28439
48
+ npx -y @nomadamas/k-skill@0 exec geeknews-search scripts/geeknews_search.py -- detail --id 28439
49
49
  ```
50
50
 
51
51
  상세 조회는 RSS 피드에 포함된 `content`/요약과 원문 링크를 함께 돌려준다.
File without changes
@@ -36,18 +36,18 @@
36
36
  우선 저장소 helper를 사용한다.
37
37
 
38
38
  ```bash
39
- python3 gov-overseas-trip-report/scripts/gov_overseas_trip_report.py providers
40
- python3 gov-overseas-trip-report/scripts/gov_overseas_trip_report.py list --provider nec --max-pages 5
41
- python3 gov-overseas-trip-report/scripts/gov_overseas_trip_report.py list --provider acrc --max-pages 2
42
- python3 gov-overseas-trip-report/scripts/gov_overseas_trip_report.py list --provider open_portal --keyword 국외출장
43
- python3 gov-overseas-trip-report/scripts/gov_overseas_trip_report.py list --provider daegu_council
44
- python3 gov-overseas-trip-report/scripts/gov_overseas_trip_report.py list --provider daejeon_council
45
- python3 gov-overseas-trip-report/scripts/gov_overseas_trip_report.py list --provider gyeonggi_council
46
- python3 gov-overseas-trip-report/scripts/gov_overseas_trip_report.py list --provider gyeongbuk_council --keyword 국외출장
47
- python3 gov-overseas-trip-report/scripts/gov_overseas_trip_report.py detail --provider nec --id 303199
48
- python3 gov-overseas-trip-report/scripts/gov_overseas_trip_report.py search --keyword 몰디브 --providers nec,acrc,open_portal,daejeon_council
49
- python3 gov-overseas-trip-report/scripts/gov_overseas_trip_report.py discover --keyword 국외출장
50
- python3 gov-overseas-trip-report/scripts/gov_overseas_trip_report.py discover --keyword 공무국외출장 --urls https://www.ptcouncil.go.kr/,https://council.chungnam.go.kr/
39
+ npx -y @nomadamas/k-skill@0 exec gov-overseas-trip-report scripts/gov_overseas_trip_report.py -- providers
40
+ npx -y @nomadamas/k-skill@0 exec gov-overseas-trip-report scripts/gov_overseas_trip_report.py -- list --provider nec --max-pages 5
41
+ npx -y @nomadamas/k-skill@0 exec gov-overseas-trip-report scripts/gov_overseas_trip_report.py -- list --provider acrc --max-pages 2
42
+ npx -y @nomadamas/k-skill@0 exec gov-overseas-trip-report scripts/gov_overseas_trip_report.py -- list --provider open_portal --keyword 국외출장
43
+ npx -y @nomadamas/k-skill@0 exec gov-overseas-trip-report scripts/gov_overseas_trip_report.py -- list --provider daegu_council
44
+ npx -y @nomadamas/k-skill@0 exec gov-overseas-trip-report scripts/gov_overseas_trip_report.py -- list --provider daejeon_council
45
+ npx -y @nomadamas/k-skill@0 exec gov-overseas-trip-report scripts/gov_overseas_trip_report.py -- list --provider gyeonggi_council
46
+ npx -y @nomadamas/k-skill@0 exec gov-overseas-trip-report scripts/gov_overseas_trip_report.py -- list --provider gyeongbuk_council --keyword 국외출장
47
+ npx -y @nomadamas/k-skill@0 exec gov-overseas-trip-report scripts/gov_overseas_trip_report.py -- detail --provider nec --id 303199
48
+ npx -y @nomadamas/k-skill@0 exec gov-overseas-trip-report scripts/gov_overseas_trip_report.py -- search --keyword 몰디브 --providers nec,acrc,open_portal,daejeon_council
49
+ npx -y @nomadamas/k-skill@0 exec gov-overseas-trip-report scripts/gov_overseas_trip_report.py -- discover --keyword 국외출장
50
+ npx -y @nomadamas/k-skill@0 exec gov-overseas-trip-report scripts/gov_overseas_trip_report.py -- discover --keyword 공무국외출장 --urls https://www.ptcouncil.go.kr/,https://council.chungnam.go.kr/
51
51
  ```
52
52
 
53
53
  ## Official access path
@@ -3,7 +3,6 @@
3
3
  "description": "한강홍수통제소 기반 현재 수위/유량을 관측소명 또는 관측소코드로 조회한다. 기본 경로는 k-skill-proxy의 han-river water-level endpoint다.",
4
4
  "profiles": [
5
5
  "proxy",
6
- "vault",
7
6
  "lookup"
8
7
  ],
9
8
  "frontmatter": "name: han-river-water-level\ndescription: 한강홍수통제소 기반 현재 수위/유량을 관측소명 또는 관측소코드로 조회한다. 기본 경로는 k-skill-proxy의 han-river water-level endpoint다.\nlicense: MIT\nmetadata:\n category: utility\n locale: ko-KR\n phase: v1"
@@ -37,7 +37,7 @@
37
37
  ### 1. 실시간 소통/교통량 조회
38
38
 
39
39
  ```bash
40
- python3 highway-traffic-status/scripts/highway_traffic.py traffic --route 경부 --text
40
+ npx -y @nomadamas/k-skill@0 exec highway-traffic-status scripts/highway_traffic.py -- traffic --route 경부 --text
41
41
  ```
42
42
 
43
43
  - `--route`: 노선명 일부(`경부`, `서해안`) 또는 노선번호(`0010`)
@@ -52,7 +52,7 @@ JSON 출력 필드: `route_name`, `route_no`, `conzone_name`, `direction`(상행
52
52
  좌표 범위(경도 `--min-x`/`--max-x`, 위도 `--min-y`/`--max-y`)가 필수다. 사용자가 지명을 말하면 대략적인 bounding box로 변환해 호출한다.
53
53
 
54
54
  ```bash
55
- python3 highway-traffic-status/scripts/highway_traffic.py cctv \
55
+ npx -y @nomadamas/k-skill@0 exec highway-traffic-status scripts/highway_traffic.py -- cctv \
56
56
  --min-x 126.9 --max-x 127.2 --min-y 37.3 --max-y 37.6 --text
57
57
  ```
58
58
 
@@ -3,7 +3,6 @@
3
3
  "description": "한국도로공사·국가교통정보센터 공개 API로 고속도로 실시간 소통(구간별 속도/교통량/정체 등급)과 CCTV 스트림 메타데이터를 조회한다. Use when the user asks 고속도로 정체, 교통 상황, 노선/구간 소통, 고속도로 CCTV. Not for 대중교통 길찾기 or 자동차 경로 안내.",
4
4
  "profiles": [
5
5
  "proxy",
6
- "vault",
7
6
  "browser",
8
7
  "lookup"
9
8
  ],
@@ -3,7 +3,6 @@
3
3
  "description": "Use when the user asks for 생활쓰레기 배출 요일/시간/장소 정보 by 지역명(시군구) and wants official data.go.kr household waste guidance.",
4
4
  "profiles": [
5
5
  "proxy",
6
- "vault",
7
6
  "lookup"
8
7
  ],
9
8
  "frontmatter": "name: household-waste-info\ndescription: Use when the user asks for 생활쓰레기 배출 요일/시간/장소 정보 by 지역명(시군구) and wants official data.go.kr household waste guidance.\nlicense: MIT\nmetadata:\n category: utility\n locale: ko-KR\n phase: v1"
@@ -28,7 +28,7 @@ Do **not** use this for:
28
28
 
29
29
  ## Known HTTP Flow
30
30
 
31
- See `references/tmoney-intercity-http-flow.md` for session-proven endpoint details and parameter examples.
31
+ See `npx -y @nomadamas/k-skill@0 read intercity-bus-booking references/tmoney-intercity-http-flow.md` for session-proven endpoint details and parameter examples.
32
32
 
33
33
  ### 1. Start a Session
34
34
 
@@ -110,7 +110,7 @@ A successful response lands on the official `카드정보 입력` page and inclu
110
110
  For read-only timetable lookup, use the bundled helper before attempting browser automation:
111
111
 
112
112
  ```bash
113
- python3 intercity-bus-booking/scripts/intercity_bus_search.py \
113
+ npx -y @nomadamas/k-skill@0 exec intercity-bus-booking scripts/intercity_bus_search.py -- \
114
114
  --depart-code 0511601 \
115
115
  --arrive-code 2482701 \
116
116
  --depart-name 동서울 \
@@ -125,7 +125,7 @@ The helper starts a cookie-backed session, posts the browser-required timetable
125
125
  To create a temporary hold and save the official card-information page:
126
126
 
127
127
  ```bash
128
- python3 intercity-bus-booking/scripts/intercity_bus_search.py \
128
+ npx -y @nomadamas/k-skill@0 exec intercity-bus-booking scripts/intercity_bus_search.py -- \
129
129
  --depart-code 0511601 \
130
130
  --arrive-code 2482701 \
131
131
  --depart-name 동서울 \
@@ -2,6 +2,8 @@
2
2
  "name": "intercity-bus-booking",
3
3
  "description": "Search and assist Korean 시외버스/Tmoney bookings using official HTTP/API-first flows; use for 시외버스 예매, 시간표, 좌석/요금 조회, and official checkout-entry handoff. 돌쇠에서는 공식 표면을 통한 후속 액션까지 진행한다.",
4
4
  "profiles": [
5
+ "vault",
6
+ "browser",
5
7
  "action:booking"
6
8
  ],
7
9
  "frontmatter": "name: intercity-bus-booking\ndescription: Search and assist Korean 시외버스/Tmoney bookings using official HTTP/API-first flows; use for 시외버스 예매, 시간표, 좌석/요금 조회, and official checkout-entry handoff. 돌쇠에서는 공식 표면을 통한 후속 액션까지 진행한다.\nlicense: MIT\nmetadata:\n category: travel\n locale: ko-KR\n phase: v1"
@@ -182,12 +182,12 @@ python iros_wizard.py
182
182
  ```bash
183
183
  # 텍스트 레이어가 있는 일반 등기 PDF (기본) — pypdf 또는 pdfplumber 필요
184
184
  pip install pypdf # 또는 pip install pdfplumber (표 추출에 유리)
185
- python iros-registry-automation/scripts/iros_pdf_summary.py \
185
+ npx -y @nomadamas/k-skill@0 exec iros-registry-automation scripts/iros_pdf_summary.py -- \
186
186
  "$workdir/downloads/등기.pdf" --out "$workdir/output"
187
187
 
188
188
  # 스캔(이미지) PDF인 경우: 사용자가 로컬에 self-host한 변환기(예: marker)로 먼저
189
189
  # 텍스트/마크다운으로 바꾼 뒤 그 결과를 요약한다 (원격 전송 없이 로컬 파일만).
190
- python iros-registry-automation/scripts/iros_pdf_summary.py 변환결과.md --from-text --out "$workdir/output"
190
+ npx -y @nomadamas/k-skill@0 exec iros-registry-automation scripts/iros_pdf_summary.py -- 변환결과.md --from-text --out "$workdir/output"
191
191
  ```
192
192
 
193
193
  출력(모두 사실 나열, 판단 없음): 등기 종류(부동산/법인), 열람·발급 일시, 소유권 변동 건수, 근저당권 목록(채권최고액·설정일·말소여부), 가압류/가처분/압류 건수. 추출 텍스트 구조에 따라 부정확할 수 있으니 **원문 대조를 권한다.**
@@ -2,8 +2,9 @@
2
2
  "name": "iros-registry-automation",
3
3
  "description": "인터넷등기소(IROS)에서 법인/부동산 등기부등본(등기사항증명서) 발급을 준비하고, 사용자가 직접 로그인·결제한 브라우저 흐름 안에서 장바구니·열람·저장을 안전하게 보조한다. 돌쇠에서는 가능한 가장 가까운 합법적 공식 단계까지 준비한다.",
4
4
  "profiles": [
5
+ "vault",
5
6
  "browser",
6
- "hard-boundary"
7
+ "legal"
7
8
  ],
8
9
  "frontmatter": "name: iros-registry-automation\ndescription: 인터넷등기소(IROS)에서 법인/부동산 등기부등본(등기사항증명서) 발급을 준비하고, 사용자가 직접 로그인·결제한 브라우저 흐름 안에서 장바구니·열람·저장을 안전하게 보조한다. 돌쇠에서는 가능한 가장 가까운 합법적 공식 단계까지 준비한다.\nlicense: MIT\nmetadata:\n category: legal-documents\n locale: ko-KR\n phase: v1"
9
10
  }
@@ -69,13 +69,13 @@ Do not block on missing fields when a reasonable first search is possible. If th
69
69
  3. Run both public sources by default:
70
70
 
71
71
  ```bash
72
- python3 job-posting-match/scripts/job_posting_match.py --resume-text "퍼포먼스 마케터 5년. GA4, Google Ads, Meta Ads, SQL, 커머스 경험. 서울 희망." --location 서울 --negative 보험영업 --limit 10
72
+ npx -y @nomadamas/k-skill@0 exec job-posting-match scripts/job_posting_match.py -- --resume-text "퍼포먼스 마케터 5년. GA4, Google Ads, Meta Ads, SQL, 커머스 경험. 서울 희망." --location 서울 --negative 보험영업 --limit 10
73
73
  ```
74
74
 
75
75
  Use explicit keywords when the user already knows target roles:
76
76
 
77
77
  ```bash
78
- python3 job-posting-match/scripts/job_posting_match.py --resume-file /path/to/resume.txt --keyword "CRM 마케터 Braze" --keyword "그로스 마케터 SQL" --location 서울 --json
78
+ npx -y @nomadamas/k-skill@0 exec job-posting-match scripts/job_posting_match.py -- --resume-file /path/to/resume.txt --keyword "CRM 마케터 Braze" --keyword "그로스 마케터 SQL" --location 서울 --json
79
79
  ```
80
80
 
81
81
  4. Score postings conservatively.
@@ -2,7 +2,7 @@
2
2
  "name": "job-posting-match",
3
3
  "description": "한국 구직자의 이력서·경력요약과 희망조건을 바탕으로 잡코리아·사람인 공개 채용공고를 검색하고 적합도와 지원 전략을 정리합니다. 돌쇠에서는 공식 표면을 통한 후속 액션까지 진행한다.",
4
4
  "profiles": [
5
- "action:communication"
5
+ "lookup"
6
6
  ],
7
7
  "frontmatter": "name: job-posting-match\ndescription: 한국 구직자의 이력서·경력요약과 희망조건을 바탕으로 잡코리아·사람인 공개 채용공고를 검색하고 적합도와 지원 전략을 정리합니다. 돌쇠에서는 공식 표면을 통한 후속 액션까지 진행한다.\nlicense: MIT\nmetadata:\n category: recruiting\n locale: ko-KR\n phase: v1"
8
8
  }
@@ -73,7 +73,7 @@ If detail pages are inaccessible or paid-walled, label results as `목록 기반
73
73
  Use only when the user cannot or will not log in. It is low-confidence because it cannot inspect resume details.
74
74
 
75
75
  ```bash
76
- python3 jobkorea-talent-search/scripts/jobkorea_talent_search.py --keyword "퍼포먼스 마케터 GA4" --work-area "서울" --career-min 3 --career-max 7 --limit 20
76
+ npx -y @nomadamas/k-skill@0 exec jobkorea-talent-search scripts/jobkorea_talent_search.py -- --keyword "퍼포먼스 마케터 GA4" --work-area "서울" --career-min 3 --career-max 7 --limit 20
77
77
  ```
78
78
 
79
79
  ## URL extraction guidance
@@ -2,8 +2,9 @@
2
2
  "name": "jobkorea-talent-search",
3
3
  "description": "잡코리아 기업회원 로그인 세션으로 유료 열람 전 마스킹된 인재 이력서를 검색·비교해 채용 검토용 shortlist를 만듭니다. 돌쇠에서는 공식 표면을 통한 후속 액션까지 진행한다.",
4
4
  "profiles": [
5
+ "vault",
5
6
  "browser",
6
- "action:communication"
7
+ "action:recruiting"
7
8
  ],
8
9
  "frontmatter": "name: jobkorea-talent-search\ndescription: 잡코리아 기업회원 로그인 세션으로 유료 열람 전 마스킹된 인재 이력서를 검색·비교해 채용 검토용 shortlist를 만듭니다. 돌쇠에서는 공식 표면을 통한 후속 액션까지 진행한다.\nlicense: MIT\nmetadata:\n category: recruiting\n locale: ko-KR\n phase: v1"
9
10
  }
@@ -24,7 +24,7 @@ v1 범위는 단순 스크래핑이다.
24
24
  - 인터넷 연결
25
25
  - `python3`
26
26
  - 별도 API 키 없음
27
- - 설치된 skill payload 안에 `scripts/sillok_search.py` helper가 함께 들어 있다.
27
+ - `@nomadamas/k-skill` CLI에 `scripts/sillok_search.py` helper가 함께 번들되어 있다.
28
28
 
29
29
  ## Inputs
30
30
 
@@ -38,7 +38,7 @@ v1 범위는 단순 스크래핑이다.
38
38
 
39
39
  ## Workflow
40
40
 
41
- 1. `python3 scripts/sillok_search.py --query "..."` 로 공식 검색 endpoint를 호출한다.
41
+ 1. `npx -y @nomadamas/k-skill@0 exec joseon-sillok-search scripts/sillok_search.py -- --query "..."` 로 공식 검색 endpoint를 호출한다.
42
42
  2. 검색 결과 HTML에서 결과 수, 왕별 분류, 기사 링크, 요약을 파싱한다.
43
43
  3. 필요하면 `--king`, `--year` 로 결과를 추가로 좁힌다.
44
44
  4. 선택된 기사마다 `/id/<article_id>` 상세 페이지를 열어 국역/원문 excerpt를 가져온다.
@@ -47,10 +47,10 @@ v1 범위는 단순 스크래핑이다.
47
47
  ## CLI examples
48
48
 
49
49
  ```bash
50
- python3 scripts/sillok_search.py --query "훈민정음"
51
- python3 scripts/sillok_search.py --query "훈민정음" --king "세종" --year 1443 --limit 3
52
- python3 scripts/sillok_search.py --query "측우기" --king "세종실록" --limit 5
53
- python3 scripts/sillok_search.py --query "임진왜란" --type w --limit 5
50
+ npx -y @nomadamas/k-skill@0 exec joseon-sillok-search scripts/sillok_search.py -- --query "훈민정음"
51
+ npx -y @nomadamas/k-skill@0 exec joseon-sillok-search scripts/sillok_search.py -- --query "훈민정음" --king "세종" --year 1443 --limit 3
52
+ npx -y @nomadamas/k-skill@0 exec joseon-sillok-search scripts/sillok_search.py -- --query "측우기" --king "세종실록" --limit 5
53
+ npx -y @nomadamas/k-skill@0 exec joseon-sillok-search scripts/sillok_search.py -- --query "임진왜란" --type w --limit 5
54
54
  ```
55
55
 
56
56
  ## Response policy
@@ -32,7 +32,7 @@ Ask a compact interview before scanning or recommending deletion:
32
32
  From an installed standalone skill, run the deterministic helper from the `k-skill-cleaner` skill directory. In a full repository checkout, the compatibility wrapper at `scripts/k_skill_cleaner.py` accepts the same options.
33
33
 
34
34
  ```bash
35
- python3 scripts/k_skill_cleaner.py \
35
+ npx -y @nomadamas/k-skill@0 exec k-skill-cleaner scripts/k_skill_cleaner.py -- \
36
36
  --skills-root . \
37
37
  --scan-default-logs \
38
38
  --days 90 \
@@ -43,7 +43,7 @@ python3 scripts/k_skill_cleaner.py \
43
43
  For agent exports or hand-curated counts, pass a JSON object mapping skill name to trigger count:
44
44
 
45
45
  ```bash
46
- python3 scripts/k_skill_cleaner.py --skills-root . --usage-json usage-counts.json --days 90
46
+ npx -y @nomadamas/k-skill@0 exec k-skill-cleaner scripts/k_skill_cleaner.py -- --skills-root . --usage-json usage-counts.json --days 90
47
47
  ```
48
48
 
49
49
  `--days` and `--since` filter scanned log records only. `--usage-json` values are already-aggregated counts, so prepare/export that JSON for the same time window before passing it to the helper.
File without changes
@@ -167,7 +167,7 @@ else
167
167
  fi
168
168
  ```
169
169
 
170
- repo 전체를 clone받은 경우에는 같은 검증을 `bash scripts/check-setup.sh` 로 실행해도 된다.
170
+ repo 전체를 clone받은 경우에는 같은 검증을 `npx -y @nomadamas/k-skill@0 exec k-skill-setup scripts/check-setup.sh --` 로 실행해도 된다.
171
171
 
172
172
  ### 3. Offer scheduled update checks
173
173
 
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ secrets_file="${1:-$HOME/.config/k-skill/secrets.env}"
5
+
6
+ missing=0
7
+
8
+ if [[ ! -f "$secrets_file" ]]; then
9
+ echo "missing secrets file: $secrets_file"
10
+ missing=1
11
+ else
12
+ perms=$(stat -f '%Lp' "$secrets_file" 2>/dev/null || stat -c '%a' "$secrets_file" 2>/dev/null)
13
+ if [[ "$perms" != "600" ]]; then
14
+ echo "insecure permissions on $secrets_file: $perms (expected 600)"
15
+ missing=1
16
+ fi
17
+ fi
18
+
19
+ if [[ "$missing" -ne 0 ]]; then
20
+ cat <<EOF
21
+ next steps:
22
+ 1. create ~/.config/k-skill/secrets.env with your credentials
23
+ 2. chmod 0600 ~/.config/k-skill/secrets.env
24
+ 3. run this check again
25
+ EOF
26
+ exit 1
27
+ fi
28
+
29
+ echo "k-skill setup looks usable"
@@ -5,7 +5,13 @@
5
5
  "proxy",
6
6
  "vault",
7
7
  "browser",
8
- "local"
8
+ "operations"
9
9
  ],
10
- "frontmatter": "name: k-skill-setup\ndescription: After installing the full k-skill bundle, configure and verify the shared cross-platform setup, then optionally wire update checks and GitHub starring with explicit user consent.\nlicense: MIT\nmetadata:\n category: setup\n locale: ko-KR\n phase: v1"
10
+ "frontmatter": "name: k-skill-setup\ndescription: After installing the full k-skill bundle, configure and verify the shared cross-platform setup, then optionally wire update checks and GitHub starring with explicit user consent.\nlicense: MIT\nmetadata:\n category: setup\n locale: ko-KR\n phase: v1",
11
+ "bundle": [
12
+ {
13
+ "from": "scripts/check-setup.sh",
14
+ "to": "scripts/check-setup.sh"
15
+ }
16
+ ]
11
17
  }
@@ -2,7 +2,7 @@
2
2
  "name": "kakaotalk-mac",
3
3
  "description": "Search local KakaoTalk archives on Apple Silicon macOS through the katok CLI. 돌쇠에서는 공식 표면을 통한 후속 액션까지 진행한다.",
4
4
  "profiles": [
5
- "action:communication"
5
+ "lookup"
6
6
  ],
7
7
  "frontmatter": "name: kakaotalk-mac\ndescription: Search local KakaoTalk archives on Apple Silicon macOS through the katok CLI. 돌쇠에서는 공식 표면을 통한 후속 액션까지 진행한다.\nlicense: MIT\nmetadata:\n category: messaging\n locale: ko-KR\n phase: v2"
8
8
  }
@@ -26,9 +26,9 @@ RISS 검색 Open API 키는 **공익 목적의 비영리 기관/대학에만**
26
26
  ## Commands
27
27
 
28
28
  ```bash
29
- python3 scripts/keris_academic.py search --keyword '인공지능 교육'
30
- python3 scripts/keris_academic.py search --title '대학도서관' --author '김연구' --resource-type T
31
- python3 scripts/keris_academic.py search --keyword '한국어 교육' --resource-type D --page 2 --page-size 20 --json
29
+ npx -y @nomadamas/k-skill@0 exec keris-academic-search scripts/keris_academic.py -- search --keyword '인공지능 교육'
30
+ npx -y @nomadamas/k-skill@0 exec keris-academic-search scripts/keris_academic.py -- search --title '대학도서관' --author '김연구' --resource-type T
31
+ npx -y @nomadamas/k-skill@0 exec keris-academic-search scripts/keris_academic.py -- search --keyword '한국어 교육' --resource-type D --page 2 --page-size 20 --json
32
32
  ```
33
33
 
34
34
  검색 필드는 `keyword`, `title`, `author`, `subject`, `publisher`이며 하나 이상 필요하다. `page`는 1 이상, `pageSize`는 1~100이다. RISS의 `rsnum`은 `(page-1)*pageSize+1`로 계산한다. 실제 호출에는 사용자 RISS 키가 필요하다.
@@ -48,7 +48,7 @@ python3 scripts/keris_academic.py search --keyword '한국어 교육' --resource
48
48
  ## Credentials
49
49
 
50
50
  ```bash
51
- python3 scripts/keris_academic.py search --keyword '교육 데이터' --resource-type ALL --dry-run
51
+ npx -y @nomadamas/k-skill@0 exec keris-academic-search scripts/keris_academic.py -- search --keyword '교육 데이터' --resource-type ALL --dry-run
52
52
  ```
53
53
 
54
54
  - RISS 키: `KSKILL_RISS_API_KEY`, 없으면 compatibility `RISS_API_KEY`, 이후 `~/.config/k-skill/secrets.env`
@@ -3,7 +3,6 @@
3
3
  "description": "한국 날씨를 기상청 단기예보 조회서비스와 프록시 경유로 조회해 요약한다.",
4
4
  "profiles": [
5
5
  "proxy",
6
- "vault",
7
6
  "lookup"
8
7
  ],
9
8
  "frontmatter": "name: korea-weather\ndescription: 한국 날씨를 기상청 단기예보 조회서비스와 프록시 경유로 조회해 요약한다.\nlicense: MIT\nmetadata:\n category: weather\n locale: ko-KR\n phase: v1"
@@ -46,24 +46,24 @@
46
46
  ## Prerequisites
47
47
 
48
48
  - `node` 18+
49
- - 설치된 skill payload 안에 `scripts/korean_character_count.js` helper 포함
49
+ - `@nomadamas/k-skill` CLI에 번들된 `scripts/korean_character_count.js` helper
50
50
  - 별도 API 키 없음
51
51
 
52
52
  ## Workflow
53
53
 
54
54
  1. 텍스트를 직접 받거나 파일/STDIN으로 읽는다.
55
- 2. `node scripts/korean_character_count.js` 로 결정론적 카운트를 실행한다.
55
+ 2. `npx -y @nomadamas/k-skill@0 exec korean-character-count scripts/korean_character_count.js --` 로 결정론적 카운트를 실행한다.
56
56
  3. 필요한 프로필(`default`/`neis`)과 출력 형식(`json`/`text`)을 고른다.
57
57
  4. 결과를 그대로 반환하고, 어떤 계약으로 셌는지 함께 알려준다.
58
58
 
59
59
  ## CLI examples
60
60
 
61
61
  ```bash
62
- node scripts/korean_character_count.js --text "가나다"
63
- node scripts/korean_character_count.js --text $'첫 줄\r\n둘째 줄🙂'
64
- node scripts/korean_character_count.js --text $'첫 줄\n둘째 줄🙂' --profile neis --format text
65
- node scripts/korean_character_count.js --file ./essay.txt --profile default
66
- cat essay.txt | node scripts/korean_character_count.js --stdin --profile neis
62
+ npx -y @nomadamas/k-skill@0 exec korean-character-count scripts/korean_character_count.js -- --text "가나다"
63
+ npx -y @nomadamas/k-skill@0 exec korean-character-count scripts/korean_character_count.js -- --text $'첫 줄\r\n둘째 줄🙂'
64
+ npx -y @nomadamas/k-skill@0 exec korean-character-count scripts/korean_character_count.js -- --text $'첫 줄\n둘째 줄🙂' --profile neis --format text
65
+ npx -y @nomadamas/k-skill@0 exec korean-character-count scripts/korean_character_count.js -- --file ./essay.txt --profile default
66
+ cat essay.txt | npx -y @nomadamas/k-skill@0 exec korean-character-count scripts/korean_character_count.js -- --stdin --profile neis
67
67
  ```
68
68
 
69
69
  ## Response policy
@@ -77,7 +77,7 @@ cat essay.txt | node scripts/korean_character_count.js --stdin --profile neis
77
77
 
78
78
  - 글자 수, 줄 수, byte 수가 함께 반환된다.
79
79
  - `default` 와 `neis` 계약 차이가 문서에 명시된다.
80
- - `node scripts/korean_character_count.js --help` 가 동작한다.
80
+ - `npx -y @nomadamas/k-skill@0 exec korean-character-count scripts/korean_character_count.js -- --help` 가 동작한다.
81
81
  - 혼합 한국어/영문/공백/개행/emoji 입력에 대한 테스트가 있다.
82
82
 
83
83
  ## Notes
@@ -28,7 +28,7 @@ v1은 공식 XML API를 직접 호출하며, 별도 API key·로그인·프록
28
28
 
29
29
  - 인터넷 연결
30
30
  - Python 3.10+
31
- - 설치된 skill payload 안에 `scripts/korean_heritage_search.py` helper가 포함되어 있다.
31
+ - `@nomadamas/k-skill` CLI에 `scripts/korean_heritage_search.py` helper가 번들되어 있다.
32
32
  - 별도 API key나 로그인은 필요 없다.
33
33
 
34
34
  ## Inputs
@@ -68,10 +68,10 @@ v1은 공식 XML API를 직접 호출하며, 별도 API key·로그인·프록
68
68
  ## CLI examples
69
69
 
70
70
  ```bash
71
- python3 scripts/korean_heritage_search.py search --query "경복궁" --region 서울 --limit 5
72
- python3 scripts/korean_heritage_search.py search --region 전북 --limit 10
73
- python3 scripts/korean_heritage_search.py detail --ccba-kdcd 11 --ccba-asno 0000010000000 --ccba-ctcd 11
74
- python3 scripts/korean_heritage_search.py events --year 2026 --month 7 --region 서울 --limit 10
71
+ npx -y @nomadamas/k-skill@0 exec korean-heritage-search scripts/korean_heritage_search.py -- search --query "경복궁" --region 서울 --limit 5
72
+ npx -y @nomadamas/k-skill@0 exec korean-heritage-search scripts/korean_heritage_search.py -- search --region 전북 --limit 10
73
+ npx -y @nomadamas/k-skill@0 exec korean-heritage-search scripts/korean_heritage_search.py -- detail --ccba-kdcd 11 --ccba-asno 0000010000000 --ccba-ctcd 11
74
+ npx -y @nomadamas/k-skill@0 exec korean-heritage-search scripts/korean_heritage_search.py -- events --year 2026 --month 7 --region 서울 --limit 10
75
75
  ```
76
76
 
77
77
  ## Response policy
@@ -95,7 +95,7 @@ AI 패턴을 지우는 건 절반이다. 영혼 없는 글은 슬롭(slop)만큼
95
95
 
96
96
  # 패턴 카탈로그 (A ~ J)
97
97
 
98
- 각 패턴은 `분류 ID · 심각도`로 표시한다. 전체 60+ 서브 패턴 표는 [`references/ai-tell-taxonomy.md`](references/ai-tell-taxonomy.md)에 있다. 아래는 한국어 AI 글에서 가장 자주, 가장 강하게 드러나는 핵심만 추렸다.
98
+ 각 패턴은 `분류 ID · 심각도`로 표시한다. 전체 60+ 서브 패턴 표는 `npx -y @nomadamas/k-skill@0 read korean-humanizer references/ai-tell-taxonomy.md`에 있다. 아래는 한국어 AI 글에서 가장 자주, 가장 강하게 드러나는 핵심만 추렸다.
99
99
 
100
100
  ## A. 번역체 (한국어 AI 글의 1순위 정체)
101
101
 
@@ -41,7 +41,7 @@
41
41
  홈 디렉터리 wrapper 에는 `SKILL.md`, `scripts/install.sh`, `scripts/upstream.pin`, `LICENSE.upstream`, `DISCLAIMER.md`, `NOTICE` 를 함께 설치한다. Promoted `jangbu-*` top-level 경로에 사용자가 만든 다른 스킬이 이미 있으면 installer 는 덮어쓰지 않고 중단한다. wrapper 가 이전에 설치한 managed 스킬만 자동 갱신하며, 의도적으로 교체해야 할 때만 `KOREAN_JANGBU_FOR_OVERWRITE_SKILLS=1` 을 설정한다.
42
42
 
43
43
  ```bash
44
- bash korean-jangbu-for/scripts/install.sh
44
+ npx -y @nomadamas/k-skill@0 exec korean-jangbu-for scripts/install.sh --
45
45
  ```
46
46
 
47
47
  레포를 로컬에 clone 하지 않고 이미 홈 디렉토리 스킬 번들만 가진 상태에서도 설치할 수 있다:
@@ -55,7 +55,7 @@ bash ~/.agents/skills/korean-jangbu-for/scripts/install.sh
55
55
  설치 확인:
56
56
 
57
57
  ```bash
58
- cat korean-jangbu-for/scripts/upstream.pin
58
+ npx -y @nomadamas/k-skill@0 read korean-jangbu-for scripts/upstream.pin
59
59
  git -C ~/.claude/skills/korean-jangbu-for/upstream rev-parse HEAD
60
60
  git -C ~/.agents/skills/korean-jangbu-for/upstream rev-parse HEAD
61
61
  ```
@@ -84,7 +84,7 @@ bash ~/.claude/skills/korean-jangbu-for/upstream/scripts/verify.sh
84
84
  ## Workflow
85
85
 
86
86
  1. 위 intake 로 목표와 입력 자료를 확정한다.
87
- 2. `bash korean-jangbu-for/scripts/install.sh` 로 업스트림을 dual-install 한다.
87
+ 2. `npx -y @nomadamas/k-skill@0 exec korean-jangbu-for scripts/install.sh --` 로 업스트림을 dual-install 한다.
88
88
  3. 사용 목적에 맞게 업스트림 스킬을 선택한다:
89
89
  - `/korean-jangbu-for` — 전체 메뉴 라우팅
90
90
  - `/jangbu-connect` — CODEF API 자격증명 설정(BYOK, 홈택스·은행·카드 자동 수집)
File without changes
@@ -36,7 +36,7 @@
36
36
  ## Workflow
37
37
 
38
38
  1. 변환할 한국어 텍스트를 받는다.
39
- 2. 설치된 `korean-middle-korean` skill 디렉터리를 기준으로 `node scripts/korean_middle_korean.js` 실행한다.
39
+ 2. CLI에 번들된 `scripts/korean_middle_korean.js`를 `k-skill exec` 표면으로 실행한다.
40
40
  - URL, 이메일, Markdown 링크, inline/fenced code span은 보호되어 원문 그대로 복원된다.
41
41
  3. 기본 JSON 출력에서 `output`을 사용자에게 반환한다.
42
42
  4. 사용자가 근거를 원하면 `replacements` 배열의 규칙 적용 내역을 요약한다.
@@ -45,10 +45,10 @@
45
45
  ## CLI examples
46
46
 
47
47
  ```bash
48
- node scripts/korean_middle_korean.js --text "민수는 3월 5일 학교에서 공부했다."
49
- node scripts/korean_middle_korean.js --text "열애설을 인정했다." --format text
50
- cat input.txt | node scripts/korean_middle_korean.js --stdin --format json
51
- node scripts/korean_middle_korean.js --file ./input.txt --format text
48
+ npx -y @nomadamas/k-skill@0 exec korean-middle-korean scripts/korean_middle_korean.js -- --text "민수는 3월 5일 학교에서 공부했다."
49
+ npx -y @nomadamas/k-skill@0 exec korean-middle-korean scripts/korean_middle_korean.js -- --text "열애설을 인정했다." --format text
50
+ cat input.txt | npx -y @nomadamas/k-skill@0 exec korean-middle-korean scripts/korean_middle_korean.js -- --stdin --format json
51
+ npx -y @nomadamas/k-skill@0 exec korean-middle-korean scripts/korean_middle_korean.js -- --file ./input.txt --format text
52
52
  ```
53
53
 
54
54
  ## Response policy
@@ -73,7 +73,7 @@ node scripts/korean_middle_korean.js --file ./input.txt --format text
73
73
 
74
74
  ## Done when
75
75
 
76
- - `node scripts/korean_middle_korean.js --help` 가 동작한다.
76
+ - `npx -y @nomadamas/k-skill@0 exec korean-middle-korean scripts/korean_middle_korean.js -- --help` 가 동작한다.
77
77
  - `--text`, `--file`, `--stdin` 입력이 모두 동작한다.
78
78
  - JSON과 text 출력이 모두 동작한다.
79
79
  - 이슈 #270의 예시처럼 날짜/Hanja/중세국어풍 조사·어미·성조점이 나타난다.