---
name: save
description: |
Save session context to Serena MCP memory for cross-session persistence.
Analyzes accomplishments, persists learnings as structured memories,
creates checkpoint for future session restoration.
Portable across all Serena-enabled agents (Claude Code, Cursor, Windsurf, etc.).
Use when: ending a session, pausing work, saving progress, or preserving learnings.
Keywords: session, save, persist, checkpoint, memory, store, context, end
---
# Session Save
Persist session context to Serena MCP memory for cross-session continuity.
## Core Requirements
- All persistence uses Serena MCP tools exclusively (no agent-specific tools)
- Always check existing memories before writing to avoid overwriting valuable context
- Session checkpoint keys must include date: `session_YYYY-MM-DD_`
- Pattern and learning memories use: `pattern_`
- Never skip `think_about_collected_information` for save validation
- Report what was saved as a structured summary to the user
## Phase 1: Session Analysis
1. Review what was accomplished this session:
- Files created or modified
- Decisions made and their rationale
- Problems encountered and solutions found
- Tasks completed and tasks remaining
2. Identify what is worth persisting:
- **Session state**: Current progress, next steps, blockers
- **Learnings**: Reusable patterns, solutions to problems
- **Plans**: Active plans or updated plans
- **TODOs**: Outstanding work items
## Phase 2: Memory Inventory
3. Call `list_memories` to see existing memories
4. Check if `project_overview` needs updating (significant new understanding gained?)
5. Identify which existing memories need updates vs. new memories to create
## Phase 3: Persist Session Checkpoint
6. Call `write_memory` with key `session_YYYY-MM-DD_`:
```
## Session: YYYY-MM-DD —
### Accomplished
- [what was done]
### Decisions Made
- [decision]: [rationale]
### Files Changed
- [file path]: [what changed]
### Pending / Next Steps
- [what remains to be done]
### Blockers (if any)
- [blocker description]
```
## Phase 4: Persist Learnings (if any)
7. For each reusable pattern discovered, call `write_memory` with key `pattern_`:
```
## Pattern:
**Context**: [when this applies]
**Solution**: [the pattern/approach]
**Example**: [concrete example]
**When to Use**: [trigger conditions]
```
8. For each persistent TODO, call `write_memory` with key `todo_`:
```
## TODO:
**Priority**: [high/medium/low]
**Context**: [why this matters]
**Acceptance Criteria**: [how to know it's done]
```
## Phase 5: Update Project Overview (if needed)
9. If significant new project understanding was gained:
- Call `read_memory("project_overview")` to get current content
- Call `write_memory("project_overview", updated_content)` with additions
- Do NOT overwrite existing content — append or update sections
## Phase 6: Validation
10. Call `think_about_collected_information` to verify save completeness
11. Verify: session checkpoint created, learnings persisted, no critical context lost
## Phase 7: Save Report
Report to the user:
```
## Session Saved
### Memories Written
| Key | Purpose |
|-----|---------|
| session_YYYY-MM-DD_xxx | Session checkpoint |
| pattern_xxx | [if any] |
| todo_xxx | [if any] |
### Memories Updated
| Key | What Changed |
|-----|-------------|
| project_overview | [if updated] |
### Next Session
Run `/load` to restore this context.
```
## Memory Naming Conventions
See `references/memory-conventions.md` for the complete naming reference.
Quick summary:
| Prefix | Purpose | Example |
|--------|---------|---------|
| `project_overview` | Project summary (singleton) | `project_overview` |
| `CRITICAL_*` | Must-read rules | `CRITICAL_activation_rule` |
| `session_YYYY-MM-DD_*` | Session checkpoints | `session_2026-02-09_auth-flow` |
| `plan_*` | Active plans | `plan_dark-mode` |
| `pattern_*` | Reusable patterns | `pattern_supabase-rls` |
| `discovery_*` | Brainstorming results | `discovery_api-options` |
| `todo_*` | Persistent TODOs | `todo_fix-login` |
## Success Criteria
- [ ] Session accomplishments analyzed
- [ ] Existing memories checked (no accidental overwrites)
- [ ] Session checkpoint memory written with date-stamped key
- [ ] Learnings/patterns persisted (if any discovered)
- [ ] Project overview updated (if significant new understanding)
- [ ] `think_about_collected_information` called
- [ ] Save report presented to user