---
id: daily-canary-watch
name: "canary-watch"
url: https://skills.yangsir.net/skill/daily-canary-watch
author: affaan-m
domain: ai-system-observability-sre
tags: ["monitoring", "deployment", "observability", "devops", "automation"]
install_count: 2900
rating: 4.40 (20 reviews)
github: https://github.com/affaan-m/everything-claude-code
---

# canary-watch

> 部署后持续监控 Web 应用健康状态，自动检测性能异常、错误率和功能退化，支持告警通知和根因分析

**Stats**: 2,900 installs · 4.4/5 (20 reviews)

## Before / After 对比

### 部署后监控

**Before**:

部署后需要手动刷新页面检查功能、查看日志排查错误、用监控工具观察性能指标，发现问题往往已经影响用户，事后分析根因需要 1-2 小时，难以快速回滚

**After**:

部署后自动启动监控巡检，定期访问关键页面并检测错误率和响应时间，异常时立即触发告警并提供详细的日志和指标分析，5 分钟内定位问题，支持自动回滚决策

| Metric | Before | After | Change |
|---|---|---|---|
| 问题发现时间 | 60分钟 | 5分钟 | -92% |

## Readme

# canary-watch

# Canary Watch — Post-Deploy Monitoring

## When to Use

- After deploying to production or staging

- After merging a risky PR

- When you want to verify a fix actually fixed it

- Continuous monitoring during a launch window

- After dependency upgrades

## How It Works

Monitors a deployed URL for regressions. Runs in a loop until stopped or until the watch window expires.

### What It Watches

```
1. HTTP Status — is the page returning 200?
2. Console Errors — new errors that weren't there before?
3. Network Failures — failed API calls, 5xx responses?
4. Performance — LCP/CLS/INP regression vs baseline?
5. Content — did key elements disappear? (h1, nav, footer, CTA)
6. API Health — are critical endpoints responding within SLA?

```

### Watch Modes

**Quick check** (default): single pass, report results

```
/canary-watch https://myapp.com

```

**Sustained watch**: check every N minutes for M hours

```
/canary-watch https://myapp.com --interval 5m --duration 2h

```

**Diff mode**: compare staging vs production

```
/canary-watch --compare https://staging.myapp.com https://myapp.com

```

### Alert Thresholds

```
critical:  # immediate alert
  - HTTP status != 200
  - Console error count > 5 (new errors only)
  - LCP > 4s
  - API endpoint returns 5xx

warning:   # flag in report
  - LCP increased > 500ms from baseline
  - CLS > 0.1
  - New console warnings
  - Response time > 2x baseline

info:      # log only
  - Minor performance variance
  - New network requests (third-party scripts added?)

```

### Notifications

When a critical threshold is crossed:

- Desktop notification (macOS/Linux)

- Optional: Slack/Discord webhook

- Log to `~/.claude/canary-watch.log`

## Output

```
## Canary Report — myapp.com — 2026-03-23 03:15 PST

### Status: HEALTHY ✓

| Check | Result | Baseline | Delta |
|-------|--------|----------|-------|
| HTTP | 200 ✓ | 200 | — |
| Console errors | 0 ✓ | 0 | — |
| LCP | 1.8s ✓ | 1.6s | +200ms |
| CLS | 0.01 ✓ | 0.01 | — |
| API /health | 145ms ✓ | 120ms | +25ms |

### No regressions detected. Deploy is clean.

```

## Integration

Pair with:

- `/browser-qa` for pre-deploy verification

- Hooks: add as a PostToolUse hook on `git push` to auto-check after deploys

- CI: run in GitHub Actions after deploy step

Weekly Installs494Repository[affaan-m/everyt…ude-code](https://github.com/affaan-m/everything-claude-code)GitHub Stars144.9KFirst Seen10 days agoSecurity Audits[Gen Agent Trust HubPass](/affaan-m/everything-claude-code/canary-watch/security/agent-trust-hub)[SocketPass](/affaan-m/everything-claude-code/canary-watch/security/socket)[SnykWarn](/affaan-m/everything-claude-code/canary-watch/security/snyk)Installed oncodex459opencode437cursor432github-copilot431antigravity431gemini-cli430

---
*Source: https://skills.yangsir.net/skill/daily-canary-watch*
*Markdown mirror: https://skills.yangsir.net/api/skill/daily-canary-watch/markdown*