reflection
Automatic quality check on significant outputs via isolated sub-agent. Spawns reflection-agent for objective evaluation without conversation context bias.
SKILL.mdskills/reflection/SKILL.md
GitHubReflection Skill
Apply (spawn agent): code, architecture, PRD, specs, tests, plans, APIs, schemas. Skip: simple questions, status checks, file reading, clarifying questions, help.
The sub-agent gets NO conversation context. It evaluates purely on merit — inline evaluation shares your context, agrees with your reasoning, and trends to 10/10. The agent sees only output + request + WHY, and can verify claims in source files.
Process
- Extract isolation variables (below).
- Spawn reflection-agent with isolated inputs.
- Parse JSON response.
- If pass=false and revisions<3: apply guidance, re-evaluate.
- Display Quality Check box.
Context Extraction (CRITICAL)
Extract these for the agent. Do NOT summarize or add context.
| Variable | How to Extract |
|---|---|
{{ORIGINAL_REQUEST}} |
First user message that initiated this task - VERBATIM |
{{STATED_WHY}} |
The WHY established at conversation start - EXACT TEXT |
{{PHASE_NUMBER}} |
Read from .aid/state.json → current_phase |
{{PHASE_NAME}} |
Read from .aid/state.json → phase_name |
{{OUTPUT_TO_EVALUATE}} |
Your draft output (code, spec, etc.) |
{{FILES_TO_VERIFY}} |
Read content of all files your output references/modifies |
{{PHASE_CRITERIA}} |
Read from criteria/phase-{N}-{name}.yaml |
DO: copy original request exactly as user wrote it; copy stated WHY exactly as established; include ALL files the output references (not just some); load criteria from the YAML file.
DO NOT: ❌ summarize the request; ❌ explain your decisions; ❌ include conversation history; ❌ mention previous attempts; ❌ add "helpful context".
Spawn Command
Task(
subagent_type: "general-purpose",
model: "opus",
prompt: [Load ../../agents/reflection-agent.md, replace variables],
description: "Objective quality evaluation"
)
Quality Check Display Format
After receiving agent response, display:
╭─────────────────────────────────────────────────────────────╮
│ 🔍 Quality Check │
├─────────────────────────────────────────────────────────────┤
│ │
│ [icon] WHY Alignment X/10 [agent's note] │
│ [icon] Phase Compliance X/10 [agent's note] │
│ [icon] Correctness X/10 [agent's note] │
│ [icon] Security X/10 [agent's note] │
│ [icon] Completeness X/10 [agent's note] │
│ │
│ ══════════════════════════════════════════════════════ │
│ 📊 Overall: X.X/10 │
│ STATUS: [agent's status] │
│ │
│ [If revised: 📝 Improvements: ...] │
│ │
╰─────────────────────────────────────────────────────────────╯
Score Icons
| Score | Icon |
|---|---|
| 8-10 | ✅ |
| 6-7.9 | ⚠️ |
| 0-5.9 | ❌ |
Revision Handling
If agent returns pass: false:
- Read
revision_guidance.required_changes - Apply changes to your output
- Re-spawn agent with updated output (max 3 attempts)
- Track improvements:
"Security 5→8/10 Fixed: Added input validation"
Session Review Mode
On project load or /good-morning, spawn session review instead:
Task(
subagent_type: "general-purpose",
model: "opus",
prompt: [Load ../../agents/reflection-agent.md],
description: "Session review - outside perspective"
)
Session review variables:
{{STATE_JSON}}- Content of.aid/state.json{{CONTEXT_JSON}}- Content of.aid/context.json{{RECENT_CHANGES}}- Output ofgit log --oneline -10{{RECENT_FILES}}- Output ofgit diff --stat HEAD~5{{PHASE_CRITERIA}}- Current phase criteria YAML
Commands
| Command | Action |
|---|---|
/reflect |
Show detailed breakdown of last evaluation |
/reflect --session |
Run session review |
/reflect --strict |
Run evaluation with threshold 8.0 |