1119 Commits

Author SHA1 Message Date
Jeffrey (Dongkyu) Kim 2a1aa65965 fix(sharenuri-facility-search): 예제에서 --json 을 subcommand 앞으로 이동 (argparse) 2026-09-12 17:11:42 +09:00
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 232a09de3e Merge pull request #665 from NomaDamas/feat/cli-version
feat(k-skill-cli): version 조회 커맨드 추가
2026-09-12 04:18:30 +09:00
Jeffrey (Dongkyu) Kim 9798c2fa37 feat(k-skill-cli): add version command
Print the installed package version via `version`, `--version`, `-V`, and `-v`.

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-12 04:07:22 +09:00
Jeffrey (Dongkyu) Kim b12a605799 Merge pull request #664 from NomaDamas/changeset-release/main
chore: version packages
2026-09-11 21:50:34 +09:00
github-actions[bot] 4feadfa22b chore: version packages 2026-09-11 12:48:06 +00:00
Jeffrey (Dongkyu) Kim 64f8b0ae96 Merge pull request #663 from NomaDamas/dev
release: dev → main (bccard-eatpl-search, religious-facility-search, gpu01 자동복구, privacy-terms 수정)
2026-09-11 21:46:40 +09:00
Jeffrey (Dongkyu) Kim 025a196ef4 fix(bccard-eatpl): remove dev-api fallback default, drop upstream URL from responses, relay 413 for oversized bodies
- BCCARD_EATPL_API_BASE_URL is now required on both the proxy and the Lightsail relay; missing config fails closed with 503 upstream_not_configured / relay_not_configured instead of hitting the unreachable dev endpoint
- proxy responses no longer embed the relay/upstream URL in upstream.url; provider and status_code remain
- relay answers 413 payload_too_large for bodies over 16KB instead of silently destroying the request
2026-09-11 18:13:03 +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
Jeffrey (Dongkyu) Kim 27976f9a5d Merge pull request #661 from NomaDamas/feat/bccard-eatpl-search
feat(bccard-eatpl-search): BC카드 eat.pl 매출 상위 맛집 검색
2026-09-11 17:17:31 +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 9a340a05ad docs(bccard-eatpl-search): broaden restaurant triggers and hide internals
Widen the skill description so Korean restaurant and cafe lookups match it.
Instruct agents not to mention endpoints, proxy details, or field names in user-facing answers.

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:18:42 +09:00
Jeffrey (Dongkyu) Kim 0258543574 Merge origin/main into feat/bccard-eatpl-search
Bring in the changeset-release version bumps that were on main but not yet on dev.

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:14:21 +09: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 f3fc31fbab Merge pull request #657 from HJC96/feature/656
feat(religious-facility-search): 교회·성당·사찰 거리순 조회 스킬 추가
2026-09-10 14:57:33 +09:00
Jeffrey (Dongkyu) Kim 31ed00cd71 fix(religious-facility-search): 선교회를 교회 결과에서 제외
--type 교회가 카테고리 부분문자열 비교라 "선교회"를 교회로 넣었다.
카테고리·종파를 쉼표/공백 토큰으로 나눠 일치시키고, KAM선교회 회귀
테스트를 추가한다.

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 14:50:19 +09:00
Jeffrey (Dongkyu) Kim c87b665263 fix(religious-facility-search): CLI 번들 동기화와 changeset 추가
소스 helper의 --type 전체 빈 토큰 격리가 CLI 번들에 반영되지 않아
sync-cli-skills --check와 성수동 --type 전체 조회가 실패했다. 번들을
재동기화하고 @nomadamas/k-skill minor changeset을 추가한다.

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 14:42:51 +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
Jeffrey (Dongkyu) Kim fd08a3fa5c Merge pull request #659 from NomaDamas/fix/gpu01-service-autorecover
fix(proxy-ops): auto-recover gpu01 services after reboot (#658)
2026-09-08 18:51:38 +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 944714350a Merge pull request #655 from NomaDamas/changeset-release/main
chore: version packages
2026-09-05 17:59:16 +09:00
github-actions[bot] fa7712874c chore: version packages 2026-09-05 08:55:34 +00:00
Jeffrey (Dongkyu) Kim ebf89c38c1 Merge pull request #654 from NomaDamas/dev
chore: dev 변경사항을 main에 반영 (KOMSA 연안여객선 + 철도 시간표 통합)
2026-09-05 17:54:16 +09:00
Jeffrey (Dongkyu) Kim 5e59fc3e50 fix(komsa-ferry-info): reject unmapped filters and restore skill count
Drop dead --vessel-code/--route-code/--port-code flags that the official
MTIS allowlist does not accept, return 400 instead of silently caching
distinct queries together, expose komsaConfigured on /health, pin the
health rate limit, and correct the README skill count to 123.

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 17:51:15 +09:00
Jeffrey (Dongkyu) Kim 28bac25fda fix(k-skill-proxy): restore KAMIS config and MOFA export after KOMSA add
The KOMSA route accidentally replaced kamisApiKey in buildConfig and
dropped normalizeMofaTravelAlarmQuery from module.exports. Keep both
alongside the new KOMSA symbols, and add the missing komsa changeset.

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 17:41:38 +09:00
Jeffrey (Dongkyu) Kim a15c43f044 Merge origin/main into dev to resolve PR #654 conflicts
Keep railway-timetable from dev and include main's real-estate nationwide
report assets. The bundled asset-skill count is 88.

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 17:33:44 +09:00
Jeffrey (Dongkyu) Kim bfdb0060df Merge pull request #632 from NomaDamas/feat/komsa-ferry-info-387
feat(komsa-ferry-info): add MTIS ferry lookup
2026-09-05 15:51:37 +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 bbca6a35e7 Merge pull request #647 from anupamme/fix-repo-k-skill-v-003-health-endpoint-rate-limit
fix: the k-skill-proxy server defines multiple publi... in server.js
2026-09-04 02:20:08 +09:00
Jeffrey (Dongkyu) Kim 1fdad8a764 Merge pull request #652 from NomaDamas/changeset-release/main
chore: version packages
2026-09-04 01:33:56 +09:00
github-actions[bot] c7abaefc54 chore: version packages 2026-09-03 16:15:35 +00:00
Jeffrey (Dongkyu) Kim eaec91ec53 Merge pull request #651 from NomaDamas/changeset/real-estate-nationwide-report
chore: add missing changeset for real-estate nationwide report
2026-09-04 01:14:11 +09:00
Jeffrey (Dongkyu) Kim 986e795680 chore: add missing changeset for real-estate nationwide report
PR #649 shipped the RTMS nationwide daily report in the published
@nomadamas/k-skill CLI bundle without a changeset, so Changesets never
opened a Version Packages PR.

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-04 01:04:53 +09:00
Jeffrey (Dongkyu) Kim d2399dd69e Merge pull request #650 from NomaDamas/dev
chore: dev 변경사항을 main에 반영
2026-09-03 18:34:46 +09:00
Jeffrey (Dongkyu) Kim 85a167faf5 Merge pull request #649 from dunk62/fix/realestate-nationwide-cron-report-t945f3757
feat: add official RTMS nationwide report
2026-09-01 23:46:24 +09:00
Jeffrey (Dongkyu) Kim 3bc839940a test: refresh real-estate-search CLI snapshots and asset count
The nationwide helper is the skill's first bundled script, so assembled
instructions and the hardcoded assetSkills count need to follow.

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-01 23:39:56 +09:00
Jeffrey (Dongkyu) Kim dc4091316d fix(k-skill-proxy): rate limit health endpoint
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-01 17:01:57 +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
dunk62 c5900f0e59 feat: add official RTMS nationwide report 2026-08-31 23:13:53 +09:00
Jeffrey (Dongkyu) Kim 6f20064604 Merge pull request #646 from NomaDamas/changeset-release/main
chore: version packages
2026-08-29 09:01:32 +09:00
github-actions[bot] 5b8839f7ba chore: version packages 2026-08-28 23:51:48 +00:00
Jeffrey (Dongkyu) Kim 6472fb66c1 Merge pull request #645 from NomaDamas/dev
chore: dev 변경사항을 main에 반영
2026-08-29 04:56:38 +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 cf4ad2eae8 Merge pull request #643 from NomaDamas/fix/642-cgv-upstream-block
fix: CGV 봇 차단 실패 모드 문서화
2026-08-29 03:54:04 +09:00
Jeffrey (Dongkyu) Kim a48d9d3674 Merge pull request #644 from NomaDamas/fix/macos-aside-priority
fix: macOS 브라우저 Aside 우선순위 안내
2026-08-29 03:53:48 +09:00