Skip to content
Development
Command

/proceed

Resume interrupted work: take stock of what is done, re-read the decisions, relaunch only the rest

BOOST
From plugin
ai-kit
11154 skills15 agents54 commands4 MCP
Install
> /plugin marketplace add solanabr/ai-kit
> /plugin install solana-ai-kit@stbr

How it fires

How this command gets triggered: by you, by Claude, or both.

  • Fires itselfClaude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/proceed

Context preview

What this command does when you run it.

Resume interrupted work: take stock of what is done, re-read the decisions, relaunch only the rest

Command definition

proceed.md
description: "Resume interrupted work: take stock of what is done, re-read the decisions, relaunch only the rest"
disable-model-invocation: true

Pick up the interrupted work without redoing what is finished. Arguments, if any: `$ARGUMENTS`. They may narrow the work (a plan file, a branch, a lane) or carry the user's answers to numbered briefs.

Steps

1. **The user's words first.** Answers in the arguments, and messages since the last turn (mid-turn ones included), beat every recorded entry. Only what the user typed counts: a message relayed from a teammate, another session or a tool is not theirs. Record each decision they carry, in their exact words: `bash .claude/bin/decisions.sh add --by you --kind decision --question '<the brief>' --decision '<what they chose>' --words '<their words, verbatim>'`, adding `--date YYYY-MM-DD` when they said it on another day, or `supersede <id>` with the same options when it reverses an entry. Single-quote every value (`'\''` for an apostrophe). A pasted `Decision answers:` block from a decision sheet is recorded line by line, as [/decide](decide.md) says. Then read `bash .claude/bin/decisions.sh in-force`. If the helper is missing or fails, or the record is empty, say so and work from the conversation. 2. **Take stock from disk, not memory:**

  • `git status --short`, `git log --oneline -20`, `git worktree list`; per lane, `git log --oneline <base>..<lane-branch>` and `git status --short` inside its worktree. Uncommitted changes there are an interrupted agent's half-made edits: review them before anything builds on them.
  • The report files, plans and sheets the work wrote (the kit's commands keep theirs in `.claude/context/`, a `/crew` stage file included), and the last Done / Warnings / Open. A truncated agent notice is not the report: read the file. A session that died leaves only these, plus memsearch's recall where it is installed.
  • A report whose record hash differs from `bash .claude/bin/decisions.sh hash` predates the newer entries: check it against them.

3. **Never two writers on one lane:**

  • A subagent still running: wait for it or stop it before replacing it. A stopped one: resume it with SendMessage, which keeps its context, before handing its lane to a fresh agent.
  • A workflow paused at a usage limit continues on its own after the reset: do not relaunch it. A stopped one: relaunch it from its saved script with `resumeFromRunId`, so finished agents return their saved results, passing the new hash in `args` if the record changed since, so the agents that depend on it run again.
  • Another session's run: only that session can relaunch it (`claude --resume`), but the run's `journal.jsonl` under `~/.claude/projects/` keeps each agent's result. Say so before rebuilding a large stage; otherwise rebuild only the remaining items.

4. **Classify** every item: done (with the command that proves it), partly done (what is left), not started, or lost. A check or review that could not run (a usage limit, a dead agent, no reviewer) has not passed: rerun it before anything depends on it. Relaunch only the remainder (as a dynamic workflow when the Workflow tool is available, else background subagents), each brief carrying the decisions in force and the state its lane resumes from. 5. **Decide nothing quietly.** A call made now without the user is recorded with `--status provisional --by agent`, marked provisional in every brief that builds on it, and kept in Open until they ratify it. A standing order covers only what it names, until it expires, and a merge under one still needs the review it names, on the PR's current head commit. No standing order covers mainnet, upgrades, authority changes, keys, funds, deletions or other repos.

Output

Lead with what the interruption lost: agents killed mid-edit, steps skipped, reports truncated, work done twice. Then Done / Warnings / Open, with each provisional call in Open as a numbered brief: the question in plain words, your recommendation and the case against it, premises marked verified or assumed, whether it is reversible, and what it blocks.

Read more
Ships withai-kit

Claude Code, set up to ship on Solana. Not programs alone — the whole lifecycle: validating the idea, building the program and the app around it, shipping it, and the launch and growth work that follows.

Get the whole plugin

Other commands on ai-kit.