smokelisted
Install: claude install-skill dong-park/pharos
# Smoke - dev.env 통합 테스트
실제 dev DB에 연결하여 서비스의 핵심 동작을 검증하는 스모크 테스트 스킬입니다.
"실행"만 하는 도구가 아니라, **테스트를 설계하는 사고 과정**을 포함합니다.
## 원칙: 의심이 들면 먼저 물어본다
**코드를 쓰기 전에 확인해야 할 상황:**
- 인자가 애매하다 → "기존 테스트를 실행할까요, 새로 설계할까요?"
- 테스트 범위가 불분명하다 → "CRUD까지 포함할까요, 배치 경로만 할까요?"
- 기존 테스트가 있는데 삭제/재작성을 요청받았다 → "기존 N개 테스트를 삭제하고 처음부터 다시 작성합니다. 맞나요?"
- 시나리오 수가 과도하다 (20개 이상) → P0만 먼저 제시하고 "이 정도면 될까요, 더 필요할까요?"
- dev DB에 영향을 줄 수 있는 시나리오 (실제 발급 테스트) → "회원 900001에게 실제 쿠폰이 발급됩니다. 진행할까요?"
- 서비스 진입점이 여러 개 (HTTP + 배치) → "어떤 경로를 중점적으로 검증할까요?"
**하지 않는 것:**
- 명확한 RUN 모드에서 확인 질문 (그냥 실행)
- 이미 사용자가 방향을 정해준 뒤 재확인 (신뢰하고 진행)
- 매 단계마다 물어보기 (흐름을 끊지 않는다)
## 사용법
```
/smoke # 전체 통합 테스트 실행
/smoke coupon-automation # 기존 테스트 실행
/smoke 배치 엣지케이스까지 테스트 # 설계 → 작성 → 실행
/smoke coupon-automation --watch # watch 모드
```
---
## Triage: 모드 판별
인자를 분석하여 모드를 결정합니다:
| 인자 | 모드 | 행동 |
|------|------|------|
| 없음 | **RUN** | 전체 통합 테스트 실행 |
| 서비스명만 | **RUN** | 해당 서비스 테스트 실행 |
| 서비스명 + 설명/요구사항 | **DESIGN → RUN** | 테스트 설계 후 작성 후 실행 |
| `--watch` | **WATCH** | watch 모드 |
---
## pharos 프로토콜
모든 모드에서 pharos로 진행 상황을 표시합니다.
```bash
source "$HOME/.claude/skills/_shared/pharos-helpers.sh"
# ── 초기화 ──
pw set-status phase "SMOKE" --icon "🔥" --color "#F59E0B"
pw set-progress 0.0 --label "Smoke: 시작"
# ── DESIGN 모드: Recon → Design → Forge ──
pw set-progress 0.1 --label "Smoke/Recon: 탐색" # 서비스 코드 읽기
pw set-progress 0.2 --label "Smoke/Recon: 상태전이 맵" # 실행 경로 추적
pw set-progress 0.3 --label "Smoke