weather-data
Fetch and analyze weather data for specified locations. Use when you need current weather conditions, forecasts, or weather-related analytics for decision-making or integration with Chainlit chat responses.
When & Why to Use This Skill
This Claude skill enables seamless retrieval and analysis of real-time weather data and global forecasts. Designed for high-performance integration, it allows AI agents and Chainlit applications to access detailed meteorological metrics—including temperature, humidity, wind speed, and atmospheric pressure—without the need for complex API authentication, making it an essential tool for context-aware automation.
Use Cases
- Case 1: Enhancing AI chatbots with real-time local weather updates to provide users with immediate, location-specific environmental context.
- Case 2: Automating weather-dependent logistics and event planning by programmatically fetching multi-day forecasts to mitigate operational risks.
- Case 3: Integrating meteorological analytics into business intelligence workflows to analyze the impact of weather patterns on regional sales or activities.
- Case 4: Building personalized daily briefing agents that summarize current conditions, sunrise/sunset times, and 'feels like' temperatures for specific coordinates.
| name | weather-data |
|---|---|
| description | Fetch and analyze weather data for specified locations. Use when you need current weather conditions, forecasts, or weather-related analytics for decision-making or integration with Chainlit chat responses. |
Weather Data Skill
Purpose
This skill enables fetching and analyzing real-time weather data from public APIs. It's useful for:
- Getting current weather conditions for any location
- Retrieving weather forecasts
- Integrating weather data into Chainlit chat responses
- Performing weather-based analytics
How to Use This Skill
1. Fetch Current Weather
Use the helper script to get current weather for a location:
python scripts/fetch_weather.py --location "London" --units metric
2. Available Parameters
--location: City name or coordinates (required)--units: metric (Celsius) or imperial (Fahrenheit), default: metric--lang: Language for response, default: en
3. Output Format
Returns JSON with:
- Temperature, feels like temperature
- Weather condition and description
- Humidity and pressure
- Wind speed and direction
- Sunrise/sunset times
- Data collection timestamp
Example Integration with Chainlit
import subprocess
import json
async def get_weather_response(location: str):
# Call the weather skill
result = subprocess.run(
["python", "scripts/fetch_weather.py", "--location", location],
capture_output=True,
text=True
)
if result.returncode == 0:
weather_data = json.loads(result.stdout)
return format_weather_message(weather_data)
else:
return f"Could not fetch weather for {location}"
def format_weather_message(data):
return f"""
Weather in {data['city']}, {data['country']}:
- Temperature: {data['temp']}°C (feels like {data['feels_like']}°C)
- Condition: {data['description']}
- Humidity: {data['humidity']}%
- Wind: {data['wind_speed']} m/s
"""
Supported Locations
The skill supports:
- City names (e.g., "London", "New York")
- City, Country format (e.g., "Paris, France")
- Coordinates in latitude,longitude format (e.g., "51.5074,-0.1278")
Error Handling
The script includes error handling for:
- Invalid locations (returns helpful error message)
- Network connectivity issues
- API rate limiting
- Malformed coordinates
Testing the Skill
Test with different locations:
# Major cities
python scripts/fetch_weather.py --location "Tokyo"
# With units specification
python scripts/fetch_weather.py --location "New York" --units imperial
# Using coordinates
python scripts/fetch_weather.py --location "51.5074,-0.1278"
Data Sources
Uses Open-Meteo API (free, no authentication required):
- Real-time weather data
- Global coverage
- Accurate forecasts
- No rate limiting for reasonable use
Notes
- Data is cached locally for 10 minutes to improve performance
- All temperature data is provided in the requested unit
- Wind speeds are in m/s (metric) or mph (imperial)
- Times are in UTC unless otherwise specified