Full session lifecycle management — analyzes the current session on close, routes knowledge to memory and skills, and passes context to the next session via a handoff file + SessionStart hook. Use this skill whenever the user types /es, "end session", "wrap up", "save session", "session summary", or any variation of closing/ending a work session. Also use when the user asks to save progress, create a session handoff, or prepare context for the next session. This skill should trigger even for short sessions — every session produces at least a state update and a handoff file.
A session lifecycle skill that solves three problems Auto-dream and Auto-memory don't:
┌─────────────┐ ┌──────────────┐ ┌───────────────────────────────────────┐
│ Session N │────▶│ /es │────▶│ ~/.claude/projects/{cwd}/memory/ │
│ (working) │ │ (analysis) │ │ ├── MEMORY.md (index) │
│ │ │ │ │ ├── last-session.md (handoff) │
└─────────────┘ └──────────────┘ │ └── *.md (topic files) │
│ ~/.claude/skills/ (if skill updated) │
└──────────────────┬──────────────────┘
│
┌──────────────┐ │
│ Session N+1 │◀────────────────────────┘
│ sessionStart │ Python hook reads
│ hook fires │ last-session.md → JSON
│ │ → additionalContext
└──────────────┘ → deletes file
Session Wizard follows Claude Code's native project memory layout:
~/.claude/projects/{sanitized_cwd}/memory/
├── MEMORY.md ← index of all memory files
├── last-session.md ← handoff file (auto-deleted by hook)
├── problems-and-fixes.md ← accumulated pitfalls
└── *.md ← topic memory files
The {sanitized_cwd} is Claude Code's standard path sanitization of your project's working directory
(e.g., D--projects-any-project for D:\projects\any-project).
Skills directories:
~/.claude/skills/ (cross-project, reusable everywhere)./.claude/skills/ (specific to current project)Override memory location via a config file if your setup differs:
<!-- .claude/session-wizard.config.md -->
memory_dir: ~/.claude/projects/{sanitized_cwd}/memory
skills_global_dir: ~/.claude/skills
skills_project_dir: ./.claude/skills
When the user invokes /es, perform ALL steps below before responding. This is a blocking requirement — do not skip steps, do not ask clarifying questions.
Review the entire conversation. Classify every notable piece of information into one of these types:
| Type | What to look for | Examples |
|---|---|---|
user | Facts about the user: role, preferences, expertise, workflow habits | "I prefer Tailwind over Bootstrap", "I work in Angular 18" |
feedback | Corrections or confirmations of Claude's approach | "Don't use classes, use functions", "This approach works well" |
project | State changes: new features, architecture decisions, blockers, completions | "Switched from REST to GraphQL", "Auth module is done" |
reference | External resources discovered or used | URLs, API docs, libraries, services, tools |
pitfall | Problems encountered and their solutions | Build errors, tricky bugs, non-obvious gotchas |
Be thorough. Scan the full conversation — important context often hides in early messages or casual remarks.
For each item identified in Step 1:
---