hiking-weather

Hiking and mountain weather forecasts using Open-Meteo pressure level data. Use when planning a hike, trek, or mountain climb and needing altitude-specific weather (temperature, wind, cloud layers, visibility, freezing level, precipitation by elevation). Supports GPX route files for automatic waypoint extraction. Triggers: hiking weather, mountain weather, trail forecast, summit conditions, should I hike tomorrow, is it safe to hike, cloud altitude, wind at summit, freezing level.

Requirements

Requires python3 and curl. Uses Open-Meteo API (free, no key needed).

Install

npx skills add whtsky/skills -s hiking-weather

Hiking Weather

Altitude-aware weather forecasts for hiking routes using Open-Meteo (free, no API key).

Core Workflow

1. Determine Route Info

Most users will just say a mountain/trail name. Work with whatever they give:

Typical: user gives a mountain or trail name

Search for: coordinates, trailhead elevation, summit/highest point elevation. This is enough — no GPX needed.

Example: “Tongariro Alpine Crossing” → trailhead 1120m, summit 1868m, coords -39.135, 175.651

If user gives coordinates + elevation range, use directly.

If user provides a GPX file (advanced):

python3 scripts/parse_gpx.py <file.gpx> --max-points 8

If output shows needs_elevation_lookup: true, fill elevations:

curl -s "https://api.open-meteo.com/v1/elevation?latitude={lat1},{lat2}&longitude={lon1},{lon2}"

2. Select Pressure Levels

Map route elevations to pressure levels. See references/open-meteo-api.md for the altitude↔pressure table.

Rules:

3. Fetch Weather Data

Build the Open-Meteo API call. See references/open-meteo-api.md for full parameter reference.

Essential variables:

Set elevation parameter to the summit elevation for accurate surface forecasts at the highest point.

4. Analyze and Present

See references/safety-thresholds.md for go/no-go criteria.

Output format (adapt to context — Telegram, Discord, etc.):

🥾 [Route Name] — [Date]
📍 [Elevation range]m

⏰ Best window: [time range]
[✅/⚠️/🔴/❌] Overall: [go/caution/risky/no-go]

Summit ([elevation]m, ~[X]hPa):
  🌡️ [temp]°C (feels [apparent]°C)
  💨 Wind [speed] km/h, gusts [gust] (direction)
  ☁️ Cloud [%]% at summit level
  👁️ Visibility [X] km
  ❄️ Freezing level: [X]m [above/below summit]
  🌧️ Precipitation: [%]% chance

Trailhead ([elevation]m):
  🌡️ [temp]°C
  💨 Wind [speed] km/h

📋 Gear notes:
  - [wind shell / warm layers / rain gear / crampons etc.]

⚠️ Alerts:
  - [any concerning conditions]

Key analysis points:

Critical Rules

View source on GitHub →