Files
memory-continuity/SKILL.md
T

5.5 KiB

name, description
name description
memory-continuity Short-term working continuity for OpenClaw agents. Preserves in-flight state across gateway restarts, /new, model fallback, and context compaction. Use this skill whenever an agent needs to survive session breaks without losing what it was doing. Triggers on: session start, /new, context recovery, "where were we", "continue", resuming work, or any situation where recent working state may have been lost. This is NOT a long-term memory system — it is a crash-recovery workbench.

memory-continuity

Lightweight continuity layer that keeps a single overwrite-oriented state file (memory/CURRENT_STATE.md) so any agent can pick up exactly where it left off after a restart, /new, gateway crash, model fallback, or context compaction.

Why this exists

Long-term memory (vector DB, markdown journals) stores what you know. This skill stores what you are doing right now. They solve different problems.

When a gateway crashes mid-task, no amount of long-term memory recall can tell the next session: "you were halfway through step 3, the user approved option B, and the blocker was X." That is what CURRENT_STATE.md does.

File layout

$WORKSPACE/
├── memory/
│   ├── CURRENT_STATE.md      # THE workbench (overwritten, never appended)
│   └── session_archive/      # compressed snapshots from past sessions
│       ├── 2026-03-12_14-30.md
│       └── ...

MANDATORY PROTOCOL

1. On every session start

IF memory/CURRENT_STATE.md exists:
  READ it
  Tell user: "Last session we were working on [Objective]. We reached [Current Step]. Want to continue?"
  WAIT for user confirmation before proceeding
ELSE:
  Create memory/CURRENT_STATE.md with empty template (see below)

2. When to update CURRENT_STATE.md (the discipline rules)

Update the file by overwriting it (not appending) at these moments:

Trigger Why
User confirms a decision Decisions are the hardest thing to reconstruct
A task step completes Marks progress so next session knows where to start
An error or blocker appears Prevents the next session from hitting the same wall
Before any tool call that might take long If gateway dies during the call, state is already saved
User says "let's stop here" or similar Explicit save point
Every ~10 turns of substantive conversation Periodic checkpoint against silent context loss

The update must be quick. Write only what changed. The entire file should stay under 40 lines. If you find yourself writing more, you are journaling, not checkpointing. Stop and compress.

3. On /new or session end

Before the session closes:

  1. Do a final overwrite of memory/CURRENT_STATE.md with latest state
  2. Copy a timestamped snapshot to memory/session_archive/YYYY-MM-DD_HH-MM.md
  3. The snapshot is a frozen record; CURRENT_STATE.md is the live workbench

If gateway crashes before you can do this, that is OK — the last mid-session checkpoint in CURRENT_STATE.md is your recovery point. It will not be perfect, but it will be vastly better than starting from zero.

4. Result surfacing rule

If you are a sub-agent or execution agent:

  • Before exiting, write your key results into CURRENT_STATE.md under ## Unsurfaced Results
  • The main agent MUST check this section on startup and relay findings to the user

This prevents the #1 silent failure: sub-agent did the work, but nobody saw it.


CURRENT_STATE.md Template

# Current State
> Last updated: [ISO timestamp]

## Objective
[One sentence: what are we trying to accomplish]

## Current Step
[What step are we on, what was the last thing completed]

## Key Decisions
- [Decision 1: what was decided and why, max 3 items]

## Next Action
[Exactly what should happen next]

## Blockers
[What is preventing progress, or "None"]

## Unsurfaced Results
[Results from sub-agents or tools not yet shown to user, or "None"]

Rules for this template:

  • Every field is mandatory. Write "None" rather than omitting a section.
  • Objective and Next Action are the two most critical fields. If you can only save two things before a crash, save these.
  • Key Decisions caps at 3 items. Older decisions belong in long-term memory, not here.
  • The entire file should be readable in 15 seconds. If it takes longer, trim it.

Continuity Doctor (optional)

Run scripts/continuity_doctor.py to check workspace health:

python3 scripts/continuity_doctor.py --workspace /path/to/workspace

It checks:

  • Does memory/CURRENT_STATE.md exist?
  • Is it stale (not updated in the last session)?
  • Does Objective match any active tasks file?
  • Are there Unsurfaced Results that were never addressed?
  • Are there session archives without a corresponding state update?

The doctor reports only — it does not auto-repair. You decide what to fix.


What this skill is NOT

  • Not a long-term memory system (use OpenClaw's native markdown memory or LanceDB for that)
  • Not a conversation log or journal (CURRENT_STATE.md is overwritten, not appended)
  • Not a task manager (use OpenSpec or tasks.md for project planning)
  • Not dependent on any external database (works with plain files only)

Compatibility

  • Works with any OpenClaw agent (main or sub-agent)
  • No external dependencies (no npm install, no API keys, no database)
  • Backup: git add memory/ or cp -r memory/ /backup/ — that is the entire disaster recovery plan
  • Can coexist with memory-lancedb-pro, hippocampus, or any other memory skill