SKILL.md
readonlyread-only
name
canary-watch
description
Use this skill to monitor and verify a deployed URL after releases — checks HTTP endpoints, SSE streams, static assets, console errors, and performance regressions after deploys, merges, or dependency upgrades. Smoke / canary / post-deploy verification.
Canary Watch — 發布後監控
使用時機
- 部署到正式環境或暫存環境後
- 合併高風險 PR 後
- 想確認修復確實生效時
- 發布窗口期間的持續監控
- 依賴升級後
運作方式
監控已部署的 URL 是否有回歸問題。會持續循環執行,直到被停止或監控時間到期。
監控項目
1. HTTP 狀態 — 頁面是否回傳 200?
2. 主控台錯誤 — 是否有之前沒有的新錯誤?
3. 網路失敗 — API 呼叫失敗、5xx 回應?
4. 效能 — LCP/CLS/INP 與基準相比是否衰退?
5. 內容 — 關鍵元素是否消失?(h1、導覽列、頁尾、CTA)
6. API 健康狀態 — 關鍵端點是否在 SLA 內回應?
7. 靜態資源 — JS、CSS、圖片、字型請求是否回傳 2xx/3xx 且內容類型符合預期?
8. SSE 串流 — 事件串流端點是否能連線並收到初始事件或心跳?
監控模式
快速檢查(預設):單次執行,回報結果
/canary-watch https://myapp.com
持續監控:每 N 分鐘檢查一次,持續 M 小時
/canary-watch https://myapp.com --interval 5m --duration 2h
差異模式:比較暫存環境與正式環境
/canary-watch --compare https://staging.myapp.com https://myapp.com
警示門檻
critical: # 立即警示
- HTTP 狀態不等於 200
- 主控台錯誤數 > 5(僅新錯誤)
- LCP > 4 秒
- API 端點回傳 5xx
- 靜態資源回傳 4xx/5xx
- SSE 端點無法連線或在收到第一個心跳前斷線
warning: # 在報告中標記
- LCP 比基準增加超過 500 毫秒
- CLS > 0.1
- 新的主控台警告
- 回應時間超過基準 2 倍
- 靜態資源內容類型意外變更
- SSE 心跳延遲超過基準 2 倍
info: # 僅記錄
- 輕微效能差異
- 新的網路請求(是否新增第三方腳本?)
通知
當觸發重大門檻時:
- 桌面通知(macOS/Linux)
- 可選:Slack/Discord Webhook
- 記錄到
~/.claude/canary-watch.log
輸出
## Canary 報告 — myapp.com — 2026-03-23 03:15 PST
### 狀態:健康 ✓
| 檢查項目 | 結果 | 基準 | 差異 |
|----------|------|------|------|
| HTTP | 200 ✓ | 200 | — |
| 主控台錯誤 | 0 ✓ | 0 | — |
| LCP | 1.8 秒 ✓ | 1.6 秒 | +200 毫秒 |
| CLS | 0.01 ✓ | 0.01 | — |
| API /health | 145 毫秒 ✓ | 120 毫秒 | +25 毫秒 |
| 靜態資源 | 42/42 ✓ | 42/42 | — |
| SSE /events | 已連線 ✓ | 已連線 | +80 毫秒心跳 |
### 未偵測到回歸問題。部署乾淨。
整合
搭配使用:
/browser-qa進行部署前驗證- 鉤子:在
git push時加入 PostToolUse 鉤子,自動在部署後檢查 - CI:在 GitHub Actions 的部署步驟後執行






