wrap-up
Owns the session handoff lifecycle: the end-of-session ritual that captures completed work, pending tasks, and learnings into .claude/handoff.md, and the session-start protocol that loads it back. Triggers on: /wrap-up, "wrap up", "done for today", "that's all", "end session", "signing off", "handoff" — and at session start: "start session", "session start", "load handoff", "pick up where we left off", "what were we working on".
Resumen
/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.
# 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.slnxWhen 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
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.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
Archivos 1 archivo
Instálala a mano
Deska ejecuta esto por ti, para cada agente que elijas. Para ejecutarlo tú en una terminal:
npx skills add codewithmukesh/dotnet-claude-kit --skill wrap-upMás de codewithmukesh
- clean-architecturecodewithmukeshClean Architecture for .NET applications. Covers the 4-project layout (Domain, Application, Infrastructure, Api), dependency inversion, use case handlers, domain entities with behavior, and infrastructure as a plugin. Load this skill when building a project with Clean Architecture, discussing layered architecture, dependency inversion, use cases, or when the architecture-advisor recommends Clean Architecture.2,200 instalaciones en skills.sh0
- architecture-advisorcodewithmukeshArchitecture selection advisor for .NET applications. Asks structured questions about domain complexity, team size, system lifetime, compliance, and integration needs, then recommends the best-fit architecture: Vertical Slice, Clean Architecture, DDD + Clean Architecture, or Modular Monolith. Load this skill when the user asks "which architecture", "choose architecture", "set up project", "new project", "architecture decision", "restructure", or "how should I organize". Always load BEFORE any architecture-specific skill.2,100 instalaciones en skills.sh0
- authenticationcodewithmukeshAuthentication and authorization for ASP.NET Core. Covers JWT bearer tokens, OpenID Connect, ASP.NET Identity, authorization policies, role and claim-based authorization, and API key authentication. Load this skill when implementing login, protecting endpoints, designing authorization rules, or when the user mentions "auth", "JWT", "bearer token", "OIDC", "OpenID Connect", "Identity", "claims", "roles", "authorize", "RequireAuthorization", "API key", or "cookie auth".2,100 instalaciones en skills.sh0
- ci-cdcodewithmukeshCI/CD pipelines for .NET applications. Covers GitHub Actions and Azure DevOps YAML pipelines with build, test, publish, and deploy stages. Load this skill when setting up continuous integration, automated testing, deployment workflows, or when the user mentions "CI/CD", "pipeline", "GitHub Actions", "Azure DevOps", "workflow", "deploy", "build pipeline", "publish", "NuGet push", "release", or "continuous integration".2,100 instalaciones en skills.sh0
- configurationcodewithmukeshConfiguration patterns for .NET 10 applications. Covers the Options pattern, IOptionsSnapshot vs IOptions, secrets management, and environment-based configuration. Load this skill when setting up application configuration, managing secrets, binding configuration sections, or when the user mentions "configuration", "appsettings", "Options pattern", "IOptions", "IOptionsSnapshot", "secrets", "user secrets", "environment variables", "connection string", or "config binding".2,100 instalaciones en skills.sh0