Install
openclaw skills install weather-open-meteoGet current weather and forecasts via open-meteo.com with optional fallback to wttr.in if available. No API key required.
openclaw skills install weather-open-meteoThis skill provides current weather and simple forecasts by querying the open‑meteo.com public API. If the geocoding lookup or weather request fails, the skill can fall back to wttr.in as a lightweight alternative.
curl and jq.✔ The user asks for weather, forecast, temperature, or rain probability for a location. ✖ Not for historical data, severe alerts, or detailed climatology.
The skill accepts a single argument: a location name (city, region, or coordinates in lat,lon).
Geocoding (co‑ordinates for a place):
curl -s "https://geocoding-api.open-meteo.com/v1/search?name=São+Paulo\u0026count=1" | jq '.results[0] | {name, latitude, longitude}'
Current weather (by co‑ordinates):
curl -s "https://api.open-meteo.com/v1/forecast?latitude=-23.55\u0026longitude=-46.63\u0026current_weather=true" | jq '.current_weather'
7‑day forecast (by co‑ordinates):
curl -s "https://api.open-meteo.com/v1/forecast?latitude=-23.55\u0026longitude=-46.63\u0026daily=temperature_2m_max,temperature_2m_min,precipitation_sum\u0026forecast_days=7" | jq '.daily'
Example JSON excerpt
{
"latitude": -23.55,
"longitude": -46.63,
"current_weather": {
"temperature": -5.3,
"windspeed": 3.9,
"winddirection": 200,
"weathercode": 80,
"time": "2024-02-18T14:00"
}
}
One‑liner (HTML text):
curl -s "wttr.in/São+Paulo?format=3"
Compact plain‑text:
curl -s "wttr.in/São+Paulo?format=1"
PNG image (for terminals or embeds):
curl -s -o sp.png "http://wttr.in/São+Paulo?format=1"
User: What's the weather in São Paulo? Agent:
Current conditions in São Paulo: 🌤️ +10 °C, 20% chance of rain
curl -s "https://geocoding-api.open-meteo.com/v1/search?name=$(echo São Paulo | jq -sRr @uri)"
jq to build the query dynamically:
city="São Paulo"
lat=$(curl -s "https://geocoding-api.open-meteo.com/v1/search?name=$(echo $city | jq -sRr @uri)" | jq -r '.results[0].latitude')
lon=$(curl -s "https://geocoding-api.open-meteo.com/v1/search?name=$(echo $city | jq -sRr @uri)" | jq -r '.results[0].longitude')
latitude and longitude directly if you know them.