SuperAPI AI Directory

my-session-analyzer

Testing & quality

View repository

Updated 10-15 21:38

About this skill

my-session-analyzer

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