k-skill/docs/features
Donghun Seol 00a6d9feae fix(foresttrip-vacancy): exclude 예비 rooms, gate useDt strictly, dedup duplicate rooms
월별예약조회 API가 srchDate 단일 일자 요청에도 5일 윈도우를 반환하고,
"예비"로 표기된 운영자 보유분이 raw 응답에 포함되며, 같은 객실이 다른
goodsId로 중복 표시되는 세 가지 문제를 한꺼번에 fix한다.

수정:
- collect_results 안에 strict useDt gate 추가 (today~last_day 범위 밖 행 차단)
- is_reserve_room() helper로 goodsNm에 "예비" 포함 객실 제외
- (forest_id, use_dt, name) 단위 dedup으로 중복 행 제거
- is_available()는 시그니처/로직 변경 없이 booking-state predicate 유지

추가:
- foresttrip-vacancy/tests/ 18개 단위 테스트 (mock + fixture 기반)
- IsReserveRoomTest, IsAvailableTest, CollectResultsFilterTest,
  StrictUseDtGateTest, GroundTruthTest 다섯 클래스
- 거제·구재봉 fixture로 사용자 라이브 검증 결과 회귀 보호
- package.json lint·test 스크립트에 등록

문서:
- SKILL.md: API 5일 윈도우/예비 객실/중복 dedup 자동 처리 명시 + 회복 시나리오 보강
- docs/features/foresttrip-vacancy.md: 기본 흐름 6단계와 주의할 점 보강

사용자 라이브 검증 ground truth (2026-05-12 기준):
- 거제자연휴양림 5/13 ~9개, 5/16 0개, 5/17 19개, 5/23 0개, 5/24 0개
- 구재봉자연휴양림 5/16 1개 (206호 쑥부쟁이방)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-29 20:57:25 +09:00
..
blue-ribbon-nearby.md Merge dev into main: new skills & proxy enhancements (#72) 2026-04-06 17:44:23 +09:00
bunjang-search.md Sync dev → main: 84 commits incl. korea-weather, korean-stock-search, korean-patent-search, bunjang-search (#80) 2026-04-08 21:13:55 +09:00
catchtable-sniper.md feat: add catchtable-sniper skill (#146) 2026-04-22 16:20:38 +09:00
cheap-gas-nearby.md Merge dev into main: new skills & proxy enhancements (#72) 2026-04-06 17:44:23 +09:00
corporate-registration-consulting.md Merge dev into main (#197) 2026-05-02 23:51:59 +09:00
coupang-product-search.md Sync dev → main: MFDS proxy fixes, cache hardening, HWP kordoc, KRX degraded handling + new skills (#152) 2026-04-21 09:53:03 +09:00
court-auction-notice-search.md Enable property search by free auction conditions (#213) 2026-05-08 10:14:33 +09:00
daangn-cars-search.md docs: document Daangn search skills 2026-05-13 16:01:42 +09:00
daangn-jobs-search.md Keep Daangn jobs detail resilient 2026-05-14 00:40:00 +09:00
daangn-realty-search.md docs: document Daangn search skills 2026-05-13 16:01:42 +09:00
daangn-used-goods-search.md docs: document Daangn search skills 2026-05-13 16:01:42 +09:00
daishin-report-search.md Constrain report fetch credentials 2026-05-14 09:57:45 +09:00
daiso-product-search.md Preserve Daiso caller headers through Bearer stock lookup 2026-05-15 16:35:16 +09:00
danawa-price-search.md Keep icon-only Danawa payment badges visible 2026-05-15 17:50:58 +09:00
delivery-tracking.md Document the verified public tracking outputs explicitly 2026-03-27 02:44:48 +09:00
donation-place-search.md Feature/#212 (#214) 2026-05-08 15:41:21 +09:00
emergency-room-beds.md Support nearby ER status checks 2026-05-17 18:37:07 +09:00
express-bus-booking.md Add Korean bus booking skills 2026-05-10 02:36:57 +09:00
fine-dust-location.md Replace sops+age encryption with plain dotenv and agent-native credential resolution 2026-03-30 22:12:04 +09:00
flight-ticket-search.md docs(flight-ticket-search): register skill in README table and add feature guide 2026-05-15 01:35:43 +09:00
foresttrip-vacancy.md fix(foresttrip-vacancy): exclude 예비 rooms, gate useDt strictly, dedup duplicate rooms 2026-05-29 20:57:25 +09:00
gangnamunni-clinic-search.md Enable public Gangnam Unni clinic lookup 2026-05-13 01:49:16 +09:00
geeknews-search.md Add a repeatable GeekNews lookup path without unofficial APIs 2026-04-13 00:16:35 +09:00
gongsijiga-search.md feat: 개별공시지가(gongsijiga-search) 스킬 추가 (#200) 2026-05-05 00:27:31 +09:00
han-river-water-level.md Merge dev into main: new skills & proxy enhancements (#72) 2026-04-06 17:44:23 +09:00
hipass-receipt.md Sync dev → main: 84 commits incl. korea-weather, korean-stock-search, korean-patent-search, bunjang-search (#80) 2026-04-08 21:13:55 +09:00
hola-poke-yeoksam.md Sync dev → main: scholarship, public restroom, KBL, Hola Poke + HWP/stock proxy upgrades (#136) 2026-04-18 11:50:47 +09:00
household-waste-info.md feat(k-skill-proxy): 생활쓰레기 페이지네이션 검증 및 문서 보강 2026-04-11 03:02:09 +09:00
hwp.md Sync dev → main: scholarship, public restroom, KBL, Hola Poke + HWP/stock proxy upgrades (#136) 2026-04-18 11:50:47 +09:00
intercity-bus-booking.md Let intercity booking helper create temporary seat holds 2026-05-13 15:43:26 +09:00
iros-registry-automation.md Prevent IROS download path failures after payment 2026-04-28 14:47:30 +09:00
joseon-sillok-search.md Merge dev into main: new skills & proxy enhancements (#72) 2026-04-06 17:44:23 +09:00
k-dart.md feat: add k-dart skill for DART OpenAPI financial disclosures (#147) 2026-04-22 12:46:42 +09:00
k-schoollunch-menu.md NEIS 급식·학교검색 프록시, k-schoollunch-menu 스킬 및 문서 2026-04-10 13:14:15 +09:00
k-skill-cleaner.md Clarify cleaner usage evidence boundaries 2026-04-28 18:08:17 +09:00
k-skill-proxy.md Feature/#274 (#277) 2026-05-22 13:54:36 +09:00
kakao-bar-nearby.md Keep Kakao smoke docs aligned with verified live output 2026-03-29 17:05:17 +09:00
kakao-map.md Keep Kakao route contracts local and explicit 2026-05-23 19:25:10 +09:00
kakaotalk-mac.md Merge pull request #249 from NomaDamas/feature/#248 2026-05-15 18:02:04 +09:00
kbl-results.md Sync dev → main: scholarship, public restroom, KBL, Hola Poke + HWP/stock proxy upgrades (#136) 2026-04-18 11:50:47 +09:00
kbo-results.md Prepare k-skill for packaged releases and broader skill discovery 2026-03-25 23:57:53 +09:00
kleague-results.md Add an official K League results client and skill 2026-03-29 15:57:15 +09:00
korea-weather.md Feature/#205 (#210) 2026-05-06 16:56:40 +09:00
korean-character-count.md Keep published Korean count examples aligned with the shipped helper 2026-04-08 23:57:31 +09:00
korean-cinema-search.md 영화관 검색 스킬 추가 (#260) 2026-05-18 11:42:40 +09:00
korean-jangbu-for.md Protect jangbu wrapper installs from incomplete payloads 2026-04-29 00:50:37 +09:00
korean-law-search.md Release: coupang, korean-law, subway proxy improvements (#43) 2026-04-02 23:59:38 +09:00
korean-marathon-schedule.md Feature/#211 (#222) 2026-05-12 18:49:06 +09:00
korean-middle-korean.md Feature/#270 (#281) 2026-05-23 17:54:56 +09:00
korean-patent-search.md Sync dev → main: 84 commits incl. korea-weather, korean-stock-search, korean-patent-search, bunjang-search (#80) 2026-04-08 21:13:55 +09:00
korean-privacy-terms.md Sync dev → main: MFDS proxy fixes, cache hardening, HWP kordoc, KRX degraded handling + new skills (#152) 2026-04-21 09:53:03 +09:00
korean-scholarship-search.md Sync dev → main: scholarship, public restroom, KBL, Hola Poke + HWP/stock proxy upgrades (#136) 2026-04-18 11:50:47 +09:00
korean-slang-writing.md korean-slang-writing (#133): add feature doc 2026-04-22 12:48:21 +09:00
korean-spell-check.md Merge dev into main: new skills & proxy enhancements (#72) 2026-04-06 17:44:23 +09:00
korean-stock-search.md Sync dev → main: scholarship, public restroom, KBL, Hola Poke + HWP/stock proxy upgrades (#136) 2026-04-18 11:50:47 +09:00
korean-transit-route.md Route shared key APIs through the proxy 2026-05-13 16:31:29 +09:00
kosis-stats.md Route shared key APIs through the proxy 2026-05-13 16:31:29 +09:00
kstartup-search.md feat(kstartup-search): 창업진흥원 K-Startup 조회 스킬 + 프록시 라우트 4종 (#259) 2026-05-18 11:43:33 +09:00
ktx-booking.md Replace sops+age encryption with plain dotenv and agent-native credential resolution 2026-03-30 22:12:04 +09:00
lck-analytics.md Merge dev into main: new skills & proxy enhancements (#72) 2026-04-06 17:44:23 +09:00
lh-notice-search.md Add lh-notice-search skill and /v1/lh-notice/{search,detail} proxy routes 2026-04-22 10:58:03 +09:00
library-book-search.md Sync dev → main: MFDS proxy fixes, cache hardening, HWP kordoc, KRX degraded handling + new skills (#152) 2026-04-21 09:53:03 +09:00
local-election-candidate-search.md Feature/#256 (#266) 2026-05-18 23:11:23 +09:00
lotto-results.md Prepare k-skill for packaged releases and broader skill discovery 2026-03-25 23:57:53 +09:00
market-kurly-search.md Add a supported Market Kurly price-lookup skill 2026-04-09 14:51:30 +09:00
mfds-drug-safety.md Route MFDS drug-safety and food-safety lookups through k-skill-proxy 2026-04-14 00:07:18 +09:00
mfds-food-safety.md Route MFDS drug-safety and food-safety lookups through k-skill-proxy 2026-04-14 00:07:18 +09:00
myrealtrip-search.md Add MyRealTrip MCP search skill 2026-05-11 14:43:55 +09:00
naver-blog-research.md feat: 네이버 블로그 리서치 스킬 추가 (#107) 2026-04-13 00:06:18 +09:00
naver-map-route.md docs: 네이버맵 스킬 미작동 안내 추가 (NCP 키 미설정) 2026-05-25 18:31:03 +09:00
naver-news-search.md Document preflight 400 and full canonical dedup contract in naver-news feature doc 2026-04-22 16:03:18 +09:00
naver-shopping-search.md Sync dev → main: MFDS proxy fixes, cache hardening, HWP kordoc, KRX degraded handling + new skills (#152) 2026-04-21 09:53:03 +09:00
nts-business-registration.md Harden NTS validate privacy boundary 2026-05-14 22:20:33 +09:00
ohou-today-deal.md fix(ohou-today-deal): address PR #264 review (live UA, explicit feed selection, argv validators) 2026-05-18 16:36:56 +09:00
olive-young-search.md Merge dev into main: new skills & proxy enhancements (#72) 2026-04-06 17:44:23 +09:00
parking-lot-search.md Fix parking lot lookups: force HTTPS, cache full dataset, normalize provider fields (#156) 2026-04-22 10:52:57 +09:00
public-restroom-nearby.md Improve restroom coverage with Kakao source merging 2026-04-28 23:28:12 +09:00
real-estate-search.md Merge dev into main: new skills & proxy enhancements (#72) 2026-04-06 17:44:23 +09:00
rhwp-advanced.md Add rhwp-edit and rhwp-advanced skills with k-skill-rhwp CLI 2026-04-22 12:45:13 +09:00
rhwp-edit.md rhwp-edit (#155): guard replace-all case-insensitive path against UTF-16 length-drift 2026-04-22 15:23:23 +09:00
seoul-bike.md Feature/#274 (#277) 2026-05-22 13:54:36 +09:00
seoul-density.md Add seoul-density skill and proxy route for Seoul realtime hotspot crowd levels 2026-05-14 15:37:54 +09:00
seoul-subway-arrival.md Feature/#205 (#210) 2026-05-06 16:56:40 +09:00
sh-notice-search.md Restore SH notice lookup without proxy policy drift 2026-05-15 19:22:55 +09:00
srt-booking.md Replace sops+age encryption with plain dotenv and agent-native credential resolution 2026-03-30 22:12:04 +09:00
subway-lost-property.md Keep LOST112 curl guidance usable under live latency 2026-04-10 13:01:01 +09:00
ticket-availability.md feat(ticket-availability): YES24·인터파크 공연 일정·잔여석 조회 (조회 전용) 2026-05-13 02:50:26 +09:00
toss-securities.md Add a safe Toss Securities lookup surface without trading mutations 2026-03-30 11:25:43 +09:00
used-car-price-search.md Release: coupang, korean-law, subway proxy improvements (#43) 2026-04-02 23:59:38 +09:00
zipcode-search.md Document direct zipcode helper execution so the executable follow-up stays discoverable 2026-04-10 10:59:22 +09:00