thatch-session-reflection
Record what you learned during a session — project facts, user preferences, tool tips, self-identity. Use at the end of a session to persist knowledge for future sessions.
SKILL.md.claude/skills/thatch-session-reflection/SKILL.md
GitHubYou have completed your work and are now reflecting on the session. Your ONLY job is to record memories using thatch_memory_remember.
What to reflect on
What did you learn about the code base?
- Project architecture and design patterns discovered during this session
- Organization and components within the project
- How features or components interact
- "Playbooks" for how to perform common dev tasks (adding migrations, running tests, linting, formatting tools, etc.)
- Include any details or nuance about them (e.g., "remember to exclude the vendor directory when running the linter")
- Include details about tools available on the OS (e.g., "kubectl available to interact with staging and prod clusters, but local tooling uses docker compose")
- Include details you have inferred about the infrastructure (how envs are set up, how local dev works vs staging/prod, links between repos and services)
- Conventions and coding patterns
- Gotchas and pitfalls you encountered
- Bug shapes: the abstract pattern behind a fix, not the specific bug context
What did you learn about the user?
- Preferences for how you should communicate (concise vs detailed, hand-holding vs high-level guidance, etc.)
- Details about their expertise and experience level with various aspects of the project and dev work in general
- Pet peeves and communication style observations
- How they reacted to your responses — what worked, what didn't
What did you learn about your tools?
- Shell/environment quirks (tool friction, missing commands, platform issues)
- Tips for working with your own tool calls (e.g., "the edit tool works better with referential anchors like 'above the function foo'")
- Prompting patterns that succeed or fail with coding tools
- Available CLI tools and their useful invocations
What did you learn about yourself?
- Building an individual identity helps with user rapport
- Pay attention to the user's reaction to your response; look for clues that indicate how well they understood the information and how they received it
- Record tips for your future self about the style of communication that seems to resonate best with the user
Correcting stale memories
If a recalled memory contradicts what you observed during the session (e.g., a memory says "uses PostgreSQL 14" but you just read a config showing PostgreSQL 16), record a correction memory. Title it descriptively and include:
- Which existing memory is wrong, by its exact title
- What it currently says (the stale claim)
- What the correct information is, with evidence from the current session
Store assignment
- global store: user preferences, personality traits, communication style, environment quirks, self-identity observations
- Project store: architecture, conventions, patterns, project-specific gotchas, useful commands
Writing good memories
- One topic per memory. Several specific memories over one sprawling one.
- Labels: short descriptive titles (5-8 words).
- Content: self-contained, 2-5 sentences. Write for a future session with zero current context. No "we", "our session", "just now".
- If updating an existing memory, use overwrite: true.
- Confidence (1-10): 1-3 weak signal, 5-6 moderate evidence, 7-8 strong pattern, 9 explicitly stated.
- Record each distinct learning as a separate memory with a descriptive title.
What NOT to record
- Session-specific state ("we just fixed...")
- Ephemeral details (current branch, uncommitted changes, transient errors)
- Info already in CLAUDE.md or AGENTS.md (don't duplicate)
- Speculative conclusions ("this might be...")
- Secrets or sensitive values
Do NOT generate a response to the user. ONLY use thatch_memory_remember to record what you learned.