Imported from mvanhorn/printing-press-library (
cli-skills/pp-michi-no-eki/SKILL.md). Install upstream withnpx skills add mvanhorn/printing-press-library --skill pp-michi-no-eki. Copyright stays with the author (Apache-2.0).
Michi-no-Eki source workflow
Prerequisites: Install the CLI
This skill drives the michi-no-eki-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 michi-no-eki --cli-only - Verify:
michi-no-eki-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/michi-no-eki/cmd/michi-no-eki-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 Japanese directory by prefecture, source region, and facilities. Compare parking and published hours, rank nearby candidates, inspect bounded station notices, and compare saved observations without inferring camping permission.
When to Use This CLI
Find Japan roadside-station service stops; inspect source-listed food, shops, baths, parking and facilities; compare a shortlist; rank scoped nearby candidates; inspect bounded station-linked notices; compare saved factual observations offline. Resolve filter vocabulary with catalog, then use concrete IDs from find.
Anti-triggers
Use the relevant booking/provider interface for campsite/RV inventory or transactions. Use routing tools for driving/vehicle-clearance planning. Station listing or active icons do not establish overnight lodging, outdoor camping or live service availability.
Unique Capabilities
Native station planning preserves read-only source behavior. Optional local learning has explicit write hints, validates cached resource identity, and preserves supported derived rules on targeted undo.
These commands combine source evidence into bounded planning workflows.
Accountable campervan stops
-
readiness— Inspect source facts and permission or service unknowns for one station IDCampervan planner; trip agent can inspect source evidence without merging tabs manually.
michi-no-eki-pp-cli readiness 19187 --agent -
compare— Compare up to six ordered station IDs with source facts and per-ID failuresCampervan planner; trip agent can inspect source evidence without merging tabs manually.
michi-no-eki-pp-cli compare --ids 19187,19189 --agent -
nearby— Rank source stations by straight-line kilometers from required latitude/longitude, scoped by area and facilitiesCampervan planner can inspect source evidence without merging tabs manually.
michi-no-eki-pp-cli nearby --prefecture nagano --facility onsen --lat 35.8632686 --lon 138.2769108 --limit 3 --agent -
station-notices— Find notices explicitly linked to one station ID within page/detail scan limitsAdvisory researcher; trip agent can inspect source evidence without merging tabs manually.
michi-no-eki-pp-cli station-notices 19487 --max-scan-pages 1 --max-detail-records 10 --agent -
changes— Compare two saved snapshot files offline by stable station ID and factual fields, or use an explicit synthetic demoTrip agent; advisory researcher can inspect source evidence without merging tabs manually.
michi-no-eki-pp-cli changes --demo --agent
Source workflow
- Run
catalogfor official IDs/aliases. Choose--prefectureor the provider's--region, not both. Preserve Japanese names and canonical URLs. - Use
find --facilitywith explicit--match all|any. Provider multi-facility search is any-of; the default all-of is a local required-facility filter.presentis listed evidence,not_listedis an inactive source icon, and missing data isunknown. - Use
station,compareorreadinessfor published hours, nominal parking capacities and operator handoff links. Current opening, fees, charging operation, spaces and vehicle fit remain unknown. General MLIT rest guidance stays separate from per-station permissions. - Use
nearbyonly with supplied itinerary coordinates; distances are straight-line kilometers. Inspect candidate cap/coverage and missing-coordinate warnings. - Use
noticesorstation-noticeswith independent page/detail scan caps. Match exact linked station IDs.station-noticesretains every notice on the scanned index pages, then opens only the--max-detail-recordsprefix; a no-match covers those opened details, not later index rows. Publication date is a JST calendar date, distinct from dates discussed in text. Follow the canonical notice for full text/attachments. - Use complete
snapshot --ids ... --jsonstdout for user-directed local saving.changesreads two snapshots, excludes observation timestamps, and marks fetch gaps unresolved. Projected outputs cannot serve as complete snapshots.
Command Reference
Use find, station, notices, notice, catalog, guidance, snapshot, and the verified capability commands above. Each command exposes domain examples in help. Low-level stations search/get and bulletins list/get return HTML metadata/links; prefer domain commands for planning.
Recipes
Inspect optional local learning evidence
michi-no-eki-pp-cli recall "station 19187" --agent --debug-mismatches
michi-no-eki-pp-cli learnings list --agent
# Only when the user asks to undo this specific local teaching
michi-no-eki-pp-cli learnings forget "station 19187" --resource 19187 --agent
These optional helpers write local learning/audit state; they do not fetch station evidence or populate a nationwide station cache. A known conflicting cached resource remains in mismatches and cannot become an exact hit through a teaching alias or synthesized pattern. Direct aliases require a canonical shared by query, teaching and cached resource. Pattern validation uses the exact entity that produced its candidate, not unrelated entities elsewhere in the query. Recall considers later verified entity bindings from the same pattern when an earlier binding conflicts, retains its first accepted binding, and accepted typed resource IDs are omitted from mismatch diagnostics and their warnings. Final typed-ID deduplication retains the best validated hit under Recall ranking, so a prior partial or lower-ranked hit cannot hide better evidence. recall --limit caps final results, not local database work: candidate validation can scan the full optional pattern store to preserve identity filtering and final ranking. Large local stores can take longer; no local-work or latency bound is claimed. Identifier-verified patterns with no extractable cached identity retain their legacy matching behavior; that is not evidence of current provider identity or facts. Missing cached resources retain an explicit warning and still require a live source fetch. Only a genuine missing row uses this fallback; unexpected cached-identity read failures or cancellation fail recall with runtime exit 5 and no success envelope. Undo reconciles only affected inferred families. A rule needs two distinct compatible positive (boost) examples from eligible teaching sources; unusable rows do not veto valid support. New synthesis and reconciliation after an affected forget exclude hide/alias effects. Unsupported affected rules are removed; explicitly taught and unrelated patterns remain. An explicit teach-pattern records its full declared scope; later inference cannot replace it.
Native domain calls and low-level stations/bulletins reads suppress automatic learning journals/corrections. The six stateful MCP helpers disclose local writes; normal optional recall results remain available.
Compare stop evidence
michi-no-eki-pp-cli compare --ids 19187,19189 --agent --select stations.id,stations.name,stations.parking,fetch_failures
Return ordered station facts and explicit fetch gaps.
Nearby bath stops
michi-no-eki-pp-cli nearby --prefecture nagano --facility onsen --lat 35.8632686 --lon 138.2769108 --limit 3 --agent
Straight-line distance ranks scoped source candidates, not driving routes.
Station notice watch
michi-no-eki-pp-cli station-notices 19487 --max-scan-pages 1 --max-detail-records 10 --agent
Match exact linked station IDs within a bounded notice scan.
Offline observation changes
michi-no-eki-pp-cli changes --before before.json --after after.json --agent
Compare user-saved factual observations without network.
Auth Setup
Authorized directory routes require no authentication. No accounts, cookies or bookings are used.
Run michi-no-eki-pp-cli doctor to verify setup.
Output and bounds
Use --agent/--json; project with --select to reduce response size. Empty arrays are []. find/nearby return at most50 stations and separately cap candidate examination at5000 (default2000). Compare/snapshot accept at most6 IDs. Notice index scans cap at5 pages and retain every notice on those pages; station-notice detail fetches then open at most50 of them (default10). Rows past that detail prefix are not matches. Declared HTML transport bounds wire bytes and each decode layer to 5 MiB; the domain parser rechecks that bound before parsing. This bounds body bytes, not total process RSS. Snapshot files are capped at 2 MiB. Root --timeout bounds the live workflow, generated pacing applies, and domain observations bypass response cache. Live domain commands reject local mode; changes rejects live mode.
Partial failures appear in fetch_failures and stderr; all-failure operations exit nonzero. The optional MCP mirrors for compare, snapshot and station-notices preserve bounded structured failure accounting in an explicitly failed tool result; they do not rerun the source operation. General exit codes:0 success,2 usage/input,3 not found,4 auth,5 API/runtime,7 rate limiting,10 configuration. Never turn a directory icon, headline count or empty notice scan into permission/inventory/status certainty.
Use the domain CLI workflows for source extraction. Typed MCP HTML tools are hidden by the source spec because their generated handlers expose raw HTML; use the domain CLI or safe command mirrors. This public provider needs no credentials. Credential-like headers such as Authorization and X-API-Key are withheld on a cross-origin redirect; do not add other sensitive custom headers.
Generated low-level link rows can place an HTML page URL in image when no image is published; treat that field as unverified. Use normalized domain workflows for service evidence. Detail endpoint commands return page metadata rather than an empty link-only result.
Low-level detail metadata includes the requested numeric ID, canonical handoff URL, source URL and JST observation time. entity_fields_status distinguishes recognized native identity fields from generic page metadata with explicit unknowns. Domain station/notice remain the richer factual workflows.
Optional framework SQL/workflow-status descriptions mention sync, but this source has no domain sync or database-ingestion workflow; use native domain commands and saved snapshots. Explicit optional learning helpers can open/create/migrate local stores or append audit/telemetry. Six MCP helpers (recall, learnings candidates/list/stats, playbook list and workflow status) declare those local writes with readOnly=false; direct SQL/context remain read-only. Native domain commands, low-level stations/bulletins reads and help suppress automatic journals/corrections. --no-learn does not make explicit optional learning helpers write-free. CLI-only installation does not activate the optional MCP server.
export bulletins writes parsed notice records from the same notice parser as notices and notice, as JSON or JSONL. --limit 0 follows the notice index until it ends; a positive --limit stops once that many records are collected. If another index page remains after 500 pages, export fails instead of writing a partial file. A failed export leaves an existing --output file unchanged. It does not emit the raw HTML page. Use snapshot --ids ... --json for retained factual station observations.
Low-level list/search reads in --data-source auto may initialize or migrate the optional resolver cache even when an HTML response yields no cacheable JSON records. --no-cache controls the HTTP cache; use --data-source live --no-cache to bypass resolver write-through and HTTP caching. The detail metadata adapters use direct source reads. Low-level groups suppress automatic learning journals/corrections; this cache behavior is separate from the twelve native commands and help paths that leave no automatic local state.
