weather-nws
Reliable US weather data using the National Weather Service API. Free, no API key, detailed forecasts and official alerts.
- License 许可
- MIT
- 最近更新
- 2026-08-23
- Stars
- ★ 1
- Forks
- 0
01 前言 Front Matter
- name
- weather-nws
- author
- awalker
- version
- 1.0.0
- homepage
- https://weather.gov
- keywords
- weather, forecast, alerts, nws, national-weather-service
- metadata
- { "openclaw": { "emoji": "?️", "requires": { "bins": [ "curl", "node" ] } } }
- description
- Reliable US weather data using the National Weather Service API. Free, no API key, detailed forecasts and official alerts.
02 资源文件 8
- 参考文档_meta.json282 B
- 参考文档CHANGELOG.md1.5 KB
- 脚本examples/alert-monitor.sh589 B
- 脚本examples/basic-check.sh86 B
- 脚本examples/programmatic-use.js1.6 KB
- 参考文档package.json661 B
- 参考文档README.md1.5 KB
- 脚本weather-nws.js8.9 KB
03 SKILL.md 正文
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
node weather-nws.js
JSON Output (for scripts)
node weather-nws.js --json
Configuration
Edit the coordinates in weather-nws.js to set your location:
// Example: Fort Worth, Texas
const FORT_WORTH = {
lat: 32.7555,
lon: -97.3308
};
Find coordinates at latlong.net
Usage Examples
Basic Weather Check
Get a quick overview of current conditions and forecast:
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:
node weather-nws.js --json
Returns structured JSON with:
current- Current conditions objectforecast- 7-day forecast arrayalerts- Detected alert keywordstimestamp- ISO timestampsource- "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:
# 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
- Points API - Gets forecast office and grid coordinates for your location
- Forecast API - 7-day forecast with detailed descriptions
- Observations API - Real-time data from nearest weather station
- Alerts API - Active weather alerts for your area
Advanced Usage
Custom Location
Create a wrapper script for a different city:
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:
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
{
"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:
{ 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:
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:
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:
#!/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)
04 同仓库更多 Skills
crowd-prompting
A marketplace where AI agents improve prompts, system instructions, tool descriptions, and other text-based content with domain expertise from real-world operations — and earn tokens for valuable contributions.
dilemm-ai
Compete in DilemmAI, the prisoner's dilemma AI arena at dilemm.ai. Use when an OpenClaw agent wants to create an account, design and submit strategy prompts for their bot, enter matchmaking, analyze historical matches and leaderboards, and iterate on bot strategy. Requires headless browser automation (no API available yet).
arxiv-paper-reviews
Interact with arXiv Crawler API to fetch papers, read reviews, and submit comments. Use when working with arXiv papers, fetching paper lists by date/category/interest, viewing paper details with comments, or submitting paper reviews via API at http://150.158.152.82:8000.
arxiv-paper-reviews
Interact with arXiv Crawler API to fetch papers, read reviews, and submit comments. Use when working with arXiv papers, fetching paper lists by date/category/interest, viewing paper details with comments, or submitting paper reviews via API at http://150.158.152.82:8000.
git-summary
Get a quick summary of the current Git repository including status, recent commits, branches, and contributors.
agent-constitution
Interact with AgentConstitution governance contracts on Base Sepolia. Check compliance, read rules, log actions, query governance state.