Imported from mvanhorn/printing-press-library (
cli-skills/pp-driveplaza/SKILL.md). Install upstream withnpx skills add mvanhorn/printing-press-library --skill pp-driveplaza. Copyright stays with the author (Apache-2.0).
Drive Plaza — Printing Press CLI
Local build: this source has not been publicly published. Build go build -o driveplaza-pp-cli ./cmd/driveplaza-pp-cli from the workspace and use that binary. The generated distribution-install section below applies after publication.
Prerequisites: Install the CLI
This skill drives the driveplaza-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 driveplaza --cli-only - Verify:
driveplaza-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/driveplaza/cmd/driveplaza-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.
Resolve interchanges and compare source route alternatives with explicit vehicle and JST schedule assumptions. Find directional SA/PA facilities and keep dated notices distinct from current road status.
When to Use This CLI
Use for Drive Plaza expressway route estimates, IC resolution, directional SA/PA facilities and official advisory links. Inspect source assumptions before comparing prices or travel times.
Anti-triggers
Do not use this CLI for:
- General street turn-by-turn routing
- Comprehensive current traffic or active-closure inventory
- Bookings, pass purchases or account changes
Unique Capabilities
Expressway planning
-
route— Keep vehicle, JST schedule and conditional toll assumptions beside route alternatives.Keep vehicle, JST schedule and conditional toll assumptions beside route alternatives.
driveplaza-pp-cli route --from nerima --to sendai-minami --at 2026-10-10T08:00 --agent -
interchanges— Resolve English names to stable IDs and source Japanese names.Resolve English names to stable IDs and source Japanese names.
driveplaza-pp-cli interchanges --query nerima --language en --agent
Rest-stop evidence
-
sapa list— Compare directional stops using source facility availability.Compare directional stops using source facility availability.
driveplaza-pp-cli sapa list --road 1040 --direction up --limit 5 --agent
Official handoffs
-
notices— Read dated traffic notices without mistaking them for active restrictions.Read dated traffic notices without mistaking them for active restrictions.
driveplaza-pp-cli notices --limit 5 --agent -
handoff— Get official construction, ETC-lane and live-traffic URLs.Get official construction, ETC-lane and live-traffic URLs.
driveplaza-pp-cli handoff --agent
Discovery Signals
This CLI was generated with browser-observed traffic context.
- Capture coverage: 1 API entries from 1 total network entries
- Protocols: structured_html (100% confidence)
- Generation hints: structured_html_extraction
- Caveats: limited_capture: Earlier native route flow yielded no buffered network events. Saved form and public HTTP replay evidence is separately documented; no HAR fabricated.
Command Reference
reference — Inspect the official search forms and planned-work handoffs. Use route and sapa for parsed planning data.
driveplaza-pp-cli reference rest-form— Inspect the official English SA/PA search form.driveplaza-pp-cli reference route-form— Inspect the official English route form.driveplaza-pp-cli reference schedule— Inspect official planned-work handoffs.
Finding the right command
When you know what you want to do but not which command does it, ask the CLI directly:
driveplaza-pp-cli which "<capability in your own words>"
which resolves a natural-language capability query to the best matching command from this CLI's curated feature index. Exit code 0 means at least one match; exit code 2 means no confident match — fall back to --help or use a narrower query. --json (and other machine formats) keep that exit-2 contract and write {"matches":[]} on stdout so agents can inspect the envelope without treating a miss as success.
Recipes
Narrow directional stops
driveplaza-pp-cli sapa list --road 1040 --limit 5 --agent --select items.id,items.name_ja,items.direction,items.url
Keep stable identities and source links.
Inspect facilities and hours
driveplaza-pp-cli sapa detail --id 1040/1040021/1 --agent
Read directional HASUDA-SA UP sections and weekday hours.
Read traffic advisory notices
driveplaza-pp-cli notices --limit 5 --agent
Dated notices do not establish active road status.
Get official restriction pages
driveplaza-pp-cli handoff --agent
Check the construction, ETC-lane and live-map pages.
Auth Setup
Public read-only English and Japanese pages; no account, key or browser runtime is required.
Run driveplaza-pp-cli doctor to verify setup.
Agent Mode
Add --agent to any command. Expands to: --json --compact --no-input --no-color.
Global format flags share one contract on domain commands and --deliver paths:
-
--json— one JSON document on stdout -
--compact— domain results stay complete and compactly encoded; use--selectto reduce fields -
--csv/--plain— tabular rows (collection envelopes unwrap to the row array) -
--quiet— one identity value per row, no envelope -
Pipeable — JSON on stdout, errors on stderr
-
Filterable —
--selectkeeps a subset of fields. Dotted paths descend into nested structures; arrays traverse element-wise. Critical for keeping context small on verbose APIs:driveplaza-pp-cli reference rest-form --agent --select canonical_url,title,links -
Previewable —
--dry-runshows the request without sending -
Source-aware — live planning commands fetch current provider responses; embedded catalogs and optional learning remain separate
-
Non-interactive — planning inputs use flags; optional local learning commands also accept positional queries
-
Read-only planning — source workflows never create bookings, send messages, purchase, or change an account; optional learning writes local state
Response envelope
Planning commands wrap output in a provenance envelope:
{
"meta": {
"source": "live",
"provider": "NEXCO East / Drive Plaza",
"retrieved_at": "2026-10-02T03:00:00Z",
"timezone": "Asia/Tokyo",
"source_urls": ["https://en.driveplaza.com/dp/SAPAServiceEN"],
"upstream_requests": 1,
"warnings": []
},
"results": {"items": []}
}
This illustrates the shape, not a captured response. Parse .results for data and .meta for source provenance. Domain commands retain provenance with --select and default to compact JSON. Computed handoffs have zero requests, an observed date and null retrieval time. Low-level references use the framework provenance envelope; optional local learning commands have their own result shapes.
Local learning and state
The CLI can journal local invocations and remember structural queries. Use recall before discovery when local memory is useful; fetch current provider data after any hit. Use teach only with structural questions and public source IDs; inspect, confirm or reject candidates before treating them as evidence. Learning is local and optional; --no-learn or DRIVEPLAZA_NO_LEARN=true disables it for deterministic runs. Do not use learning records as current toll or road-status facts.
Exit Codes
0 success; 2 invalid input; 3 source not found; 4 access failure; 5 transport or parser failure; 7 rate limit; 10 local configuration failure.
MCP Server Installation
Build go build -o driveplaza-pp-mcp ./cmd/driveplaza-pp-mcp, then run the binary as a stdio MCP server. Domain commands have read-only hints. The server mirrors the runtime Cobra tree.
Direct Use
Use the built driveplaza-pp-cli with explicit command flags. For current syntax, run the command with --help.
Source assumptions and limits
route --atis a real JST date/time with ten-minute increments. Use English IC names frominterchanges --language en. Standard/ETC/ETC2.0 are conditional source estimates in JPY;--paymentselects a quoted column. Traffic-aware timing is predicted for the requested schedule.- SA/PA IDs include source direction. Use road-specific summaries, then
sapa detailfor source weekday hours. Green/gray/missing icons map to true/false/null. Category icons do not guarantee particular shops. Non-East source records carry the provider's 2006-03-31 warning. - Notices have source publication dates and
active_restriction:null. Releases and postponements are not active closures.handoffprints official map, construction and ETC-lane URLs without current-status claims. - Lists default to10 and cap at30;
--offsetpaginates a current response. SA/PA local matching caps at500 records;--max-scan-recordswidens to at most2000. Readscanned_items,scan_limited,noteandmeta.warnings. - Missing source fields remain null and empty lists remain empty. Partial Japanese enrichment warnings do not change other source facts.
