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.mdLessons (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:
- Read accumulated Progress Logs from
.sessions/SESSION_[date]-[name].md - Extract patterns โ formulate lessons
- Write lessons to
MEMORY.mdLessons (Inbox) - 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
- READ SOURCES FIRST: Gather from the session log, chat, MEMORY.md before saving
- EXTRACT LESSONS: Don't close without reviewing Progress Log for lessons
- SAVE BEFORE ENDING: Always save context before session ends
- RESTORE BEFORE STARTING: Check for saved context when starting
- BE SPECIFIC: Vague notes are useless later
- INCLUDE WHY: Decisions without rationale cause confusion
- PRIORITIZE NEXT STEPS: Make continuation obvious
- 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.