skills/weather/SKILL.md
Get weather forecasts from free APIs - Open-Meteo (no key, unlimited)
npx skillsauth add jcsaaddupuy/badrobots weatherInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Open-Meteo: free weather API, no key required, unlimited calls.
curl -s "https://api.open-meteo.com/v1/forecast?latitude=48.86&longitude=2.44¤t=temperature_2m,relative_humidity_2m,weather_code,wind_speed_10m&timezone=Europe/Paris" | jq '.current'
curl -s "https://api.open-meteo.com/v1/forecast?latitude=LAT&longitude=LON&daily=weather_code,temperature_2m_max,temperature_2m_min,precipitation_sum&timezone=Europe/Paris" | jq '.daily'
curl -s "https://api.open-meteo.com/v1/forecast?latitude=LAT&longitude=LON&hourly=temperature_2m,precipitation,weather_code&forecast_days=2" | jq '.hourly | .time[0:12]'
Base: https://api.open-meteo.com/v1/forecast
curl -s "https://api.open-meteo.com/v1/forecast?latitude=LAT&longitude=LON&models=meteofrance_arome_france¤t=temperature_2m,weather_code" | jq '.current'
curl -s "https://api.open-meteo.com/v1/forecast?latitude=LAT&longitude=LON&daily=temperature_2m_max&models=meteofrance_arpege_world,gfs_025,ecmwf_ifs025" | jq '.models'
curl -s "https://archive-api.open-meteo.com/v1/archive?latitude=LAT&longitude=LON&start_date=2025-01-01&end_date=2026-05-04&daily=temperature_2m_max,temperature_2m_min,precipitation_sum" | jq '.daily'
0 Clear
1-2 Mostly clear
3 Overcast
45-48 Foggy
51-55 Drizzle
61-67 Rain
71-77 Snow
80-82 Rain showers
85-86 Snow showers
95-99 Thunderstorm
for city in "Paris:48.8566:2.3522" "Lyon:45.7640:4.8357"; do
IFS=':' read name lat lon <<< "$city"
TEMP=$(curl -s "https://api.open-meteo.com/v1/forecast?latitude=$lat&longitude=$lon¤t=temperature_2m" | jq '.current.temperature_2m')
echo "$name: ${TEMP}°C"
done
CACHE="/tmp/weather.json"
if [ -f "$CACHE" ] && [ $(($(date +%s) - $(stat -f%m "$CACHE"))) -lt 1800 ]; then
cat "$CACHE"
else
curl -s "https://api.open-meteo.com/v1/forecast?latitude=LAT&longitude=LON¤t=temperature_2m" | tee "$CACHE"
fi
RAIN=$(curl -s "https://api.open-meteo.com/v1/forecast?latitude=LAT&longitude=LON&daily=precipitation_sum" | jq '.daily.precipitation_sum[0]')
[ $(echo "$RAIN > 5" | bc -l) -eq 1 ] && echo "Heavy rain: ${RAIN}mm"
Resources: Open-Meteo Docs
development
DuckDB patterns for JSON/JSONL analysis, array unnesting, and common gotchas. Use when querying JSON files, nested data, or encountering "UNNEST not supported here" errors.
development
Mealie recipe manager API: recipes, shopping lists, meal plans. Requires MEALIE_BASE_URL and MEALIE_API_KEY.
business
TimeWarrior time tracking: start/stop intervals, query durations by tag or issue, compute totals for issue tracker time reporting
development
Bookmark manager for saving, searching, and annotating web content. Use when: (1) saving a webpage for later reference, (2) searching previously saved bookmarks, (3) adding highlights/annotations to saved content, (4) user asks to 'bookmark this' or 'save this article'. Requires READECK_BASE_URL and READECK_API_KEY environment variables.