@reference/retrieval-contract.md @reference/cycle-handoff-preamble.md
{{command_prefix}}pause
Captures enough state that a killed or stopped session can resume cleanly via {{command_prefix}}resume or {{command_prefix}}continue.
Each invocation writes an immutable numbered checkpoint - it does not overwrite previous pauses. This enables branched cycles: you can pause, take a detour via {{command_prefix}}sketch, compare, and resume an older snapshot via {{command_prefix}}resume N.
Steps
-
mcp__gdd_state__get→ snapshot current pipeline state. Extract:- Current
stageandcycle last_checkpointtimestamptask_progressandstatusfor the current run- Open todos (from
.design/TODO.mdif present - this file is outside the MCP catalog, soReadis still used) - Active sketch/spike directories (scan
.design/sketches/and.design/spikes/for in-progress markers)
- Current
-
Determine checkpoint number: run
bashls .design/checkpoints/ 2>/dev/null | grep -E '^[0-9]+' | sort -n | tail -1Next checkpoint = last number + 1 (or
01if none exist). -
Collect context: if no context argument was passed, ask (AskUserQuestion): "What are you in the middle of? (optional context to capture)"
-
Flip status via MCP so
{{command_prefix}}resumecan detect the pause and recover the prior status:mcp__gdd_state__set_statuswithstatus: "paused:<prior-status>"- thepaused:prefix preserves the prior status for resume parsing.- If the user supplied a context/blocker message:
mcp__gdd_state__add_blockerwith{ stage: <current>, date: <today>, text: <message> }. mcp__gdd_state__checkpointto stamplast_checkpointvia MCP.
-
Write numbered checkpoint: create
.design/checkpoints/withmkdir -p, then write:.design/checkpoints/NN-<stage>-<ISO-date>.mde.g.
01-design-2026-04-24.mdContent:
markdown# Checkpoint NN **Saved**: <ISO timestamp> **Stage**: <stage> **Cycle**: <cycle> **In progress**: <task description + wave/index> **Next**: <next step> **Context**: <user note or "none"> **Active sketch**: <path or none> **Open todos**: <N items (see .design/TODO.md)> **Completed this session**: <list> -
Update HANDOFF.md pointer: write
.design/HANDOFF.mdwith:markdown# Session Handoff (pointer) Latest checkpoint: `.design/checkpoints/NN-<stage>-<ISO-date>.md` Run `{{command_prefix}}resume` to restore, or `{{command_prefix}}resume N` for a specific checkpoint. -
Print: "Checkpoint NN saved. Run
{{command_prefix}}resumeor{{command_prefix}}continueto pick back up."
Do Not
- Do not mutate STATE.md directly - all STATE.md writes go through the
gdd-stateMCP tools above. Checkpoint files + HANDOFF.md are sibling artifacts, written withWrite. - Do not abort in-progress sketches; just record them.
- Do not delete previous checkpoint files.
- Do not call
mcp__gdd_state__transition_stage- pause is status-only, never a stage transition.


