# 배포 후 카나리 감시 (canary-watch)

> 배포된 URL을 감시해 HTTP 상태, 콘솔 오류, 네트워크 실패, 성능, API, 정적 자산, SSE 스트림의 회귀를 확인합니다.

- 카테고리: [모니터링·운영](https://www.myskills.tools/ko/categories/monitoring-ops/)
- 출처: 커뮤니티 · Affaan Mustafa
- 저장소: https://github.com/affaan-m/ECC/tree/main/skills/canary-watch (commit db7f2a6)
- SKILL.md: https://github.com/affaan-m/ECC/blob/main/skills/canary-watch/SKILL.md
- 설치 명령: `npx skills add affaan-m/ECC --skill canary-watch`
- 라이선스: MIT
- 호환 도구: Claude Code, Codex, Cursor, Copilot, OpenCode
- 권한: read-repo ✗, write-files ✓, shell ✓, network ✓
- 상태: 스캔 통과
- 규칙 스캔으로 모든 위험을 찾을 수는 없습니다. 설치 전에 이 스킬의 SKILL.md를 읽고 권한을 확인하세요.
- ⚠ Slack이나 Discord webhook을 설정하면 감시 결과가 해당 외부 서비스로 전송됩니다.

## 핵심 규칙

HTTP가 200이 아니거나 API가 5xx를 반환하는 등 심각 임계값을 하나라도 넘으면 즉시 알립니다.

## 실행 단계

1. **모드 선택** — 기본은 한 번의 빠른 점검이며, 간격과 기간을 정한 지속 감시나 스테이징과 운영 비교도 가능합니다.
2. **항목 점검** — HTTP 상태, 콘솔 오류, 네트워크 요청, LCP/CLS/INP, 핵심 요소, API 상태, 정적 자산, SSE 하트비트를 확인합니다.
3. **임계값 분류** — 결과를 기준선과 비교해 심각, 경고, 정보의 세 단계로 나눕니다.
4. **알림과 보고** — 심각 임계값을 넘으면 데스크톱 알림과 로그를 남기고 선택적으로 Slack이나 Discord로 보내며, 카나리 보고서를 출력합니다.

## 권한 설명 (SKILL.md 기준)

| 기능 | 필요 여부 | 설명 |
|---|---|---|
| 파일 쓰기 | 일부 필요 | 경고를 ~/.claude/canary-watch.log에 기록하는 것뿐입니다. |
| 명령 실행 | 일부 필요 | macOS나 Linux의 데스크톱 알림과 일정 간격의 반복 점검에 사용합니다. |
| 네트워크 송신 | 필요 | 감시 대상 URL과 그 API, 정적 자산, SSE 엔드포인트에 요청하며 선택적으로 Slack이나 Discord webhook을 호출합니다. |

## SKILL.md 프런트매터(YAML)

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

홈: https://www.myskills.tools/ko/ · URL: https://www.myskills.tools/ko/skills/canary-watch/
