session-continuity

Use when a session is about to end with unfinished work, after context loss or compaction, after a crash, or when the user wants to resume a multi-step task. Saves a named checkpoint of current task state, progress, blockers, and next action so the next session starts from the exact resume point — not from scratch. Checkpoints survive session death and can stack (deep resume) for multi-day workflows. Builds on the WAL Protocol from proactive-agent: WAL captures per-message decisions; checkpoints capture task-level resume state. Activate automatically on close signals, high context, or user explicitly requests save/resume.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "session-continuity" with this command: npx skills add wangjipeng/session-continuity

Session Continuity

Save your place. Resume exactly where you left off — even days later.


Core Position

Most agents lose all state when sessions die. This skill treats checkpoints as first-class artifacts: written proactively before context is at risk, read automatically on session start, consumed to restore full working context.

This is not "note-taking." A checkpoint is a machine-readable resume signal. If it can't restore the exact next action with enough context to execute it, the checkpoint is incomplete.


Modes

/checkpoint save <name>

Save current task state to a named checkpoint file. Use before closing any session with unfinished work, before manual reset, approaching context limits, or when the task spans multiple sessions.

Trigger when:

  • About to close a session with active work
  • Context >70% and work is incomplete
  • Multi-day task where tomorrow you need to continue
  • After a milestone, to mark the resume point

Do not use for: trivial one-shot tasks that complete in a single reply.

/checkpoint save meeting-prep
/checkpoint save build-login-page --task "Build login page with OAuth fallback"
/checkpoint save analyze-q1-data

What gets saved:

  • Task name and one-line summary
  • Current progress (what was done)
  • Blockers and uncertainties
  • Exact next action (the very next command or step)
  • Relevant file paths and recent decisions
  • Context snippets critical to continue

Output: Confirmation with checkpoint name and file path.


/checkpoint list

List all available checkpoints in the workspace.

Use when:

  • Starting a new session and want to see what was left open
  • User asks "what was I working on?"
  • About to start work and want to check for existing resume points

Output: Table of checkpoints with name, created time, task summary, and age (how long since last saved).


/checkpoint resume <name>

Read a checkpoint and restore the session to that resume point.

Trigger when:

  • Session starts and a recent checkpoint exists
  • User says "continue where we left off", "resume task X"
  • You detect <summary> tag or compaction recovery signals
  • User asks "where did we stop?"

Behavior:

  1. Read the checkpoint file
  2. Present the task summary and last progress
  3. State the exact next action
  4. Confirm before proceeding — user must approve resumption

Output: "Resuming: [task name]. Last progress: [summary]. Next action: [action]. Ready to continue? (yes/no)"


/checkpoint delete <name>

Delete a named checkpoint. Use when a task is fully complete and the checkpoint is no longer needed.

Do not use for: archiving — delete only when the task is truly done.


Execution Steps

For /checkpoint save <name>

Before writing, gather context:

  1. Read SESSION-STATE.md — this is the WAL source; it contains active task state, decisions, current goal
  2. Scan conversation history — what has been done since session start?
  3. Verify directory exists — run ls memory/checkpoints/; if missing, create it
  4. Draft checkpoint content — fill every section of the Checkpoint File Format:
    • Task: one-line summary (infer from SESSION-STATE.md and conversation)
    • Progress: specific completed items — file paths, line ranges, command outputs
    • Next Action: exact next step — which file to edit, which command to run
    • Blockers: concrete obstacles with names and error messages
    • Key Decisions: reasoning that led to current state, not just facts
    • Relevant Context: file paths, user preferences, anything not inferable from files alone
  5. Write the completed checkpoint to memory/checkpoints/<name>.md
  6. Confirm to user: checkpoint name, task, next action

Naming rules (strict):

  • Use kebab-case: build-login-page, q1-data-analysis
  • Must be specific enough to identify the task at a glance
  • Forbidden names: task, work, save, untitled, backup

If SESSION-STATE.md is empty: derive checkpoint content entirely from the conversation. Do not skip the checkpoint just because SESSION-STATE.md is empty.

For /checkpoint resume <name>

  1. Read memory/checkpoints/<name>.md
  2. Verify referenced files still exist — check each file path in the checkpoint; flag any that are missing or changed as potentially stale
  3. Present the checkpoint as a structured recovery briefing:
    📌 Resume: <task name>
    Saved: <date> (<age>)
    
    ✅ Progress:
    - <item 1>
    - <item 2>
    
    🔜 Next action: <exact command or step>
    
    ⚠️ Stale warnings (if any): <files that no longer exist>
    
  4. Wait for user confirmation ("yes" / "no")
  5. If confirmed: execute the next action; if stale, re-verify paths first
  6. If rejected: delete the checkpoint and start fresh

/checkpoint auto Protocol (internal)

Not a user-invokable mode. The agent scans every message for these trigger signals and acts autonomously:

Trigger signals (scan in priority order):

  1. Context >70% — call session_status; if usedTokens/contextWindow > 0.70, trigger
  2. Close signals — user says "goodnight", "晚安", "logout", "exit", "明天见"
  3. Idle with work — session idle >10 min and SESSION-STATE.md is non-empty
  4. Long operation — about to run a command expected to take >30s

When triggered:

  1. Read current SESSION-STATE.md content
  2. Write to memory/checkpoints/autosave.md (overwrite previous autosave)
  3. Append entry to memory/checkpoints/autosave-log.md
  4. No user-visible output — only write to the log file

Autosave never overwrites named checkpoints. Named checkpoints are preserved indefinitely until explicitly deleted.


Do Not

  • Do not dump raw chat transcript into a checkpoint
  • Do not write vague progress like "worked on the task" — write exact file/state
  • Do not mark a task complete if next action is undefined
  • Do not save checkpoints for trivial one-shot replies
  • Do not overwrite a named checkpoint with autosave (keep named checkpoints intact)
  • Do not resume from checkpoint without presenting summary and confirming
  • Do not delete a checkpoint while the task is still active
  • Do not present a stale checkpoint as current — flag outdated file paths before resuming
  • Do not save a checkpoint without reading SESSION-STATE.md first (or conversation if empty)
  • Do not use forbidden names (task, work, save, untitled, backup)

Quality Bar

A checkpoint is complete when:

  • Task name and summary are clear
  • Progress is specific enough to verify what was done
  • Next action is executable without any additional context from the previous session
  • Blockers are listed with concrete details (file paths, error messages, decisions pending)
  • Relevant decisions are captured (not just facts — the reasoning that led to them)
  • File paths referenced are actual paths, not generic descriptions
  • Age of checkpoint is surfaced at resume (via file mtime, shown to user before confirming)

A checkpoint is incomplete if you have to ask "what were we doing?" after reading it.


Good vs. Bad Examples

AspectGoodBad
Progress"Wrote src/auth.py lines 45-120, login flow complete""Worked on auth"
Next action"Run pytest tests/auth_test.py to verify login""Continue testing"
Blockers"Git conflict in src/main.py lines 80-95""Need to fix some conflicts"
Context"User prefers verbose error messages"nothing
Namingbuild-login-page, q1-financial-analysistask, work, save, backup
State sourceRead SESSION-STATE.md first, then conversationGuessed from memory alone
StalenessVerified file paths exist before presentingPresented as if still current

Checkpoint File Format

# Checkpoint: <name>

**Created:** YYYY-MM-DD HH:MM GMT+8
**Task:** <one-line task summary>

## Progress
<!-- What was completed — be specific -->

## Next Action
<!-- Exact next step: file, command, decision -->

## Blockers
<!-- Concrete obstacles: errors, conflicts, pending decisions -->

## Key Decisions
<!-- Reasoning that led to current state, not just facts -->

## Relevant Context
<!-- Files, paths, preferences, anything needed to continue -->

**Age:** Derived from file mtime at resume time (shown automatically by `/checkpoint list` script)

Architecture

memory/
└── checkpoints/
    ├── <name>.md        # Named checkpoints (user-created)
    └── autosave.md       # Auto-created before risky close events

SESSION-STATE.md           # Active working memory (existing WAL target)
memory/working-buffer.md  # Danger zone log (existing compaction recovery)

Relationship to existing files:

  • SESSION-STATE.md — active task state, written per WAL Protocol. Primary source when saving a checkpoint — read it first.
  • memory/working-buffer.md — danger zone exchanges, consumed on recovery. Check this when checkpoint content is thin.
  • memory/checkpoints/ — durable resume artifacts, survive session death. Named checkpoints never expire unless explicitly deleted.

How WAL and checkpoints differ:

  • WAL (SESSION-STATE.md): per-message decisions, corrections, preferences — updated on every significant human input
  • Checkpoint: task-level resume state — updated at natural break points or when session ends
  • WAL feeds into checkpoint: when saving, read SESSION-STATE.md to populate the checkpoint

The checkpoint system does not replace WAL; it amplifies it for multi-session durability.


References

  • references/checkpoint-format.md — full checkpoint template with examples
  • references/resume-flow.md — step-by-step resume decision tree
  • references/auto-checkpoint-signals.md — trigger signals for auto-checkpoint protocol (internal)

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.