safeswim-nz · git:20260528.a6906cd · 2026-05-28 · sha256 d804038e18c6ee45
safeswim-nz git:20260528.a6906cdA
Immutable. This exact content never changes and is served at /api/v1/blob/d804038e18c6ee45.
--- name: safeswim-nz description: Query SafeSwim NZ public swimming-location water quality, swimming conditions, wastewater overflow alerts, and hour-by-hour forecast data through a no-login REST API. Use when the task involves SafeSwim-supported NZ beach/lake swimming safety, water quality (GREEN/AMBER/RED/RED+/BLACK), lifeguard/patrol status, safety hazards, facilities, or per-location forecasts. Read-only. --- # SafeSwim NZ ## Goal Query live SafeSwim NZ swimming-location water-quality and swimming-condition data with a deterministic CLI and JSON output. ## Use this when - A user asks whether it's safe to swim at a SafeSwim-supported NZ beach, lake, or swimming spot today - A user wants water quality status (GREEN/AMBER/RED/RED+/BLACK) for SafeSwim locations - A user asks about wastewater overflow alerts or swimming hazards - A user wants hour-by-hour swimming forecasts (water temp, wind, UV, tide height) - A user needs nearby SafeSwim locations, optionally filtered by warning severity - A workflow needs machine-readable swimming-location safety data ## Do not use this for - General freshwater monitoring outside SafeSwim coverage; use `lawa-nz` for broader river/lake sites - Tide predictions alone; use `nz-tides-surf` for LINZ tide tables - Surf conditions; use `nz-tides-surf` for SwellMap surf data - Swimming spots outside the SafeSwim API coverage area - Historical water-quality records beyond what the live API returns - Safety-critical decisions without also checking local signage and conditions ## Preferred workflow 1. Run `scripts/cli.py list` to discover SafeSwim locations, optionally filtered by search text 2. Use `detail <slug>` for a specific location with hour-by-hour forecast data 3. Use `nearby <lat> <lon>` to find SafeSwim locations close to a coordinate 4. Use `--min-risk RED` when the user wants warning-level or worse locations, not safe-swim recommendations 5. Use `--json` for agent chaining, alerts, or structured reports 6. Mention that SafeSwim data is live and can change rapidly after rainfall events ## CLI Run with: ```bash python3 skills/safeswim-nz/scripts/cli.py <command> [flags] ``` ### Commands - `list [--search TEXT] [--limit N] [--json]` — list SafeSwim locations with quality status and patrol info - `detail <slug> [--json]` — full detail for a location: forecasts, tags, alerts, facilities - `nearby <lat> <lon> [--radius N] [--min-risk GREEN|AMBER|RED|RED+|BLACK] [--limit N] [--json]` — SafeSwim locations near a coordinate ordered by distance; `--min-quality` is accepted as a compatibility alias Examples: ```bash python3 skills/safeswim-nz/scripts/cli.py list --search takapuna --limit 5 python3 skills/safeswim-nz/scripts/cli.py detail takapuna --json python3 skills/safeswim-nz/scripts/cli.py nearby -36.8485 174.7633 --radius 10 --min-risk RED ``` ## Resources - CLI entrypoint: `scripts/cli.py` - Smoke test: `scripts/smoke_test.py` - API notes: `references/api-notes.md` ## Notes - No API key, username, password, cookie, or browser automation is required - The SafeSwim API is public and read-only at `safeswim.org.nz/api` - Water quality can change rapidly after rainfall — treat results as current snapshots - GREEN = lower risk, AMBER = caution, RED/RED+ = unsafe, BLACK = wastewater overflow - Not all locations provide the full forecast array; some data arrays may be sparse - SafeSwim covers only locations returned by the live API; it is not an all-NZ waterway catalogue - The CLI fetches the full location list once and filters in-process; repeated hits within a second reuse the cached fetch