v-resume

v-resume is a command for coding agents from procoders/superpowers-v. It costs 55 tokens per session (2,588 once invoked), scanned A, original, MIT.

A command for continuing an interrupted Compound V orchestration run using its run ID. It checks the saved state against the files actually present in Git and resumes incomplete jobs.

In plain words
What is it for?
Use it to resume pending, failed, or blocked jobs, then continue collecting results, reviewing them, and merging the completed run.
Why use it?
It recovers from crashes or interruptions while avoiding duplicate work and treating the repository's contents as the final source of truth.

Command

Part of the superpowers-v plugin — 3 skills, 17 commands, 6 agents, 3 hooks shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add commands/procoders/superpowers-v/v-resume
Clone the repo
git clone --depth 1 https://github.com/procoders/superpowers-v

Or install superpowers-v, the plugin that ships this one along with the rest of its 3 skills, 17 commands, 6 agents, 3 hooks.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for v-resume

README.md
[![agentmods](https://agentmods.dev/badge/commands/procoders/superpowers-v/v-resume.svg)](https://agentmods.dev/commands/procoders/superpowers-v/v-resume)
Your own site
<a href="https://agentmods.dev/commands/procoders/superpowers-v/v-resume"><img src="https://agentmods.dev/badge/commands/procoders/superpowers-v/v-resume.svg" alt="Measured on agentmods" height="20"></a>
Per session 55 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 2,588 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00055 $0.02588
Opus 5 $0.00028 $0.01294
Sonnet 5 $0.00011 $0.00518
Haiku 4.5 $0.00006 $0.00259

Measured 3d ago against content hash 4cd8769841b5, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

v-resume scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

commands/v-resume.md · 65 lines

How it starts

The opening of the file, as written. The whole thing — 65 lines — stays where its author put it; the contents beside it link to each section on GitHub.

You are about to resume the Compound V orchestrator run {{args}} after an interruption or crash. Resume is idempotent — resuming a fully-MERGED run is a no-op.

Resume is Engine-A-owned: it does not rely on Workflows (whose resume is same-session-only and fails the crash case). The reconcile + re-dispatch logic below is the authoritative procedure defined in skills/compound-v/state-machine.md.

Steps

  1. Locate the run. If {{args}} is empty, list the subdirectories of docs/superpowers/execution/ and ask which run to resume. The run dir is docs/superpowers/execution/<run-id>/. If it does not exist, stop and say so.

  2. Read state.json and manifest.yaml from the run dir. If phase is already MERGED, report nothing to do and stop.

  3. Reconcile against git reality (git-wins). For each job, derive what actually landed using the same git signal the scope gate uses:

    • git -C <worktree-or-repo> diff --name-only HEADgit -C <worktree-or-repo> ls-files --others --exclude-standard.
    • When state.json and git disagree, git wins:
      • done in state.json but the job's write_allowed files are not in git → reclassify as not-done, re-dispatch.
      • pending/running in state.json but the files are fully present and within scope → reclassify as done, skip.
  4. Reconcile the circuit breaker (neither a silent retry nor a permanent lockout). circuit_open is an object per backend{ "<backend>": { "open": bool, "reason": "out_of_credits|auth", "opened_at": "<iso-ts>", "cleared_by": null } } (see state-machine.md). For each entry, decide whether to keep it open or clear it before any re-dispatch:

    • reason == "out_of_credits" → keep the breaker OPEN unless the user confirms a credit top-up, or a cheap liveness probe — a tiny "reply ok" call to that backend — returns success. Only then set cleared_by ("top_up" or "probe") and re-dispatch that backend's failed jobs. The run-level total_retries budget persists across the resume.
    • reason == "auth" → keep the breaker OPEN until the user re-authenticates (point them at /v:init). Only after re-auth set cleared_by: "reauth" and re-dispatch its failed jobs.
    • Cooldown-only (no open breaker) → a backend whose cooldowns[backend] timestamp has merely expired is half-opened: probe it once before full re-dispatch. A clean probe clears the cooldown; a repeat failure re-cools it via the policy.
    • Never silently re-dispatch to a still-open breaker. If neither the top-up/probe (credits) nor the re-auth (auth) has happened, leave the breaker open, leave its jobs failed, and report exactly what the user must do to unblock — do not retry behind their back.
    • Update circuit_open[backend].cleared_by and write state.json for every breaker transition.
  5. Re-dispatch only the incomplete jobs — those that are pending, failed, or blocked after steps 3–4 (and not behind a still-open breaker) — via Engine A (compound-v:parallel-dispatcher / the backend-launcher), honoring depends_on, run, and max_parallel exactly as the original dispatch. Each re-dispatch replays the captured prompt at jobs/<id>.prompt.md verbatim.

    • A Codex worktree job's resume-vs-recreate decision is governed by the resume-eligibility rule below — reproduced verbatim so it agrees word-for-word with parallel-dispatcher.md and kills the old contradiction (this step once said "may use codex exec resume" unconditionally, while the dispatcher's invariant recreates the worktree fresh at HEAD). Either way — resumed session or fresh recreate — the scope gate re-runs on return.
    • Update each job's status and write state.json after every transition.

Both inputs the rule needs live in state.json jobs[<id>]session_id (the captured UUID) and failure_class — written there by the dispatcher on the job's return (Step 2 already reads state.json; you do not need to open results/<id>.json for this). A job with an empty session_id has no session to resume ⇒ recreate fresh regardless.

Read the full file on GitHub · 65 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 3d ago First seen · 65 lines · 55 tokens per session scan A 4cd8769841b5

Subscribe to this mod's changes

v-resume is a command published in the GitHub repository procoders/superpowers-v (35 stars, last pushed 4d ago), licensed MIT. It adds 55 tokens to every session and 2,588 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.