stormscope: Instructions file for Codex

AGENTS.md

stormscope AGENTS.md is an instructions file for Codex, OpenCode from thornjad/stormscope. It costs 1,278 tokens per session, scanned A, original, ISC.

Repository instructions for StormScope, a Python server that gathers live US weather information from government, model, radar, and optional personal weather-station sources. It explains the architecture and the commands for installing dependencies and running tests.

In plain words
What is it for?
Use it to navigate StormScope, work on its weather-data tools, and run the full test suite or one selected test.
Why use it?
It gives a coding agent the project's data sources, file structure, Python version, and test commands before making changes.

Instructions file for CodexOpenCode

Written for Codex and OpenCode: the file is AGENTS.md. Also seen: mentions CLAUDE.md; mentions Claude Code.

This is thornjad/stormscope's own configuration. It tells Codex and OpenCode how to work on stormscope itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything stormscope configures →

Reuse

Borrowing it

Nothing to install: this file belongs to thornjad/stormscope. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/thornjad/stormscope/main/AGENTS.md
Clone the repo
git clone --depth 1 https://github.com/thornjad/stormscope

Made for: Codex, OpenCode.

Wrote 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.

agentmods badge for stormscope AGENTS.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/thornjad/stormscope/agents-md/github.svg)](https://agentmods.dev/instructions/thornjad/stormscope/agents-md)
Your own site
<a href="https://agentmods.dev/instructions/thornjad/stormscope/agents-md"><img src="https://agentmods.dev/badge/instructions/thornjad/stormscope/agents-md/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for stormscope AGENTS.md

Your own site · 80×15
<a href="https://agentmods.dev/instructions/thornjad/stormscope/agents-md"><img src="https://agentmods.dev/badge/instructions/thornjad/stormscope/agents-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 1,278 This file is loaded in full into every session.
When invoked 1,278 The same file — it is already loaded in full.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.01278 $0.01278
Opus 5.5 $0.00511 $0.00511
Sonnet 5.5 $0.00256 $0.00256
Haiku 4.5 $0.00128 $0.00128

Measured 1mo ago against content hash 68fe3472ae2c, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

stormscope AGENTS.md scanned grade A with 0 findings 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 1mo 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.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

AGENTS.md · 52 lines

How it starts

The opening of the file, as written. The whole thing — 52 lines — stays where its author put it; the contents beside it link to each section on GitHub.

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

What This Is

StormScope is a real-time US weather data MCP server. It aggregates data from NWS (National Weather Service), NOAA SPC (Storm Prediction Center), Iowa Environmental Mesonet (NEXRAD radar, radiosonde soundings), Open-Meteo (500mb upper-air and sounding model data), and optionally WeatherFlow Tempest personal weather stations into 10 tools consumed by AI assistants via the FastMCP framework.

Commands

uv sync --group dev              # install all dependencies including dev
uv run python -m pytest          # run all tests
uv run python -m pytest tests/test_nws.py           # run a single test file
uv run python -m pytest tests/test_nws.py -k "test_name"  # run a single test

There is no separate build or lint step. The project uses hatchling as build backend but day-to-day development is just edit-and-test. Requires Python >=3.11.

Architecture

All code lives in src/stormscope/. The server exposes 10 async MCP tools defined in server.py, with implementations in tools.py that aggregate results from eight data-source clients:

  • nws.py — NWS API client (conditions, forecasts, alerts, gridpoint data). Has per-endpoint TTL caching and retry logic.
  • spc.py — SPC outlook client. Parses GeoJSON for categorical and probabilistic severe weather risk (tornado/wind/hail), days 1-3.
  • codsus.py — WPC Coded Surface Frontal Positions (CODSUS/ASUS02) parser and client. Fetches the hand-analyzed surface bulletin from IEM every 3 hours, parses 7-digit encoded coordinates into structured front segments and pressure centers. Used by get_surface_analysis for current conditions.
  • wpc.py — WPC national forecast chart client. Parses GeoJSON for frontal positions and pressure centers from the prognostic chart, days 1-3. Used by get_surface_analysis with product="forecast".
  • iem.py — Iowa Mesonet client for NEXRAD radar station metadata and imagery URLs.
  • openmeteo.py — Open-Meteo client for 500mb pressure-level data (heights, temperature, wind). Fetches a 5-point cross pattern for vorticity computation. Also builds model soundings (16 pressure levels plus 2m/10m surface values, below-ground levels dropped) for get_sounding with source="model".
  • raob.py — IEM RAOB client. Lists active radiosonde sites (retired sites and _XXX area aggregates filtered out), finds the nearest ones, and fetches the latest 00Z/12Z sounding, falling back to the previous cycle and then the next-nearest site. Used by get_sounding with source="observed", which reports distance and bearing to the launch site.
  • tempest.py — WeatherFlow Tempest personal weather station client. Resolves stations by ID, name, or proximity and enriches NWS conditions with hyper-local sensor readings (solar radiation, UV index, lightning, air density, wet bulb temperature). Falls back silently to NWS when unavailable.

Read the full file on GitHub · 52 lines

Changes

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.

  1. 1mo ago First seen · 52 lines · 1,278 tokens per session scan A 68fe3472ae2c

Subscribe to this mod's changes

stormscope AGENTS.md is an instructions file published in the GitHub repository thornjad/stormscope (4 stars, last pushed 1mo ago), licensed ISC. It adds 1,278 tokens to every session, about $0.0051 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-21.

Related

stormscope AGENTS.md compared with instructions from other repositories

stormscope AGENTS.md next to 6 instructions from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
stormscope AGENTS.mdthornjad/stormscopeInstructions file41mo agoISCA1,278Codex, OpenCode
vscode buildNext.instructions.mdmicrosoft/vscodeInstructions file195kyesterdayMITA9,719GitHub Copilot
next.js AGENTS.mdvercel/next.jsInstructions file143kyesterdayMITA7,461Codex, OpenCode
langchain AGENTS.mdlangchain-ai/langchainInstructions file149kyesterdayMITA4,680Codex, OpenCode
vscode oss-third-party-notices.instructions.mdmicrosoft/vscodeInstructions file195kyesterdayMITA5,516GitHub Copilot
vscode copilot-instructions.mdmicrosoft/vscodeInstructions file195kyesterdayMITA3,093GitHub Copilot
deepseek-harness AGENTS.mddeepseek-ai/deepseek-harnessInstructions file274k2d agoMITA4,313Codex, OpenCode