Prerequisites: Install the CLI
This skill drives the tenki-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 tenki --cli-only - Verify:
tenki-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/tenki/cmd/tenki-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.
Local checkout
Before a public-library merge and catalog refresh, build the checkout with Go 1.26.6 or newer:
go build -o bin/tenki-pp-cli ./cmd/tenki-pp-cli
bin/tenki-pp-cli --version
Use bin/tenki-pp-cli instead of the bare command prefix in examples when that verified local binary is not on $PATH.
Use command --help for current flags and bounds. Product commands read public HTML and write only local cache. Do not use this CLI for summit or route safety, historical weather observations, or unpublished future seasons.
Choose the branch
- Resolve a name/postal code:
places search; select the canonical URL explicitly. Leisure searches cover the reported bounded directory, with optional--directory, rather than nationwide keyword search. - Inspect identity and forecast reference:
places show. - Inspect dates:
forecast daily; add--detailfor separate six-hour intervals and instants. - Inspect a supported activity window:
forecast hourly --date YYYY-MM-DD --hours HH:00-HH:00. - Evaluate supplied thresholds:
compare; require at least one criterion and choose its deterministic--sortkey when ranking. - Inspect mountain evidence:
mountain show;--levelmatches an actual source altitude. - Inspect seasonal reports:
seasonal listorseasonal show --kind sakura|kouyou --year YYYY. For ended Sakura name discovery, choose a retained prefecture--directory; a miss covers the reported scan.
Examples
tenki-pp-cli places search --query 金閣寺 --kind leisure --directory https://tenki.jp/leisure/6/29/ --limit 5 --agent --select results.places.name,results.places.url,results.search_scope
tenki-pp-cli places show --place https://tenki.jp/leisure/6/29/189/7327/ --agent
tenki-pp-cli forecast daily --place https://tenki.jp/forecast/3/16/4410/13101/ --days 3 --agent --select results.periods.date,results.periods.weather,results.periods.precip_probability_pct,results.source
tenki-pp-cli forecast hourly --place https://tenki.jp/forecast/3/16/4410/13101/ --hours 09:00-17:00 --agent --select results.periods.valid_at,results.periods.kind,results.periods.precip_rate_mm_h,results.periods.temperature_c
tenki-pp-cli compare --place https://tenki.jp/forecast/3/16/4410/13101/ --days 3 --max-pop 30 --max-temp 30 --sort max-pop --agent
tenki-pp-cli mountain show --place https://tenki.jp/mountain/famous100/5/25/150.html --level 3000 --limit 8 --agent
tenki-pp-cli seasonal show --kind kouyou --place https://tenki.jp/kouyou/3/13/30139.html --agent --select results.spot,results.source,results.status,results.year
tenki-pp-cli seasonal list --kind sakura --directory https://tenki.jp/sakura/3/16/ --query 上野 --year 2026 --limit 5 --agent
tenki-pp-cli seasonal show --kind sakura --place https://tenki.jp/sakura/3/16/54401.html --year 2026 --agent
Interpret evidence
Read the source timestamps, freshness, actual coverage and destination's forecast_reference_url before interpreting values. meta.source is the actual transport (live/local, or mixed/unavailable for comparisons); meta.metrics counts HTTP requests, cache hits and decoded source-response bytes, not network transfer bytes. Comparison decisions carry meta.data_origin: computed, a separate axis from acquisition. Missing numeric values are null; an explicit provider zero stays zero.
Weather dates/times use Asia/Tokyo. Hourly precipitation describes the preceding start–end hour; temperature/wind belong to valid_at. A 09:00–17:00 comparison uses eight complete rain intervals ending 10:00–17:00 and temperature/wind instants from 09:00 through 17:00, inclusive. The hourly inspection command also shows the 09:00 endpoint and its preceding rain interval. Probabilities are per source interval: their maximum is not the probability of any rain over the outing. Rain thresholds use daily amount in mm or hourly rate in mm/h; wind uses m/s; temperature uses °C. Estimated past hours are estimated_actual, not forecasts or municipal station observations.
Daily temperature minima are morning lows and maxima are daytime highs. Today's temperature fields can mix forecasts with estimated actual values; their per-field type stays explicit and cannot certify a forecast-only criterion. Today's daily period can be partial, with remaining weather/probability coverage beginning at issuance. Four six-hour rain intervals coexist with five instant labels; keep their boundaries distinct. Daily values cannot certify an hourly window. Daily wind is max_of_five_source_instants at 00/06/12/18/24; it is not a continuous daily maximum. Days 12–14 may contain confidence letters and fewer fields; retain unknown values and source confidence letters as supplied.
Municipal weather refers to the government-office vicinity; leisure and seasonal weather refers to the linked municipality. Preserve requested destination identity separately. Mountain main weather is foothill weather. Altitude tables are nearby_model_guidance, with their own model_initial_at; they do not establish summit weather, trail condition or ascent safety. A mountain destination cannot earn a summit suitability result from municipal/foothill evidence.
Seasonal spot reports, predictions and normal periods are distinct evidence. Keep requested_year, actual year, update state, report date and weather issue time separate. A fresh forecast does not refresh seasonal facts. Ended Sakura, a year mismatch or future-date current foliage cannot be positive seasonal evidence. --season pairs evidence without a hidden peak-quality criterion. With no condition preference, report that explicitly and retain the raw condition. --season-condition supplies an exact raw state preference. If the source supplies no applicable exact-date prediction, future seasonal suitability remains unknown while weather criteria can still be evaluated.
Comparison returns meets_criteria, fails_criteria or insufficient_data, with per-criterion pass/fail/unknown, thresholds, source values and coverage. Missing, stale, unknown-freshness, past-estimated, partial or out-of-horizon evidence cannot produce meets_criteria. A definite failed criterion can produce fails_criteria while other criteria remain explicitly unknown. Ties are shown; there is no universal sightseeing score. Thresholds describe the user's preferences.
Output and bounded acquisition
Serialize source calls, including MCP command calls. Pacing is capped at one request per second per provider client/CLI or MCP invocation. Separate concurrent invocations do not coordinate; --rate-limit only lowers the per-invocation ceiling and does not enforce an aggregate or global limit.
--agent sets JSON, compact, noninteractive defaults. Product stdout is one compact {meta,results} document; diagnostics use stderr. --select projects comma-separated dotted paths, including array fields. A wholly absent path is an error. Required-input --dry-run --json succeeds without inputs/network; real invalid inputs exit 2, source errors 5, exhausted rate limits 7. Structured unavailable statuses are ordinary product outcomes.
Search returns at most 50 candidates across at most two pages. Compare accepts up to five places, fourteen dates and seventy cells; hourly output caps at 72 source rows. Daily unsupported_dates identifies absent requested dates before the output limit; partial_horizon distinguishes mixed coverage and truncated identifies row limiting. Dates outside returned source coverage stay unavailable. --refresh/--data-source live fetch again; --data-source local reads cache only; --allow-stale explicitly permits marked stale cache without positive suitability. --timeout bounds the whole command. --cache-dir selects a local page cache. Cache TTL is one hour for weather/seasonal/model pages and seven days for directories, a CLI policy rather than a verified seasonal/model provider cadence.
Access
No credentials are needed for public HTML. There is no verified supported public tenki.jp API. Terms Article 8(6) restrict non-browser/RSS acquisition. Successful HTTP access and public distribution do not establish provider authorization. Respect source denials and propagate rate limits. Preserve missing evidence instead of substituting another provider, invented future-season facts or zero-valued failed fetches.
Unique Capabilities
Evidence-based planning
-
compare— Compare selected Japan destinations and dates against explicit weather thresholds.Compare selected Japan destinations and dates against explicit weather thresholds.
tenki-pp-cli compare --place https://tenki.jp/forecast/3/16/4410/13101/ --days 2 --max-pop 40 --agent -
compare— Evaluate a specific JST outing window with complete hourly evidence.Evaluate a specific JST outing window with complete hourly evidence.
tenki-pp-cli compare --place https://tenki.jp/forecast/3/16/4410/13101/ --hours 09:00-17:00 --max-pop 40 --agent -
compare— Pair seasonal spot status with its actual forecast municipality.Pair seasonal spot status with its actual forecast municipality.
tenki-pp-cli compare --place https://tenki.jp/kouyou/4/19/30314.html --season kouyou --max-pop 40 --agent -
compare— Explain missing, stale, unsupported or mismatched evidence before recommending.Explain missing, stale, unsupported or mismatched evidence before recommending.
tenki-pp-cli compare --place https://tenki.jp/forecast/3/16/4410/13101/ --days 14 --max-wind 8 --agent
Auth Setup
No credentials are required for public HTML pages. Access is undocumented and subject to tenki.jp terms; there is no verified supported public API.
Run tenki-pp-cli doctor to verify setup.