canary-watch
- Use it when:
- You've just deployed, merged a risky PR or upgraded dependencies and want to confirm the live site didn't regress.
- It does:
- Checks eight things, from HTTP status and new console errors to LCP, CLS and INP, key page elements, API response times, static assets and SSE heartbeats.
- You get:
- A canary report: each check against its baseline, sorted into critical, warning and info by set thresholds.
- Runs:
- One pass by default, every N minutes for M hours in sustained mode, or as a staging-versus-production comparison.
- Alerts:
- A desktop notification, an optional Slack or Discord webhook and a line in ~/.claude/canary-watch.log.
- Needs:
- A browser tool the agent can drive for the console and performance checks; the skill names none.
TL;DR
A post-deploy watch for a live URL. It defines what to look at: HTTP status, new console errors, failed network calls and 5xx responses, LCP, CLS and INP against a baseline, whether key elements like the h1, nav, footer and call to action are still there, critical API endpoints within their SLA, JS, CSS, image and font requests with the expected content types, and event-stream (SSE) endpoints that connect and receive a first event or heartbeat. Thresholds sort findings: a non-200 status, more than five new console errors, LCP over 4 seconds, a 5xx API or a broken asset are critical; slower responses, layout shift, new console warnings and changed content types are warnings. Modes are a single quick check, a sustained watch at an interval for a set duration, and a diff of staging against production. Critical findings trigger a desktop notification, an optional Slack or Discord webhook and a log entry. It suggests pairing it with browser-qa before deploys, a hook after git push, or a CI step after deploy.
Summarizes the skill at d2ef268.
npx skills add https://github.com/affaan-m/ecc --skill canary-watch skills.sh pageSource on GitHubAll skills from affaan-m/ecc
- Total Downloads
- 5,400 on skills.sh, Nov 9, 2026
- Repo stars
- 299,776 affaan-m/ecc
- First seen
- May 19, 2026 on skills.sh
Weekly values
| Week to | Installs |
|---|---|
| Sep 21 | 257 |
| Sep 28 | 157 |
| Oct 5 | 137 |
| Oct 12 | 233 |
| Oct 19 | 410 |
| Oct 26 | 403 |
| Nov 2 | 468 |
| Nov 9 | 444 |
| Category |
Find root causes, review code and test what you built. Deploy, provision, observe and debug cloud apps. Everything for building software: planning, coding, debugging, design, frameworks, cloud, agents and skills. |
|---|---|
| Type |
A multi-step process the agent follows: interview, debug, run a TDD loop, review. |
| Effect |
Its own steps create or change files, git state or local tools. |
| Needs |
Drives a real Chromium or Chrome browser. |
| Publisher |
Everyone else. Unverified vendor claims default to community. |
| Topics |
SKILL.md
From affaan-m/ecc at d2ef268. Checked daily, last changed Nov 6, 2026.
Frontmatter
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.
metadata:
origin: ECCCanary 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?
7. Static Assets — are JS, CSS, image, and font requests returning 2xx/3xx with expected content types?
8. SSE Streams — do event-stream endpoints connect and receive an initial event or heartbeat?
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
- Static asset returns 4xx/5xx
- SSE endpoint cannot connect or drops before first heartbeat
warning: # flag in report
- LCP increased > 500ms from baseline
- CLS > 0.1
- New console warnings
- Response time > 2x baseline
- Static asset content type changed unexpectedly
- SSE heartbeat latency > 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 |
| Static assets | 42/42 ✓ | 42/42 | — |
| SSE /events | connected ✓ | connected | +80ms heartbeat |
### No regressions detected. Deploy is clean.
Integration
Pair with:
/browser-qafor pre-deploy verification- Hooks: add as a PostToolUse hook on
git pushto auto-check after deploys - CI: run in GitHub Actions after deploy step