跳到主要内容
知仓学习社ZHICANG

weather-now

Get current weather and forecasts with zero API keys — wttr.in one-liners for humans, Open-Meteo JSON for data, with the exact curl commands and for…

不碰外部(只输出文字)无严重或高危命中mohitagw15856/pm-claude-skills

它会碰到什么

扫了多少1 个文本文件,4 KB
它会碰到什么不碰外部(只输出文字)
命中总数0 处
命中统计严重 0 · 高 0 · 中 0 · 低 0

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

Weather Now Skill

Weather is the perfect agent utility: everyone asks, and two excellent services answer over plain HTTPS with no keys, no signup, no SDK. This skill knows both — wttr.in for beautiful one-line and full-terminal answers, Open-Meteo for structured JSON when the task needs numbers — plus the format codes and fallback discipline that make the answer reliable instead of lucky.

What This Skill Produces

  • The answer — current conditions or forecast, interpreted in one plain sentence before any raw data
  • The data — the relevant fields (temp, precipitation, wind, humidity) at the units the user lives in
  • The command — the exact curl used, shown so the user can rerun or script it
  • The caveat line — data source and its timestamp; weather data is advisory, not aviation/safety-grade

Required Inputs

Ask for these if not provided:

  • Location — city name, airport code (wttr.in takes IATA), lat/lon, or "here" (ask rather than guess the user's location)
  • What they actually want — right-now vs. today vs. multi-day; "will it rain" wants precipitation timing, not a temperature
  • Units — metric/imperial if ambiguous from the location

Framework: The Two Services

  1. wttr.in — primary for human answers: curl -s "wttr.in/Tokyo?format=3" → one line. Format codes: %c condition icon, %t temp, %h humidity, %w wind, %p precipitation, %m moon phase — compose as ?format="%l:+%c+%t,+wind+%w". Full 3-day panel: curl -s "wttr.in/Tokyo" (add ?m metric, ?u imperial, ?T no-color for parsing). Airport codes work: wttr.in/nrt. PNG for sharing: wttr.in/Tokyo.png.
  2. Open-Meteo — primary for data, fallback for everything: curl -s "https://api.open-meteo.com/v1/forecast?latitude=35.68&longitude=139.69&current_weather=true" → JSON. Rich forecasts: append &hourly=temperature_2m,precipitation_probability&daily=temperature_2m_max,temperature_2m_min,precipitation_sum&timezone=auto&forecast_days=3. Geocode names first when needed: https://geocoding-api.open-meteo.com/v1/search?name=Tokyo&count=1.
  3. Fallback discipline: wttr.in rate-limits and occasionally naps — on any non-weather response, switch to Open-Meteo silently and say which source answered. Never present a failed fetch as "no data exists."
  4. Interpret, don't dump: the deliverable is "light rain from ~3pm, carry the umbrella" with the numbers beneath — not a JSON blob. Weather codes from Open-Meteo (WMO codes: 0 clear, 1–3 clouds, 51–67 rain, 71–77 snow, 95+ thunderstorm) get translated to words.
  5. Timestamp honesty: quote the observation/forecast time from the response; if the tool environment has no network, say so and provide the command for the user to run — never recite remembered weather.

Output Format

Weather: [location, resolved]

[The one-sentence answer to what they actually asked.]

[Conditions table or forecast lines, right units]

Source: [wttr.in / Open-Meteo] at [response timestamp] · rerun: [the exact curl]

Live data, advisory only — for safety-critical decisions use official meteorological services.

Quality Checks

  • [ ] The first line answers the actual question (rain timing, not temperature, if rain was asked)
  • [ ] Units match the user's locale or stated preference
  • [ ] The source and its timestamp are quoted
  • [ ] The rerunnable curl appears
  • [ ] Fallback engaged silently on primary failure, and the answer names which source spoke

Anti-Patterns

  • [ ] Do not answer from memory — no network means no weather; say so and hand over the command
  • [ ] Do not dump raw JSON as the answer — interpret first, data second
  • [ ] Do not guess the user's location — ask, or use the location they named
  • [ ] Do not present a rate-limited wttr.in error page as weather
  • [ ] Do not oversell precision — hour-level precipitation timing is a forecast, and the wording should sound like one

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。

同名技能的其他版本

有 3 个不同仓库或目录里都有叫 weather-now 的技能。它们内容并不相同,别混用: