โ† Back to skills
extension
Category: AI Agent CapabilitiesNo API key required

72-close-session-150

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

personAuthor: jakexiaohubgithub

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.