🐤 Что это
Canary Watch — это инструмент пост-релизного мониторинга, который автоматически проверяет развёрнутый URL на регрессии сразу после деплоя, слияния PR или обновления зависимостей. Он помогает быстро выявить проблемы с HTTP-статусом, консольными ошибками, производительностью (LCP, CLS, INP), целостностью контента и здоровьем API. Можно запустить как одноразовую быструю проверку, так и длительное наблюдение с интервалом и оповещениями.
Skill ориентирован на разработчиков, DevOps-инженеров и тестировщиков, которым нужна объективная метрика «всё ли ок» после выкатки изменений — особенно при рискованных PR, обновлениях библиотек или в период активного релизного окна.
⚙️ Как работает
После запуска команды canary-watch skill загружает указанную страницу в headless-браузере (на основе Playwright/Puppeteer) и выполняет набор проверок. В зависимости от режима он либо делает один проход, либо повторяет проверки с заданным интервалом до истечения времени наблюдения.
🔍 Что именно проверяется
- HTTP Status — возвращает ли сервер
200 OK, а не 4xx/5xx.
- Console Errors — появились ли новые ошибки JavaScript (которых не было в предыдущем прогоне).
- Network Failures — неудачные вызовы API, тайм-ауты, ответы с кодом 5xx.
- Performance — метрики Core Web Vitals: LCP, CLS, INP. Сравниваются с сохранённым baseline.
- Content integrity — не пропали ли ключевые элементы страницы:
h1, навигация (nav), футер (footer), кнопка призыва к действию (CTA).
- API Health — отвечают ли критические эндпоинты в пределах SLA по времени.
📋 Режимы запуска
Quick check (по умолчанию) — однократный проход с выводом отчёта:
/canary-watch https://myapp.com
Sustained watch — мониторинг с интервалом и длительностью:
/canary-watch https://myapp.com --interval 5m --duration 2h
Diff mode — сравнение staging и production:
/canary-watch --compare https://staging.myapp.com https://myapp.com
🚨 Пороги оповещений
Skill различает три уровня тревоги:
- critical — немедленное уведомление: HTTP != 200, >5 новых console-ошибок, LCP > 4s, 5xx на API.
- warning — отмечается в отчёте: LCP вырос >500ms от baseline, CLS > 0.1, новые предупреждения в консоли, время ответа >2x от baseline.
- info — только логирование: незначительные изменения производительности, появление новых сетевых запросов (например, подключился новый скрипт аналитики).
При пересечении critical-порога срабатывает:
- десктоп-нотификация (macOS/Linux)
- опционально: Slack/Discord webhook
- запись в лог
~/.claude/canary-watch.log
📊 Пример отчёта
Skill выводит структурированную таблицу с результатами, baseline и дельтой:
## Canary Report — myapp.com — 2026-03-23 03:15 PST
### Status: HEALTHY
| Check | Result | Baseline | Delta |
|--------------|----------|----------|----------|
| HTTP | 200 ✓ | 200 | — |
| Console errs | 0 ✓ | 0 | — |
| LCP | 1.8s ✓ | 1.6s | +200ms |
| CLS | 0.01 ✓ | 0.01 | — |
| API /health | 145ms ✓ | 120ms | +25ms |
### No regressions detected. Deploy is clean.
🎯 Когда использовать
- После деплоя в production или staging — убедиться, что ничего не сломалось.
- После слияния рискованного PR — например, если изменения затрагивают ключевой функционал.
- Для верификации фикса — когда нужно подтвердить, что проблема действительно решена.
- Во время активного релизного окна — непрерывный мониторинг в течение нескольких часов.
- После обновления зависимостей — чтобы поймать регрессии из-за новой версии библиотеки.
💡 Важно знать
- Данные baseline хранятся между запусками (предположительно, в
~/.claude/canary-watch.log). Убедитесь, что первый запуск выполнен на стабильной версии — baseline будет запомнен для последующих сравнений.
- Для работы с консольными ошибками и производительностью требуется headless-браузер. Убедитесь, что окружение, где запускается skill (локальная машина или CI), поддерживает запуск Chromium.
- Diff mode удобен для A/B-тестирования двух окружений. Обратите внимание, что порядок аргументов важен: первый — референс, второй — проверяемый.
- Интеграция с CI/CD: можно добавить
canary-watch как шаг после деплоя в GitHub Actions — тогда skill будет автоматически проверять каждое развёртывание.
- Pair with
browser-qa для пре-деплойной проверки — хорошая комбинация: сначала unit/integration тесты, затем canary-мониторинг после выкатки.
- Hooks: можно настроить
PostToolUse hook на git push, чтобы skill запускался автоматически после каждого пуша.
Комментарии
Комментариев пока нет. Будьте первым.