# Canary Watch

> Use this skill to monitor a deployed URL for regressions after deploys, merges, or dependency upgrades.

- Skill: `contextgo/canary-watch` (Agent Skill)
- Install (CLI): `npx skillmds@latest add contextgo/canary-watch`
- Raw SKILL.md: https://api.skillmd.com/api/skills/contextgo/canary-watch/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: contextgo (https://skillmd.com/u/contextgo)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/contextgo/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

```yaml
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

```markdown
## 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

