weather-nws
Reliable US weather data using the National Weather Service API. Free, no API key, detailed forecasts and official alerts.
Best use case
weather-nws is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Reliable US weather data using the National Weather Service API. Free, no API key, detailed forecasts and official alerts.
Teams using weather-nws should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/weather-nws/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How weather-nws Compares
| Feature / Agent | weather-nws | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Reliable US weather data using the National Weather Service API. Free, no API key, detailed forecasts and official alerts.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Weather NWS
Get reliable, detailed weather data from the National Weather Service API. Perfect for US locations - completely free, no API key required, with official weather alerts.
## When to Use
Use this skill when you need:
- **Reliable US weather data** without API key hassles
- **Official weather alerts** (tornado warnings, flood alerts, etc.)
- **Detailed current conditions** beyond basic temperature
- **7-day forecasts** with comprehensive descriptions
- **Morning briefings** with accurate local weather
- **Weather monitoring** in automation/cron jobs
- **Alert-based notifications** for severe weather
This skill is ideal for US-based OpenClaw deployments that need professional-grade weather data without the complexity or cost of commercial APIs.
## Features
- 🌡️ **Detailed Current Conditions** - Temperature, feels-like, humidity, wind, pressure, visibility, dewpoint
- 📅 **7-Day Forecast** - Comprehensive daily forecasts with detailed descriptions
- 🚨 **Official Alerts** - Cold Weather Advisories, Tornado Warnings, Flood Alerts, etc.
- 🆓 **100% Free** - No API key, no rate limits, reliable government service
- 📍 **Accurate** - Data from official NWS weather stations
## Quick Start
### Get Current Weather
```bash
node weather-nws.js
```
### JSON Output (for scripts)
```bash
node weather-nws.js --json
```
## Configuration
Edit the coordinates in `weather-nws.js` to set your location:
```javascript
// Example: Fort Worth, Texas
const FORT_WORTH = {
lat: 32.7555,
lon: -97.3308
};
```
Find coordinates at [latlong.net](https://www.latlong.net)
## Usage Examples
### Basic Weather Check
Get a quick overview of current conditions and forecast:
```bash
node weather-nws.js
```
**Output:**
```
=== CURRENT CONDITIONS ===
Temperature: 30°F (Feels like: 21°F)
Condition: Clear
Humidity: 69%
Wind: 10 mph 310
Pressure: 30 inHg
Visibility: 10 miles
Dewpoint: 21°F
=== TODAY'S FORECAST ===
Sunny, with a high near 47. North northwest wind 5 to 10 mph.
=== 7-DAY OUTLOOK ===
Today: 47°F - Sunny
Tonight: 21°F - Mostly Clear
Saturday: 33°F - Sunny
Saturday Night: 22°F - Mostly Clear
Sunday: 53°F - Sunny
Sunday Night: 34°F - Clear
Monday: 64°F - Mostly Sunny
🚨 ACTIVE NWS ALERTS:
Cold Weather Advisory (Moderate/Expected)
Cold Weather Advisory issued January 29 at 11:49PM CST until January 31 at 11:00AM CST
```
### Programmatic Use (JSON)
For automation and integration:
```bash
node weather-nws.js --json
```
Returns structured JSON with:
- `current` - Current conditions object
- `forecast` - 7-day forecast array
- `alerts` - Detected alert keywords
- `timestamp` - ISO timestamp
- `source` - "National Weather Service"
### Integration with OpenClaw
Use in your OpenClaw prompts:
```
Check the weather and let me know if I need a jacket today.
```
Or in cron jobs:
```bash
# Morning weather brief
0 8 * * * node /path/to/weather-nws.js
```
### Weather Alert Monitoring
The skill includes alert detection for:
- 🌪️ **Tornado** warnings and watches (CRITICAL)
- ⛈️ **Severe Storms** with damaging winds, hail (HIGH)
- 🌊 **Flood** warnings and flash floods (HIGH)
- ❄️ **Winter Weather** - ice storms, blizzards, heavy snow (HIGH)
- 🔥 **Heat** advisories and excessive heat warnings (MEDIUM)
- 💨 **Wind** advisories and high wind warnings (MEDIUM)
## API Details
### National Weather Service API
- **Endpoint:** api.weather.gov
- **Authentication:** None required (User-Agent header recommended)
- **Rate Limiting:** None (reasonable use expected)
- **Coverage:** United States only
- **Documentation:** https://weather-gov.github.io/api/
### Data Sources
1. **Points API** - Gets forecast office and grid coordinates for your location
2. **Forecast API** - 7-day forecast with detailed descriptions
3. **Observations API** - Real-time data from nearest weather station
4. **Alerts API** - Active weather alerts for your area
## Advanced Usage
### Custom Location
Create a wrapper script for a different city:
```javascript
const NWSWeather = require('./weather-nws.js');
// Chicago coordinates
const weather = new NWSWeather(41.8781, -87.6298);
const data = await weather.getWeather();
console.log(JSON.stringify(data, null, 2));
```
### Alert Monitoring
Check for active official alerts:
```javascript
const NWSWeather = require('./weather-nws.js');
const weather = new NWSWeather(32.7555, -97.3308);
const alerts = await weather.getActiveAlerts();
if (alerts.length > 0) {
console.log('⚠️ ACTIVE ALERTS:');
alerts.forEach(alert => {
console.log(`${alert.event} - ${alert.severity}/${alert.urgency}`);
console.log(alert.headline);
});
}
```
## Output Format
### Current Conditions Object
```json
{
"current": {
"temp": "30°F",
"feelsLike": "21°F",
"condition": "Clear",
"humidity": "69%",
"windSpeed": "10 mph",
"windDirection": "310",
"pressure": "30 inHg",
"visibility": "10 miles",
"dewpoint": "21°F"
},
"forecast": {
"today": "Sunny, with a high near 47...",
"tonight": "Mostly clear...",
"high": "47°F",
"periods": [...]
},
"alerts": [],
"timestamp": "2026-01-30T15:00:00.000Z",
"source": "National Weather Service"
}
```
## Why NWS?
Compared to other weather APIs:
| Feature | NWS | wttr.in | OpenWeather | WeatherAPI |
|---------|-----|---------|-------------|------------|
| Cost | FREE | FREE | $40+/mo | $0-$50/mo |
| API Key | ❌ No | ❌ No | ✅ Yes | ✅ Yes |
| Reliability | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| Official Alerts | ✅ Yes | ❌ No | ❌ No | ⚠️ Limited |
| Detail Level | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| US Coverage | ✅ Excellent | ✅ Good | ✅ Good | ✅ Good |
## Troubleshooting
### "Invalid response from NWS"
Check your coordinates are correct and within the US. The NWS API only covers United States territories.
### Timeout errors
Increase the timeout in the script:
```javascript
{ encoding: 'utf8', timeout: 30000 } // 30 seconds
```
### No alerts showing
This is normal! The skill only shows alerts when there are active weather warnings for your area.
## Integration Examples
### Morning Brief
Include weather in your daily automation:
```javascript
const NWSWeather = require('./weather-nws.js');
const weather = new NWSWeather(32.7555, -97.3308);
const data = await weather.getWeather();
console.log(`Good morning! It's ${data.current.temp} and ${data.current.condition}.`);
console.log(`Today's high will be ${data.forecast.high}.`);
if (data.alerts.length > 0) {
console.log(`⚠️ Weather alerts: ${data.alerts.map(a => a.type).join(', ')}`);
}
```
### Discord/Telegram Bot
Post weather updates to channels:
```javascript
const data = await weather.getWeather();
const message = `🌤️ **Weather Update**\n` +
`Current: ${data.current.temp} (feels like ${data.current.feelsLike})\n` +
`Today's high: ${data.forecast.high}\n` +
`Forecast: ${data.forecast.today}`;
// Send to your messaging platform
await sendMessage(message);
```
### Cron Job with Alerts
Monitor for severe weather:
```bash
#!/bin/bash
# Check weather every 15 minutes, alert on warnings
weather_json=$(node weather-nws.js --json)
alerts=$(echo "$weather_json" | jq -r '.alerts[] | .type')
if [ -n "$alerts" ]; then
# Send notification
echo "Weather alerts detected: $alerts"
# Your notification logic here
fi
```
## License
This skill uses the National Weather Service API, which is public domain (US Government).
## Support
- **NWS API Issues:** https://github.com/weather-gov/weather.gov/issues
- **Skill Issues:** Contact the author
## Credits
Weather data provided by the National Weather Service (NOAA).
---
**Built for OpenClaw** (formerly Clawdbot)Related Skills
weather
Get current weather and forecasts (no API key required).
dhmz-weather
Get Croatian weather data, forecasts, and alerts from DHMZ (meteo.hr) - no API key required.
aviation-weather
Fetch aviation weather data (METAR, TAF, PIREPs) from aviationweather.gov. Use for flight planning, weather briefings, checking airport conditions, or any pilot-related weather queries. Triggers on "METAR", "TAF", "flight weather", "airport weather", "aviation weather", "pilot report", "PIREP", or specific ICAO codes.
weather-check
Get current weather for a location
farmos-weather
Query weather data and forecasts for farm fields via the Agronomy module.
yr-no-weather
Fetch weather forecasts from the Norwegian Meteorological Institute (MET) using the yr.no API.
solar-weather
Monitor solar weather conditions including geomagnetic storms, solar flares, aurora forecasts, and solar wind data. Uses NOAA Space Weather Prediction Center real-time data.
simmer-weather
Trade Polymarket weather markets using NOAA forecasts via Simmer API. Inspired by gopfan2's $2M+ strategy. Use when user wants to trade temperature markets, automate weather bets, check NOAA forecasts, or run gopfan2-style trading.
paylock
Non-custodial SOL escrow for AI agent deals.
agent-reputation
summary: Cross-platform AI agent reputation checker with trust scoring and PayLock escrow recommendations.
Telecom Agent Skill
Turn your AI Agent into a Telecom Operator. Bulk calling, ChatOps, and Field Monitoring.
OpenClaw-Finnhub
OpenClaw skill for real-time stock quote, and financials via Finnhub API.