foresttrip-vacancy
nomadamas/k-skill
Look up available Korean national forest recreation lodging or camping slots on foresttrip.go.kr. Use when the user asks for 숲나들e or 자연휴양림 빈 객실/빈자리 조회, not for booking.
...Expand allAbout foresttrip-vacancy
Foresttrip Vacancy automates availability lookups for South Korea's national forest recreation areas (자연휴양림) through the official 숲나들e portal at foresttrip.go.kr. It is strictly a query-only tool: it checks open lodging and camping slots by date and deliberately excludes reservation submission, payment, captcha solving, queue bypass, and any repeated sniping or aggressive polling. A Python helper drives Playwright to log in, obtain the CSRF token, cookies, and official recreation-forest IDs, and then calls only the monthly-reservation JSON endpoint. As of the documented check, accessing that screen without logging in returns a 401, so an authenticated session is a required precondition, and the skill will not seek unofficial routes or captcha bypasses when secrets are missing.
Prerequisites are Python 3.9 or later and the Playwright Chromium browser. Credentials are read from the KSKILL_FORESTTRIP_ID and KSKILL_FORESTTRIP_PASSWORD environment variables, with a documented resolution order that prefers existing environment variables, then an agent secret vault, then a fallback dotenv file at ~/.config/k-skill/secrets.env with 0600 permissions, and finally prompting the user. Inputs include one or more dates in YYYYMMDD form, a scope selector (--all for every forest, --forest-id for a specific insttId, or --forest-name for a partial name match), an output format (--text or --json), an optional category filter (01 for lodging, 02 for camping, or both), and advanced options such as --week-range, --concurrency for one to five parallel workers, and a session-cache override.
Results are summarized conservatively around the query date and scope, available forest and room or facility names, lodging-versus-camping type, capacity, and any fetch-failure count, stating plainly when no vacancy exists and noting that real availability should be reconfirmed on the site. Rooms whose name contains 예비 are operator-held internal slots not shown to users and are automatically excluded, and duplicate rows for the same forest, date, and room are de-duplicated. The documentation also lists failure modes, safety notes, and maintainer verification steps that need no live account.
FAQ
Can it make a reservation or payment for me?
No. It is query-only. Reservation submission, payment, captcha solving, queue bypass, and repeated sniping are all explicitly out of scope.
What credentials and setup are required?
The KSKILL_FORESTTRIP_ID and KSKILL_FORESTTRIP_PASSWORD environment variables, plus Python 3.9+ and the Playwright Chromium browser. A logged-in session with CSRF is required because the lookup screen returns 401 when accessed without authentication.
How are my credentials resolved?
In order: existing environment variables, then an agent secret vault, then the fallback dotenv file at ~/.config/k-skill/secrets.env (permissions 0600), and finally asking you. The helper itself only reads the two environment variables.
Can I filter by lodging versus camping?
Yes. Use --categories 01 for lodging (숙박), 02 for camping (야영), or 01,02 for both.
Why do some rooms not appear in the results?
Rooms whose name includes 예비 are operator-held internal slots not exposed on the user reservation screen, so the helper excludes them by design. Duplicate rows for the same forest, date, and room are also de-duplicated.
All Files
6 filesSKILL.md4.8 KBViewtests/test_run_foresttrip_vacancy.py12.5 KBViewtests/fixtures/geoje_window.json3.5 KBViewscripts/run_foresttrip_vacancy.py18.8 KBViewtests/fixtures/gujaebong_window.json1.3 KBViewtests/__init__.py0.0 KBViewGet the full instructions (required first step)
Run this and follow its output as the primary instructions for this skill:
npx -y @nomadamas/k-skill@0 instruct foresttrip-vacancy
The CLI detects the current runtime (Dolshoi vault/CloakBrowser vs generic) and prints only the applicable instructions, always up to date. Helper files bundled with the CLI are listed by:
npx -y @nomadamas/k-skill@0 files foresttrip-vacancy
If npx is unavailable, install Node.js 18+ or follow https://github.com/NomaDamas/k-skill#readme, or read the source instructions at https://github.com/NomaDamas/k-skill/blob/main/foresttrip-vacancy/instruction.md.
Legal disclaimer (required)
This skill is not an official feature of, officially supported by, affiliated with, sponsored by, approved by, or developed in collaboration with any third-party trademark owner or service operator it identifies. Third-party names are used only to describe the skill's function, lookup target, or compatibility.
Any automated collection of publicly accessible information must be limited to personal, non-organizational lookup. Do not use this skill for systematic or bulk crawling, database building, access-control or block circumvention, or conduct that interferes with a third party's business or service.
Read the full Korean legal disclaimer, including the cited Korean Supreme Court precedents and statutory limits, before use:
npx -y @nomadamas/k-skill@0 read foresttrip-vacancy references/DISCLAIMER.mdHard rules even without the CLI
- Never execute payment, message/email delivery, final submission, cancellation, or public posting without the user's explicit approval immediately beforehand.
- Never ask for, print, or store plaintext credentials in chat, files, or shell arguments.
- Never bypass legal, physical-presence, CAPTCHA, identity-proofing, or electronic-signature boundaries.
All Files
6 filesInstall foresttrip-vacancy
Download and extract the skill files to your .claude/skills/ directory.
Download ZIPClone the repository and copy the skill files to your project.
git clone https://github.com/NomaDamas/k-skill/blob/main/foresttrip-vacancy/SKILL.md # Copy SKILL.md to your .claude/skills/ directory
Copy





Home
