Reflection checklist (quickly go through it after completing a task)
- Did this time involvepitfalls/detours? What was the root cause?
- Was therecounterintuitive behavior(unexpected behavior of frameworks, APIs, or tools)?
- Was therean architectural decisionora project conventionworth recording?
- This informationwill it be used again next time? Will other developers benefit?
All no → skip, do not remember.
Storage location
| Category | Location | Commit to git | Content |
|---|---|---|---|
| Team shared | Project .claude/memory/MEMORY.md |
Yes | Deployment lessons, business rules, architectural decisions, environment key points, pitfall records |
| Sensitive private | ~/.claude/projects/<project>/memory/MEMORY.md |
No | Passwords, keys, tokens, personal paths |
Writing process
- Read the target file, check whether relevant memories already exist
- Existing → Edit and update; none → append a new entry; contradiction → correct the old memory
- Group by semantics (
##headings), not by time - Keep the total number of lines within 150; when exceeded, merge and condense
Writing principles
- Conclusion-oriented: write "Docker --env-file does not remove quotes", not a narrative of the process
- Actionable: write "use sed for precise replacement, do not overwrite the entire .env"
- Has context: write "Prisma P1012 → check whether DATABASE_URL has quotes"
- No duplication: do not record duplicates of what is already in CLAUDE.md / skill
- Sensitive separation: passwords and keys only go into private memory; in shared memory use "configured" instead of specific values