---
name: reflect-on-work
description: Pattern for producing quality reflections after completing work. Required for all agent outputs.
allowed-tools: Read
---
# Reflect on Work Skill
Pattern for producing quality reflections.
## When to Load This Skill
- You are completing any task
- You need to produce the mandatory reflection fields
- You want to contribute to system evolution
## Required Output Fields
EVERY agent output MUST include these fields in compact JSON:
```json
{"knowledge_updates":[{"category":"codebase","content":"What you learned","confidence":"certain"}],"reflection":{"what_worked":["string"],"what_failed":["string"],"patterns_noticed":["string"]}}
```
## Knowledge Updates
### Categories
- **codebase**: Discovered structure, components, data flow
- **convention**: Coding style, patterns, naming
- **decision**: Design choice and rationale
- **gotcha**: Pitfall, workaround, non-obvious behavior
### Confidence Levels
- **certain**: Verified, tested, documented
- **likely**: Strong evidence but not verified
- **uncertain**: Observed but needs confirmation
### Examples
```json
{"knowledge_updates":[{"category":"convention","content":"Project uses barrel exports in each directory","confidence":"certain"},{"category":"gotcha","content":"Must call init() before using AuthService","confidence":"certain"},{"category":"codebase","content":"API routes follow /api/v1/{resource} pattern","confidence":"likely"}]}
```
## Reflection Fields
### what_worked
- Strategies that succeeded
- Tools that helped
- Approaches worth repeating
### what_failed
- Strategies that didn't work
- Time wasted on wrong approaches
- Issues encountered
### patterns_noticed
- Repeated sequences (skill candidates)
- Common patterns in codebase
- Workflow improvements
### Example
```json
{"reflection":{"what_worked":["Parallel explorers found context quickly","Starting with types helped structure code"],"what_failed":["Initial approach missed edge case","Spent time on wrong file before exploring"],"patterns_noticed":["Error handling always uses Result type","Tests colocated with source files"]}}
```
## Complete Output Example
Minimal valid output with reflection:
```json
{"task_id":"task-001","status":"pre_complete","files_modified":[],"knowledge_updates":[],"reflection":{"what_worked":[],"what_failed":[],"patterns_noticed":[]}}
```
Full output with content:
```json
{"task_id":"task-001","status":"pre_complete","files_modified":[{"path":"src/auth.ts","change_type":"modified","summary":"Added login function"}],"knowledge_updates":[{"category":"convention","content":"Auth uses JWT tokens","confidence":"certain"}],"reflection":{"what_worked":["Found existing patterns quickly"],"what_failed":["Initial test approach was wrong"],"patterns_noticed":["All services use dependency injection"]}}
```
## Principles
- **Be honest** - Report failures, they're valuable
- **Be specific** - Actionable insights, not vague
- **Be brief** - Concise, not exhaustive
- **Use compact JSON** - Single line, no formatting