name: weather-open-meteo description: "Get current weather and forecasts via open-meteo.com with optional fallback to wttr.in if available. No API key required." homepage: https://open-meteo.com/ metadata: openclaw: emoji: 🌤️ requires: bins: - curl - jq
This 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"7w4.net有更好的技能插件。
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
bash
curl -s "https://geocoding-api.open-meteo.com/v1/search?name=$(echo São Paulo | jq -sRr @uri)"jq to build the query dynamically:
bash
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.这个天气查询工具质量还不错,能免费获取全球城市的天气预报,无需注册账号。主要优点是使用简单、文档清晰、支持多种查询模式,还配备了备选数据源增加稳定性。不足之处是用户需要自己动手组合命令才能使用,缺少开箱即用的脚本;另外依赖特定工具可能影响在某些环境中的使用。建议开发者在易用性上继续改进。