* feat(daangn-realty-search): expose listing release_date from detail JSON-LD
Product.releaseDate is available on the article detail page but wasn't
extracted. Surface it as release_date on --titles-enriched search items
so agents can tell how recently a listing was posted/refreshed.
* docs: update CLAUDE.md proxy deploy section for gpu01 cron+Docker
Production deploy already moved from Cloud Run/GitHub Actions to gpu01
cron-triggered Docker deploys (docs/deploy-k-skill-proxy.md), but
CLAUDE.md still described the old Cloud Run flow.
* feat(iros-registry-automation): local registry PDF summary
발급받은 등기부등본 PDF에서 근저당·가압류·소유권 변동 등 핵심 항목을 사실만 뽑아
사람이 읽기 쉬운 요약을 만든다. 발급 후 단계 전용(로그인·결제 재실행 없음).
- scripts/iros_pdf_summary.py: 로컬 텍스트 추출(pdfplumber→pypdf) 기본, 원격 전송 없음.
스캔 PDF는 사용자가 로컬 self-host 변환기(marker 등)로 바꾼 결과를 --from-text로 요약.
주민등록번호 마스킹, 요약은 $workdir/output에만(판단·법률자문 없음).
- tests/test_iros_pdf_summary.py: 파서 순수함수 유닛테스트 12개(모의 텍스트, 실 PDF·PII 없음).
- SKILL.md: "7. 발급 후 PDF 요약(선택)" 워크플로 + Response policy(판단형 표현 금지) + marker 크레딧.
- docs/features 업데이트.
marker 참고: NomaDamas/marker-api-server (로컬 self-host, 이 스킬이 원격 전송하지 않음).
* feat(naver-ad-performance): add read-only Naver SearchAd performance skill
New Python-script skill wrapping the Naver SearchAd (검색광고) API:
campaign/adgroup/keyword listing, stats (impressions/clicks/spend/
CTR/CPC/avg rank/conversions), keyword tool (related keywords, monthly
search volume, competition), and a doctor command for credential/
reachability diagnostics.
Read-only by design — no bid, campaign, or keyword mutation endpoints
are implemented, matching the pattern used by other credentialed
k-skill skills (korean-patent-search, k-dart). Auth follows the
official HMAC-SHA256 request signing scheme (X-Timestamp/X-API-KEY/
X-Customer/X-Signature), stdlib-only (hmac/hashlib/base64/urllib), no
new dependencies.
Wired into README skill table, docs/features, docs/security-and-secrets.md
default env list, and docs/install.md's setup-required skill list.
Reference: https://github.com/NariP/naver-searchad (MIT) for the
signing scheme and command surface.
* Harden k-skill-proxy public docs (#394)
* Fix iros PDF summary Python compatibility
* Fix Naver ad signature coverage
* Sanitize proxy deploy guidance
* Fix daangn release date extraction
* Wire iros PDF summary tests into CI
* Wire Naver ad tests into CI
* Sanitize public proxy operation docs
* BrowserOS-first browser runtime (auto default) + migrate browser skills (#395)
* Fix S2B live list row parsing
* Fix D2B public page classification
* Fix yebigun BrowserOS session handling
* Fix D2B mixed bid category parsing
* Fix browser runtime disconnect cleanup
* Add changeset for live skill fixes
* Fix yebigun open menu cleanup tests
* Document browser runtime guidance
* Fix D2B public small bid field parsing
* Sanitize yebigun live verification docs
* Default browser runtime to BrowserOS-first auto and migrate court/hipass skills
- Migrate hipass-receipt, court-auction-notice-search, and court-payment-order-assistant
onto k-skill-browser-runtime (semver dependency, CDP-only, disconnect-not-close).
- Default the browser runtime provider to `auto`: prefer a user-launched BrowserOS
session (9100) and fall back to a Chrome/Chromium CDP session (9222);
KSKILL_BROWSER_PROVIDER can force browseros/chrome-cdp, --cdp-url targets a URL.
- court-auction keeps direct HTTP first with a runtime-CDP -> local-launch fallback;
court-payment stays BrowserOS CDP -> manual handoff only.
- Document that court-auction and court-payment produce their core output without a
real browser; keep login/CAPTCHA/payment/e-signature/irreversible boundaries manual.
- Update docs (setup, adding-a-skill, feature guides), READMEs, changeset, lockfile,
and the skill-docs regression test.
* Document browser runtime skill authoring
* Prefer Aside before Chrome CDP
* Add KR WHOIS lookup skill
* Add NHIS care search skill
* Add KOPIS performance search skill
* Add Assembly bill vote search skill
* Add Korean holiday calendar skill
* Add NHIS checkup proxy routes
* fix(browser-runtime): clean up failed sessions
* fix(proxy): avoid caching semantic errors
* fix(proxy): restore Cloud Run release path
* fix(proxy): make Cloud Run image reproducible
* fix(proxy): harden public deployment boundaries
* fix(proxy): redact passthrough credentials
* fix(proxy): sanitize AirKorea fetch failures
* fix(proxy): bind rollout to tested revision
* fix(proxy): close operator-only surfaces
* docs(proxy): fail closed during manual rollout
* fix(proxy): harden deployment identity and client limits
* docs(proxy): align security release notes
* fix(proxy): use direct workflow OIDC claim
* docs: justify cohesive oversized adapters
* feat: complete WHOIS lookups and prefer Aside on macOS
* fix(proxy): harden live release routes
* fix(proxy): contain WHOIS fetch failures
---------
Co-authored-by: bangju <redbear.photo@gmail.com>