[72] CLOSE. Save and restore session context between conversations. Use when ending a session to preserve progress, or starting a new session to restore context. Triggers on \"save session\", \"end session\", \"preserve context\", \"handoff\", \"continue from last time\", or when context window is running low.
Installs into .claude/skills of the current project.
Are you the author of 72 Close Session 150?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/majiayu000-72-close-session-150-claude-skill-registry)
---
name: 72-close-session-150
description: "[72] CLOSE. Save and restore session context between conversations. Use when ending a session to preserve progress, or starting a new session to restore context. Triggers on \"save session\", \"end session\", \"preserve context\", \"handoff\", \"continue from last time\", or when context window is running low."
---
# Close-Session 150 Protocol
**Core Principle:** Never lose progress. Save context before ending, restore context when starting.
## What This Skill Does
This skill handles **two modes**:
### πΎ SAVE MODE (End of Session)
- Capture current state and progress
- Document key decisions and why
- Define next steps clearly
- Create handoff for next session
### π RESTORE MODE (Start of Session)
- Read saved context
- Restore working state
- Verify what's still valid
- Continue seamlessly
## When to Use This Skill
**SAVE triggers:**
- Context window running low
- Ending work session
- Before major context switch
- Handoff to another person/session
- "Save progress", "end session", "preserve context"
**RESTORE triggers:**
- Starting new session
- Continuing previous work
- "Resume", "continue from last time", "restore context"
## The 150% Continuity Rule
- **100% Core:** Current state + next steps
- **50% Enhancement:** Decision rationale + blockers + risks
## Save Protocol
### Step 0: GATHER SOURCES (Read First!)
Before saving, collect data from all sources:
| Source | What to Read | Purpose |
|--------|--------------|---------|
| `.sessions/SESSION_[date]-[name].md` | Progress Log / Findings / Decisions | Raw data for lessons |
| Chat history | Current conversation context | What was discussed, tried, decided |
| `MEMORY.md` | Lessons Inbox | Existing lessons |
| Files touched | Recent changes | What was modified |
**Critical:** Don't start saving until you've read all sources!
### Step 1: EXTRACT LESSONS FROM PROGRESS LOG
Review the session log Progress Log and extract lessons:
- Look for patterns in β (what didn't work)
- Identify root causes from π (what was tried)
- Confirm solutions from β (what worked)
- Write lessons to `MEMORY.md` Lessons (Inbox)
```
Progress Log Analysis:
β Failed attempts β Why did they fail? β Principle for future
β Successful fixes β What made it work? β Confirm understanding
π Experiments β What was learned? β Document insight
```
### Step 2: SUMMARIZE PROGRESS
What was accomplished:
- Tasks completed
- Current state
- Files changed
### Step 3: CAPTURE DECISIONS
Key choices made and why:
- What was decided
- Why this approach
- Alternatives considered
### Step 4: DEFINE NEXT STEPS
Clear continuation path:
- Immediate priorities
- What's blocked
- What's ready
### Step 5: NOTE CONTEXT
Important state to remember:
- Active files/components
- Dependencies
- Risks/concerns
## Output Format: Session Save
```
πΎ **SESSION-SAVE 150**
**Date:** [YYYY-MM-DD HH:MM]
**Project:** [Project name/path]
## Progress Made
- β [Completed item 1]
- β [Completed item 2]
- π [In progress item]
## Current State
- Working on: [Current focus]
- Files touched: [Key files]
- Status: [Overall status]
## Key Decisions
| Decision | Reasoning |
|----------|-----------|
| [Choice 1] | [Why] |
| [Choice 2] | [Why] |
## Next Steps (Priority Order)
1. **Immediate:** [Next action]
2. **Then:** [Following action]
3. **Later:** [Future action]
## Blockers & Risks
- β οΈ [Blocker/Risk 1]
- β οΈ [Blocker/Risk 2]
## Context to Remember
- [Important detail 1]
- [Important detail 2]
---
**Handoff Status:** β Ready for next session
```
## Output Format: Session Restore
```
π **SESSION-RESTORE 150**
**Restoring from:** [Date of saved session]
## Previous Progress
[Summary of what was done]
## Continuing From
- Last state: [Where we left off]
- Next step: [What to do now]
## Context Restored
- β [Verified context 1]
- β [Verified context 2]
- β οΈ [Needs verification]
## Ready to Continue
Starting with: [First action]
```
## Quick Save Template
For fast saves when time is short:
```
πΎ **QUICK SAVE**
**Done:** [What was accomplished]
**Current:** [Where we are]
**Next:** [What to do next]
**Remember:** [Key context]
```
## Integration with Mid-Session Checkpoints
If `74-mid-session-save-150` was used during the session:
```
Session Flow:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β mid-session-save β mid-session-save β close-session β
β β β β β
β Progress Log #1 Progress Log #2 READ ALL LOGS β
β (raw data) (more data) EXTRACT LESSONS β
β FINAL HANDOFF β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
```
**Close-session responsibility:**
1. Read accumulated Progress Logs from `.sessions/SESSION_[date]-[name].md`
2. Extract patterns β formulate lessons
3. Write lessons to `MEMORY.md` Lessons (Inbox)
4. Create final handoff with full context
## Where to Save Context
```
π SAVE LOCATIONS
βββ MEMORY.md # Project memory file + extracted lessons
βββ .sessions/SESSION_[date]-[name].md # Session-specific log (read & update)
βββ Project README # For major milestones
βββ Git commit message # For code changes
```
## What to Read vs Write
| Location | READ | WRITE |
|----------|------|-------|
| `.sessions/SESSION_[date]-[name].md` | Progress Log, checkpoints, findings | Final handoff state |
| `MEMORY.md` | Lessons Inbox | New lessons |
| Chat history | Full conversation context | β |
| Files touched | What was modified | β |
## Operational Rules
1. **READ SOURCES FIRST:** Gather from the session log, chat, MEMORY.md before saving
2. **EXTRACT LESSONS:** Don't close without reviewing Progress Log for lessons
3. **SAVE BEFORE ENDING:** Always save context before session ends
4. **RESTORE BEFORE STARTING:** Check for saved context when starting
5. **BE SPECIFIC:** Vague notes are useless later
6. **INCLUDE WHY:** Decisions without rationale cause confusion
7. **PRIORITIZE NEXT STEPS:** Make continuation obvious
8. **FLAG RISKS:** Don't hide problems
## Examples
### Example: Extracting Lessons from Progress Log
**Input: Progress Log from `.sessions/SESSION_[date]-[name].md`**
```
### Checkpoint #1
β Didn't Work: Direct state update in useEffect β infinite loop
Reason: dependency array included computed object
### Checkpoint #2
π Tried: useMemo for computed dependency
β Worked: useMemo solved the loop β stable reference now
### Checkpoint #3
β Didn't Work: Hardcoded colors in component
Reason: Violates project convention (use themeColors)
β Worked: Imported from @/utils/themeColors
```
**Output: Lessons extracted to `MEMORY.md`**
```
### 2026-01-10 useEffect dependency stability
**Problem:** Infinite loop from computed object in useEffect deps
**Attempts:** Direct state update failed
**Solution:** Use useMemo to create stable reference
**Why it worked:** useMemo memoizes the computed value, preventing new reference on each render
**Principle:** Never use computed objects in useEffect deps β wrap with useMemo or extract primitive IDs
### 2026-01-10 Color convention adherence
**Problem:** Hardcoded colors violated project standards
**Solution:** Import from @/utils/themeColors
**Principle:** All colors must come from central theme utilities, never hardcoded
```
---
### β Bad Session Save
```
"Was working on stuff. Continue later."
Result: Next session spends 30 min figuring out what "stuff" was
```
### β Good Session Save
```
πΎ SESSION-SAVE 150
Progress Made:
- β Created 7 skills from protocols
- β Refactored chain-flow to include action-plan
- π Working through remaining protocols
Current State:
- Converting PROTOCOLS_GENERALIZED.md to skills
- 7/13 protocols converted
Key Decisions:
| Decision | Reasoning |
|----------|-----------|
| Renamed "Plan-First" β "chain-flow" | It's an orchestrator, not just a plan |
| Separated action-plan as own skill | Needed as component in chains |
Next Steps:
1. **Immediate:** Create a mid-session checkpoint (`74-mid-session-save-150`) if context is low
2. **Then:** Continue with remaining protocols
3. **Later:** Test skills integration
Context to Remember:
- Skills go in ./.codex/skills/ folder
- Each skill needs SKILL.md with yaml frontmatter
- chain-flow orchestrates other skills
Handoff Status: β Ready
```
## Failure Modes & Recovery
| Failure | Detection | Recovery |
|---------|-----------|----------|
| **No save** | Session ended without handoff | Reconstruct from memory, files, git |
| **Vague save** | Can't understand notes | Ask questions, check artifacts |
| **Outdated context** | Things changed since save | Verify current state, update |
| **Missing decisions** | Don't know why choices made | Review code/docs, make new decision |
| **Skipped Progress Log** | Lessons not extracted | Re-read session log, extract |
| **Didn't read sources** | Incomplete handoff | Gather from all sources, redo save |
---
**Remember:** Future you (or next session) will thank present you for good notes. Context loss is expensive β prevention is cheap.