From woolies-shopper
Fetches New Zealand weather data from MetService's public JSON endpoints — town forecasts, current observations, hourly forecasts with wind gusts, and multi-town comparisons.
How this skill is triggered — by the user, by Claude, or both
Slash command
/woolies-shopper:metservice-weatherThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Fetch NZ weather from MetService's public JSON endpoints (the same data that powers metservice.com) using the bundled script. Pure Python 3 standard library — no dependencies to install.
Fetch NZ weather from MetService's public JSON endpoints (the same data that powers metservice.com) using the bundled script. Pure Python 3 standard library — no dependencies to install.
python3 scripts/metservice.py forecast "new plymouth" --days 5
python3 scripts/metservice.py obs tauranga
python3 scripts/metservice.py hourly wellington
python3 scripts/metservice.py compare tauranga hamilton rotorua napier --days 5
Add --json to forecast, obs, or hourly for the raw structure when you need fields the text view omits (part-of-day breakdowns, sunrise/sunset, moon, pressure trend). The text views degrade gracefully if MetService drops a field for a given row — a missing value shows as ? rather than crashing the command.
Each text view ends with a Page: line — the MetService web page for that location (compare prints one per town under Pages:). Surface these as links when you present the weather, so the user can open the official page for the full picture, radar, and any warnings. See Citing location pages.
The script normalises town names itself (lowercase, macrons stripped, spaces to hyphens), so pass natural names: "New Plymouth", "Taupō", "palmerston north". Known quirks it already handles:
wanganuitaurangaIf a town still 404s, it is probably not a MetService forecast location. Suggest the nearest town from metservice.com/towns-cities rather than guessing further slugs.
All under https://www.metservice.com/publicData/, no auth, but send a browser User-Agent header (the script does):
localForecast{slug} — days array with forecastWord (one-word summary), forecast (full sentence, includes wind), min/max, partDayData (morning/afternoon/evening/overnight), riseSet (sun and moon times)localObs_{slug} — current temp, wind, humidity, pressure and trend, rain last 3h and 24hhourlyObsAndForecast_{slug} — 24 hourly rows with temperature, rain, wind speed and gustsSevere weather warnings and watches are NOT in these endpoints. When forecasts mention wind or heavy rain, or the user is planning travel, check https://www.metservice.com/warnings/home with web_fetch or web search for active watches and warnings, and say so if one covers the user's area.
forecastWord vocabulary runs roughly best to worst: Fine, Partly cloudy, Cloudy, Few showers, Showers, Rain, Wind rain, Windy, Snow, Thunder. "Windy" and "Wind rain" usually mean a watch or warning is likely — flag it.compare, then sanity-check the winner's full forecast text for wind or fog before declaring it.issuedAt time for currency when it matters.The script resolves each town to its MetService slug and prints the public page URL (https://www.metservice.com/towns-cities/locations/<slug>). Include it as a link whenever you report weather for a location:
compare, link each town from its row..../locations/wanganui, which MetService redirects to the Whanganui page), so don't hand-build URLs from the town name.MetService town forecasts are qualitative (words, not sunshine hours or rain probabilities per day). If the user explicitly wants numeric sunshine hours, UV, or probability curves, supplement with Open-Meteo — but label it as a global model and let MetService win any conflict about NZ rain or wind.
These endpoints are unofficial (reverse-engineered from the website), carry a _usage note that the data is restricted to personal use without MetService permission, and may change without notice. Keep use personal; for anything commercial or high-volume, point the user at MetService's licensed data service ([email protected]). If an endpoint starts returning 404s across known-good slugs, the API has likely moved — the script says so, and you should fall back to web search on metservice.com.
npx claudepluginhub cgbarlow/skills --plugin metservice-weatherQueries New Zealand weather and marine data from the MetOcean API. Provides current conditions, hourly forecasts, 7-day outlooks, and wave/swell data via CLI.
Provides weather and pollen reports for any location using free APIs (Open-Meteo, Pollen.com). Get current conditions, forecasts, and pollen data.
Integrates Apple WeatherKit forecasts, alerts, and historical data into iOS apps. Covers setup, selective queries, and required attribution.