Resume Work — Reload State From Disk
The other half of /handoff. Reads the written record rather than a summary of a summary.
Step 1: Find the handoff
~/.claude/skills/resume-work/scripts/find-handoff.sh # newest for the current branch
~/.claude/skills/resume-work/scripts/find-handoff.sh --all # every branch, newest first
Then read the file it prints. Read it whole — the Ruled out section is usually near
the bottom and it is the most valuable part.
No handoff found? Say so plainly and fall back to git: git log --oneline -15,
git status, git diff --stat. A reconstruction from history is worth less than a
handoff, so say which one you are working from.
Step 2: Check the record against reality
The handoff describes the world when it was written. Verify before trusting it:
git rev-parse --abbrev-ref HEAD # same branch?
git status --short # same files dirty?
git log --oneline -5 # commits since?
Reconcile out loud when they disagree — someone else may have pushed, or you may have committed after writing it. The repo is the truth; the handoff is the intent. Where they conflict, say so rather than silently trusting either.
Step 3: Report, then stop
RESUMED — <title>
Handoff: <path> (<age>)
Branch: <branch> <n> commits since the handoff
Dirty: <n> files
Stood at: <one line>
Ruled out: <one line — so it is in context before any suggestion>
Blockers: <or "none">
→ Next: <the next step, verbatim from the handoff>
Then stop and wait. Do not start the next step. Resuming is loading state, not resuming execution — the user may have changed their mind since writing it, and that is exactly the moment to find out.
Rules
- Surface
Ruled outbefore proposing anything. Its whole purpose is stopping a fresh session from re-walking dead ends. Reading it after you have already suggested an approach is too late. - Report the handoff's age. One from three weeks ago on a branch with twenty new commits is archaeology, not state. Say so.
- Never mark a handoff done or delete it. They are append-only.
/handoffwrites the next one. - Don't re-read every file it mentions. It names paths so you can go to them when the work needs it, not so you can reload the whole session's reads into a clean window. That would undo the reset you just paid for.
Related
/handoff— writes the file this reads/driver— if the work is a/architectplan, readplans/{slug}/state/too; the handoff covers session narrative, not plan state
Script paths above assume a user-level install (~/.claude/skills/). Installed as a
plugin or per-project, the scripts still sit beside this file — swap the prefix for
${CLAUDE_PLUGIN_ROOT}/skills/resume-work or .claude/skills/resume-work respectively.