بنقرة واحدة
verify-pomodoro-domain
뽀모도로 도메인 C1-C7 및 TODO↔뽀모 연결 D1-D4 검증. timerStore, 타입 정의 변경 후 사용.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
뽀모도로 도메인 C1-C7 및 TODO↔뽀모 연결 D1-D4 검증. timerStore, 타입 정의 변경 후 사용.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف 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() 호출 존재만 확인, 실제 파일 경로 유효성은 미검증