Weather via OpenMeteo (via openmeteo-sh cli; advanced ver)

v1.2.2

Advanced weather from free OpenMeteo API: historical data, detailed variable selection, model choice, past-days, and in-depth forecasts. Use when the user as...

2· 1.7k·13 current·14 all-time
byNikita Shkoda@lstpsche

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for lstpsche/openmeteo-sh-weather-advanced.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Weather via OpenMeteo (via openmeteo-sh cli; advanced ver)" (lstpsche/openmeteo-sh-weather-advanced) from ClawHub.
Skill page: https://clawhub.ai/lstpsche/openmeteo-sh-weather-advanced
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required binaries: openmeteo
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Canonical install target

openclaw skills install lstpsche/openmeteo-sh-weather-advanced

ClawHub CLI

Package manager switcher

npx clawhub@latest install openmeteo-sh-weather-advanced
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description (advanced Open-Meteo access) match the declared requirement (the openmeteo CLI). No unrelated binaries, env vars, or credentials are requested.
Instruction Scope
SKILL.md limits actions to running the openmeteo CLI and instructs safe practices (always use --llm; quote user-provided values). One behavior to note: the skill says to use the user's default city/country from session context when location isn't supplied, which legitimately requires access to user session metadata (location preference). This is coherent for convenience, but it means the agent may read session/profile context to choose a location.
Install Mechanism
Instruction-only skill — no install spec and no code files. The README includes typical install instructions for the openmeteo-sh CLI (Homebrew, apt repo, or build-from-source). Those are user-run actions and not executed by the skill itself. If you plan to install, trust the listed repository before adding an APT repo or running commands that modify system package sources.
Credentials
No environment variables or credentials are requested. The skill uses a public API (Open-Meteo) that requires no API key; network access is limited to open-meteo domains per the README.
Persistence & Privilege
always:false and user-invocable:true. The skill does not request persistent or elevated privileges and does not modify other skills' configs. Autonomous invocation is allowed by default but not elevated here.
Assessment
This skill is coherent and appears to do what it says: call the openmeteo CLI to fetch advanced weather data. Before enabling/installing it: 1) Ensure you trust the openmeteo-sh project (inspect the GitHub repo or install from a trusted package manager). The README shows adding a third‑party APT tap — adding package sources and installing packages requires trust in that publisher. 2) The agent will run shell commands it constructs; SKILL.md advises quoting user inputs to reduce shell-injection risk — confirm the agent honors that rule and avoid passing untrusted shell fragments. 3) The CLI will make HTTPS requests to Open-Meteo domains (api.open-meteo.com, archive-api.open-meteo.com, geocoding-api.open-meteo.com). No credentials are requested. 4) If you don’t want the agent to use session profile data (default city/country), specify locations explicitly when asking for weather. Overall: coherent and proportionate; install only if you’re comfortable installing the openmeteo-sh CLI from the linked source.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

🌦 Clawdis
Binsopenmeteo
climate-datavk979z5qxtc6az07fzv00km2qz1814qshforecastvk979z5qxtc6az07fzv00km2qz1814qshhistorical-weathervk979z5qxtc6az07fzv00km2qz1814qshlatestvk979z5qxtc6az07fzv00km2qz1814qshmarinevk979z5qxtc6az07fzv00km2qz1814qshmeteorologyvk979z5qxtc6az07fzv00km2qz1814qshopenmeteovk979z5qxtc6az07fzv00km2qz1814qshtemperaturevk979z5qxtc6az07fzv00km2qz1814qshweathervk979z5qxtc6az07fzv00km2qz1814qsh
1.7kdownloads
2stars
6versions
Updated 2mo ago
v1.2.2
MIT-0

OpenMeteo Weather — Advanced (openmeteo-sh)

Advanced weather queries via openmeteo CLI: historical data (from 1940), detailed variable selection, model choice, and fine-grained forecast control. No API key required.

CLI: openmeteo <command> [options]

Output format

Always use --llm — compact TSV output designed for LLMs. Weather codes are auto-resolved to text. Pass --raw only if the user explicitly asks for JSON.

Quick reference

# Current weather
openmeteo weather --current --city=Berlin --llm

# Current + 2-day forecast
openmeteo weather --current --forecast-days=2 --city=London --llm

# Only precipitation data
openmeteo weather --forecast-days=2 --city=Vienna \
  --hourly-params=precipitation,precipitation_probability,weather_code --llm

# Coordinates instead of city
openmeteo weather --current --lat=48.8566 --lon=2.3522 --llm

# Disambiguate city with country
openmeteo weather --current --city=Portland --country=US --llm

# Forecast starting from day 3 (skip today and tomorrow)
openmeteo weather --forecast-days=7 --forecast-since=3 --city=London --llm

# Historical weather
openmeteo history --city=Paris --start-date=2024-01-01 --end-date=2024-01-31 --llm

Location (pick one, required)

  • --city=NAME — city name, auto-geocoded; usually sufficient on its own
  • --country=CODE — optional country hint to disambiguate (e.g. US, GB). Only needed when city name is ambiguous. Pass whatever you have or omit.
  • --lat=NUM --lon=NUM — direct WGS84 coordinates, skips geocoding

Commands

weather — forecast up to 16 days + current conditions

Mode (at least one required):

  • --current — fetch current conditions
  • --forecast-days=N — days of forecast, 0–16 (default 7)
  • --forecast-since=N — start from day N of the forecast (1=today, 2=tomorrow, etc.). Trims the window server-side. Must be <= forecast-days.

Param overrides (comma-separated variable names):

  • --current-params=LIST — override current variables
  • --hourly-params=LIST — override hourly variables
  • --daily-params=LIST — override daily variables

Units:

  • --temperature-unit=UNIT — celsius (default) / fahrenheit
  • --wind-speed-unit=UNIT — kmh (default) / ms / mph / kn
  • --precipitation-unit=UNIT — mm (default) / inch

Other:

  • --past-days=N — include past days, 0–92 (default 0)
  • --timezone=TZ — IANA timezone or auto (default auto)
  • --model=MODEL — weather model (default best_match)

history — historical weather from 1940

Requires --start-date=YYYY-MM-DD and --end-date=YYYY-MM-DD. Supports --hourly-params, --daily-params, --model (era5, era5_land, cerra, ecmwf_ifs, etc.).

Common weather variables

Override defaults via --current-params, --hourly-params, --daily-params. For the full variable list with descriptions, run openmeteo weather help --daily-params (or --hourly-params, --current-params).

Current & hourly (most used)

  • temperature_2m — air temp at 2m, C
  • apparent_temperature — feels-like temp, C
  • relative_humidity_2m — humidity, %
  • precipitation — total precipitation (rain+showers+snow), mm
  • precipitation_probability (hourly only) — chance of precipitation, %
  • weather_code — condition code, auto-resolved to text (e.g. "Light rain")
  • wind_speed_10m — wind at 10m, km/h
  • wind_gusts_10m — gusts at 10m, km/h
  • cloud_cover — total cloud cover, %
  • is_day (current only) — daytime flag, 0/1
  • uv_index (hourly only) — UV index
  • snowfall — snowfall, cm
  • visibility — visibility, m
  • pressure_msl — sea-level pressure, hPa

Daily (most used)

  • temperature_2m_max / temperature_2m_min — daily max/min temp, C
  • precipitation_sum — total daily precipitation, mm
  • precipitation_probability_max — max precipitation chance, %
  • weather_code — dominant condition for the day
  • wind_speed_10m_max — max wind, km/h
  • sunrise / sunset — ISO 8601 times
  • uv_index_max — max UV index
  • snowfall_sum — total daily snowfall, cm
  • apparent_temperature_max / apparent_temperature_min — daily feels-like range, C

Detailed variable help

Run openmeteo weather help <flag> to get a full list of available variables with descriptions:

openmeteo weather help --daily-params
openmeteo weather help --hourly-params
openmeteo weather help --current-params
openmeteo history help --daily-params

Add --llm for compact TSV output: openmeteo weather help --daily-params --llm

Use this when you need a variable beyond the common ones listed above.

Rules

  1. Always use --llm output format — most token-efficient, designed for agents.
  2. Quote all user-provided values in shell commands. City names, dates, and any free-text input must be quoted to prevent shell interpretation: --city="New York", --city="St. Petersburg". Only known-safe tokens (numbers, single ASCII words) may be unquoted.
  3. When the user asks about weather without specifying a location, use the user's default city/country if known from session context.
  4. Present results as a natural-language summary — do not paste raw CLI output to the user.
  5. Use --forecast-days=1 or --forecast-days=2 for today/tomorrow — don't waste tokens on 7-day fetches.
  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, analyze the output and give answer.
  7. Use --forecast-since=N when the user asks about a specific future day (e.g. "weather on Friday") to avoid fetching unnecessary earlier days.
  8. When the user switches cities ("and what about London?"), carry over all params used in prior weather queries this conversation — including any added in follow-ups. The new city gets the union of all previously requested params.

Conversational examples

User: "What's the weather like?"

  • Location not specified -> use city/country from session context.
  • General overview -> --current.
openmeteo weather --current --city=Berlin --llm
  • Summarize naturally: "Clear sky, -12C (feels like -17C), wind 9 km/h."

User: "When will the rain stop?"

  • Needs hourly precipitation timeline.
openmeteo weather --forecast-days=2 --city=Berlin \
  --hourly-params=precipitation,precipitation_probability,weather_code --llm
  • Scan output, find when precipitation drops to 0. Answer: "Rain should stop around 14:00 today."

User: "Do I need an umbrella?"

openmeteo weather --forecast-days=1 --city=Berlin \
  --hourly-params=precipitation,precipitation_probability,weather_code --llm
  • Yes/no with reasoning: "Yes — 70% chance of rain between 11:00-15:00, up to 2mm."

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

  • Calculate --forecast-since to skip to Saturday, --forecast-days to cover through Sunday.
openmeteo weather --forecast-days=7 --forecast-since=5 --city=Rome \
  --daily-params=temperature_2m_max,temperature_2m_min,weather_code,precipitation_sum --llm
  • Present only weekend days: "Saturday: 14/8C, partly cloudy. Sunday: 16/9C, clear."

User: "What's the temperature outside?"

  • Only wants temperature -> narrow params.
openmeteo weather --current --city=Berlin \
  --current-params=temperature_2m,apparent_temperature --llm
  • Short answer: "-5C, feels like -9C."

User: "How much rain fell in Tokyo last June?"

openmeteo history --city=Tokyo --start-date=2025-06-01 --end-date=2025-06-30 \
  --daily-params=precipitation_sum,rain_sum --llm
  • Summarize total and notable days.

Comments

Loading comments...