131 Commits

Author SHA1 Message Date
Jeffrey (Dongkyu) Kim 906a1456ee fix(ci): run every discovered check and test 2026-08-16 22:51:30 +09:00
ericpapa80 ddd78235da chore: glob root CI file lists instead of hand-editing package.json
New skill helpers and tests were easy to omit from the growing lint/test/pack scripts. Discover them by path so CI stays complete without touching package.json.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-15 11:08:53 +09:00
Jeffrey (Dongkyu) Kim fd6ca5cb10 fix(ktx): use official public timetables 2026-08-14 17:48:34 +09:00
Jeffrey (Dongkyu) Kim 5919c4f27f fix(rail): pin the runtime korail2 revision in tests and normalize station input
CI installed korail2==0.4.0 from PyPI while the shipped helper runs a pinned
git fork, so fork API drift could not fail the test suite. The test environment
now installs the same revision, and a regression test keeps package.json in
sync with the script header.

KTX search silently returned count=0 when the requested station name did not
match Korail's canonical name (for example "서울역"). Both helpers now
normalize a trailing station suffix, and KTX raises with the station names
Korail actually returned instead of an empty result. An empty time window
still returns count=0.
2026-08-12 19:18:14 +09:00
Jeffrey (Dongkyu) Kim 7ab60b68ab refactor(rail): use live read-only search paths 2026-08-12 17:41:08 +09:00
Jeffrey (Dongkyu) Kim 3760c5c706 Merge remote-tracking branch 'origin/dev' into chore/remove-used-car-price-search
# Conflicts:
#	package.json
2026-08-12 15:18:24 +09:00
Jeffrey (Dongkyu) Kim e145763dfc chore(skills): remove used car price search 2026-08-12 15:17:39 +09:00
Jeffrey (Dongkyu) Kim f376ffd779 fix(store-longevity-radar): make mirror workflow executable 2026-08-12 15:12:37 +09:00
Jeffrey (Dongkyu) Kim ea27a12e0b Merge remote-tracking branch 'origin/dev' into pr-552-work
# Conflicts:
#	package.json
#	packages/k-skill-cli/test/cli.test.js
#	scripts/skill-docs.test.js
2026-08-09 13:44:40 +09:00
Jeffrey (Dongkyu) Kim efaeee8ca5 chore(skills): remove Catchtable and Hi-Pass integrations (#554)
* chore(skills): remove Catchtable and Hi-Pass integrations

* chore: restore executable file modes

* docs: remove stale references to retired skills
2026-08-09 13:30:45 +09:00
masondev1024 d424d6fc95 feat(seoul-weather-risk): 서울 기상 위험 시간대 조회 스킬 추가
ASK 서울이 공개하는 weather_place_risk_window(장소별 기상 위험 예상 시간대)
단일 제품을 인증된 읽기 전용 HTTPS API로 조회하는 Python 스크립트 유형 스킬.
폭염·한파·호우·대설·강풍 후보 예보 시간대와 그 판정 근거(기온·풍속·강수확률·
강수형태·강수량·적설량)를 조회한다. 기상청 공식 특보가 아님을 계약과 문서에
명시한다.

- scripts/seoul_weather_risk.py: bundle/product/data 응답 계약을 검증하는
  read-only client. stdlib(urllib)만 사용하고 외부 dependency 없음
- 시크릿은 KSKILL_SEOUL_WEATHER_RISK_API_KEY/_API_BASE_URL 환경변수 전용,
  HTTPS origin 강제(loopback mock 제외)·redirect 미추종으로 bearer 유출 차단
- tests: 인증·계약 drift·HTTP problem status·자격증명 미노출 등 9개
- package.json lint/test에 등록, README·docs/sources.md·runtime-action-audit
  갱신, SKILL.md와 CLI bundle은 generate/sync 스크립트로 생성
2026-08-07 21:22:35 +09:00
Jeffrey (Dongkyu) Kim 0aa0a2dc33 chore(skills): remove clinic search integration 2026-08-07 14:21:37 +09:00
Jeffrey (Dongkyu) Kim 7daf89a79a fix(store-longevity-radar): 리뷰 블로커 및 매칭 오류 수정 2026-08-01 12:19:24 +09:00
Jeffrey (Dongkyu) Kim 181bc49644 feat: execute bundled skill assets through unified CLI 2026-07-29 14:23:10 +09:00
Jeffrey (Dongkyu) Kim 2a08bf13f1 feat: pilot @nomadamas/k-skill CLI adapter for five skills 2026-07-29 14:23:10 +09:00
hoddukzoa f68a7f5fd5 feat(housing-official-price): 주택 공시가격 조회 스킬 추가 (#438) 2026-07-23 01:30:43 +09:00
Jeffrey (Dongkyu) Kim c6dfadc345 feat(bok-ecos-stats): 한국은행 ECOS 경제통계 조회 스킬 추가 (#435)
- StatisticSearch/TableList/ItemList/KeyStatisticList/StatisticWord 5개 서비스 지원
- 기준금리·원달러환율·CPI·M2·국고채3년 alias 제공
- 공개 데모 키 sample로 무가입 동작 확인(호출당 10행 캡) → proxy 미경유 직접 호출
- BYOK: KSKILL_BOK_ECOS_API_KEY로 행 수 확장
- stdlib-only helper + 19 unit tests, README/docs/sources/root CI 배선

Closes #368
2026-07-22 03:00:12 +09:00
Jeffrey (Dongkyu) Kim 97c61dd4c6 feat(highway-traffic-status): 고속도로 실시간 소통·교통량·CCTV 조회 스킬 추가 (#434)
- data.ex.co.kr trafficAmountByRealtime로 콘존별 속도/교통량/정체 등급 조회
- openapi.its.go.kr cctvInfo로 좌표 범위 내 CCTV HLS 스트림 메타데이터 조회
- 두 upstream 모두 공개 데모 키로 무가입 동작 확인 → proxy 미경유 직접 호출
- stdlib-only helper + 17 unit tests, README/docs/sources/root CI 배선

Closes #384
2026-07-22 02:55:07 +09:00
Jaehyeon Kim ae3dc560f3 Add regional EV subsidy status skill (#425)
* feat: add regional EV subsidy status skill

* docs: generalize EV subsidy model examples

* fix: align ev-subsidy-status with workspace k-skill-browser-runtime ^0.2.0

- depend on the workspace browser-runtime range like every other
  browser-backed package (changesets bumps ranges at release)
- refresh package-lock.json; also heals pre-existing dev drift where
  court-auction/hipass/yebigun/court-payment entries were stale
  (npm ci was failing on the lockfile/package.json mismatch)

---------

Co-authored-by: Jeffrey (Dongkyu) Kim <vkehfdl1@gmail.com>
2026-07-18 23:44:37 +09:00
mini_yeoreum 12dc61ab98 feat: add Korean heritage search skill (#422)
* feat: add Korean heritage search skill

* fix: reject empty heritage details

---------

Co-authored-by: datell1357 <datell1357@naver.com>
2026-07-18 23:31:26 +09:00
Jeffrey (Dongkyu) Kim 3cd12d2412 feat(keris-academic-search): RISS 학술자료 검색 스킬 추가 (#381) 2026-07-14 09:30:39 +09:00
Jeffrey (Dongkyu) Kim af1c1f059d feat(building-register-search): 건축물대장 조회 스킬 추가 (#382) 2026-07-14 09:30:39 +09:00
Jeffrey (Dongkyu) Kim 0ff844ae4f feat(ev-charger-nearby): 전기차 충전소 조회 스킬 추가 (#383) 2026-07-12 22:38:17 +09:00
Jeffrey (Dongkyu) Kim 1d2e5d6295 Merge dev into main (#410) 2026-07-11 12:17:12 +09:00
Jeffrey (Dongkyu) Kim 3b98b58ab4 Merge origin/dev and fix yebigun training review issues 2026-07-02 15:57:15 +09:00
Jeffrey (Dongkyu) Kim b1c39a7814 Merge remote-tracking branch 'origin/dev' into dev-issue-330-s2b
# Conflicts:
#	package.json
2026-07-02 15:32:43 +09:00
Jeffrey (Dongkyu) Kim dd88f56d35 Merge remote-tracking branch 'origin/dev' into dev-issue-331-d2b
# Conflicts:
#	package-lock.json
#	package.json
2026-07-02 15:17:10 +09:00
Jeffrey (Dongkyu) Kim 1a317f5d35 Add court payment order assistant skill 2026-07-02 01:29:50 +09:00
Jeffrey (Dongkyu) Kim 9f2949eb34 Add D2B notice search skill 2026-07-02 00:57:11 +09:00
Jeffrey (Dongkyu) Kim 96a7f7751c Add S2B notice search skill 2026-07-01 23:25:13 +09:00
semteo04 3f8fa9ecce feat: yebigun-training 스킬 추가 (예비군 훈련정보 조회 & 작년 대비 비교)
로그인된 예비군 홈페이지(yebigun1.mil.kr) Chrome 세션을 재사용해 훈련 일정/장소를
조회하고 작년 기록과 비교한다. 식별 정보 없는 조회 화면만 읽고(view), 신청/편집
화면은 열기만 하며(open-menu) 로그인·제출은 절대 자동화하지 않는다.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-01 20:15:36 +09:00
Jeffrey (Dongkyu) Kim face06274e Add naming-house skill 2026-06-29 22:01:01 +09:00
Jeffrey (Dongkyu) Kim 441ffbd592 Merge remote-tracking branch 'origin/dev' into pr-341-work
# Conflicts:
#	package.json
2026-06-25 16:31:31 +09:00
Jeffrey (Dongkyu) Kim cd73d45c05 Merge remote-tracking branch 'origin/dev' into pr-334-work
# Conflicts:
#	package.json
2026-06-25 16:18:33 +09:00
Jeffrey (Dongkyu) Kim 172beb3b78 Add G2B order plan search skill 2026-06-24 23:54:29 +09:00
Jeffrey (Dongkyu) Kim ee30f88349 Merge dev into saju fortune 2026-06-24 23:26:37 +09:00
Jeffrey (Dongkyu) Kim 2dd20c2fbd Merge dev into lovebug report 2026-06-24 23:22:12 +09:00
wbjung 46d64ff0c8 Add resume-based job posting match skill 2026-06-24 21:22:02 +09:00
Jeffrey (Dongkyu) Kim 451d557a6b fix(daangn-realty-search): harden relay-store helper 2026-06-24 17:33:04 +09:00
Jeffrey (Dongkyu) Kim 55866b15a3 Add lovebug report skill 2026-06-24 17:29:21 +09:00
Jeffrey (Dongkyu) Kim 8209b328e1 Add saju fortune skill 2026-06-24 16:58:32 +09:00
Jeffrey (Dongkyu) Kim b14f65361f Wire JobKorea talent helper into CI 2026-06-18 10:37:08 +09:00
Jeffrey (Dongkyu) Kim c3f44eef14 feat(kakaotalk-mac): replace kakaocli workflow with katok
Closes #320

Plan: .omo/plans/issue-320-katok-skill.md
2026-06-16 13:44:56 +09:00
Jeffrey (Dongkyu) Kim c8bb7f9f35 Merge dev and address PR review fixes 2026-06-12 19:34:20 +09:00
iamiks 52dbfee064 feat(srt-booking): SRT 좌석 확인과 탐색 우선순위 개선 (#305)
* feat(srt): 좌석 조회와 탐색 우선순위 추가

SRT search 결과의 stable train_id로 객차별 좌석을 조회하고, 특정 호차/좌석 확인과 탐색 우선순위 옵션을 제공한다.

Constraint: SRT와 KTX는 별도 upstream 표면이므로 SRT HTML 파서와 테스트를 분리함
Rejected: KTX 좌석 helper 공유 | Korail API와 SRT 웹 좌석선택 HTML 계약이 달라 혼용하면 파서 안정성이 낮아짐
Confidence: medium
Scope-risk: moderate
Directive: SRT 좌석선택 HTML에서 노출되지 않는 속성은 추정하지 말고 명시적으로 처리할 것
Tested: PYTHONPATH=.:scripts python3 -m unittest scripts.test_srt_booking scripts.test_ktx_booking; python3 -m py_compile scripts/srt_booking.py scripts/srt_seats.py scripts/test_srt_booking.py
Not-tested: 실제 예약 API에 우선순위 좌석 선택을 연결하는 흐름

* fix(srt): 좌석 조회 JSON 출력 안정화

SRT 대기열 메시지가 stdout에 섞여 seats JSON을 깨는 실제 표면 문제를 막고, 누락된 좌석 방향/위치 속성을 unknown으로 정규화한다.

Constraint: issue #303 범위는 예약 부작용이 없는 좌석 조회 보조 흐름으로 제한됨
Rejected: 실제 예약 subcommand 추가 | 좌석 선점/예약은 외부 부작용이라 이번 acceptance criteria에 포함되지 않음
Confidence: high
Scope-risk: narrow
Directive: SRTrain upstream 출력이 추가되더라도 helper stdout은 JSON 전용으로 유지할 것
Tested: RED→GREEN in .omo/ulw-loop/evidence/srt-c002-red-green-tests.txt; live SRT tmux QA in .omo/ulw-loop/evidence/srt-c001-live-search-seats.txt; npm run ci in .omo/ulw-loop/evidence/srt-c003-regression-ci.txt
Not-tested: 실제 예약/결제/취소 부작용 흐름

* test(srt): split seat helper regression coverage

---------

Co-authored-by: Jeffrey (Dongkyu) Kim <vkehfdl1@gmail.com>
2026-06-09 10:57:54 +09:00
Jeffrey (Dongkyu) Kim bbba283151 Archive unsupported map skills 2026-06-05 22:24:15 +09:00
Jeffrey (Dongkyu) Kim 46f44ed724 chore: remove startup-support skill 2026-06-05 17:21:58 +09:00
Jeffrey (Dongkyu) Kim cc64d66d56 test: isolate python test dependencies 2026-06-05 17:03:27 +09:00
Jeffrey (Dongkyu) Kim 7c1a4530cf test: remove runtime pip install from root ci 2026-06-05 17:00:02 +09:00
Jeffrey (Dongkyu) Kim 346ce7f516 fix(startup-support): use K-Startup proxy surface 2026-06-05 13:03:28 +09:00