cwa-weatherlisted
Install: claude install-skill tahodev/baodao-skill
# cwa-weather
> 實測日:2026-09-14(最近一次端對端實測;數值基準日各自標於內文)
用中央氣象署(CWA)開放資料平臺(opendata.cwa.gov.tw)查正式天氣預報。**這是官方資料**,正式預報優先用這裡;免金鑰備援是 `taiwan-weather`(Open-Meteo)。
**需要 API 金鑰(免費、即時發給):** 到 https://opendata.cwa.gov.tw 註冊會員,登入後在「會員專區」即可看到授權碼。沒有金鑰時呼叫會回 `401 Forbidden: Authorization key is not correct.`(2026-09-09 實測)。使用者沒有金鑰時,請改用 `taiwan-weather` 或引導使用者申請,不要編造預報內容。
颱風動態、豪雨特報、各種警報、地震速報**不在本技能範圍**:免金鑰可用 taiwan-weather 的 NCDR CAP feed 查詢(見下方「警特報、颱風與地震」一節),正式公告內容一律以中央氣象署 https://www.cwa.gov.tw 為準。
## 基本流程
1. 請使用者提供 CWA 授權碼(或確認環境中已有)
2. 依需求選資料集:縣市 36 小時預報,或鄉鎮逐區預報
3. 帶 `Authorization` 參數呼叫,解析 JSON
### 1. 縣市 36 小時預報(F-C0032-001)
```bash
curl -sm 30 'https://opendata.cwa.gov.tw/api/v1/rest/datastore/F-C0032-001?Authorization=<授權碼>&locationName=臺北市' -o /tmp/cwa.json
```
- 一次最多查多個縣市:`locationName=臺北市,新北市`;不帶則回全部縣市。
- 回傳 JSON(預設;`&format=XML` 可換 XML)。結構:`records.location[]`,每縣市含 `locationName` 與 `weatherElement[]`:`Wx`(天氣現象)、`PoP`(降雨機率 %)、`MinT`(最低溫)、`CI`(舒適度)、`MaxT`(最高溫),各元素 `time[]` 內有 `startTime`/`endTime`/`parameter.parameterName`。
### 2. 鄉鎮預報(F-D0047 系列)
每個縣市有各自的 dataset id(`F-D0047-xxx`,一週逐 12 小時或 3 小時鄉鎮預報;2026-09-14 實測臺北市 = `F-D0047-061`)。其餘縣市的 id 到 https://opendata.cwa.gov.tw 資料目錄搜尋「鄉鎮天氣預報」確認。**此系列的 `locationName` 參數無過濾效果**(2026-09-14 實測),一律回傳全縣市所有鄉鎮,下載後自行篩選:
```bash
curl -sm 30 'https://opendata.cwa.gov.tw/api/v1/rest/datastore/F-D0047-061?Authorization=<授權碼>' -o /tmp/cwa_tpe.json
jq -r '.records.Locations[0].Location[] | select(.LocationName=="大安區") | .LocationName' /tmp/c