Free SKILL.md scraped from GitHub. Clone the repo or copy the file directly into your Claude Code skills directory.
npx versuz@latest install vivekkarmarkar-claude-code-os-skills-weather-reportgit clone https://github.com/VivekKarmarkar/claude-code-os.gitcp claude-code-os/SKILL.MD ~/.claude/skills/vivekkarmarkar-claude-code-os-skills-weather-report/SKILL.md# Weather Report
Full weather report for a given location and date. Complete meteorological picture — hourly breakdown, wind patterns, humidity, UV, cloud cover, feels-like progression — without any lifestyle analysis, walking strategy, or personality layer.
## Arguments
`<location> <date>` — both optional.
- `/weather-report` — Iowa City, today
- `/weather-report NYC` — New York, today
- `/weather-report Iowa City tomorrow` — Iowa City, tomorrow
- `/weather-report London 2026-05-10` — London, May 10
Default location: **Iowa City** (41.6611, -91.5302)
Default date: **today** — resolved by running `python3 ~/.claude/skills/time/helpers/time_at.py "Iowa City"` (or the resolved location) to get the actual current date. Do NOT use the assistant's internal date context.
## Workflow
### Step 1: Resolve Date
Run the time helper to get today's date in the target location's timezone:
```bash
python3 ~/.claude/skills/time/helpers/time_at.py "<location>"
```
Extract the date from the output. If the user specified a relative date ("tomorrow", "Saturday"), compute from this. If they gave YYYY-MM-DD, use it directly.
### Step 2: Resolve Location
Known cities (hardcoded):
- Iowa City → 41.6611, -91.5302 (America/Chicago)
- NYC / New York → 40.7128, -74.0060 (America/New_York)
- San Francisco → 37.7749, -122.4194 (America/Los_Angeles)
- London → 51.5074, -0.1278 (Europe/London)
- Mumbai → 19.0760, 72.8777 (Asia/Kolkata)
- Tokyo → 35.6762, 139.6503 (Asia/Tokyo)
For anything else, use `mcp__open-meteo__geocoding` to resolve.
### Step 3: Fetch Weather
Call `mcp__open-meteo__weather_forecast` with:
- Resolved lat/lon
- `current`: temperature_2m, apparent_temperature, wind_speed_10m, wind_gusts_10m, wind_direction_10m, relative_humidity_2m, precipitation, weather_code, cloud_cover, uv_index
- `hourly`: temperature_2m, apparent_temperature, precipitation_probability, precipitation, wind_speed_10m, wind_gusts_10m, relative_humidity_2m, weather_code, cloud_cover, uv_index, is_day
- `daily`: temperature_2m_max, temperature_2m_min, apparent_temperature_max, apparent_temperature_min, precipitation_sum, precipitation_probability_max, wind_speed_10m_max, wind_gusts_10m_max, sunrise, sunset, daylight_duration, uv_index_max, weather_code
- `temperature_unit`: fahrenheit
- `wind_speed_unit`: mph
- `timezone`: appropriate for location
- `forecast_days`: number of days needed to cover the requested date (1 for today, 2 for tomorrow, etc.)
### Step 4: Daily Summary
Present a summary table:
| Metric | Value |
|---|---|
| **Location** | [city] |
| **Date** | [date, day of week] |
| **Condition** | [weather code → description] |
| **High / Low** | [max]°F / [min]°F ([°C] / [°C]) |
| **Feels Like Range** | [apparent max]°F / [apparent min]°F |
| **Wind** | max [speed] mph, gusts [gusts] mph |
| **Humidity** | [range across the day]% |
| **Precipitation** | [total mm] ([probability max]% chance) |
| **UV Index** | [max] ([descriptor: low/moderate/high/very high/extreme]) |
| **Cloud Cover** | [general description from hourly data] |
| **Sunrise / Sunset** | [times] ([daylight hours]) |
### Step 5: Hourly Breakdown
Present key hours in a compact table. Group into blocks — Morning (6AM-12PM), Afternoon (12PM-6PM), Evening (6PM-10PM), Night (10PM-6AM). Show every 2-3 hours:
| Time | Temp (°F) | Feels Like | Wind (mph) | Gusts | Humidity | Cloud % | UV | Precip % | Condition |
|---|---|---|---|---|---|---|---|---|---|
### Step 6: Weather Narrative
Write 3-5 sentences describing the day's weather story. Cover:
- How the day unfolds (morning → afternoon → evening)
- When wind picks up or dies down
- Cloud cover changes
- When the most/least comfortable windows are
- Any notable transitions (e.g., "residual heat after sunset due to humidity and dying wind")
This is meteorological narrative, not lifestyle advice. Describe the weather, don't tell people what to do about it.