Open-Meteo Weather Forecast
Fetch global place, forecast, and air-quality evidence through runx's governed
HTTP front. The skill never performs an ad-hoc fetch. Each stage is a bounded,
read-only HTTP runner whose endpoint, inputs, status, authority scope, and
output packet are recorded in the sealed receipt. Open-Meteo requires no API key
and covers the whole globe, so this is the worldwide counterpart to the US-only
nws-weather-forecast provider.
Procedure
- Run
locate with a city or place name.
- Select the intended result and preserve its latitude, longitude, timezone,
and country as a typed provider-evidence packet.
- Run the default
forecast runner with the selected coordinates.
- Require a 2xx response and preserve the provider URL, timezone, generation
time, current conditions, daily forecast, and receipt references.
- Treat the result as context only. Any notification, scheduling change, or
operational mutation requires a separate skill and authority gate.
Inputs
name (locate, required): city or place to resolve.
count (locate, optional): maximum candidate results, default 5.
latitude (forecast, required): decimal latitude.
longitude (forecast, required): decimal longitude.
forecast_days (forecast, optional): days requested, default 3.
Output packets
Two runners are exposed. The default main runner runs locate then
forecast. The air_quality runner runs locate then air_quality. Each
graph step produces a typed sealed packet:
locate produces Open-Meteo geocoding provider evidence.
forecast produces Open-Meteo forecast provider evidence.
air_quality produces Open-Meteo air-quality provider evidence (PM2.5, PM10,
carbon monoxide, nitrogen dioxide, sulphur dioxide, ozone, and the European
and US air-quality indices).
Preserve provider metadata and receipt references when passing either packet to
another skill. Do not convert provider evidence into high-stakes advice.
Failure, retry, and stop conditions
- Ambiguous or missing place: return
needs_input; do not silently choose a
similarly named location.
- Invalid coordinates or forecast-days value: return
needs_input.
- Non-2xx response, timeout, or rate limit: return
needs_more_evidence,
preserve the failure in the receipt, and retry only under the caller's retry
policy.
- Stale or incomplete provider response: return
needs_more_evidence.
- Life-safety, medical, aviation, maritime, or emergency use: refuse and
direct the caller to official channels.
- Mutation requested from forecast evidence: stop after the sealed read and
require a separate authority-scoped action skill.
Worked example
- Run
locate with name: Shanghai.
- Select the result for Shanghai, China.
- Run
forecast using the sealed latitude and longitude with
forecast_days: "3".
- Preserve both sealed receipts with the returned forecast evidence.
Credits
Combined from two community contributions: the forecast skill (#63, @why123-boop) and the air-quality snapshot (#64, @yanziwei).
1---2name: open-meteo-weather-forecast3description: Resolve a place and fetch global forecast and air-quality evidence through governed, keyless Open-Meteo HTTP calls.4---56# Open-Meteo Weather Forecast78Fetch global place, forecast, and air-quality evidence through runx's governed9HTTP front. The skill never performs an ad-hoc fetch. Each stage is a bounded,10read-only HTTP runner whose endpoint, inputs, status, authority scope, and11output packet are recorded in the sealed receipt. Open-Meteo requires no API key12and covers the whole globe, so this is the worldwide counterpart to the US-only13`nws-weather-forecast` provider.1415## Procedure16171. Run `locate` with a city or place name.182. Select the intended result and preserve its latitude, longitude, timezone,19 and country as a typed provider-evidence packet.203. Run the default `forecast` runner with the selected coordinates.214. Require a 2xx response and preserve the provider URL, timezone, generation22 time, current conditions, daily forecast, and receipt references.235. Treat the result as context only. Any notification, scheduling change, or24 operational mutation requires a separate skill and authority gate.2526## Inputs2728- `name` (`locate`, required): city or place to resolve.29- `count` (`locate`, optional): maximum candidate results, default `5`.30- `latitude` (`forecast`, required): decimal latitude.31- `longitude` (`forecast`, required): decimal longitude.32- `forecast_days` (`forecast`, optional): days requested, default `3`.3334## Output packets3536Two runners are exposed. The default `main` runner runs `locate` then37`forecast`. The `air_quality` runner runs `locate` then `air_quality`. Each38graph step produces a typed sealed packet:3940- `locate` produces Open-Meteo geocoding provider evidence.41- `forecast` produces Open-Meteo forecast provider evidence.42- `air_quality` produces Open-Meteo air-quality provider evidence (PM2.5, PM10,43 carbon monoxide, nitrogen dioxide, sulphur dioxide, ozone, and the European44 and US air-quality indices).4546Preserve provider metadata and receipt references when passing either packet to47another skill. Do not convert provider evidence into high-stakes advice.4849## Failure, retry, and stop conditions5051- **Ambiguous or missing place:** return `needs_input`; do not silently choose a52 similarly named location.53- **Invalid coordinates or forecast-days value:** return `needs_input`.54- **Non-2xx response, timeout, or rate limit:** return `needs_more_evidence`,55 preserve the failure in the receipt, and retry only under the caller's retry56 policy.57- **Stale or incomplete provider response:** return `needs_more_evidence`.58- **Life-safety, medical, aviation, maritime, or emergency use:** refuse and59 direct the caller to official channels.60- **Mutation requested from forecast evidence:** stop after the sealed read and61 require a separate authority-scoped action skill.6263## Worked example64651. Run `locate` with `name: Shanghai`.662. Select the result for Shanghai, China.673. Run `forecast` using the sealed latitude and longitude with68 `forecast_days: "3"`.694. Preserve both sealed receipts with the returned forecast evidence.7071## Credits7273Combined from two community contributions: the forecast skill (#63, @why123-boop) and the air-quality snapshot (#64, @yanziwei).