Nws weather forecast
Fetch National Weather Service forecast evidence through the governed HTTP front, producing a sealed provider packet for downstream weather planning.From its SKILL.md
npx -y skills add runxhq/runx --skill nws-weather-forecastAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
SKILL.md
4.4 KB, ~1.0k tokens by cl100k_base, as published. Nobody here has run it
NWS Weather Forecast
Fetch public National Weather Service forecast evidence through runx HTTP.
This is a branded provider skill for the canonical weather-forecast verb. It
uses the governed HTTP front, not an ad hoc client: the receipt records the NWS
endpoint, response status, graph step receipts, and the exact authority surface.
No API key is required. The default runner fetches the actual NWS gridpoint
forecast; the locate runner discovers the gridpoint for a latitude/longitude.
What this skill does
nws-weather-forecast makes read-only calls to api.weather.gov. The locate
runner calls /points/{lat},{lon} to discover gridId, gridX, gridY, and
forecast URLs. The default forecast runner calls
/gridpoints/{office}/{grid_x},{grid_y}/forecast to fetch forecast periods. The
output is provider evidence; use weather-forecast when an agent needs to
normalize that evidence for a planning decision.
When to use this skill
- You need real public weather evidence with no credentials.
- A graph needs to prove a weather data read went through runx's governed HTTP path.
- You have an NWS office/gridpoint and need the current public forecast.
- You have latitude and longitude in the United States and need the NWS gridpoint before running the forecast path.
When not to use this skill
- For locations outside NWS coverage. Return
needs_inputwith the coverage limitation. - For emergency, medical, aviation, maritime, evacuation, or life-safety decisions.
- To notify users, reschedule events, deploy changes, or mutate operations based on weather. Those actions need their own authority gate.
- To call private networks, untrusted hosts, or non-NWS endpoints.
Procedure
- If the caller has only coordinates, run
locatewithlatandlon. - Extract
gridId,gridX, andgridYfrom the sealed locate output. - Run the default
forecastrunner withoffice,grid_x, andgrid_y. - Confirm the HTTP status is 2xx and the response contains forecast periods.
- Preserve the NWS source URL, generated timestamp, gridpoint, and receipt refs.
- If an agent needs planning prose, pass the provider evidence to
weather-forecast. Do not invent guidance inside this provider fetch. - Return
needs_inputfor malformed coordinates or gridpoints; returnneeds_more_evidencefor NWS outages, missing periods, or stale data.
Edge cases and stop conditions
- Invalid coordinates: return
needs_input; NWS point lookup requires decimal latitude and longitude. - Unsupported location: return
needs_input; NWS coverage is not global. - Provider outage or non-2xx response: return
needs_more_evidenceand preserve the HTTP status in the receipt. - Missing forecast periods: return
needs_more_evidence; do not summarize a forecast that is not present. - Life-safety use: return
refusedand direct the user to official weather or emergency channels. - Action requested from weather: stop at provider evidence and require the downstream action skill with its own gate and receipt.
Output schema
decision: ready | needs_input | needs_more_evidence | refused
canonical_skill: runx/weather-forecast
runtime_path: http
provider: national-weather-service
provider_evidence:
endpoint: string
http_status: string
gridpoint:
office: string
grid_x: string
grid_y: string
generated_at: string
forecast_periods: array
receipt_refs: array
stop_conditions: array
Worked example
- Run
locatefor38.8894,-77.0352. - The sealed NWS points response returns
gridId: LWX,gridX: 97,gridY: 71, and a forecast URL. - Run the default
forecastrunner withoffice: LWX,grid_x: "97",grid_y: "71". - Use the sealed forecast JSON as
forecast_evidenceforweather-forecastwhen a downstream agent needs a planning packet.
Inputs
office(default runner, required): NWS office id such asLWX.grid_x(default runner, required): NWS grid X coordinate.grid_y(default runner, required): NWS grid Y coordinate.lat(locaterunner, required): decimal latitude for point lookup.lon(locaterunner, required): decimal longitude for point lookup.
What ships with it: 3 files
3.3 KB alongside SKILL.md
fixtures/
- X.yaml2.4 KB