Global Weather Service
v0.1.1Complete weather system powered by Open-Meteo for global city weather lookup and scheduled weather subscriptions. Use when the user asks to check current or...
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 "<target>" --timezone "Asia/Shanghai"
Create subscription:
python scripts/manage_weather_subscription.py add --to "<target>" --city "南京" --time "每天早上8点" --mode today
python scripts/manage_weather_subscription.py add --to "<target>" --city "伦敦" --time "每天早上8点" --mode tomorrow
python scripts/manage_weather_subscription.py add --to "<target>" --city "东京" --time "每天早上8点" --mode 7day
List subscriptions:
python scripts/manage_weather_subscription.py list --to "<target>"
Update subscription:
python scripts/manage_weather_subscription.py update --id "<job-id>" --time "每天晚上8点"
python scripts/manage_weather_subscription.py update --id "<job-id>" --city "伦敦"
python scripts/manage_weather_subscription.py update --id "<job-id>" --mode 7day
Delete subscription:
python scripts/manage_weather_subscription.py remove --id "<job-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
- Weather data source must be Open-Meteo.
- Do not promise future pushes without creating a real cron job.
- If subscription time is missing, ask for a concrete time first.
- If subscription city is missing, ask which city to subscribe to.
- If timezone is missing for subscription creation, ask for an IANA timezone explicitly.
- Support natural subscription modes:
today,tomorrow,7day. - Allow deletion by subscription id or unique subscription name.
- When a subscription fires, fetch fresh weather at trigger time.
- 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.
Version tags
latest
