Magnus Hedemark and factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
a31381bd37
docs(tempest): thicken weather station skill against current API research
...
Full skill-builder rebuild of tempest per issue #407 :
- references/: four dense files replacing the single layouts crib sheet -
rest-api-and-auth.md (personal-use token via tempestwx.com Settings ->
Data Authorizations, token-as-query-parameter auth, StationSet wrapper,
device_type HB/AR/SK/ST enum, observation parameters day_offset vs
time_start/time_end, better_forecast unit-selection, error signatures),
udp-broadcast-protocol.md (port 50222 listen-only broadcast, dispatch-
by-type rule, obs_st 18-position UDP record, rapid_wind ob, evt_precip/
evt_strike, hub_status/device_status named fields), observation-layouts-
and-units.md (REST 22-position obs_st vs UDP 18, obs_air 8, obs_sky 17
vs 14, daily obs_*_ext summaries, metric-native unit tables), and cli-
worked-recipes.md (six executable pipelines). Every file ends with a
Sources footer citing live-verified official docs (apidocs.tempestwx.com,
weatherflow.github.io/Tempest).
- scripts/tempest: fixed researched bugs - rapid_wind handler iterated the
single ob array element-wise (TypeError on real datagrams), hub_status
printed undocumented freq field, forecast human display double-converted
Fahrenheit stations (units_temp=f is documented and honored), SK/AR
device types now matched alongside SKY/AIR, StationSet unwrap handles
stations/locations/bare-list shapes, missing ~/.tempest.env fallback
implemented as documented, dry-run stations plan, handler-owns-flags
dispatch. Added decode_message()/handle_datagram() type-dispatch layer
covering all seven UDP message families.
- scripts/test_tempest.py: 42 offline tests (pytest + unittest green,
proxy-trap clean) - canned UDP datagram bytes fed to the decoder with no
sockets, mocked REST transport, help/arg-error/dry-run classes, and the
documented pipelines (stations->current, obs day totals, forecast units).
- SKILL.md: lastfm-model rewrite (275 lines) - Setup, intent-grouped
commands, UDP family dispatch table, pipeline recipes, jq guidance, ten
grounded gotchas, when-to-use/when-not-to-use boundaries, reference
routing table.
- README.md: human-format refresh with hub-on-LAN prerequisite.
- evals/evals.json: 8 schema-v1 cases incl. two negative probes
(Shakespeare The Tempest, generic city forecast).
- Root README blurb and references/skill-triggers.md row synced to the new
description; .claude-plugin/marketplace.json and llms.txt regenerated
(both embed descriptions; check modes exit 0; codex artifact unaffected).
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2026-08-29 23:04:37 -04:00
Magnus Hedemark and factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
dd97e846ec
refactor(skills): drop -cli suffix from six consumer-API skills
...
Rename ghost-cli, jira-cli, jellyfin-cli, openlibrary-cli, tmdb-cli,
and tempest-cli to ghost, jira, jellyfin, openlibrary, tmdb, and tempest
via git mv. Rewrite frontmatter name fields to match new directories,
rename bundled scripts preserving executable bits, update internal
invocation strings and README quick-start examples, and relocate the
jellyfin pytest suite to jellyfin/scripts/ with its SCRIPT constant now
resolving to the renamed sibling script.
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2026-08-26 02:10:49 -04:00