microsoft/reflect
Learning capture system that extracts HIGH/MED/LOW confidence patterns from conversations to prevent repeating mistakes. Use after user corrections ("no", "wrong"), praise ("perfect", "exactly"), or when discovering edge cases. Complements .squad/agents/{agent}/history.md and .squad/decisions.md.
npx skills add https://github.com/microsoft/Generative-AI-for-beginners-dotnet --skill reflect
Critical learning capture system for Squad. Prevents repeating mistakes and preserves successful patterns across sessions.
Analyze conversations and propose improvements to squad knowledge based on what worked, what didn't, and edge cases discovered. Every correction is a learning opportunity.
Reflect complements existing Squad knowledge systems:
.squad/agents/{agent}/history.md — Permanent learnings from completed work (append-only; each agent updates their own file; Scribe propagates cross-agent updates).squad/decisions.md — Team-wide decisions that all agents respectreflect skill — Captures in-flight learnings from conversations that may graduate to history.md or decisions.mdWorkflow:
reflect during work to capture learnings{agent}/history.md updates| Trigger | Example | Why Critical |
|---------|---------|--------------|
| User correction | "no", "wrong", "not like that", "never do" | Captures mistakes to prevent repetition |
| Architectural insight | "you removed that without understanding why" | Documents design decisions (Chesterton's Fence) |
| Immediate fixes | "debug", "root cause", "fix all" | Learns from errors in real-time |
| Trigger | Example | Why Important |
|---------|---------|---------------|
| User praise | "perfect", "exactly", "great" | Reinforces successful patterns |
| Tool preferences | "use X instead of Y", "prefer" | Builds workflow preferences |
| Edge cases | "what if X happens?", "don't forget", "ensure" | Captures scenarios to handle |
| Trigger | Example | Why Useful |
|---------|---------|------------|
| Repeated patterns | Frequent use of specific commands/tools | Identifies workflow preferences |
| Session end | After complex work | Consolidates all session learnings |
Determine what knowledge system should be updated:
.squad/agents/{agent}/history.md.squad/decisions/inbox/{agent}-{topic}.mdScan for learning signals with confidence levels:
User actively steered or corrected output.
Detection patterns:
Example:
User: "No, use the azure-devops MCP tool instead of raw API calls"
→ [HIGH] + Add constraint: "Prefer azure-devops MCP tools over REST API"
Output was accepted or praised.
Detection patterns:
Example:
User: "Perfect, that's exactly what I needed"
→ [MED] + Add preference: "Include usage examples in documentation"
Scenarios not anticipated.
Detection patterns:
Accumulated patterns over time.
Present findings:
┌─────────────────────────────────────────────────────────────┐
│ REFLECTION: {target (agent/decision/skill)} │
├─────────────────────────────────────────────────────────────┤
│ │
│ [HIGH] + Add constraint: "{specific constraint}" │
│ Source: "{quoted user correction}" │
│ Target: .squad/decisions/inbox/{agent}-{topic}.md │
│ │
│ [MED] + Add preference: "{specific preference}" │
│ Source: "{evidence from conversation}" │
│ Target: .squad/agents/{agent}/history.md │
│ │
│ [LOW] ~ Note for review: "{observation}" │
│ Source: "{pattern observed}" │
│ Target: Session notes only │
│ │
├─────────────────────────────────────────────────────────────┤
│ Apply changes? [Y/n/edit] │
└─────────────────────────────────────────────────────────────┘
Confidence Threshold:
| Threshold | Action |
|-----------|--------|
| ≥1 HIGH signal | Always propose (user explicitly corrected) |
| ≥2 MED signals | Propose (sufficient pattern) |
| ≥3 LOW signals | Propose (accumulated evidence) |
| 1-2 LOW only | Skip (insufficient evidence) |
ALWAYS show changes before applying.
After user approval:
.squad/agents/{agent}/history.md under ## Learnings section.squad/decisions/inbox/{agent}-{topic}.mddecisions.md if appropriateConversation:
Agent: "I'll use grep to search the repository"
User: "No, use the code search tools first, grep is too slow"
Reflection Output:
[HIGH] + Add constraint: "Use code intelligence tools before grep"
Source: "No, use the code search tools first, grep is too slow"
Target: .squad/agents/{agent}/history.md
Conversation:
Agent: [Creates PR with detailed description and test plan]
User: "Perfect! This is exactly the format I want for all PRs"
Reflection Output:
[MED] + Add preference: "Include test plan in PR descriptions"
Source: User praised detailed PR format
Target: .squad/decisions/inbox/pr-format.md (for team adoption)
✅ Use reflect when:
❌ Don't use reflect when:
.squad/decisions.md — Team-wide decisions.squad/agents/*/history.md — Agent-specific learnings.squad/routing.md — Work assignment patternsTake microsoft/reflect from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.