Agent skill
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.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/72-close-session-150
SKILL.md
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.
Didn't find tool you were looking for?