From deep-work
Executes slice-based TDD implementation from approved plan.md, enforcing strict RED (failing test)-GREEN-REFACTOR cycles, resume from incomplete slices, with git checkpoints and model routing.
npx claudepluginhub sungmin-cho/claude-deep-suite --plugin deep-workThis skill uses the workspace's default tool permissions.
1. Session ID 결정
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Designs, implements, and audits WCAG 2.2 AA accessible UIs for Web (ARIA/HTML5), iOS (SwiftUI traits), and Android (Compose semantics). Audits code for compliance gaps.
.claude/deep-work.{SESSION_ID}.mdwork_dir, active_slice, tdd_state, model_routing.implement, evaluator_modelcurrent_phase = "implement", plan_approved = trueimplement_started_at 기록 (ISO timestamp)Read $WORK_DIR/plan.md → Slice Checklist 파싱. 각 slice:
인라인 plan (state skipped_phases includes "plan"): SLICE-001만 존재, failing_test/contract 최소화 가능.
완료된 slice (- [x]) 존재 시 → 미완료 slice부터 이어서 진행.
| 합리화 시도 | 현실 |
|---|---|
| "이건 너무 단순해서 TDD 안 해도 돼" | 단순 코드도 깨진다. RED는 30초면 된다. |
| "테스트는 나중에 추가하지" | 나중에 쓴 테스트는 즉시 통과한다 — 아무것도 증명하지 않는다. |
| "일단 고쳐보고 안 되면 조사하자" | 추측 수정은 3회 연속 실패로 끝난다. Root cause 먼저. |
| "Plan에는 없지만 이것도 같이 하면 좋겠다" | Scope creep. Issues Encountered에 기록하고 넘어가라. |
| "이 파일도 살짝 리팩토링하면…" | 슬라이스 scope 밖이다. 다음 세션에서 하라. |
| "mock으로 빠르게 테스트하자" | Mock은 mock을 테스트한다. 실제 동작을 검증하라. |
| "GREEN인데 refactor는 건너뛰자" | 기술 부채가 다음 슬라이스에서 복리로 돌아온다. |
| "센서 경고는 무시해도 되겠지" | Advisory도 기록된다. 무시한 경고가 Phase 4에서 차단으로 돌아온다. |
| "이미 수동으로 테스트했으니까" | 수동 테스트는 증거가 아니다. Receipt에 남지 않는다. |
| "비슷한 코드를 복사해서 수정하면 빠르겠다" | Plan의 code sketch를 따르라. 복사한 코드는 컨텍스트가 다르다. |
이 중 하나라도 해당되면: 현재 작업을 멈추고, 해당 Red Flag의 "현실" 컬럼을 따르세요.
State에서 model_routing.implement 확인 (기본: "sonnet").
Agent 위임 시: mode: "bypassPermissions", TDD 규칙 + Slice Review 규칙을 프롬프트에 포함 (hook이 delegated agent에 미적용), slice당 10분 timeout.
상세: Read("skills/shared/references/model-routing-guide.md")
각 미완료 slice (- [ ])에 대해:
git_before = git rev-parse HEADactive_slice: SLICE-NNN, tdd_state: PENDINGfailing_test/steps 기반으로 테스트 작성verification_cmd 실행 → 올바른 이유로 FAIL 확인tdd_state: RED_VERIFIED (미수행 시 phase guard가 production 코드 편집 차단)files 범위 내)verification_cmd 실행 → 모든 테스트 PASS 확인expected_output 필드가 있으면 출력 대조tdd_state: GREENspike mode → skip. 나머지 모드:
GREEN 후 센서 실행 (fast-fail 순서): lint → typecheck → review-check
각 센서 독립 3-round correction limit. 실패 → SENSOR_FIX 진입 (코드 수정 → 테스트 재확인 → 센서 재실행).
3 round 소진 → unresolved 기록, 진행.
모두 pass → tdd_state: SENSOR_CLEAN
테스트 유지하며 코드 개선. 매 refactor 후 verification_cmd 실행.
relaxed mode: RED 건너뜀, 직접 구현 후 검증.
spike mode: TDD 없이 자유 구현. Receipt에 tdd_state: SPIKE. merge 불가.
spec_checklist 항목별 검증 → 미충족 시 추가 RED→GREEN cyclecontract 항목별 검증 → acceptance_threshold(all/majority) 적용spike → skip. relaxed → Stage 1 only.
per-slice diff: git diff $git_before -- [slice files]
Stage 1 — Spec Compliance (Required):
Stage 2 — Code Quality (Advisory):
$WORK_DIR/receipts/SLICE-NNN.json 생성:
- [ ] → - [x]active_slice: "", tdd_state: PENDINGmain 모드 + strict/coaching에서 hook 차단 시:
AskUserQuestion → 테스트 먼저 / config 변경 / 테스트 불가 / 긴급 수정 선택.
override 선택 시: tdd_override: "SLICE-NNN" → hook 통과 허용.
slice 완료 시 override 자동 해제. Receipt에 override 기록.
GREEN 단계에서 예기치 않은 테스트 실패 시:
debug_mode: true → 체계적 조사 (Read error → Analyze → Hypothesize → Fix)debug.root_cause_note에 기록team_mode: team이고 Agent Teams 환경변수 활성 시:
모든 slice 완료 후, Test 전환 전: Read("skills/shared/references/phase-review-gate.md") — 프로토콜 실행:
상세: Read("skills/shared/references/implementation-guide.md")
$WORK_DIR/receipts/SLICE-*.json 존재 확인implement_completed_at: current ISO timestampphase_review.implement: {reviewed, reviewers, self_issues, external_issues, resolved}review_state: completedcurrent_phase: test구현 완료! 테스트 단계로 진입합니다.
완료 slice: N/N
TDD 준수율: [strict: N, relaxed: N, override: N, spike: N]
Receipt 완성: N/N
notify.sh "$STATE_FILE" "implement" "completed"