cad-pause · git:20261030.b9e5c9f · 2026-10-30 · sha256 47af45f5f46fe99a
cad-pause git:20261030.b9e5c9fA
Immutable. This exact content never changes and is served at /api/v1/blob/47af45f5f46fe99a.
---
name: cad-pause
description: "Pause work cleanly - a WIP commit of in-flight changes plus a STATE cursor set to paused with a one-line resume pointer (/cad-progress offers to resume it)"
argument-hint: "[one-line note about where you are]"
allowed-tools:
- Read
- Write
- Edit
- AskUserQuestion
---
<objective>
Stop mid-work without losing the thread. Two small acts: commit the in-flight
changes as WIP so nothing is lost, and write the STATE cursor so the next
session (via /cad-progress, which finds it and offers to resume) knows exactly
where to pick up.
Tiny by design - no Stop hook, no handoff document, no activity log.
</objective>
<execution_context>
@${CLAUDE_PLUGIN_ROOT}/cadence-core/references/git-guard.md
</execution_context>
<process>
1. **WIP commit.** If the tree has changes, stage exactly what the user was
working on and commit `wip: <short description>` (protected-branch guard
applies - references/git-guard.md). If the tree is clean, skip this; there is
nothing to preserve.
2. **Set the cursor** through the seam (never hand-edit STATE.md):
```
node "${CLAUDE_PLUGIN_ROOT}/cadence-core/bin/planning.mjs" cursor set \
--phase <current> --status paused --next-file <path>
```
The resume pointer is a one-line "where I was" naming the next concrete
action (from `$ARGUMENTS`, or ask via the ask-user seam if not given) -
the user's own sentence, so write it to a scratch file and pass the PATH
(caller-derived text - references/conventions.md).
This line IS the pause note /cad-progress surfaces. `--phase <current>` is
required - the seam does NOT preserve a prior `Phase:` (it fails `bad-args`
without it); supply the current phase from `cursor get`, which goes in one
message with step 1's protected-branch git probes - they are independent, and
only a call that consumes a prior call's output is serialized. The seam
derives name/total from ROADMAP and stamps `Updated:` itself; hold its
envelope for the report.
Commit the cursor (`docs:`), or fold it into the WIP commit if one was made.
Never leave the tree dirty.
3. **Report.** One line: "Paused at {position}, resume with /cad-progress".
The position comes from step 2's envelope `cursor`: "Phase {phase} of
{total}: {name}" when it has no `plan` field, "Phase {phase} of {total},
plan {K} of {J}: {plan name}" when it does, ending at "plan {K} of {J}" when
that has no `name`. Never "plan 0 of 0".
</process>