返回 Skill 列表
extension
分类: AI Agent 能力无需 API Key

72-close-session-150

[72] 结束。在对话之间保存和恢复会话上下文。在结束会话以保存进度时,或开始新会话以恢复上下文时使用。在“保存会话”、“结束会话”、“保持上下文”、“移交”、“从上次继续”、或当上下文窗口即将耗尽时触发。

person作者: 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.