Compares SKILL.md (the blueprint) with actual session execution records to verify whether the skill behaved as intended. It plays a role similar to "a supervisor checking whether the recipe was followed."
Execution Flow
┌─────────────────────────────────────────────┐
│ Step 1. 분석 대상 스킬 선택 │
│ (어떤 스킬의 실행을 검증할지) │
└──────────────────────┬──────────────────────┘
│
┌──────────────────────▼──────────────────────┐
│ Step 2. SKILL.md 파싱 │
│ 설계도에서 "기대 동작" 추출 │
└──────────────────────┬──────────────────────┘
│
┌──────────────────────▼──────────────────────┐
│ Step 3. 세션 기록 분석 │
│ 가장 최근 세션에서 "실제 동작" 추출 │
└──────────────────────┬──────────────────────┘
│
┌──────────────────────▼──────────────────────┐
│ Step 4. Expected vs Actual 비교 │
│ PASS / FAIL 판정 │
└──────────────────────┬──────────────────────┘
│
┌──────────────────────▼──────────────────────┐
│ Step 5. 검증 리포트 출력 │
│ + FAIL 항목 개선 제안 │
└─────────────────────────────────────────────┘
Step 1: Select the skill to analyze
Use AskUserQuestion to have the user select which skill's execution to verify:
AskUserQuestion({
"questions": [{
"question": "어떤 스킬의 실행을 검증할까요?",
"header": "검증 대상",
"options": [
{"label": "my-session-wrap", "description": "세션 정리 스킬 검증"},
{"label": "my-context-sync", "description": "컨텍스트 싱크 스킬 검증"},
{"label": "my-history-insight", "description": "히스토리 분석 스킬 검증"},
{"label": "직접 입력", "description": "다른 스킬 이름 직접 입력"}
],
"multiSelect": false
}]
})
Step 2: Parse SKILL.md — Extract expected behavior
Read the SKILL.md of the selected skill and extract the following items:
- Agent list: which agents are defined
- Execution order: how the parallel/sequential structure was designed
- Output format: what deliverables should be produced
- Required steps: the Steps that must be executed
Organize the extracted items into an "expected behavior checklist."
Example:
기대 동작 체크리스트 (my-session-wrap 기준)
□ git status 실행 (Step 1)
□ doc-updater 에이전트 실행 (Phase 1, 병렬)
□ automation-scout 에이전트 실행 (Phase 1, 병렬)
□ learning-extractor 에이전트 실행 (Phase 1, 병렬)
□ followup-suggester 에이전트 실행 (Phase 1, 병렬)
□ duplicate-checker 실행 (Phase 2, Phase 1 완료 후)
□ AskUserQuestion으로 사용자 선택 받기 (Step 4)
□ 선택된 작업 실행 (Step 5)
Step 3: Analyze session records — Extract actual behavior
~/.claude/projects/ Find the most recent session file in which the relevant skill was executed.
- Check Tool call records in the session file's assistant messages
- Check the number and names of Task (subagent) calls
- Check whether AskUserQuestion was called
- Check tool usage patterns such as Bash/Read/Write/Edit
- Check final deliverables (file creation, commits, etc.)
Organize the extracted items into an "actual behavior record."
Step 4: Compare Expected vs Actual
Compare expected behavior and actual behavior in a table and judge PASS/FAIL.
| 구성요소 | 기대한 것 | 실제 결과 | 판정 |
|--------------------|-------------------|-------------------|-------|
| git status 실행 | Step 1에서 실행 | Bash로 실행됨 | PASS |
| doc-updater | 병렬 실행 | Task로 병렬 실행 | PASS |
| automation-scout | 병렬 실행 | Task로 병렬 실행 | PASS |
| learning-extractor | 병렬 실행 | Task로 병렬 실행 | PASS |
| followup-suggester | 병렬 실행 | Task로 병렬 실행 | PASS |
| duplicate-checker | Phase 1 완료 후 | Phase 1 후 실행 | PASS |
| 사용자 선택 | AskUserQuestion | AskUserQuestion | PASS |
| 선택 작업 실행 | 조건부 실행 | 실행됨 | PASS |
Judgment criteria:
- PASS: Behaved according to the blueprint
- FAIL: Behaved differently from the blueprint or was omitted
- PARTIAL: Only partially executed
Step 5: Output verification report
🔍 session-analyzer 검증 리포트
대상 스킬: [스킬명]
분석 세션: [세션 ID 앞 8자리]
실행 시각: YYYY-MM-DD HH:MM
━━━━━━━━━━━━━━━━━━━━━━━━
📋 Expected vs Actual
[비교 테이블]
━━━━━━━━━━━━━━━━━━━━━━━━
📊 전체 판정
✅ PASS: X개 / ❌ FAIL: Y개 / ⚠️ PARTIAL: Z개
최종 결과: [PASS / FAIL / PARTIAL]
━━━━━━━━━━━━━━━━━━━━━━━━
🔧 개선 제안 (FAIL 항목이 있을 때만)
- [FAIL 항목]: [구체적인 SKILL.md 수정 방법]
━━━━━━━━━━━━━━━━━━━━━━━━
💡 총평
[스킬이 전반적으로 의도대로 동작했는지 한 줄 평가]
If there are FAIL items, immediately ask whether to fix them:
AskUserQuestion({
"questions": [{
"question": "FAIL 항목을 발견했습니다. 어떻게 할까요?",
"header": "다음 단계",
"options": [
{"label": "SKILL.md 바로 수정", "description": "FAIL 항목 기반으로 스킬 개선"},
{"label": "나중에 수정", "description": "현재는 리포트만 확인하고 넘어감"},
{"label": "무시", "description": "핵심 기능은 동작하므로 그대로 사용"}
],
"multiSelect": false
}]
})
Quick Reference
- When: Immediately after creating or modifying a skill
- Time required: ~1 minute
- Core principle: The cycle of create → execute → verify → fixcreates good skills