/wrap-up
What
The session continuity ritual. Sessions are ephemeral; knowledge is permanent. Wrap-up bridges sessions in both directions:
- Session END — capture exactly three things: what was DONE, what is
PENDING, and what was LEARNED. Write them to
.claude/handoff.mdand flow durable learnings intoMEMORY.md. - Session START — load the handoff, memory, and instincts, then present a resume summary so no session starts blind.
When
- End of a working session — "done for today", "that's all", "signing off"
- Before switching projects or after a major milestone
- Implicit endings — "thanks" after completed tasks, "good enough for now": offer the handoff, don't just say goodbye
- Start of a session — "start session", "load handoff", "what were we working on"
- For a mid-session save without ending, use
/checkpointinstead
How
Session End
- Review the session — From git status/diff and the conversation: files touched, tasks completed vs unfinished, decisions made and why, user corrections observed.
- Check uncommitted changes — If any exist, offer to commit before wrapping.
- Write the handoff —
.claude/handoff.md, using the format below. Single file, always overwritten — only the current state matters. If the existing handoff has pending tasks from someone else, ask before overwriting: merge, overwrite, or skip. - Extract learnings — Corrections and discoveries worth keeping go to
MEMORY.md(viainstinct-system); emerging patterns update.claude/instincts.md(viainstinct-system). The handoff's Learned section is the trigger, not the destination — handoffs are ephemeral. - Confirm — Summarize the handoff and learnings captured for the user.
Handoff File Format (.claude/handoff.md)
Write it for a stranger with zero context — file paths, rationale, specific
next steps. "Continue the refactor" is useless; "Refactor
src/Orders/CreateOrder.cs to the Result pattern — see Catalog for the
established pattern" is actionable.
When multiple developers share the project, add a ## Decisions Made table
(Decision | Choice | Rationale) and ## Open Questions.
Learning Extraction Checklist
- Did the user correct anything? → MEMORY.md via
instinct-system - Did we discover something non-obvious? → Learned section
- Did we decide something with rationale? → document the "why"
- Did a tool/approach fail? → note it so the next session doesn't retry it
Good learning: "EF compiled queries don't work with Include()". Bad learning: "Worked on Orders module" (vague) or "Used TimeProvider" (already a rule).
Session Start
- Load context — Read
.claude/handoff.md(pending work),MEMORY.md(permanent rules),.claude/instincts.md(patterns at 0.7+ confidence). Missing files are fine: note it and start clean — never block on them. - Detect the solution — Find
.slnx/.sln(current dir, then parents, then children) so Roslyn MCP tools work from the first prompt. - Present a resume summary — Last session's work, pending tasks, active rules/instincts count, detected solution. Then ask what to work on — never auto-start pending work.
Example
Related
/checkpoint— Mid-session save (commit + brief note) without ending the sessioninstinct-system— Routes session learnings: patterns become instincts, user corrections become permanent MEMORY.md rules

