<< All versions
Skill v1.0.3
Automated scanaffaan-m/everything-claude-code/canary-watch
Merge remote-tracking branch 'origin/main' into feat/ecc2-rc1-preview-surface
──Details
PublishedApril 29, 2026 at 05:31 AM
Content Hashsha256:c00a9bcc1ba1f5ff...
Git SHAc7c7d37f2946
──Files
Files (1 file, 3.1 KB)
SKILL.md3.1 KBactive
SKILL.md · 109 lines · 3.1 KB
version: "1.0.3" 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. origin: ECC
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?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
yaml
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 heartbeatwarning: # 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 baselineinfo: # 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 || 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