Weather Forecast Skill
SkillAI & modelsFetch 7-day weather forecasts from Open-Meteo API. ALWAYS use get_coordinates.py first when given city names to look up coordinates, then use get_forecast.py with those coordinates. Use for weather forecasts, weather data, or temperature trends.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Weather Forecast Skill skill
What this skill tells your AI
The instructions your AI receives, as published by amkessler/nicar2026_skills_in_codex_claude in skills/weather-forecast/SKILL.md and read by ahel’s review.
This skill fetches 7-day weather forecasts from the Open-Meteo API and presents the data in both table and chart formats.
When to Use This Skill
Use this skill when:
- User requests a weather forecast for any location worldwide
- User wants to see temperature trends or weather data
- User asks for a visual representation of weather conditions
- User specifies a city name or coordinates
Standard Workflow - IMPORTANT
When given a city name, ALWAYS follow this two-step process:
-
Use get_coordinates.py to geocode the location (DO NOT use built-in knowledge)
uv run python skills/weather-forecast/scripts/get_coordinates.py "City, State" -
Use those coordinates with get_forecast.py
uv run python skills/weather-forecast/scripts/get_forecast.py <lat> <lon>
DO NOT: Hardcode coordinates from training data or external knowledge. Always use the get_coordinates.py script to ensure the skill is self-contained and reproducible.
Prerequisites
The script requires the requests library. Install if needed:
pip install requests --break-system-packages
Workflow
Option A: Using City Names (US Cities Only)
For the 1000 largest US cities, use the get_coordinates.py helper script:
Step 1: Get coordinates from city name
uv run python skills/weather-forecast/scripts/get_coordinates.py "City, State"
Accepts formats:
- "Philadelphia, PA" (city, state abbreviation)
- "Trenton, New Jersey" (city, full state name)
- "Denver" "CO" (separate arguments)
Step 2: Get forecast using the coordinates
# Combined workflow
uv run python skills/weather-forecast/scripts/get_forecast.py $(uv run python skills/weather-forecast/scripts/get_coordinates.py "Philadelphia, PA")
Option B: Using Coordinates Directly
For international locations or US cities not in the database:
Step 1: Get Coordinates
- Search the web for "{city name} coordinates" to find the lat/lon
- Or ask the user to provide coordinates directly
Step 2: Run the Forecast Script
Execute the script with coordinates:
uv run python skills/weather-forecast/scripts/get_forecast.py <latitude> <longitude>
For JSON output (used for charting):
uv run python skills/weather-forecast/scripts/get_forecast.py <latitude> <longitude> --json
Step 3: Present Results
The script outputs forecast data in two formats:
Table Format (default): A formatted text table showing:
- Period names (Today, Tonight, Monday, etc.)
- Temperature (high for day, low for night)
- Wind speed and direction
- Short forecast description
JSON Format (--json flag): Structured data suitable for creating visualizations including:
- All forecast fields
- Temperature values for charting
- Day/night indicators
Step 4: Create Visualizations
After getting JSON data, create visual representations:
- Temperature Chart: Line or bar chart showing temperature trends across the 7-day period
- Condition Summary: Visual representation of weather conditions (clear, cloudy, rainy, etc.)
Use appropriate charting libraries or create React/HTML artifacts to display the data visually.
Example Usage
Using City Names (US Cities)
# Get coordinates for a US city
uv run python skills/weather-forecast/scripts/get_coordinates.py "Philadelphia, PA"
# Output: 39.9525839 -75.1652215
# Get forecast using city name (combined)
uv run python skills/weather-forecast/scripts/get_forecast.py $(uv run python skills/weather-forecast/scripts/get_coordinates.py "Denver, CO")
# Alternative format with full state name
uv run python skills/weather-forecast/scripts/get_coordinates.py "Trenton" "New Jersey"
# Verbose output shows city confirmation
uv run python skills/weather-forecast/scripts/get_coordinates.py "Seattle, WA" --verbose
# Output: Seattle, WA: 47.6062095 -122.3320708
Using Coordinates Directly
# Example: Denver, CO (39.7392, -104.9903)
uv run python skills/weather-forecast/scripts/get_forecast.py 39.7392 -104.9903
# Example: Get JSON for charting
uv run python skills/weather-forecast/scripts/get_forecast.py 39.7392 -104.9903 --json
# Example: International location (Tokyo, Japan)
uv run python skills/weather-forecast/scripts/get_forecast.py 35.6762 139.6503
Important Notes
- Worldwide Coverage: Open-Meteo API covers any location globally
- No API Key Required: Open-Meteo is free and requires no authentication
- US City Database: The
get_coordinates.pyscript includes the 1000 largest US cities (no network needed for lookups) - City Lookup Limitations: For smaller US cities or international locations, use coordinates directly
- State Required: City names require state specification to avoid ambiguity (e.g., "Springfield, MA" vs "Springfield, IL")
- Flexible State Format: Accepts both state abbreviations (PA, NJ) and full names (Pennsylvania, New Jersey)
- Network Access: The
get_forecast.pyscript requires internet access to query the Open-Meteo API - Data Freshness: Forecasts are updated regularly throughout the day
- WMO Weather Codes: The script translates WMO weather codes to readable descriptions
Sample Output
Table format:
Period Temp Wind Forecast
-----------------------------------------------------------------------------------------------
Today 68°F 10 mph SW Mainly clear
Tonight 48°F 10 mph SW Mainly clear
Monday 72°F 8 mph S Clear sky
Monday Night 52°F 8 mph S Clear sky
JSON format: Array of forecast objects with complete weather data for visualization.
References
See references/api_reference.md for detailed API documentation and WMO weather code descriptions.
Signals
- GitHub stars
- 20
- Forks
- 7
- Last commit
- Jul 2026
Advanced
- Catalog kind
- skill
- Gateway key
weather-forecast- Source
- github.com/amkessler/nicar2026_skills_in_codex_claude