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 date - 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.