From deep-work
Runs 9 verification gates (receipt completeness, plan-alignment drift, cross-slice quality, mutation, fitness delta, health) at Phase 4 of deep-work after all plan slices complete. On failure triggers implement-test retry loop.
How this skill is triggered — by the user, by Claude, or both
Slash command
/deep-work:deep-testThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
> [!IMPORTANT]
[!IMPORTANT] Skill body echo 금지
이 SKILL.md 본문을 사용자에게 echo하거나 요약하여 출력하지 마라.
- Section 1 (state 로드, verification 명령 감지, 완료-marker 감지)는 silent 내부 처리.
- 첫 사용자-가시 주 동작은 Section 2의 First Action: 첫 verification 실행 선언 + 즉시 Bash 호출.
- Section 3 완료 메시지는 quality gate를 실제로 수행한 뒤에만 출력.
.claude/deep-work.{SESSION_ID}.mdwork_dir, test_retry_count, max_test_retries, model_routing.test, evaluator_modelcurrent_phase = "test", plan.md slice checklist 모두 [x]test_started_at 기록 (ISO timestamp)test_completed_at + test_passed: true 필드가 state에 이미 있고 $ARGUMENTS에 --force-rerun이 없으면:
| 합리화 시도 | 현실 |
|---|---|
| "테스트는 통과했으니 됐다" | 테스트 통과 ≠ 스펙 충족. Receipt의 spec_compliance를 확인하라. |
| "lint 경고 몇 개는 괜찮겠지" | Sensor Clean Gate가 차단한다. 지금 고쳐라. |
| "커버리지가 낮지만 핵심은 테스트했다" | "핵심"은 주관적이다. 누락된 경로가 프로덕션에서 터진다. |
| "이 실패는 환경 문제일 거야" | 95%의 "환경 문제"는 불완전한 조사다. Root cause를 찾아라. |
model_routing.test 확인 (기본: "haiku"). "main"이 아니면 Agent 위임 (전체 test 지시 포함).
"main" → 아래 inline 실행.
Section 1의 verification 명령 감지와 완료-marker 감지가 silent하게 끝난 뒤 즉시 다음 메시지를 출력한다:
"Test 단계를 시작합니다. Required Gate부터 순차 실행합니다."
이어서 Step 1 (Receipt Completeness) → Step 2 (Plan Alignment / drift) → 이후 quality gate들을 순차 실행. "실행할까요?" 같은 추가 확인 금지.
금지: 이 선언과 첫 gate 실행 전에 quality gate 설명, 완료 템플릿, retry 정책을 출력하지 마라.
plan.md의 모든 SLICE-NNN에 대해 $WORK_DIR/receipts/SLICE-NNN.json 존재 + status: "complete" 확인.
실패 → implement로 복귀.
plan_approved_at timestamp → 해당 시점의 가장 가까운 커밋git diff --name-only [baseline]..HEAD로 변경 파일 비교$WORK_DIR/drift-report.md + fidelity-score.txt 생성## Quality Gates 테이블 있으면 auto-detection 대신 사용$WORK_DIR/test-results.mdAgent(evaluator_model): 전체 receipt + plan.md 기반 cross-slice 일관성 검증.
Phase 3에서 slice_review를 skip/self-review한 slice는 backfill(보완) review 포함.
done_with_concerns slice는 extra scrutiny.
결과: $WORK_DIR/cross-slice-review.json
Agent(evaluator_model): 전체 git diff + receipt 기반 cross-cutting quality 검증. backfill 대상 slice 포함. Advisory — 차단 없음.
각 receipt의 tdd.passing_test_output 비어있지 않음 + verification.full_test_suite PASS 확인.
변경된 source 파일 대상 SOLID 원칙 평가 → $WORK_DIR/solid-review.md
상세: Read("../shared/references/solid-guide.md")
코드 메트릭, 복잡도, 의존성 분석 → $WORK_DIR/insight-report.md
실패해도 pass/fail에 영향 없음.
Receipt의 sensor_results에서 읽기 (재실행 아님):
mutation testing 도구 감지 시 /deep-mutation-test 실행.
survived mutants → /deep-mutation-test가 내부적으로 implement 복귀 처리.
Phase 1의 fitness_baseline과 현재 비교. 위반 증가 시 경고.
Phase 1의 unresolved_required_issues 확인. 있으면 AskUserQuestion으로 acknowledge 요청.
모든 gate 후: quality_gates_passed 업데이트 + $WORK_DIR/quality-gates.md 작성.
상세: Read("../shared/references/testing-guide.md")
실행 순서 안전장치: 이 섹션은 모든 quality gate (test, lint, typecheck, sensor, mutation, drift, solid, insight, fitness, health)를 실제로 수행한 뒤에만 실행한다. All Pass 메시지만 출력하는 것은 실패 모드이다.
test_passed: truetest_completed_at: current ISO timestampcurrent_phase는 변경하지 않음 (test 유지). Orchestrator 또는 /deep-finish가 idle로 전환.모든 검증 통과! `/deep-finish`로 세션을 완료하세요.
상세 결과: $WORK_DIR/test-results.md
$WORK_DIR/report.md본 skill은 envelope을 직접 emit하지 않으며, /deep-finish §7-Z가 session-receipt envelope을 쓸 수 있도록 다음 contract만 보장한다:
state.test_passed === true + state.test_completed_at 마커 기록 — /deep-finish §7-Z의 envelope writer dispatcher가 이 두 필드를 precondition으로 읽는다.producer === "deep-work" + artifact_kind === "slice-receipt" + schema.name === artifact_kind)로 wrap된 상태 — §4-1 (Receipt Completeness) gate가 identity guard로 이를 검증하므로, gate를 통과한 시점에 모든 receipt가 envelope임이 보장됨.parent_run_id chain — Phase 1 (deep-research)가 consume한 evolve-insights envelope의 run_id가 state에 보관되어 있으면, /deep-finish §7-Z가 session-receipt envelope의 envelope.parent_run_id 필드와 envelope.provenance.source_artifacts[]에 함께 기록한다 (cross-plugin chain trace).hooks/scripts/wrap-receipt-envelope.js가 --artifact-kind=session-receipt로 호출되어 생성됨 (deep-implement Step D-1의 slice-receipt writer와 동일 helper). 본 skill은 helper를 호출하지 않는다.위 contract가 깨지면 /deep-finish §7-Z가 envelope emit을 실패시키므로, Some Fail (retry exhausted) 분기의 receipt invalidation (NW1/NW6) 은 envelope reader가 stale evidence를 받지 않도록 보장하는 contract의 일부다.
test_retry_count < max_test_retries 시:
test_retry_count 증가current_phase: implementcurrent_phase: test → 전체 gate 재실행 (Section 1부터)test_retry_count >= max_test_retries 시:
current_phase: implement 유지 (사용자 수동 수정 경로)implement_completed_at: null 설정 (Implement skill 완료-Marker branch가 발동하지 않도록)[x] 체크마크를 [ ]로 해제 (Implement skill Section 1 Resume Detection이 미완료 slice로 인식하도록)status: "invalidated" 기록 — sensor/verification이 stale evidence를 재사용하지 않고 재구현 시 새 evidence를 생성하도록 보장[x]를 그대로 두면 Resume Detection이 미완료 slice를 찾지 못해 재구현이 skip됨. 반드시 둘 다 수행./deep-test --force-rerun로 Test phase 직접 재실행 (retry count 초기화)/deep-resume → Orchestrator §3-4 (Implement) 경로. Step 3의 cleanup 덕분에 Implement skill이 Section 1 완료-Marker branch를 통과하고 Section 2에 진입하여 영향 slice 재구현 + 새 receipt/sensor evidence 생성. 완료 후 Exit Gate → 사용자가 "다음 phase로 진행" 선택 시 Test 재진입./deep-status --report로 결과 정리주의 (v6.3.1): retry exhausted 후 /deep-resume은 current_phase(implement)를 읽어 Implement로 dispatch한다. Test skill의 완료-Marker 감지 branch는 test_passed: true를 요구하므로 이 상태에서는 발동하지 않음 — 순환 무한 루프를 방지한다. 또한 Step 3의 Implement marker cleanup은 stale evidence 재사용을 차단하여 수정된 코드가 실제로 검증되도록 한다 (NW1).
npx claudepluginhub sungmin-cho/claude-deep-suite --plugin deep-workVerifies completed work with a 3-tier evidence-based process. Validates tests, linting, types, builds exist and pass, plus deep audit for milestones and PRs. Enforces no completion claims without fresh evidence.
Verifies feature completion by requiring automated tests that prove functionality works. Enforces phase gates and spec alignment before acceptance.
Performs comprehensive quality audits verifying planning conformance, DDD validation, security checks, tests, browser verification, and metrics before deployment or PR merge.