← Back to Skills Marketplace
zykkk-power

Global Weather Service

by zykkk-power · GitHub ↗ · v0.1.1 · MIT-0
cross-platform ⚠ suspicious
56
Downloads
0
Stars
0
Active Installs
2
Versions
Install in OpenClaw
/install global-weather-service
Description
Complete weather system powered by Open-Meteo for global city weather lookup and scheduled weather subscriptions. Use when the user asks to check current or...
README (SKILL.md)

Global Weather Service

Use this skill for both one-time weather queries and cron-backed weather subscriptions.

Capability split

1. One-time weather query

Use this when the user wants weather now, today, tomorrow, or a multi-day forecast.

Command:

python scripts/weather_report.py "伦敦"
python scripts/weather_report.py "南京" --days 7

Return the script output directly when the user wants the standard formatted bulletin.

2. Weather subscription

Use this when the user wants automatic pushes such as:

  • 每天早上8点推送南京天气
  • 以后每天发我伦敦今天天气
  • 帮我看看我有哪些天气订阅
  • 删除我的天气订阅

Set timezone first when missing:

python scripts/manage_weather_subscription.py set-timezone --to "\x3Ctarget>" --timezone "Asia/Shanghai"

Create subscription:

python scripts/manage_weather_subscription.py add --to "\x3Ctarget>" --city "南京" --time "每天早上8点" --mode today
python scripts/manage_weather_subscription.py add --to "\x3Ctarget>" --city "伦敦" --time "每天早上8点" --mode tomorrow
python scripts/manage_weather_subscription.py add --to "\x3Ctarget>" --city "东京" --time "每天早上8点" --mode 7day

List subscriptions:

python scripts/manage_weather_subscription.py list --to "\x3Ctarget>"

Update subscription:

python scripts/manage_weather_subscription.py update --id "\x3Cjob-id>" --time "每天晚上8点"
python scripts/manage_weather_subscription.py update --id "\x3Cjob-id>" --city "伦敦"
python scripts/manage_weather_subscription.py update --id "\x3Cjob-id>" --mode 7day

Delete subscription:

python scripts/manage_weather_subscription.py remove --id "\x3Cjob-id>"
python scripts/manage_weather_subscription.py remove --name "天气订阅: 南京 今天天气"
python scripts/manage_weather_subscription.py remove --name "南京"

Output format for weather reports

Always use this structure unless the user explicitly asks for another format:

#英国伦敦近七日天气
📍 2026年04月28日天气
⛅ 多云 | 温度:22.1/9.8℃

📊 生活指数
🤧 感冒:较易发
🏃 运动:适宜
👔 穿衣:长袖衬衫 / 薄外套 / 早晚加一件针织衫
☀️ 紫外线:较强
❗ 其他建议:昼夜温差明显,白天舒适,早晚偏凉,建议做好基础防晒

Rules

  1. Weather data source must be Open-Meteo.
  2. Do not promise future pushes without creating a real cron job.
  3. If subscription time is missing, ask for a concrete time first.
  4. If subscription city is missing, ask which city to subscribe to.
  5. If timezone is missing for subscription creation, ask for an IANA timezone explicitly.
  6. Support natural subscription modes: today, tomorrow, 7day.
  7. Allow deletion by subscription id or unique subscription name.
  8. When a subscription fires, fetch fresh weather at trigger time.
  9. For one-time lookups, do not go through subscription flow.

Notes

  • One-time report script: scripts/weather_report.py
  • Subscription manager script: scripts/manage_weather_subscription.py
  • Subscription data: data/subscriptions.json
  • User timezone data: data/user_timezones.json
  • Open-Meteo requires no API key.
Usage Guidance
This skill appears to do what it claims: generate Open‑Meteo weather reports and create real scheduled deliveries via the OpenClaw CLI. Before installing, verify that you trust the OpenClaw runtime (openclaw.cmd) because the subscription manager invokes that CLI to create cron jobs and pass messages/targets. Review data/subscriptions.json for any existing targets you don't recognize (they will be used for delivery). If you don't want scheduled pushes, avoid creating subscriptions or remove existing entries. No API keys or external installers are required and network requests go only to Open‑Meteo geocoding/forecast endpoints according to the code.
Capability Analysis
Type: OpenClaw Skill Name: global-weather-service Version: 0.1.1 The skill provides global weather forecasts and a subscription service using Open-Meteo. However, `scripts/manage_weather_subscription.py` contains a prompt injection vulnerability where the user-provided `city` argument is embedded without sanitization into a command string (`python scripts\weather_report.py "{city}"`) that the AI agent is instructed to execute later via the `openclaw cron` system. While no evidence of intentional malice or data exfiltration was found, this architectural flaw allows for potential command injection or agent manipulation if a user provides a specially crafted city name.
Capability Tags
requires-sensitive-credentials
Capability Assessment
Purpose & Capability
Name/description (one‑time queries + scheduled subscriptions) matches the included scripts and data files. The code only uses Open‑Meteo endpoints for weather data and local JSON files for subscriptions/timezones. The subscription manager invokes an OpenClaw CLI to create cron jobs, which is expected for scheduling behaviour.
Instruction Scope
SKILL.md instructs running the included Python scripts and managing subscriptions; the scripts read/write only the stated data files and call Open‑Meteo. There are no instructions to read unrelated files or exfiltrate secrets. The subscription flow requires creating real cron jobs via an OpenClaw command, which is consistent with the stated feature.
Install Mechanism
No install spec or external archive downloads. This is an instruction + bundled script skill; all code is present in the repo and nothing is fetched or extracted at install time.
Credentials
The skill declares no required environment variables or credentials. It does store and use local subscription/ timezone data and expects an OpenClaw CLI (openclaw.cmd) for cron operations. No unrelated cloud credentials or secrets are requested.
Persistence & Privilege
The skill is not always-enabled and does not request special platform privileges. It does create scheduled cron jobs by invoking the OpenClaw CLI — this gives the skill persistent scheduled delivery behaviour, which is expected for subscriptions and should be allowed only in a trusted OpenClaw environment.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install global-weather-service
  3. After installation, invoke the skill by name or use /global-weather-service
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.1.1
Update README and polish public project documentation.
v0.1.0
Initial release of the OpenClaw global weather query and subscription skill.
Metadata
Slug global-weather-service
Version 0.1.1
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 2
Frequently Asked Questions

What is Global Weather Service?

Complete weather system powered by Open-Meteo for global city weather lookup and scheduled weather subscriptions. Use when the user asks to check current or... It is an AI Agent Skill for Claude Code / OpenClaw, with 56 downloads so far.

How do I install Global Weather Service?

Run "/install global-weather-service" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Global Weather Service free?

Yes, Global Weather Service is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Global Weather Service support?

Global Weather Service is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Global Weather Service?

It is built and maintained by zykkk-power (@zykkk-power); the current version is v0.1.1.

💬 Comments