openmeteo-weather

star 8

Get current weather, hourly and daily forecasts for any city or coordinates worldwide. Use when the user asks about weather, temperature, rain, snow, wind, sunrise/sunset, UV, humidity, pressure, or wants to know if they need an umbrella.

modbender By modbender schedule Updated 3/6/2026

name: openmeteo-weather

description: "Get current weather, hourly and daily forecasts for any city or coordinates worldwide. Use when the user asks about weather, temperature, rain, snow, wind, sunrise/sunset, UV, humidity, pressure, or wants to know if they need an umbrella."

metadata: {"openclaw":{"emoji":"๐ŸŒค","requires":{"bins":["curl","jq"]}}}

user-invocable: true


OpenMeteo Weather

Fetch current weather and forecasts via the free Open-Meteo API. No API key required. Supports any location worldwide.

CLI: bash {baseDir}/scripts/weather.sh [options]

Quick reference


# Current weather (city name alone is enough)

bash {baseDir}/scripts/weather.sh --current --city=Berlin

bash {baseDir}/scripts/weather.sh --current --city=London



# Exact coordinates for precision if available

bash {baseDir}/scripts/weather.sh --current --lat=48.8566 --lon=2.3522



# Disambiguate with --country (any format: code, full name, partial)

bash {baseDir}/scripts/weather.sh --current --city=Portland --country=US



# Forecast (daily + hourly)

bash {baseDir}/scripts/weather.sh --forecast-days=3 --city=Paris



# Both current + forecast

bash {baseDir}/scripts/weather.sh --current --forecast-days=2 --city=Rome



# Custom params โ€” fetch only precipitation data

bash {baseDir}/scripts/weather.sh --forecast-days=2 --city=Vienna \

  --hourly-params=precipitation,precipitation_probability,weather_code

Options

Location (required โ€” pick one):

  • --city=NAME โ€” city name; auto-geocoded, usually sufficient on its own

  • --country=โ€ฆ โ€” optional country hint, any format works (GB, France, Ger). Only needed to disambiguate (e.g. Portland US vs UK). Do not look up the "correct" code โ€” pass whatever you have or omit entirely.

  • --lat=FLOAT --lon=FLOAT โ€” direct coordinates, skips geocoding

Mode (at least one required):

  • --current โ€” fetch current conditions

  • --forecast โ€” fetch hourly + daily forecast

  • --forecast-days=N โ€” forecast length 1โ€“16 days (default: 7; implies --forecast)

Param overrides (comma-separated variable names):

  • --current-params=โ€ฆ โ€” override current weather variables

  • --hourly-params=โ€ฆ โ€” override hourly forecast variables

  • --daily-params=โ€ฆ โ€” override daily forecast variables

Output:

  • --human โ€” emoji-rich formatted output for humans (default is porcelain, optimized for agents)

Rules

  1. Default output is porcelain (compact, for agents). Never pass --porcelain โ€” it's the default; saves tokens.

  2. When the user asks about weather without specifying a location, check USER.md for their city/country.

  3. Present results as a natural-language summary โ€” do not paste raw CLI output to the user.

  4. WMO weather codes are resolved to text labels automatically (e.g. "Slight rain", "Overcast").

  5. Use --forecast-days=1 or --forecast-days=2 when the user only asks about today/tomorrow โ€” don't waste tokens on a full 7-day fetch.

  6. For targeted questions (e.g. "when will the rain stop?"), override params via --hourly-params or --daily-params to fetch only what's needed.

Available API variables

Override defaults via --current-params, --hourly-params, --daily-params.

Current & hourly variables

  • temperature_2m (default) โ€” air temperature at 2m, ยฐC

  • apparent_temperature (default) โ€” feels-like temperature, ยฐC

  • relative_humidity_2m (default) โ€” relative humidity at 2m, %

  • precipitation (default) โ€” total precipitation (rain + showers + snow), mm

  • precipitation_probability (default, hourly only) โ€” probability of precipitation, %

  • weather_code (default) โ€” weather condition, auto-resolved to text in output

  • wind_speed_10m (default) โ€” wind speed at 10m, km/h

  • wind_gusts_10m โ€” wind gust speed at 10m, km/h

  • wind_direction_10m โ€” wind direction, ยฐ

  • cloud_cover (default, current only) โ€” total cloud cover, %

  • is_day (default, current only) โ€” daytime flag, 0/1

  • pressure_msl โ€” sea-level atmospheric pressure, hPa

  • surface_pressure โ€” surface pressure, hPa

  • visibility โ€” visibility distance, m

  • rain โ€” rain only (no showers/snow), mm

  • showers โ€” shower rain only, mm

  • snowfall โ€” snowfall amount, cm

  • snow_depth โ€” snow depth on the ground, m

  • dew_point_2m โ€” dew point temperature at 2m, ยฐC

  • uv_index (hourly only) โ€” UV index

Daily variables

  • temperature_2m_max (default) โ€” daily max temperature, ยฐC

  • temperature_2m_min (default) โ€” daily min temperature, ยฐC

  • precipitation_sum (default) โ€” total daily precipitation, mm

  • precipitation_probability_max (default) โ€” max precipitation probability, %

  • weather_code (default) โ€” dominant weather condition for the day

  • wind_speed_10m_max (default) โ€” max wind speed, km/h

  • wind_gusts_10m_max โ€” max wind gust speed, km/h

  • wind_direction_10m_dominant โ€” dominant wind direction, ยฐ

  • sunrise โ€” sunrise time, ISO 8601

  • sunset โ€” sunset time, ISO 8601

  • daylight_duration โ€” daylight duration, seconds

  • sunshine_duration โ€” sunshine duration, seconds

  • precipitation_hours โ€” hours with precipitation

  • rain_sum โ€” total daily rain, mm

  • showers_sum โ€” total daily showers, mm

  • snowfall_sum โ€” total daily snowfall, cm

  • uv_index_max โ€” max UV index

  • apparent_temperature_max โ€” daily max feels-like, ยฐC

  • apparent_temperature_min โ€” daily min feels-like, ยฐC

Conversational examples

User: "What's the weather like?"

  • Location not specified โ†’ get city/country from USER.md.

  • Wants a general overview โ†’ use --current.


bash {baseDir}/scripts/weather.sh --current --city=Berlin
  • Summarize conditions naturally: "Clear sky, -12ยฐC (feels like -17ยฐC), wind 9 km/h."

User: "When will the rain stop?"

  • Needs hourly precipitation timeline โ†’ use --forecast-days=2 with only rain-related params.

bash {baseDir}/scripts/weather.sh --forecast-days=2 --city=Berlin \

  --hourly-params=precipitation,precipitation_probability,weather_code
  • Scan the hourly output, find when precipitation drops to 0 and weather_code changes to non-rain. Answer concisely: "Rain should stop around 14:00 today."

User: "Do I need an umbrella?"

  • Same approach as rain โ€” check upcoming hours for precipitation.

bash {baseDir}/scripts/weather.sh --forecast-days=1 --city=Berlin \

  --hourly-params=precipitation,precipitation_probability,weather_code
  • Analyze output and give a yes/no answer with reasoning: "Yes โ€” 70% chance of rain between 11:00 and 15:00, up to 2mm."

User: "What's the weather this weekend in Rome?"

  • Specific city + specific days โ†’ use --forecast with --daily-params only.

  • Calculate the right --forecast-days to cover the weekend, then pick Saturday/Sunday from the daily output.


bash {baseDir}/scripts/weather.sh --forecast-days=7 --city=Rome \

  --daily-params=temperature_2m_max,temperature_2m_min,weather_code,precipitation_sum,precipitation_probability_max
  • Present only Saturday and Sunday from the output: "Saturday: 14ยฐ/8ยฐC, partly cloudy. Sunday: 16ยฐ/9ยฐC, clear sky."

User: "What's the temperature outside?"

  • Only wants temperature โ†’ use --current with narrowed params.

bash {baseDir}/scripts/weather.sh --current --city=Berlin \

  --current-params=temperature_2m,apparent_temperature
  • Short answer: "-5ยฐC, feels like -9ยฐC."
Install via CLI
npx skills add https://github.com/modbender/skill-library-mcp --skill openmeteo-weather
Repository Details
star Stars 8
call_split Forks 2
navigation Branch main
article Path SKILL.md
More from Creator