← 返回 Skills 市场
patelhiren

Weather NWS

作者 Hiren Patel · GitHub ↗ · v1.0.3
cross-platform ⚠ suspicious
737
总下载
2
收藏
1
当前安装
5
版本数
在 OpenClaw 中安装
/install weather-nws
功能描述
US weather forecasts via National Weather Service (NWS) with automatic fallback to global weather for non-US locations. Provides detailed accumulation data,...
安全使用建议
This skill appears to do what it says: it geocodes the user-provided location, calls NWS for US locations, falls back to wttr.in for others, and optionally queries AirNow when you supply AIRNOW_API_KEY. Before installing or running: 1) review the full scripts/get_weather.py file (the prompt contained a truncated excerpt) to confirm there are no hidden endpoints or obfuscated code; 2) be aware the script will send location strings to external services (Nominatim, api.weather.gov, wttr.in, and optionally AirNow) — if you need to keep location queries private, avoid running the script or run it in an environment you control; 3) supply only the optional AIRNOW_API_KEY if you trust the skill and the platform; 4) watch for rate limits and respect Nominatim/NWS usage policies (the code already sets a User-Agent). If you want, I can re-check the complete get_weather.py file line-by-line for any hidden behavior.
功能分析
Type: OpenClaw Skill Name: weather-nws Version: 1.0.3 The skill's `SKILL.md` is benign and does not contain any prompt injection attempts or malicious instructions. The `scripts/get_weather.py` script implements the described weather functionality, making legitimate network calls to external weather services (NWS, AirNow, wttr.in). However, the `geocode_location` function in `scripts/get_weather.py` constructs a URL to `nominatim.openstreetmap.org` using user-provided `location` input. Although `urllib.parse.quote` is used, this pattern of using `urllib.request.urlopen` with user-influenced URL parameters can introduce a theoretical Server-Side Request Forgery (SSRF) vulnerability, allowing an attacker to potentially probe internal network resources. This constitutes a vulnerability, classifying the skill as suspicious rather than malicious due to the lack of clear intentional harmful behavior.
能力评估
Purpose & Capability
The name/description (NWS weather with global fallback) matches the behavior: geocoding, NWS API calls for US coordinates, wttr.in fallback for non-US, and optional AirNow AQI. No unrelated credentials, binaries, or installs are requested.
Instruction Scope
SKILL.md instructs running the bundled Python script and optionally providing AIRNOW_API_KEY. The runtime instructions and examples are narrowly scoped to weather queries. The script (as shown) performs only network calls to geocoding (Nominatim), NWS (api.weather.gov), wttr.in, and likely AirNow; it does not instruct reading unrelated local files or exfiltrating data to unknown endpoints.
Install Mechanism
No install spec is present (instruction-only plus a local script). That is low-risk from an installation perspective; the skill will run the included Python script directly (requires Python on PATH).
Credentials
Only one optional environment variable (AIRNOW_API_KEY) is declared and documented in SKILL.md for optional AQI functionality. No other secrets or config paths are requested, which is proportionate to the stated functionality.
Persistence & Privilege
The skill does not request always: true and is user-invocable only. It does suggest storing AIRNOW_API_KEY in OpenClaw config as an option (normal for persistent credentials). It does not modify system-wide settings or other skills.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install weather-nws
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /weather-nws 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.3
- Internal enhancements to scripts/get_weather.py - No user-facing feature changes or new options - All existing commands, flags, and behavior remain unchanged
v1.0.2
## weather-nws 1.0.2 Changelog - Internal update to `scripts/get_weather.py`. - No user-facing features or documentation changes in this version. - All other functionality and usage remain unchanged.
v1.0.1
- Added explicit environment variable metadata for AIRNOW_API_KEY to the skill manifest. - No other functional or behavioral changes.
v1.0.0
Major feature expansion: now supports hourly forecasts, air quality, fire weather, astronomy, aviation, and improved alert formatting. - Adds 8 forecast modes including hourly, snow accumulation, current/observed vs forecast, fire weather, aviation, astronomy, and air quality. - Integrates AirNow AQI data (rate-limited without key, instructions provided for API key setup). - Automatic detection of time-specific queries triggers hourly-mode output. - Improved structured output for alerts, winter storm accumulation, sunrise/sunset, and observed conditions. - Expanded CLI options (`--aqi`, `--current`, `--astro`, `--taf`, `--fire`) with real examples. - Maintains automatic fallback to wttr.in for non-US/global queries.
v0.1.0
- Initial release of the weather-nws skill. - Provides detailed US weather forecasts using the National Weather Service (NWS) API, with automatic fallback to global weather (wttr.in) for non-US locations. - Returns structured forecasts including current alerts, precipitation/snow accumulation, and actionable timing. - Automatically selects the best weather source based on user location and API availability. - Includes clear limitations and example usage for both US and international queries. - Consistent, user-friendly output regardless of source.
元数据
Slug weather-nws
版本 1.0.3
许可证
累计安装 1
当前安装数 1
历史版本数 5
常见问题

Weather NWS 是什么?

US weather forecasts via National Weather Service (NWS) with automatic fallback to global weather for non-US locations. Provides detailed accumulation data,... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 737 次。

如何安装 Weather NWS?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install weather-nws」即可一键安装,无需额外配置。

Weather NWS 是免费的吗?

是的,Weather NWS 完全免费(开源免费),可自由下载、安装和使用。

Weather NWS 支持哪些平台?

Weather NWS 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Weather NWS?

由 Hiren Patel(@patelhiren)开发并维护,当前版本 v1.0.3。

💬 留言讨论