kvlisted
Install: claude install-skill reloru/new-relo
# WEATHER KV
Read and manage the `WEATHER` KV namespace. Run from the repo root so wrangler
resolves `--binding WEATHER` from `wrangler.jsonc` (namespace id
`da96de7daed84b69b32778058b374d5f` is the fallback via `--namespace-id`).
## The one rule: always `--remote`
`wrangler kv key ...` defaults to **local miniflare** state. Without `--remote`,
a `get` reports "Value not found" even though production has the key. Every
command below passes `--remote` — keep it.
## The six keys (different owners, different risk)
- **`weather`** — NWS forecast + active alerts, shape
`{ updated, place, periods, hourly, alerts }` (`hourly` is the array
`loadWeather()` checks to decide the cache is fresh). Written by the cron
(`*/15 * * * *`) and warmed by `loadWeather()` on a cold cache. Inspecting is
safe; a bad or deleted value self-heals within 15 min (or on the next
request). Low risk.
- **`calendar`** — Crosby ISD school calendar, shape
`{ updated, events: [{ summary, location, start, allDay, end }] }` (`events`
is the array `loadCalendar()` checks for freshness). Written by the same cron
(throttled to ~6h) and warmed by `loadCalendar()` on a cold cache. Like
`weather`, a bad/deleted value self-heals on the next cron or request. Low risk.
- **`water`** — river/bayou gauges, shape `{ updated, gauges: [...] }` (`gauges`
is what `loadWater()` checks). Written by the same cron every tick; cold-warms
on read. Self-heals like `weather`. Low risk.
- **`tropics`** — Atlantic