con un clic
verify-pomodoro-domain
뽀모도로 도메인 C1-C7 및 TODO↔뽀모 연결 D1-D4 검증. timerStore, 타입 정의 변경 후 사용.
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
뽀모도로 도메인 C1-C7 및 TODO↔뽀모 연결 D1-D4 검증. timerStore, 타입 정의 변경 후 사용.
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación ocupacional SOC
세션 변경사항을 분석하여 검증 스킬 누락을 탐지합니다. 기존 스킬을 동적으로 탐색하고, 새 스킬을 생성하거나 기존 스킬을 업데이트한 뒤 CLAUDE.md를 관리합니다.
todoStore↔timerStore 간 연동 및 삭제 안전성 SYNC-1~6 검증.
프로젝트의 모든 verify 스킬을 순차 실행하여 통합 검증 보고서를 생성합니다. 기능 구현 후, PR 전, 코드 리뷰 시 사용.
서버 사이드 타이머 동기화 SYNC-T1~T5 검증. 브라우저 닫아도 타이머 상태 유지, 서버 시간 기준 경과시간 계산.
UX/동작 규칙 E1-E9 검증. 컴포넌트, CSS, App 레이아웃 변경 후 사용.
프론트↔백엔드 API 연동 API-1~7 검증. todoStore, 서버 라우트 변경 후 사용.
| name | verify-pomodoro-domain |
| description | 뽀모도로 도메인 C1-C7 및 TODO↔뽀모 연결 D1-D4 검증. timerStore, 타입 정의 변경 후 사용. |
뽀모도로 타이머 로직과 TODO 연결이 합의된 규칙(C1-C7, D1-D4)을 준수하는지 검증합니다:
src/stores/timerStore.ts 변경 후src/types/index.ts의 TimerPhase, TimerStatus, PomodoroSession 변경 후| File | Purpose |
|---|---|
src/stores/timerStore.ts | 타이머 상수, 상태, start/pause/reset/tick/onPhaseComplete 액션 |
src/types/index.ts | TimerPhase, TimerStatus, PomodoroSession 타입 |
src/stores/todoStore.ts | incrementPomodoro 액션 (D2 연동 대상) |
파일: src/stores/timerStore.ts
검사: 4개 상수 정확한 값
grep -n "25 \* 60\|1500" src/stores/timerStore.ts
grep -n "5 \* 60\|300" src/stores/timerStore.ts
grep -n "15 \* 60\|900" src/stores/timerStore.ts
grep -n "LONG_BREAK_INTERVAL.*=.*4\|= 4" src/stores/timerStore.ts
PASS: WORK=1500, SHORT_BREAK=300, LONG_BREAK=900, INTERVAL=4 FAIL: 값이 다르거나 상수 누락
파일: src/types/index.ts
검사: TimerStatus, TimerPhase, PomodoroSession 타입 정의
grep -n "TimerStatus" src/types/index.ts
grep -n "'idle'\|'running'\|'paused'" src/types/index.ts
grep -n "TimerPhase" src/types/index.ts
grep -n "'work'\|'shortBreak'\|'longBreak'" src/types/index.ts
grep -n "PomodoroSession" src/types/index.ts
PASS: TimerStatus = idle|running|paused, TimerPhase = work|shortBreak|longBreak, PomodoroSession 존재 FAIL: 타입 누락 또는 값 불일치
파일: src/stores/timerStore.ts
검사: onPhaseComplete에서 work→break, break→work 양방향 전환
grep -n "onPhaseComplete" src/stores/timerStore.ts
grep -A30 "onPhaseComplete" src/stores/timerStore.ts | grep "shortBreak\|longBreak"
grep -A30 "onPhaseComplete" src/stores/timerStore.ts | grep "phase: 'work'"
PASS: work→(shortBreak|longBreak) 전환 + break→work 전환 모두 존재 FAIL: 한 방향 전환이 누락
파일: src/stores/timerStore.ts
검사: start 액션에 todoId 필수 + 삭제 시 리셋
grep -n "start.*todoId" src/stores/timerStore.ts
grep -n "if.*!todoId" src/stores/timerStore.ts
PASS: start(todoId: string) 시그니처 + todoId 가드 존재 FAIL: todoId 없이 시작 가능
파일: src/stores/timerStore.ts
검사: 브라우저 Notification + Audio 알림
grep -n "Notification" src/stores/timerStore.ts
grep -n "new Audio\|Audio(" src/stores/timerStore.ts
PASS: Notification + Audio 둘 다 존재 FAIL: 알림 수단 누락
| Step | 검사 | 판정 | 비고 |
|------|------|------|------|
| 1 | 타이머 상수 | PASS/FAIL | 상세 |
| 2 | 상태·페이즈 타입 | PASS/FAIL | 상세 |
| 3 | 자동 사이클 전환 | PASS/FAIL | 상세 |
| 4 | Pattern A 바인딩 | PASS/FAIL | 상세 |
| 5 | 알림 구현 | PASS/FAIL | 상세 |
Notification.requestPermission 존재하면 PASS, 실제 권한 상태는 런타임이므로 미검증new Audio() 호출 존재만 확인, 실제 파일 경로 유효성은 미검증