Install
$ agentstack add skill-amkessler-nicar2026-skills-in-codex-claude-weather-forecast ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Weather Forecast Skill
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)
``bash uv run python skills/weather-forecast/scripts/get_coordinates.py "City, State" ``
- Use those coordinates with get_forecast.py
``bash uv run python skills/weather-forecast/scripts/get_forecast.py ``
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
For JSON output (used for charting):
uv run python skills/weather-forecast/scripts/get_forecast.py --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.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: amkessler
- Source: amkessler/nicar2026skillsincodex_claude
- License: Apache-2.0
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.