canary-watch

canary-watch

熱門

使用此技能在發布後監控並驗證已部署的 URL — 在部署、合併或依賴升級後檢查 HTTP 端點、SSE 串流、靜態資源、主控台錯誤和效能回歸。適用於煙霧測試、金絲雀測試、發布後驗證。

23萬星標
3.5萬分支
更新於 2026/7/19
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 的部署步驟後執行