399 Commits

Author SHA1 Message Date
tahodev 6e67fd1e0a feat: 공유누리 공공시설 검색 스킬 추가 (sharenuri-facility-search) (#666)
* Create skill.json

* Create instruction.md

* Create SKILL.md

* Create sharenuri_search.py

* Create DISCLAIMER.md

* Create TRADEMARK-LEGAL-STATEMENT.md

* Create test_sharenuri_search.py

* Create skill.json

* Create instruction.md

* Create sharenuri_search.py

* Create DISCLAIMER.md

* Create TRADEMARK-LEGAL-STATEMENT.md

* Create sharenuri-facility-search.dolshoi.md

* Create sharenuri-facility-search.generic.md

* Create sharenuri-facility-search.md

* Update README.md

* Update trademark-use-review.md

* Update runtime-action-audit.md

* Update plugin.json

* Update cli.test.js

* Update skill-docs.test.js

* Add tests/__init__.py for sharenuri-facility-search
2026-09-12 17:09:23 +09:00
Jeffrey (Dongkyu) Kim d0ffe5219d Merge pull request #662 from helenanova/feature/660
fix(korean-privacy-terms): install.sh 0바이트 템플릿 경고 + 한글 약관 누락 문서화 (#660)
2026-09-11 17:49:13 +09:00
helenanova d7f45d4db0 fix(korean-privacy-terms): install.sh 0바이트 템플릿 경고 + 한글 약관 누락 문서화 (#660)
pin 된 업스트림의 한글 이용약관 템플릿이 0바이트라 한국어 경로에서
약관 생성이 조용히 불가능한 문제(#660)에 대해, 이슈 제안 2·3안을 구현한다.

- install.sh: pin 검증 직후 *.tmpl 0바이트 파일을 찾아 경고로 표면화
  (다른 경로는 정상 생성되므로 설치는 계속)
- instruction.md Failure modes 에 한글 약관 템플릿 누락과 해소 조건
  (upstream pin bump) 명시
- docs/features/korean-privacy-terms.md 에 알려진 한계 절 추가
- skill-docs 테스트 2건 추가 (TDD: 실패 확인 후 구현)
- CLI 번들 동기화 + 스냅샷 갱신 + changeset(patch)

검증: 신규 테스트 2건 통과, lint·typecheck·validate-skills 통과,
워크스페이스 테스트 96건 통과, 루트 node 테스트 205/206
(1건은 Python 3.11+ 요구 store_longevity_mirror의 환경성 기존 실패,
clean dev 에서도 동일 재현).
2026-09-10 17:45:26 -07:00
Jeffrey (Dongkyu) Kim f2b7772dd2 Merge origin/dev into feat/bccard-eatpl-search
Keep bccard-eatpl-search on latest dev and resolve skill-count conflicts:
README 125, lookup 65, skillDirs 125, assetSkills 90, trademark-reviewed 43.

Ultraworked with [omo](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: sisyphus-dev-ai <sisyphus-dev-ai@users.noreply.github.com>
2026-09-10 16:13:46 +09:00
Jeffrey (Dongkyu) Kim 9a1f7dd271 feat: lock eatpl relay bearer auth and result presentation
Require Authorization Bearer on the Lightsail relay and fail closed in
k-skill-proxy when the relay URL is set without BCCARD_EATPL_RELAY_TOKEN.
Skill output must show nationwide/local sales percentiles, expected hours,
and merUrl on every row.

Ultraworked with [omo](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: sisyphus-dev-ai <sisyphus-dev-ai@users.noreply.github.com>
2026-09-10 15:07:23 +09:00
Jeffrey (Dongkyu) Kim 359909a564 refactor(religious-facility-search): 공식 Kakao Local API(k-skill-proxy)로 transport 교체
m.map.kakao.com 모바일 웹 스크래핑(비공식, 구조 변경 시 파손 리스크)을
k-skill-proxy의 공식 Kakao Local keyword 검색으로 교체한다.

- anchor 해석과 시설 검색 모두 /v1/kakao-map/search/keyword 사용
- sort=distance + 공식 distance 필드 → haversine 직접 계산 제거
- category_name의 "종교" 노드 필터 유지 (써브웨이 명동성당점류 오탐 차단)
- --type 전체는 "종교시설" 단일 키워드가 교회·사찰을 놓쳐
  교회/성당/사찰 3쿼리 병합 + id dedupe, 토큰별 빈 결과는 격리
- --limit 상한 15 → 45 (15건/페이지 × 최대 3페이지)
- --radius 상한 20000 검증 추가 (Kakao Local API 상한)
- homepage는 Local API 미제공으로 null, place_url로 안내
- profiles에 proxy 추가, instruction/docs/sources 갱신
- 테스트를 mock 프록시 응답 기준 24개로 재작성

검증: unittest 24/24, npm run ci exit 0,
강남역/명동 성당/경주 절/온누리교회/성수동 전체 라이브 조회 확인
2026-09-08 19:24:13 +09:00
HJC96 2e07bf88cd feat(religious-facility-search): 종교시설 조회 스킬 추가 (#656)
동네·역명·랜드마크를 기준으로 주변 교회·성당·사찰을 거리순 조회하는
Python 스크립트 유형 스킬. 카카오 무인증 공개 표면 2단계를 사용하므로
사용자 API 키와 k-skill-proxy 경유가 모두 불필요하다.

- searchView HTML의 data-cid → place panel3 JSON으로 좌표·주소·연락처 확보
- category.name2 == "종교" 필터로 동명 카페·서점 오탐 제거
- 거리는 upstream 값 대신 기준점 좌표와 haversine으로 직접 계산
- 조회 결과는 필터 통과 수와 표시 수를 구분해 보고
- 예배·미사·법회 시간, 교단 소속, 좌표 입력은 미지원으로 명시
- --limit은 upstream 상한 15를 넘으면 명시적으로 거부
- 종교·교단의 우열 평가와 이단 판별을 하지 않음을 instruction에 고정

README에 종교 카테고리를 신설하고, 스킬 개수를 검증하는 카운터
4곳(README 총계, skill-docs.test.js, cli.test.js assetSkills,
runtime-action-audit 서두·lookup 집계)과 audit 카탈로그를 함께 갱신했다.

helper는 Python 표준 라이브러리만 사용하며 새 의존성이 없다.
2026-09-08 14:34:22 +09:00
Jeffrey (Dongkyu) Kim 73f7d2f32d Merge remote-tracking branch 'origin/dev' into work/pr-632
# Conflicts:
#	README.md
#	docs/runtime-action-audit.md
#	packages/k-skill-cli/test/cli.test.js
2026-09-05 15:47:52 +09:00
Jeffrey (Dongkyu) Kim 98b7ee80ba refactor(rail): consolidate timetable lookup on Korail (#653)
* refactor(rail): unify KTX and SRT timetable skills

Plan: 578 unified railway timetable integration

* docs(rail): update consolidated skill count

Ultraworked with [omo](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: sisyphus-dev-ai <sisyphus-dev-ai@users.noreply.github.com>

* fix(rail): use Korail integrated timetable only

Plan: 578 unified railway timetable integration

* docs(rail): remove retired SRT references

Ultraworked with [omo](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: sisyphus-dev-ai <sisyphus-dev-ai@users.noreply.github.com>

---------

Co-authored-by: sisyphus-dev-ai <sisyphus-dev-ai@users.noreply.github.com>
2026-09-05 15:37:16 +09:00
Jeffrey (Dongkyu) Kim 8be24f2e49 fix(komsa-ferry-info): align MTIS requests with official API
Ultraworked with [omo](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: sisyphus-dev-ai <sisyphus-dev-ai@users.noreply.github.com>
2026-09-05 12:22:19 +09:00
Jeffrey (Dongkyu) Kim 23153f05d1 chore(komsa-ferry-info): wire CLI metadata and docs 2026-08-29 03:46:50 +09:00
Jeffrey (Dongkyu) Kim de503db0d5 wip: scaffold consumer price safety skill 2026-08-29 03:35:15 +09:00
Jeffrey (Dongkyu) Kim 61ac244fca fix: CGV 브라우저 대체 조회 안내 추가 2026-08-29 03:33:57 +09:00
Jeffrey (Dongkyu) Kim 60f85abd2c fix: CGV 봇 차단 실패 모드 문서화 2026-08-29 03:33:57 +09:00
Jeffrey (Dongkyu) Kim c873fa8ce2 feat: add BCcard eatpl restaurant search 2026-08-27 01:19:26 +09:00
Jeffrey (Dongkyu) Kim 0878c74aa1 Merge origin/dev into government support survey 2026-08-25 15:26:49 +09:00
Jeffrey (Dongkyu) Kim 0d3e8573f2 docs: publish KAMIS and MOFA skill guides 2026-08-25 07:48:35 +09:00
Jeffrey (Dongkyu) Kim fda04c8e3d Merge remote-tracking branch 'origin/dev' into feat/government-support-survey-460
# Conflicts:
#	docs/runtime-action-audit.md
2026-08-25 04:52:37 +09:00
Jeffrey (Dongkyu) Kim a4c54b656a fix: register support survey across skill docs 2026-08-25 04:30:36 +09:00
Jeffrey (Dongkyu) Kim 7df0334865 Merge pull request #630 from NomaDamas/feat/animal-pharmacy-search-426
feat: 동물약국·동물용의약품 취급 약국 조회 스킬 추가
2026-08-25 03:29:58 +09:00
Jeffrey (Dongkyu) Kim 505cfd0118 feat: add animal pharmacy search skill 2026-08-25 02:54:32 +09:00
Jeffrey (Dongkyu) Kim 64e1b4b710 fix(seoul-weather-risk): clip query windows to ASK Seoul availability
Date-only --from/--to expands to a full KST day, which ASK Seoul rejects
when the serving window starts after midnight. Retry once with the
overlap, and surface available_from_at/available_to_at when there is none.
2026-08-24 17:33:40 +09:00
Jeffrey (Dongkyu) Kim 8453959bcf feat(proxy): host Coupang Partners product search 2026-08-22 00:34:38 +09:00
Jeffrey (Dongkyu) Kim 23641eadb5 chore: remove yebigun-training skill (#611) 2026-08-19 23:22:51 +09:00
Jeffrey (Dongkyu) Kim 1555b6c2ed docs(skills): clarify medical lookup scope (#610) 2026-08-19 15:46:45 +09:00
Jeffrey (Dongkyu) Kim a47b21bc1e feat(proxy): publish privacy policy 2026-08-19 12:42:38 +09:00
Jeffrey (Dongkyu) Kim ca4c7d8390 fix: restore naming-house Hanja stroke counts (#601) 2026-08-18 15:35:23 +09:00
Jeffrey (Dongkyu) Kim af6de30a33 chore(skills): remove local-election-candidate-search (#602)
The local election cycle is over. Delete the skill source, helper package,
bundled CLI copy, snapshots, docs, and registry entries, and close the
related legal-review issue.
2026-08-18 15:34:53 +09:00
Jeffrey (Dongkyu) Kim 6c0a33496a Merge remote-tracking branch 'origin/dev' into feature/568-proxy-reliability
# Conflicts:
#	package.json
#	packages/k-skill-proxy/scripts/check-js.js
#	scripts/prepare-python-test-env.js
2026-08-17 11:28:33 +09:00
Jeffrey (Dongkyu) Kim 4b82040608 chore: rename toss-securities skill to toss-investment (#595)
Keep the official Toss Open API read-only client; only the skill id, package name, and docs paths change.
2026-08-17 11:25:23 +09:00
Jeffrey (Dongkyu) Kim 9b0ebd4fcf Merge origin/dev into docs/missing-feature-pages 2026-08-16 22:48:33 +09:00
Jeffrey (Dongkyu) Kim 135e72e89d docs: correct lookup guide contracts 2026-08-16 22:42:59 +09:00
Jeffrey (Dongkyu) Kim 981593d6cf Merge pull request #582 from NomaDamas/feature/541-remove-lovebug-report
chore(skills): lovebug-report 스킬 제거
2026-08-16 22:37:22 +09:00
Jeffrey (Dongkyu) Kim 0155320c23 docs(seoul-weather-risk): keep diagnostics conditional 2026-08-16 19:02:03 +09:00
ericpapa80 709246ad93 docs: add missing feature guides for five proxy lookup skills
Cover assembly, KOPIS, holiday, WHOIS, and NHIS lookups so every CLI-managed skill has a README-linked guide, with k-skill-setup remaining on docs/setup.md.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-15 10:38:08 +09:00
ericpapa80 fc01be189b fix(proxy): split Cloudflare rate-limit buckets and retry idempotent GET failures
Use CF-Connecting-IP when trustProxy hops are set so Tunnel clients are not collapsed into one 429 bucket, retry MOLIT/KRX/building/AirKorea GET 5xx/429/network errors, and accept mcp SDK 2.x in myrealtrip-search.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-15 10:30:42 +09:00
Jeffrey (Dongkyu) Kim ebb4008b62 Merge pull request #577 from NomaDamas/feat/rail-readonly
refactor(rail): KTX·SRT 조회 전용 라이브 시간표 스킬
2026-08-14 17:53:10 +09:00
Jeffrey (Dongkyu) Kim c8db160b5f test(ktx): align official timetable docs 2026-08-14 17:51:30 +09:00
Jeffrey (Dongkyu) Kim fd6ca5cb10 fix(ktx): use official public timetables 2026-08-14 17:48:34 +09:00
Jeffrey (Dongkyu) Kim 1710b51206 chore(skills): remove lovebug report 2026-08-14 17:34:36 +09:00
Jeffrey (Dongkyu) Kim 43edf3c0f1 Merge pull request #560 from ASAC-DE-bigkk/feat/seoul-weather-risk-docs
perf(seoul-weather-risk): hosted 단일 경로와 일반 조회 1회 요청으로 정리
2026-08-14 00:08:04 +09:00
masondev1024 47e0922038 perf(seoul-weather-risk): add one-request fast query path 2026-08-12 22:02:51 +09:00
masondev1024 30d8ed41a5 fix(seoul-weather-risk): remove unregistered local-direct fallback 2026-08-12 21:29:07 +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 a46fa66a5e docs(rail): mark KTX and SRT as read-only 2026-08-12 17:39:44 +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 2847a72059 Merge remote-tracking branch 'origin/dev' into repair/pr-553 2026-08-12 15:10:30 +09:00
mason 3224b947bc docs(seoul-weather-risk): 한국 날씨 가이드 흐름에 맞춰 정리 2026-08-11 19:25:55 +09:00
mason 8a94557e6c docs(seoul-weather-risk): 사용자용 조회 가이드 보강 2026-08-11 19:24:06 +09:00