# Weather Hint Tw

> 查詢即時天氣，用友善同事的語氣提醒。自動偵測 IP 位置，顯示天氣卡片 + 貼心聊天。當使用者說「天氣」「weather」「要不要帶傘」「會下雨嗎」「外面冷嗎」「明天天氣」或任何跟出門穿搭、天氣狀況有關的話題時，都應該觸發這個 skill。即使使用者只是隨口提到天氣，也可以用。支援 WEATHER_CITY 環境變數覆蓋位置。

- Skill: `lancetw/weather-hint-tw` (Agent Skill, multi-file: 6 files)
- Install (CLI): `npx skillmds@latest add lancetw/weather-hint-tw`
- Raw SKILL.md: https://api.skillmd.com/api/skills/lancetw/weather-hint-tw/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: lancetw (https://skillmd.com/u/lancetw)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/lancetw/weather-hint-tw

---


# 天氣提醒

## 查詢天氣

```bash
uv run "$(dirname -- "${BASH_SOURCE[0]:-$0}")/scripts/fetch_weather.py"
```

如果上面的相對路徑不行，用 skill 安裝路徑：

```bash
uv run <skill-directory>/scripts/fetch_weather.py
```

腳本先輸出 RPG 風格的讀取進度條（折疊預覽只會看到「⏳ 正在讀取天氣資料...」），最後一行才是 JSON。

支援 `WEATHER_CITY` 環境變數或傳參數覆蓋位置（如 `uv run ... Tokyo`）。
支援多城市查詢（如 `uv run ... 台北 高雄` 或 `WEATHER_CITY="台北,高雄"`）。
純 Python（只用標準庫），零暫存檔，並行 API 呼叫，輸出一行 JSON。

## 怎麼回應

1. 跑腳本取得 JSON
2. **讀 `references/prompt-guide.md`**（語氣、時段、台灣用語）
3. 用 `display` 欄位組卡片（格式見下方「狀態面板」）
4. 根據 `data` + prompt-guide 寫對話框
5. 穿搭：參考 `references/outfit-guide.md`，自然融入聊天
6. 多天預報：只在連假/天氣劇變時帶出（不要每次都報）
7. 卡片 + 對話框一起輸出

## 輸出格式（RPG 風格）

### 狀態面板

從 `display` 欄位逐行組合，每行用 `▎ ` 開頭。**放進 code block（triple backticks）** 確保換行。

格式（用 code block 包起來）：

````
```
▎ {display.地點}
▎ ──────────────────
▎ {display.溫度}
▎ {display.天氣}
▎ {display.今日}
▎ {display.明日}
▎ {display.提醒}
▎ {display.降雨預報}
```
````

- `提醒` 和 `降雨預報` 不一定存在，有才輸出
- 多城市時，每張卡片放在同一個 code block 裡，中間空一行

### 對話框

聊天文字用 `▶` 開頭，自然分段：

```
▶ 週日晚上了，吃飽沒？

  外面涼涼的，散步不錯。
  空氣霧霧的，口罩帶著吧。
  明天週一天氣差不多，安心收假。
```

規則：
- 第一句用 `▶` 開頭（像 RPG 對話指標）
- 如果從 CLAUDE.md、AGENTS.md 或對話上下文知道使用者的名字，在第一句自然地帶入
- 後續段落縮排兩格，不加 `▶`
- 3-5 句，每 1-2 句換一行

**如果腳本失敗**（網路斷、API 掛、timeout）：不要假裝有資料。直接跟使用者說「抱歉，天氣資料暫時抓不到，等一下再試試。」

## 參考文件

| 文件 | 內容 | 何時讀 |
|------|------|--------|
| `references/prompt-guide.md` | 語氣、時段關心、台灣用語、數字規則 | **每次都讀** |
| `references/data-fields.md` | JSON 欄位說明、活用時機 | 不確定欄位意思時讀 |
| `references/outfit-guide.md` | 穿搭建議對照表 | 需要穿搭建議時讀 |
| `assets/examples.md` | 12 種情境範例 | 想看範例時讀 |

