Imported from mvanhorn/printing-press-library (
cli-skills/pp-kurumatabi/SKILL.md). Install upstream withnpx skills add mvanhorn/printing-press-library --skill pp-kurumatabi. Copyright stays with the author (Apache-2.0).
Kurumatabi / くるま旅
Installation and amendment source
The CLI is published in the travel catalog. This amendment awaits maintainer review; to try the proposed fixes before merge, build from its source checkout with go build -o kurumatabi-pp-cli ./cmd/kurumatabi-pp-cli and place the binary on the runtime PATH. The installer instructions below apply to the currently published CLI. Verify with command -v kurumatabi-pp-cli and plain kurumatabi-pp-cli version.
Prerequisites: Install the CLI
This skill drives the kurumatabi-pp-cli binary. You must verify the CLI is installed before invoking any command from this skill. If it is missing, install it first:
- Install via the Printing Press installer. It defaults binaries to
$HOME/.local/binon macOS/Linux and%LOCALAPPDATA%\Programs\PrintingPress\binon Windows:npx -y @mvanhorn/printing-press-library install kurumatabi --cli-only - Verify:
kurumatabi-pp-cli --version - Ensure the reported install directory is on
$PATHfor the agent/runtime that will invoke this skill.
If the npx install fails (no Node, offline, etc.), fall back to a direct Go install (requires Go 1.26.6 or newer). This installs into $GOPATH/bin (default $HOME/go/bin), so add that directory to $PATH instead:
go install github.com/mvanhorn/printing-press-library/library/travel/kurumatabi/cmd/kurumatabi-pp-cli@latest
If --version reports "command not found" after install, the runtime cannot see the binary directory on $PATH. Do not proceed with skill commands until verification succeeds.
Search the official RV Park and Kurumatabi ecosystem, inspect vehicle limits and facility fees, then compare evidence and prepare a host handoff. Cached observations support proximity and required-service screening without claiming live vacancies or dated stay totals.
When to Use This CLI
Use for official RV Park / Kurumatabi search, vehicle compatibility evidence, facility and membership comparison, cached waypoint proximity and booking preparation. Read public Japanese records and preserve their evidence.
Anti-triggers
Choose another tool or a human workflow for reservations/payments, account operations, dated live vacancy, inclusive stay quotes, road routing/clearance, or general outdoor-camping permission. The CLI returns contact links without sending messages or booking.
Unique Capabilities
These commands derive decisions across published evidence and cached observations.
Vehicle and service decisions
-
parks fit— Compare your vehicle with one park’s published dimensions and membership rules.Large-motorhome service-stop planner can act on explicit evidence and unresolved checks.
kurumatabi-pp-cli parks fit rvpark/1086 --length-m 6 --width-m 2.2 --height-m 3 --vehicle van --membership nonmember --agent -
parks match— Screen cached parks into proven, uncertain and ruled-out service matches.Pet-owning van planner; Large-motorhome service-stop planner can act on explicit evidence and unresolved checks.
kurumatabi-pp-cli parks match --require electricity,water,pets --membership nonmember --agent
Observed park shortlists
-
parks compare— Compare park evidence without inventing total prices or unknown facilities.Pet-owning van planner; Club and nonmember tariff comparer can act on explicit evidence and unresolved checks.
kurumatabi-pp-cli parks compare rvpark/1086 yypark/213 --agent -
parks near— Rank cached parks by straight-line distance from an explicit waypoint.Pet-owning van planner can act on explicit evidence and unresolved checks.
kurumatabi-pp-cli parks near --latitude 36.7 --longitude 138.2 --limit 5 --agent -
parks audit— Surface disabled-icon conflicts, stale observations and qualified opening notes.Club and nonmember tariff comparer; Large-motorhome service-stop planner can act on explicit evidence and unresolved checks.
kurumatabi-pp-cli parks audit rvpark/712 --agent
Command Reference
Start with kurumatabi-pp-cli parks --help; use each leaf's help for flags. parks filters returns exact prefecture, type, vehicle, facility and opening-period vocabularies. Source campground slugs are camp3000 and campjrva; RV parks use rvpark, 湯YOU parks yypark.
A park identity is kind/numeric-id or its canonical https://www.kurumatabi.com/park/kind/id.html URL. Keep Japanese names and source URLs in the answer.
Recipes
Bounded park shortlist
kurumatabi-pp-cli parks search --prefecture nagano --type rvpark --agent --select results.id,results.name,meta
Keep identifiers, Japanese names and source coverage.
Vehicle evidence
kurumatabi-pp-cli parks fit rvpark/1086 --length-m 6 --width-m 2.2 --height-m 3 --vehicle van --membership nonmember --agent
Unknown constraints require host confirmation.
Park comparison
kurumatabi-pp-cli parks compare rvpark/1086 yypark/213 --agent
Tariff audiences and fees remain separate.
Offline proximity
kurumatabi-pp-cli parks near --latitude 36.7 --longitude 138.2 --limit 5 --agent
Ranks only cached observed parks; distance is straight line.
Required services
kurumatabi-pp-cli parks match --require electricity,water,pets --membership nonmember --agent
Unknown evidence never becomes a proven match.
Evidence interpretation
- Availability is yes/no/unknown; fee kind is free/paid/included/unknown. Conditional or contradictory fee text stays unknown.
_offlegacy icons override positive alt labels. Generic dump-station presence leaves black/grey permission unknown until explicit evidence exists. - Preserve metre units, missing dimension bounds and explicit unrestricted height. Category plus dimensions are separate checks. Extra-pitch or overhang permission requires confirmation. A compatible published fit is conditional evidence, not a host acceptance or road-clearance guarantee.
- Per-record membership conditions override general type policy. Discount badges are benefits, not proof that membership is required. Separate audience tariff cases; do not sum an unverified dated total.
- Same-day reservation acceptance is not vacancy. Broad opening labels do not override seasonal closure notes. Vehicle overnight permission does not establish outdoor-camping permission; cite the requested activity's actual rule.
observed_atis JST retrieval time;source_updated_date_jstis the provider publication date. Confirm current operation and material conditions directly with the host.
Auth Setup
Public search and detail require no account. The native search session is memory-only and is used only to preserve filter pagination.
Run kurumatabi-pp-cli doctor to verify setup.
Agent Mode
Use --agent for compact JSON and --select to preserve just the fields needed. --json preserves full structured detail. Arrays stay [] when empty. Missing dimension/coordinate values use null; facilities, fee kinds and live vacancy have explicit unknown states. Machine stdout contains only the selected output, while hints/errors go to stderr.
Search has separate output/scan caps: --limit (1..100) and --max-scan-pages (1..5). Read the provider total, scanned denominator, completion/truncation and note from metadata. Cached search/near/match are observed-pool results, not nationwide discovery. Near distances are straight line; match partitions contain only displayed candidate IDs. Compare records exclude failed fetches and include meta.fetch_failures.
Paths and state
Use kurumatabi-pp-cli agent-context --json for actual runtime paths. Domain cache defaults follow the runtime data path; --db chooses an explicit SQLite observation store. --no-cache skips live cache writes and auto fallback. Search does not overwrite richer cached detail. --max-age controls stale-read hints; audit also flags old publication/observation evidence.
Automatic learning
The generated recall, teach, learnings and playbook commands operate on local state. Use recall before repeated discovery when that state is populated; always verify recalled IDs against fresh source data for travel decisions. Teach structural questions after a useful workflow; strip personal identifiers and sensitive data. Pass arbitrary user text as argv/tool input or read it from a file rather than interpolating it into shell source. --no-learn or KURUMATABI_NO_LEARN=true disables the loop for deterministic verification.
Agent Feedback
Use kurumatabi-pp-cli feedback --help to inspect the local feedback command. Report provider drift with the actual canonical URL and bounded evidence; keep credential/session values out of reports.
Output Delivery
Ordinary output goes to stdout. Inspect kurumatabi-pp-cli --help for shared output/delivery options before selecting an external destination; this skill authorizes read-only planning only.
Named Profiles
Inspect kurumatabi-pp-cli profile --help for the generated local profile commands. Preserve existing profiles and prefer explicit --db or runtime home settings for isolated checks.
Exit Codes
Domain commands use 0 success, 2 usage/input error, 3 uncached ID, 5 source failure, including a partial comparison, and 7 throttling. Unknown source evidence can be a successful JSON result; inspect its decision and predicates instead of treating exit 0 as permission.
Argument Parsing
Validate positive finite vehicle measurements in metres, finite coordinate ranges and supported filter labels before network work. Negative numeric flags should use --longitude=-120 form. --dry-run short-circuits before source/cache I/O.
MCP Server Installation
The source tree includes an MCP build target mirroring the nine park planning commands with source-aware local-state hints. Build it with go build -o kurumatabi-pp-mcp ./cmd/kurumatabi-pp-mcp. Raw HTML source diagnostics are excluded from MCP. No remote listener is deployed. Inspect the README/build tree before choosing an MCP installation surface.
Direct Use
Run kurumatabi-pp-cli parks filters --json or kurumatabi-pp-cli parks --help to discover the current domain surface. Detailed semantics and current bounds are in the source README and command help.
A partial comparison is emitted on stdout and returns exit5. Explicit file/webhook delivery occurs only after success; failed comparisons do not deliver the partial buffer.
Search caches every observation in the bounded page scan before applying the returned-row limit. Detail, fit, compare, audit and handoff require detailed observations for local reads or automatic fallback; refresh a search-only card with parks detail ID --data-source live. Multiple bath/onsen icons retain every source observation and qualified fee evidence.
MCP comparison failures retain bounded partial JSON in the first content block, with isError: true and a separate diagnostic capped at 4,000 bytes. Oversized evidence uses an explicit preview; total failure text is bounded to 64,000 bytes. learnings forget atomically removes matched teachings and reconciles existing inferred query/resource/venue families against all retained evidence. Supported rules keep their IDs and refreshed examples; unsupported rules are removed. Manually taught and unrelated rules remain. Explicit teach-pattern updates replace the complete recorded scope and examples; later inference preserves that manual definition. Verified prefix patterns require one literal match, including % and _ characters.
Native park MCP mirrors and the comparison recipe force --no-learn after caller arguments, preventing automatic journaling or preference derivation. Explicit recall and local-writing tools retain their own behavior. Ordinary CLI learning remains optional through the documented controls. Native reads can still refresh the evidence cache; --no-cache disables those cache writes and fallback.
export source exports canonical link objects from the first catalog page as JSONL or a JSON array, with a limit of 1 through 200 links. It does not export detailed records or claim nationwide coverage. Invalid options and failed source reads leave a destination untouched; dry runs do not create output files. Source redirects must stay within the requested effective origin; foreign host, port or scheme changes are refused before custom credentials can be sent.
MCP hints reflect durable effects: filters, near and match are read-only and do not expose receipt writes; search, detail, fit, compare, audit, handoff and the comparison recipe may refresh the evidence cache and advertise local writes. Explicit learning readers and workflow status also advertise local writes because their normal CLI paths can update learning/journal state. Typed context/SQL tools remain read-only. The named variadic park-id input for parks_compare accepts a whitespace-separated ID list; scalar text inputs remain one argument, and flag-like tokens are rejected.
Catalog links and safe agent recall
kurumatabi-pp-cli export --format json --limit 20 --no-learn source
kurumatabi-pp-cli parks compare rvpark/1086 yypark/213 --agent --no-learn
The catalog export covers first-page link objects only. MCP named comparison input uses park-id: "rvpark/1086 yypark/213"; scalar recall questions remain one argument. Framework recall checks actual cached resource identity before promoting aliases. A known conflicting identity stays a mismatch; a missing resource stays explicitly warned and still requires fresh source verification.
Source and agent capabilities include bounded catalog export, truthful MCP local-state hints, safe named comparisons and evidence-aware alias recall in addition to the five domain feature groups above.
Synthesized recall checks any extractable cached identity too; a known conflicting target stays a mismatch. Identifier-verified patterns with no extractable identity retain their existing behavior without invented entities, and every recalled travel ID still needs fresh source verification.
Synthesized identity validation follows the exact entity substituted into its resource ID; another entity in a compound query cannot validate a conflicting target. Forgetting a teaching preserves an inferred rule only when at least two distinct compatible bindings remain, ignores unusable rows, and repairs examples from those compatible supporters.
Recall limits apply after cached identity validation and accepted-ID deduplication, so rejected candidates do not consume the requested result count.
Recall checks later bindings when an earlier one conflicts, selects one compatible binding per pattern, and ranks before deduplicating typed resource IDs. Accepted targets are removed from contradictory mismatch alternatives. --limit caps returned results and diagnostic rows; it does not promise a cap on local validation work, which depends on the learned pattern store. Full validation preserves confidence and identity ranking.
Only a genuinely absent cached resource uses the warned missing-row fallback. Cancellation and unreadable cached payloads fail the command; they do not produce an exact result.
