369 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 f3fc31fbab Merge pull request #657 from HJC96/feature/656
feat(religious-facility-search): 교회·성당·사찰 거리순 조회 스킬 추가
2026-09-10 14:57:33 +09:00
Jeffrey (Dongkyu) Kim 968a3bf854 fix(proxy-ops): run gpu01 watchdog on the real hostname
hostname -s on the production box is marker-multi-gpu-server-01, and
cron does not set KSKILL_PROXY_DEPLOY_HOST, so the watchdog and
trust-proxy default were no-ops. Accept that hostname, keep the cron
env contract, export the user-bus vars cron needs for systemctl, and
persist the proxy unit as Restart=always.

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-08 16:48:19 +09:00
jeffrey e01b94fd2e fix(proxy-ops): auto-recover gpu01 services after reboot (#658)
The 2026-08-29 gpu01 reboot left the public proxy (530) and dashboard
(502) dead for ~10 days. Only the Fastify proxy recovered, because the
deploy cron `restart`s it every run; the tunnel and Loki/Grafana/
Promtail stack used Restart=on-failure, which does not revive a clean
SIGTERM, and nothing else ever started them.

- dashboard systemd units: Restart=on-failure -> always,
  StartLimitIntervalSec=0
- commit the previously host-only cloudflared tunnel unit, hardened
  with Restart=always, StartLimitIntervalSec=0, and RequiresMountsFor=
  on the gpu02:/data NFS paths
- deploy cron: ensure_production_services() starts any watched service
  that is installed but inactive, on every run including SHA-noop runs
- document the watchdog and canonical unit locations

Closes #658
2026-09-08 16:15:33 +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 e65fe6e466 docs: README 스킬 카탈로그를 한국 실생활 도메인별 표로 재구성 (#648)
* docs: categorize README skill catalog by Korean life domains

- Split the single 123-row skill table into 20 domain tables
  (transit/travel, real estate, legal, business, government support,
  finance, health, shopping, food, sports, culture, education, news,
  Korean writing, weather, daily-life, dev/docs, fortune, meta)
- Drop the duplicated '포함된 기능' link list; the tables are the catalog
- Keep every row text and doc link verbatim; adjust the rhwp-edit
  README assertions to the guide-link form that remains in the tables

* docs: merge doc links into the first catalog column and drop the category listing

- Remove the one-line category summary at the top of the catalog
- Promote category headings from h4 to h3 for prominence
- Drop the separate '문서' column in every table; each '할 수 있는 일'
  cell now links directly to its feature guide
- Update README pins in scripts/skill-docs.test.js to the merged
  link-first row shape (row text and doc targets unchanged)

* docs: drop the 사용자 로그인 column from the skill catalog

- Tables shrink to 3 columns (할 수 있는 일 | 스킬 이름 | 설명);
  login requirements stay in each feature guide
- Remove the obsolete login-column explanation paragraph
- Update README pins that asserted 불필요 values and the table
  header shape
2026-09-01 16:39:20 +09:00
Jeffrey (Dongkyu) Kim f338ce8e45 fix: harden PR 645 upstream and credential handling 2026-08-29 04:51:33 +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 1f37fe031f feat(komsa-ferry-info): add MTIS ferry lookup 2026-08-29 03:46:50 +09:00
Jeffrey (Dongkyu) Kim 3fecd3acf6 fix: 소비자 안전 스킬 catalog 산출물 보완 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 8d0fac4466 fix: refresh generated skill audit counts 2026-08-25 15:29:27 +09:00
Jeffrey (Dongkyu) Kim 0d3e8573f2 docs: publish KAMIS and MOFA skill guides 2026-08-25 07:48:35 +09:00
Jeffrey (Dongkyu) Kim 505cfd0118 feat: add animal pharmacy search skill 2026-08-25 02:54:32 +09:00
Jeffrey (Dongkyu) Kim 8453959bcf feat(proxy): host Coupang Partners product search 2026-08-22 00:34:38 +09:00
Jeffrey (Dongkyu) Kim 47667860a2 fix(proxy): scope trust proxy default to gpu01 production 2026-08-20 22:19:50 +09:00
Jeffrey (Dongkyu) Kim 6e8702307a Merge remote-tracking branch 'origin/dev' into feature/568
# Conflicts:
#	packages/k-skill-proxy/README.md
#	packages/k-skill-proxy/test/server.test.js
#	scripts/deploy-k-skill-proxy-gpu01.sh
#	scripts/skill-docs.test.js
2026-08-20 17:26:44 +09:00
Jeffrey (Dongkyu) Kim 23641eadb5 chore: remove yebigun-training skill (#611) 2026-08-19 23:22:51 +09:00
Jeffrey (Dongkyu) Kim 70b384a4c2 fix(proxy): preserve deploy script executable mode 2026-08-19 12:42:59 +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 f5e62818be docs(legal): add branded lookup disclaimers (#592) 2026-08-17 11:17:11 +09:00
Jeffrey (Dongkyu) Kim 0cd9654e71 Merge pull request #587 from ericpapa80/chore/glob-ci-scripts
chore: glob root lint/test/pack file lists
2026-08-16 23:32:29 +09:00
Jeffrey (Dongkyu) Kim 252d899baf Merge remote-tracking branch 'origin/dev' into review/pr-586
# Conflicts:
#	scripts/skill-docs.test.js
2026-08-16 23:31:31 +09:00
Jeffrey (Dongkyu) Kim ea9ec9dc9e test(runtime): keep action audit aligned 2026-08-16 23:06:14 +09:00
Jeffrey (Dongkyu) Kim a7dc4ebe14 Merge origin/dev into chore/glob-ci-scripts 2026-08-16 22:53:23 +09:00
Jeffrey (Dongkyu) Kim 906a1456ee fix(ci): run every discovered check and test 2026-08-16 22:51:30 +09:00
Jeffrey (Dongkyu) Kim 2c7a1f2478 Merge origin/dev into refactor/skill-local-helpers 2026-08-16 22:49:14 +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 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 79325b27f0 fix(rail): address release review blockers 2026-08-16 19:01:53 +09:00
kingsj0405 b905284ba0 fix(proxy): trust the cloudflared hop on gpu01 2026-08-16 16:21:12 +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
ericpapa80 6f98f9f8fb refactor(skills): colocate remaining bundled helpers in skill directories
Move KTX, SRT, fine-dust, and setup helpers out of root bundle[] so CLI sync reads skill-local scripts/. Keep thin repo shims for PYTHONPATH=scripts tests.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-15 10:45:15 +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