Skill: lstpsche/openmeteo-sh-weather-simple (version 1.2.1)

--- name: openmeteo-sh-weather-simple description: "Get current weather and forecasts for any city or coordinates using free OpenMeteo API. Use when the user asks about weather, temperature, rain, snow, wind, or wants to know if they need an umbrella." metadata: {"openclaw":{"emoji":"🌤","requires":{"bins":["openmeteo"]}}} homepage: https://github.com/lstpsche/openmeteo-sh user-invocable: true --- # OpenMeteo Weather (openmeteo-sh) Current weather and forecasts (up to 16 days) via `openmeteo` CLI. No API key required. ## Quick reference ``` openmeteo weather --current --city=Berlin --llm openmeteo weather --current --forecast-days=2 --city=London --llm openmeteo weather --forecast-days=7 --forecast-since=5 --city=Rome --llm openmeteo weather --current --lat=48.85 --lon=2.35 --llm ``` ## Location (pick one) - `--city=NAME` — city name (auto-geocoded) - `--city=NAME --country=CODE` — disambiguate (e.g. Portland --country=US) - `--lat=NUM --lon=NUM` — direct coordinates ## Options - `--current` — current conditions - `--forecast-days=N` — forecast length, 1–16 (default 7) - `--forecast-since=N` — start from day N (1=today, 2=tomorrow). Must be <= forecast-days. - `--hourly-params=LIST` — override hourly variables (comma-separated) - `--daily-params=LIST` — override daily variables (comma-separated) - `--current-params=LIST` — override current variables (comma-separated) - `--temperature-unit=UNIT` — celsius (default) / fahrenheit - `--llm` — always pass this ## Variables Defaults are sensible for general weather. Override only when needed. **Current & hourly:** - `temperature_2m` — air temp, C - `apparent_temperature` — feels-like, C - `precipitation` — rain+showers+snow, mm - `precipitation_probability` (hourly only) — chance of precipitation, % - `weather_code` — condition, auto-resolved to text - `wind_speed_10m` — wind, km/h - `wind_gusts_10m` — gusts, km/h - `cloud_cover` — cloud cover, % - `snowfall` — snowfall, cm - `uv_index` (hourly only) — UV index **Daily:** - `temperature_2m_max` / `temperature_2m_min` — max/min temp, C - `precipitation_sum` — total precipitation, mm - `precipitation_probability_max` — max precipitation chance, % - `weather_code` — dominant condition - `wind_speed_10m_max` — max wind, km/h - `sunrise` / `sunset` — times - `snowfall_sum` — total snowfall, cm ## Rules 1. Always pass `--llm`. 2. **Quote all user-provided values** in shell commands: `--city="New York"`, `--city="St. Petersburg"`. Only known-safe tokens (numbers, single ASCII words) may be unquoted. 3. Never use `help` subcommand or `--raw` — work only with what's described here. 4. No location specified -> use the user's default city/country if known from session context. 5. Summarize results naturally — never paste raw output. 6. Use `--forecast-days=1` for today, `=2` for tomorrow — minimize token waste. 7. Use `--forecast-since=N` to skip to a specific future day. 8. For targeted questions, override params to fetch only what's needed. 9. 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. ## Examples **"What's the weather like?"** -> `openmeteo weather --current --city=Berlin --llm` Summarize: "Clear, -12C (feels -17C), wind 9 km/h." **"When will the rain stop?"** -> `openmeteo weather --forecast-days=2 --city=Berlin --hourly-params=precipitation,precipitation_probability,weather_code --llm` Find when precipitation hits ~0. Answer: "Should stop around 14:00." **"Do I need an umbrella?"** -> `openmeteo weather --forecast-days=1 --city=Berlin --hourly-params=precipitation,precipitation_probability,weather_code --llm` "Yes — 70% chance between 11:00-15:00, up to 2mm." **"Weather this weekend in Rome?"** -> `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 Sat/Sun: "Saturday: 14/8C, partly cloudy. Sunday: 16/9C, clear." **"Temperature outside?"** -> `openmeteo weather --current --city=Berlin --current-params=temperature_2m,apparent_temperature --llm` "-5C, feels like -9C."

path: README.md
content: # openmeteo-sh-weather-simple

An OpenClaw skill for getting current weather and forecasts using [openmeteo-sh](https://github.com/lstpsche/openmeteo-sh).

## What this skill does

Teaches the agent how to fetch current weather conditions and forecasts (up to 16 days) for any city or coordinates worldwide. The agent summarizes results in natural language — it never pastes raw CLI output to the user.

This is the **simple** variant: it covers everyday weather queries (temperature, rain, wind, snow, UV, sunrise/sunset) and is optimized for speed and minimal token usage. For historical weather, detailed variable selection, or model choice, see [openmeteo-sh-weather-advanced](../openmeteo-sh-weather-advanced/).

## About openmeteo-sh

[openmeteo-sh](https://github.com/lstpsche/openmeteo-sh) is a fast, lightweight Bash CLI for the [Open-Meteo](https://open-meteo.com) weather API. It has near-zero dependencies — only `bash`, `curl`, and `jq` — with no Python, Node, or compiled binaries required.

Key features relevant to this skill:
- **`--llm` output format** — compact TSV designed for AI agents, reduces token usage by ~90% compared to key=value formats
- **City name resolution** — `--city=London` instead of lat/lon coordinates
- **Weather code resolution** — WMO codes are automatically converted to text (e.g. "Light rain" instead of code 61)
- **No API key required** — uses the free Open-Meteo API

Data is provided by [Open-Meteo](https://open-meteo.com), which is free for non-commercial use.

## Prerequisites

- `bash` 3.2+ (pre-installed on macOS and Linux)
- `curl` (pre-installed on macOS and Linux)
- `jq` — install if missing: `brew install jq` (macOS) or `sudo apt install jq` (Debian/Ubuntu)

## Installation

### openmeteo-sh CLI

#### macOS / Linux (Homebrew)

```sh
brew tap lstpsche/tap
brew install openmeteo-sh
```

#### Debian / Ubuntu (APT)

```sh
# Import the signing key
curl -fsSL https://lstpsche.github.io/apt-repo/pubkey.gpg \
  | sudo gpg --dearmor -o /usr/share/keyrings/openmeteo-sh.gpg

# Add the repository
echo "deb [signed-by=/usr/share/keyrings/openmeteo-sh.gpg] https://lstpsche.github.io/apt-repo stable main" \
  | sudo tee /etc/apt/sources.list.d/openmeteo-sh.list

# Install
sudo apt update
sudo apt install openmeteo-sh
```

#### From source

```sh
git clone https://github.com/lstpsche/openmeteo-sh.git
cd openmeteo-sh
sudo make install
```

## What the agent can do with this skill

- Current conditions for any city or coordinates
- Hourly and daily forecasts up to 16 days
- Targeted queries (e.g. "when will the rain stop?" fetches only precipitation data)
- Unit conversion (Celsius/Fahrenheit, km/h/mph, mm/inch)
- Smart forecast windowing via `--forecast-since` (skip to a specific day)

## Network access

This skill invokes the `openmeteo` CLI, which makes HTTPS requests to:
- `https://api.open-meteo.com` — weather forecast API
- `https://geocoding-api.open-meteo.com` — city name resolution

No other network access is made. No data is sent to any third-party service. No API key or authentication is needed.

## License

This skill is MIT licensed. [openmeteo-sh](https://github.com/lstpsche/openmeteo-sh) is MIT licensed. Weather data is provided by [Open-Meteo](https://open-meteo.com).


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)