Agent skill
reflection
Self-improving meta-skill that learns from user corrections and updates the TARGET PROJECT's skill files. Only runs when user explicitly says "reflect". Commits all skill updates to Git.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/reflection-richardhowes-self-improvement-cod-2
SKILL.md
Reflection Skill
Purpose
Improve future Claude Code sessions by learning from mistakes and user corrections.
Updates skill files in the target project's .claude/skills/ directory.
This is a meta-skill - it modifies other skills based on session learnings.
When to Run (Explicit Triggers Only)
Only activate when the user explicitly requests reflection:
- "reflect"
- "don't do this again"
- "remember this for next time"
- "update your skills"
- "learn from this"
Never run automatically - always wait for explicit user trigger.
Where Rules Go
Rules are written to the target project's skill files (NOT the plugin repository):
| Rule Type | Target File |
|---|---|
| General conventions | .claude/skills/conventions.md |
| VILT patterns | .claude/skills/vilt-patterns.md |
| Project-specific | .claude/skills/project-rules.md |
| Unclear/mixed | .claude/skills/lessons-learned.md |
If the target project doesn't have .claude/skills/, create it with a starter structure.
Process
-
Analyse the completed session
- Review conversation for corrections
- Identify repeated mistakes
- Note stated preferences
-
Extract atomic, durable rules
- One rule per concept
- "Do X" or "Never Y" format
- Date-stamped for tracking
-
Check for contradictions
- Read existing skill files
- Flag conflicting rules
- Ask user to resolve
-
Update appropriate skill file(s)
- Append to
## Learned Rulessection - Preserve existing formatting
- Keep changes minimal
- Append to
-
Commit changes separately from code
- Use semantic commit message
- Include rule summary in body
Rule Quality Bar
A rule must be:
- Durable: Will apply to future work in this project
- Actionable: Clear imperative ("Always X", "Never Y")
- Specific: Not too broad or vague
- Non-contradicting: Doesn't conflict with existing rules
Rule Format
- [YYYY-MM-DD] RULE_TEXT (source: BRIEF_CORRECTION_CONTEXT)
Examples:
- [2025-01-09] Always eager load relationships in service methods that return collections (source: booking service review)
- [2025-01-09] Never use axios - use Inertia router instead (source: corrected 3x in dashboard component)
- [2025-01-10] Use FloatingLabelInput for all form fields (source: user preference stated)
Starter Skill Structure
When creating .claude/skills/ in a new project:
# Lessons Learned
## Purpose
Project-specific rules learned from Claude Code sessions.
## Learned Rules
<!-- Reflection appends here -->
Git Commit Format
chore(skills): reflect session learnings
- Added: [rule summary]
- Source: [correction context]
- File: .claude/skills/[filename].md
What NOT to Learn
Do not create rules for:
- One-time exceptions
- User's momentary preferences
- Context-specific decisions
- Temporary workarounds
Only learn patterns that should always apply.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?