From dotnet Claude Kit
Captures session handoff details (completed, pending, learned) into .claude/handoff.md and loads it on session start. Maintains context across Claude Code sessions.
How this skill is triggered — by the user, by Claude, or both
Slash command
/dotnet-claude-kit:wrap-upThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
The session continuity ritual. Sessions are ephemeral; knowledge is permanent.
The session continuity ritual. Sessions are ephemeral; knowledge is permanent. Wrap-up bridges sessions in both directions:
.claude/handoff.md and flow
durable learnings into MEMORY.md./checkpoint instead.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.MEMORY.md (via instinct-system); emerging patterns update
.claude/instincts.md (via instinct-system). The handoff's Learned
section is the trigger, not the destination — handoffs are ephemeral..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.
# Session Handoff
> Generated: 2026-06-12 | Branch: feature/order-validation
## Completed
- [x] Added FluentValidation to CreateOrder (src/Orders/Features/CreateOrder.cs:15-35)
- [x] Fixed N+1 in GetOrderDetails (src/Orders/Features/GetOrderDetails.cs:28)
## Pending
- [ ] Add validation to UpdateOrder (src/Orders/Features/UpdateOrder.cs)
- Reference: CreateOrder validator for the established pattern
- [ ] Full test run — 2 pre-existing Catalog failures, not from today
## Learned
- FluentValidation validators must be registered in the module's DI setup
- Test fixture seeds 1 item per order, which hides N+1 queries
## Context
- Branch: feature/order-validation | Last commit: "Add CreateOrder validation"
- Uncommitted changes: no | Solution: src/MyApp.slnx
When multiple developers share the project, add a ## Decisions Made table
(Decision | Choice | Rationale) and ## Open Questions.
instinct-systemGood learning: "EF compiled queries don't work with Include()". Bad learning: "Worked on Orders module" (vague) or "Used TimeProvider" (already a rule).
.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..slnx/.sln (current dir, then parents,
then children) so Roslyn MCP tools work from the first prompt.User: /wrap-up
Claude: Wrapping up session...
## Session Summary
- Implemented OrderService with validation pipeline
- Fixed N+1 query in GetOrdersByCustomer
## Pending
- [ ] Add retry logic to payment gateway calls (OrderService.cs:42)
## Learnings Captured
- User prefers explicit mapping over AutoMapper → MEMORY.md
Written to .claude/handoff.md. See you next session.
/checkpoint — Mid-session save (commit + brief note) without ending the sessioninstinct-system — Confidence-scored pattern capture fed by the Learned sectioninstinct-system — Turns user corrections into permanent MEMORY.md rulesnpx claudepluginhub codewithmukesh/dotnet-claude-kit --plugin dotnet-claude-kitCloses out a session cleanly by reviewing work, updating project tracking files, committing changes, and capturing session knowledge. Use when a task is complete with no passoff needed.
Saves session state at end of session and resumes it at start of next session. Useful when context is running out, wrapping up, or continuing previous work.
Wraps up a work session by recording changed files, caveats, decisions, and next steps so a fresh session can resume without re-deriving context.