К основному содержанию
скилл CX Codex

pp-weather-goat — скилл погоды для Claude Code: прогноз и вердикты

Скилл для Claude и других агентов: погода, штормовые предупреждения NWS, качество воздуха и совет — ехать на велосипеде или нет.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add mvanhorn/printing-press-library --skill pp-weather-goat -a claude-code
Открыть на GitHub

Что делает pp-weather-goat

Скилл оборачивает CLI weather-goat-pp-cli, который берёт данные из Open-Meteo и NWS. Ключ API не нужен. Агент вызывает команду и получает готовый ответ: текущие условия, прогноз на день, активные предупреждения. Отдельная команда go walk|bike|hike|commute|drive выдаёт вердикт GO / CAUTION / STOP с обоснованием — ветер, осадки, AQI, риск гололёда, и для каждой активности свои пороги.

Есть compare для двух и более городов рядом, normal — сравнение сегодняшних температур с исторической средней на ту же дату, breathe — AQI, пыльца и УФ с рекомендацией по нагрузке. Команда watch опрашивает NWS каждые 60 секунд во время активной непогоды и печатает новые предупреждения по мере поступления. Для утренней сводки достаточно задать домашнюю локацию через config set-location, дальше вызов без аргументов вернёт текущие условия, прогноз и алерты.

Перед первым запуском нужно поставить бинарник: npx -y @mvanhorn/printing-press-library install weather-goat --cli-only, затем проверить weather-goat-pp-cli --version. Если npx недоступен, есть запасной путь через go install — для него нужен Go 1.26.6 или новее. Скилл не подойдёт для гиперлокальной метеорологии и для предупреждений за пределами США: NWS работает только по Штатам. Если после установки --version пишет «command not found», значит каталог с бинарником не попал в $PATH — это повод проверить окружение агента, а не сам скилл.

Какие задачи решает

  • получить вердикт, стоит ли ехать на велосипеде на работу
  • сравнить погоду в двух городах на выходные
  • узнать, не аномально ли жарко сегодня для этой даты
  • проверить активные штормовые предупреждения NWS
  • оценить качество воздуха и УФ перед пробежкой

Примеры запросов агенту

  • какая сегодня погода в Сиэтле
  • стоит ли ехать на велосипеде на работу
  • сравни погоду в Портленде и Сан-Франциско на выходные

Как установить pp-weather-goat

1Через Skills CLI (Vercel)

npx skills add mvanhorn/printing-press-library --skill pp-weather-goat -a claude-code

2Вручную: положить файлы

~/.claude/skills/pp-weather-goat/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/pp-weather-goat/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о pp-weather-goat

Как установить pp-weather-goat в Claude?

Сначала поставьте бинарник: npx -y @mvanhorn/printing-press-library install weather-goat --cli-only. Затем добавьте сам скилл: npx skills add mvanhorn/printing-press-library --skill pp-weather-goat -a claude-code. Проверьте установку командой weather-goat-pp-cli --version.

Что делает pp-weather-goat?

Отвечает на вопросы о погоде, прогнозе, осадках, качестве воздуха, пыльце и УФ. Отдельно выдаёт вердикт по активности — идти пешком, ехать на велосипеде, в поход, на работу или за рулём.

Нужен ли ключ API?

Нет. Данные идут из Open-Meteo и NWS, авторизация не требуется. Для запасного способа установки через go install понадобится Go 1.26.6 или новее.

Исходный текст

SKILL.md · Apache-2.0
---
name: pp-weather-goat
description: "Use this skill whenever the user asks about weather, forecasts, temperature, rain, storms, severe weather alerts, air quality, pollen, UV, or wants an activity recommendation (can I walk / bike / hike / commute / drive given the weather). Weather CLI powered by Open-Meteo (global, no auth, unlimited) + NWS (US severe weather). No API key. Triggers on phrasings like 'what's the weather', 'is it going to rain today', 'any storms coming', 'should I bike to work', 'how's the air quality', 'compare NYC and LA weather this weekend', 'is this unusually hot for April'."
author: "Trevin Chow"
license: "Apache-2.0"
argument-hint: "<command> [args] | install cli|mcp"
allowed-tools: "Read Bash"
metadata:
  openclaw:
    requires:
      bins:
        - weather-goat-pp-cli
    install:
      - kind: go
        bins: [weather-goat-pp-cli]
        module: github.com/mvanhorn/printing-press-library/library/other/weather-goat/cmd/weather-goat-pp-cli
---
<!-- GENERATED FILE — DO NOT EDIT.
     This file is a verbatim mirror of library/other/weather-goat/SKILL.md,
     regenerated post-merge by tools/generate-skills/. Hand-edits here are
     silently overwritten on the next regen. Edit the library/ source instead.
     See the repository agent guide, section "Generated artifacts: registry.json, cli-skills/". -->

# Weather GOAT — Printing Press CLI

## Prerequisites: Install the CLI

This skill drives the `weather-goat-pp-cli` binary. **You must verify the CLI is installed before invoking any command from this skill.** If it is missing, install it first:

1. Install via the Printing Press installer. It defaults binaries to `$HOME/.local/bin` on macOS/Linux and `%LOCALAPPDATA%\Programs\PrintingPress\bin` on Windows:
   ```bash
   npx -y @mvanhorn/printing-press-library install weather-goat --cli-only
   ```
2. Verify: `weather-goat-pp-cli --version`
3. Ensure the reported install directory is on `$PATH` for the agent/runtime that will invoke this skill.

If the `npx` install fails (no Node, offline, etc.), fall back to a direct Go install (requires Go 1.26.6 or newer):

```bash
go install github.com/mvanhorn/printing-press-library/library/other/weather-goat/cmd/weather-goat-pp-cli@latest
```

If `--version` reports "command not found" after install, the runtime cannot see the binary directory on `$PATH`. Do not proceed with skill commands until verification succeeds.

## When to Use This CLI

Reach for this when a user wants a weather lookup, storm or alert check, air-quality read, activity recommendation (bike, hike, walk, commute, drive) based on current conditions, or a "is today normal for this time of year" comparison. Particularly valuable as a morning-briefing source with `weather-goat-pp-cli` (no args → current + today's forecast + active alerts for your configured home location).

Don't reach for this when the user needs hyperlocal or commercial-grade meteorology (use a paid provider like Tomorrow.io or ECMWF), or for international severe-weather alerts (NWS is US-only).

## Unique Capabilities

### Activity verdicts — the differentiator

- **`go walk|bike|hike|commute|drive [location]`** — GO / CAUTION / STOP verdict for a specific activity, with reasoning.

  _Turns "look at the weather" into "what should I do." Each activity has its own thresholds._

  - **walk** — preparation advice (umbrella? jacket? sunscreen? layers?)
  - **bike** — wind, rain, AQI, ice thresholds tuned for cycling
  - **hike** — lightning, hypothermia risk, altitude UV
  - **commute** — compares AM departure vs PM return weather (time-aware)
  - **drive** — visibility, ice, wind gusts, NWS warnings

### Severe weather intelligence

- **`alerts [location]`** — Active NWS warnings: tornado, storm, flood, heat. Structured output with severity and area polygons.

- **`watch [location]`** — Poll NWS every 60 seconds during active severe weather. Prints new/updated alerts as they arrive. For running during a storm.

### Context and comparison

- **`normal [location]`** — Is today normal for this time of year? Compares today's high/low/precip against historical average for the same date.

- **`compare <location1> <location2> [...]`** — Side-by-side forecast for 2+ locations. Useful for travel planning or "which city is the weather better this weekend."

- **`morning-brief`** (or just `weather-goat-pp-cli` with no args, if `config set-location` was run) — Current conditions + today's forecast + active NWS alerts in one call. The daily-kickoff command.

### Air, UV, and pollen

- **`breathe [location]`** — AQI + pollen + UV with an exercise recommendation.

- **`air-quality [location]`** — Detailed AQI with PM2.5, ozone, etc.

- **`weather_codes`** — Reference for Open-Meteo weather code mappings (internal but useful when working with `--json` output).

## Command Reference

Core:

- `weather-goat-pp-cli` — Morning brief (requires `config set-location` first, or pass `[location]`)
- `weather-goat-pp-cli forecast [location]` — Multi-day forecast
- `weather-goat-pp-cli alerts [location]` — Active NWS severe weather
- `weather-goat-pp-cli history [location]` — Historical weather

Activity:

- `weather-goat-pp-cli go <activity> [location]` — `walk`, `bike`, `hike`, `commute`, `drive`

Air / environment:

- `weather-goat-pp-cli breathe [location]` — AQI + pollen + UV brief
- `weather-goat-pp-cli air-quality [location]` — Detailed AQI

Context:

- `weather-goat-pp-cli normal [location]` — Today vs historical average
- `weather-goat-pp-cli compare <loc1> <loc2>` — Side-by-side
- `weather-goat-pp-cli watch [location]` — Live NWS monitoring loop

Config + utility:

- `weather-goat-pp-cli config set-location <place>` — Set home location
- `weather-goat-pp-cli geocoding <name>` — Resolve place names to coordinates
- `weather-goat-pp-cli doctor` — Verify connectivity

## Recipes

### "Should I bike to work today?"

```bash
weather-goat-pp-cli go bike --agent
```

Returns a structured GO/CAUTION/STOP verdict with reasoning — wind speed, precipitation, AQI, temperature, ice risk — weighted for cycling specifically.

### Morning briefing after setting home location

```bash
weather-goat-pp-cli config set-location "Seattle, WA"
weather-goat-pp-cli --agent  # morning brief — no args
```

Once location is saved, the no-arg invocation returns current conditions + today's forecast + active NWS alerts. Run from a shell startup script or cron at 7am.

### Travel decision — which city is better this weekend?

```bash
weather-goat-pp-cli compare "Portland, OR" "San Francisco, CA" --agent
```

Side-by-side current conditions for both. One glance picks the trip destination.

### Watch for severe weather during a warning

```bash
weather-goat-pp-cli watch --agent &  # background poll every 60s
```

Runs indefinitely; prints JSON events to stdout when alerts change. Pipe into a logging tool or Slack webhook for alerting.

### Is today unusually hot?

```bash
weather-goat-pp-cli normal --agent
```

Returns today's high/low/precip alongside the 30-year historical average for the same calendar date. Easy "is this a heat wave" check.

## Auth Setup

**None required.** Open-Meteo is free and unlimited; NWS is free and US-public-data. The `auth` command exists for consistency but is a no-op.

Optional config:
- `WEATHER_GOAT_CONFIG` — override config file path
- Home location persisted to `~/.config/weather-goat-pp-cli/config.toml` via `config set-location`

## Agent Mode

Add `--agent` to any command. Expands to `--json --compact --no-input --no-color --yes`. Use `--forecast-days N` with `forecast`, and `--no-cache` to bypass the 15-minute GET cache.

### Filtering output

`--select` accepts dotted paths to descend into nested responses; arrays traverse element-wise:

```bash
weather-goat-pp-cli <command> --agent --select id,name
weather-goat-pp-cli <command> --agent --select items.id,items.owner.name
```

Use this to narrow huge payloads to the fields you actually need — critical for deeply nested API responses.

## Exit Codes

| Code | Meaning |
|------|---------|
| 0 | Success |
| 2 | Usage error |
| 3 | Location not found (geocoding failed) |
| 5 | API error (Open-Meteo or NWS issue) |
| 7 | Rate limited (very rare; Open-Meteo is unlimited) |

## Installation

```bash
go install github.com/mvanhorn/printing-press-library/library/other/weather-goat/cmd/weather-goat-pp-cli@latest
weather-goat-pp-cli config set-location "Your City, ST"
weather-goat-pp-cli doctor
```

### MCP Server

```bash
go install github.com/mvanhorn/printing-press-library/library/other/weather-goat/cmd/weather-goat-pp-mcp@latest
claude mcp add weather-goat-pp-mcp -- weather-goat-pp-mcp
```

## Argument Parsing

Given `$ARGUMENTS`:

1. **Empty, `help`, or `--help`** → run `weather-goat-pp-cli --help`
2. **`install`** → CLI; **`install mcp`** → MCP
3. **Activity queries ("should I bike/walk/hike...")** → `go <activity> [location] --agent`
4. **Severe weather ("any tornado warnings", "storms coming")** → `alerts [location] --agent`
5. **Comparison ("better weather in X or Y")** → `compare <loc1> <loc2> --agent`
6. **Anything else** → `forecast [location]` (or morning brief if no location passed and home is configured)

<!-- pr-218-features -->
## Agent Workflow Features

This CLI exposes three shared agent-workflow capabilities patched in from cli-printing-press PR #218.

### Named profiles

Persist a set of flags under a name and reuse them across invocations.

```bash
# Save the current non-default flags as a named profile
weather-goat-pp-cli profile save <name>

# Use a profile — overlays its values onto any flag you don't set explicitly
weather-goat-pp-cli --profile <name> <command>

# List / inspect / remove
weather-goat-pp-cli profile list
weather-goat-pp-cli profile show <name>
weather-goat-pp-cli profile delete <name> --yes
```

Flag precedence: explicit flag > env var > profile > default.

### --deliver

Route command output to a sink other than stdout. Useful when an agent needs to hand a result to a file, a webhook, or another process without plumbing.

```bash
weather-goat-pp-cli <command> --deliver file:/path/to/out.json
weather-goat-pp-cli <command> --deliver webhook:https://hooks.example/in
```

File sinks write atomically (tmp + rename). Webhook sinks POST `application/json` (or `application/x-ndjson` when `--compact` is set). Unknown schemes produce a structured refusal listing the supported set.

### feedback

Record in-band feedback about this CLI from the agent side of the loop. Local-only by default; safe to call without configuration.

```bash
weather-goat-pp-cli feedback "what surprised you or tripped you up"
weather-goat-pp-cli feedback list         # show local entries
weather-goat-pp-cli feedback clear --yes  # wipe
```

Entries append to `~/.weather-goat-pp-cli/feedback.jsonl` as JSON lines. When `WEATHER_GOAT_FEEDBACK_ENDPOINT` is set and either `--send` is passed or `WEATHER_GOAT_FEEDBACK_AUTO_SEND=true`, the entry is also POSTed upstream (non-blocking — local write always succeeds).

© Trevin Chow · Apache-2.0 · mvanhorn/printing-press-library

Похожие скиллы

Все скиллы по теме «Настройка агента: память, контекст, субагенты» →
Weather Automation Claude Office Skills Скилл получает текущую погоду и прогноз, создаёт предупреждения по условиям и запускает погодные сценарии для выбранных локаций. CX Codex +1 4 500установок threejs-weather MengTo Добавляет в Three.js сцены управляемые состояния дождя, грозы и снега. Нужен для атмосферного фона, где погода меняет частицы, свет и поверхность. CX Codex +1 1 200установок connector-weatherapi caffeinelabs Скилл задаёт правильный способ читать погоду в Caffeine-сборках: через mops-пакет weatherapi-client, а не самодельные вызовы ic.http_request. CX Codex +1 7 300установок weather openclaw Скилл получает текущую погоду и прогноз по городу, региону, коду аэропорта или координатам. Пригодится для проверки температуры и осадков или планирования поездки. CX Codex +1 9 300установок earth2studio-deterministic-forecast NVIDIA Earth-2 Team Скилл помогает собрать скрипт детерминированного прогноза погоды на Earth2Studio: подбирает модель, источник данных и бэкенд записи. CX Codex +1 1 900установок earth2studio-discover NVIDIA Earth-2 Team Скилл находит модели, источники данных и примеры в Earth2Studio под конкретную задачу прогнозирования погоды или климата. Для генерации пайплайна или скачивания данных он не предназначен. CX Codex +1 1 900установок

Из того же набора27

pp-linear Управляет задачами Linear из терминала, включая локальный поиск и сводки по циклам. Пригодится для очереди задач, проверки дублей и планирования спринта. CX Codex +1 615установок pp-firecrawl Управляет парсингом, краулингом и извлечением данных через Firecrawl CLI. Запускает поиск, сбор страниц и генерацию файлов LLMs.txt. CX Codex +1 610установок pp-scrape-creators Скилл выгружает посты, комментарии и рекламу с 28 платформ через утилиту scrape-creators-pp-cli. Он считает расход кредитов до запуска и сохраняет данные в локальную SQLite. CX Codex +1 564установок pp-google-search-console Скилл для работы с Google Search Console из терминала: сравнение периодов, быстрые победы, каннибализация запросов и разбор просадок трафика. CX Codex +1 511установок pp-coingecko Скилл учит агента работать с публичным API CoinGecko через бинарник coingecko-pp-cli. Цены, список монет, глобальные метрики рынка — без ключа для базовых эндпоинтов. CX Codex +1 453установок pp-craigslist Скилл для локального поиска и разбора объявлений Craigslist: находит новые, распознаёт репосты и скам, показывает падение цены. CX Codex +1 427установок pp-x-twitter Скилл для работы с X (Twitter) из терминала: сохраняет посты в локальную базу SQLite и ищет по ним офлайн. CX Codex +1 423установок pp-youtube Скилл для Claude, который следит за каналами конкурентов на YouTube и собирает локальную базу статистики, комментариев и обложек. Пригодится, когда нужны свежие данные о рынке, а не отчёты двухнедельной давности. CX Codex +1 418установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой