Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/reloru/new-relo/kvnpx skills add reloru/new-relo --skill kvgit clone --depth 1 https://github.com/reloru/new-reloWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/reloru/new-relo/kv)<a href="https://agentmods.dev/skills/reloru/new-relo/kv"><img src="https://agentmods.dev/badge/skills/reloru/new-relo/kv.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00139 | $0.02881 |
| Opus 5 | $0.00069 | $0.01440 |
| Sonnet 5 | $0.00028 | $0.00576 |
| Haiku 4.5 | $0.00014 | $0.00288 |
Grade C, and why
kv scanned grade C with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Recursive force deletehighDestructive command
rm -rf with a variable or a broad path is one typo away from removing the wrong tree.
rm -rf .wrangler/state # next `wrangler dev` starts truly empty How it starts
The opening of the file, as written. The whole thing — 165 lines — stays where its author put it; the contents beside it link to each section on GitHub.
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.
And local state PERSISTS across runs. It lives in .wrangler/state/v3/kv/
(gitignored) and survives wrangler dev restarts, reboots, and days of elapsed
time — so "a fresh local dev server" is not a cold cache. A local run cold-warms
KV once and every later run reads that same snapshot back, however old it is.
This is not academic: a wrangler dev session on 2026-08-05 was served a
weather value written on 2026-08-01, whose 48 hourly periods had all elapsed
two days earlier — and it was briefly misread as an empty cache, because "local
dev must be cold" is the intuitive assumption and it is wrong. To get a
genuinely cold local cache, delete the state:
rm -rf .wrangler/state # next `wrangler dev` starts truly empty
The nine content keys (different owners, different risk)
weather— NWS forecast + active alerts, shape{ updated, place, periods, hourly, alerts }(hourlyis the arrayloadWeather()checks to decide the cache is fresh). Written by the cron (*/15 * * * *) and warmed byloadWeather()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 }] }(eventsis the arrayloadCalendar()checks for freshness). Written by the same cron (throttled to ~24h — Crosby ISD's calendar changes rarely) and warmed byloadCalendar()on a cold cache. Likeweather, a bad/deleted value self-heals on the next cron or request. Low risk.water— river/bayou gauges, shape{ updated, gauges: [...] }(gaugesis whatloadWater()checks). Written by the same cron every tick; cold-warms on read. Self-heals likeweather. Low risk.fishing— USGS real-time water conditions for the waters people fish, shape{ updated, stations: [{ id, params:{tempC,do,ph,turb,gageFt}, observed }] }(stationsis whatloadFishing()checks). Written by the same cron every tick; cold-warms on read. Self-heals likewater. Low risk.tropics— Atlantic tropical outlook from two NHC products, shape{ updated, storms: [...], disturbances: [...] | null, outlookIssued }.stormsis NHC CurrentStorms.json (named cyclones only);disturbancesis the Tropical Weather Outlook (areas being watched, with formation chances).loadTropics()checks BOTH are arrays and cold-warms otherwise, which is what migrates pre-2026-08 entries that carry nodisturbances. An emptystormsis the normal quiet-basin state, NOT an error — but on its own it is not an all-clear, which is the bug this shape exists to prevent.disturbances: nullmeans the outlook could not be read and is NOT the same as[](nothing being watched); hand-editing one into the other makes the page assert a quiet basin nobody confirmed. Written by the same cron, throttled ~1h June-November (Atlantic hurricane season, Central time) and ~24h the rest of the year; cold-warms on read. Self-heals. Low risk.pollen— the Houston Health Department's measured daily pollen & mold count, shape{ updated, countDate, url, groups: {tree,weed,grass,mold}, species }(loadPollen()checksgroups+countDate;countDateis the CT calendar day the count is for — weekends carry Friday's, that's normal). Written by the same cron, skipped entirely on Sat/Sun (Central time) and on weekdays only when the cachedcountDateisn't today's date yet — HHD publishes one count per weekday morning, so this is "have we got today's count" rather than a flat age throttle; cold-warms on read. Self-heals. Low risk.burnban— Harris County outdoor-burning ban status from the Texas A&M Forest Service, shape{ updated, status, startDate, statusSince, trackingSince }(loadBurnBan()checksstatusis"Yes"or"No";startDateis ISO or null). Don't hand-writestatusSince/trackingSince—trackingSinceis the first observation ever and never moves,statusSincemoves only on a real status flip, and when they are EQUAL the page says "unchanged since we began tracking" rather than claiming a transition. Faking them makes /burn-ban assert a ban ended on a day it did not. Deleting the key is safe: the next cron reseeds both to now, which reads honestly as "no observed history yet". Written by the same cron, throttled ~4h (TFS's feed updates roughly daily, on a county judge's order rather than a schedule); cold-warms on read. Self-heals. Low risk.traffic— Crosby-corridor road incidents + lane closures from Houston TranStar's public RSS feeds, shape{ updated, incidents, closures }(loadTraffic()checks thatincidentsis PRESENT — either side isnullwhen that feed was unreachable at the last refresh, vs[]= quiet roads, the normal state). Written by the same cron every tick; cold-warms on read. Self-heals. Low risk.news— local news, shape{ updated, items: [...], source }. Written ONLY out-of-band byscripts/fetch-news.mjs(a Claude routine); the Worker just renders it. Overwriting or deletingnewsloses the snapshot until the next routine run (up to ~a day). Treat writes/deletes here as destructive.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 4d ago First seen · 165 lines · 139 tokens per session scan C d6c4df76337b
kv is a skill published in the GitHub repository reloru/new-relo (1 stars, last pushed 3d ago), licensed MIT. It adds 139 tokens to every session and 2,881 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it C with 1 finding (recursive force delete). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
bullmq
Skill "bullmq" from ashish7802/awesome-api-skills, covering bullmq skill, ecosystem graph preview, recommended next skills, quick start and production patterns.
redis-streams
Skill "redis-streams" from ashish7802/awesome-api-skills, covering redis streams skill, ecosystem graph preview, recommended next skills, quick start and production patterns.
redis
Redis is used as a database, cache, and message broker. This skill covers the redis (Node.js) and redis-py libraries.
upstash
Upstash provides serverless Redis and Kafka via REST APIs, making it uniquely compatible with Edge environments where raw TCP connections are restricted.
auth-db-billing
Backend product systems skill for the svelteflare monorepo. Invoke whenever the user wants to work with auth, sessions, protected routes, users, the database, schema changes, migrations, Stripe billing, subscriptions, paid feature gates, or any server-only logic in the Hono API. Trigger on "add a protected route"…
huawei-dds-dcs
Use when creating or managing Document Database Service (DDS/MongoDB-compatible) or Distributed Cache Service (DCS/Redis/Memcached) on Huawei Cloud. Triggers: DDS, DCS, MongoDB, Redis, Memcached, document DB, cache, replica set, sharding. NOT for: RDS (use huawei-rds), GaussDB (use huawei-gaussdb).