v-status

A read-only command that displays the current state of a Compound V orchestrator run, including its pipeline phase and the status of each job. Compound V is a system for coordinating multi-step development work.

In plain words
What is it for?
Use it to inspect a named run or view the most recent run, see job statuses, and confirm whether the repository contains related Superpowers task records.
Why use it?
It lets you check progress and find incomplete or failed jobs without starting, collecting, or merging work.

Command

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-status
Clone the repo
git clone --depth 1 https://github.com/procoders/superpowers-v
Per session 45 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 3,729 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.00045 $0.03729
Opus 5 $0.00023 $0.01865
Sonnet 5 $0.00009 $0.00746
Haiku 4.5 $0.00005 $0.00373

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

Security

Grade A, and why

v-status 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 2d 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-status.md · 95 lines

How it starts

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

You are about to render the state of a Compound V orchestrator run. This is read-only: it inspects state.json, it does not dispatch, collect, or merge anything.

The run-id (optional) is {{args}}.

Steps

  1. Locate the run.

    • If {{args}} names a run-id, the run dir is docs/superpowers/execution/{{args}}/.
    • If {{args}} is empty, list the subdirectories of docs/superpowers/execution/. If there is exactly one, use it. If there are several, show them (newest first by run-id date prefix) and render the most recent, noting the others.
    • If docs/superpowers/execution/ is absent or empty, tell the user there are no Compound V orchestrator runs yet. Before stopping, do one cheap check: does .superpowers/sdd/ exist in this repo (plain Superpowers' subagent-driven-development task-tracking directory — task-N-brief.md / task-N-report.md / progress.md / review-<sha>..<sha>.diff)? If so, say so explicitly: work clearly happened here, just not through Compound V's manifest-driven dispatch (auto-interception didn't trigger, or the plan predates it) — do not parse or summarize its contents (that directory's format belongs to the base Superpowers plugin, not Compound V; a presence check is all that's warranted). Otherwise stop as before — genuinely no orchestrator runs of either kind.
  2. Read state.json from the run dir (and manifest.yaml for job titles). If state.json is missing or unreadable, report that the run dir exists but has no state yet, and stop.

  3. Render the run-level phase. Show the phase (one of SPEC_READY → PREFLIGHT_DONE → PARTITION_VERIFIED → DISPATCHED → COLLECTED → REVIEWED → MERGED, or terminal BLOCKED) and updated_at. The phase meanings are defined in skills/compound-v/state-machine.md.

    v2.9 fast-path phases. A pre-eval-backed fast-path run uses two extra state.json phases (same authority doc): FASTPATH_DISPATCHED (the single-job fast-path manifest was materialized + dispatched) and terminal-branch ESCALATION_REQUIRED (the pre-merge post-hoc reclassifier escalated; the pipeline rejoined the full path via a new run). Render them exactly like any other phase. PRE_EVAL_DONE is not a phase — it is a status field inside a write-once pre-eval record (there is no state.json at prediction time); never expect it in state.json.phase. When phase == ESCALATION_REQUIRED, read state.json.escalated_to and show the child run-id the fast-path escalated into (escalated → <child-run-id>); the fast-path patch stays under this run as evidence, the child starts from the clean baseline.

  4. Render the per-job table. One row per job from state.json.jobs, with manifest.yaml supplying the title, the backend, and the routing intent (tier, optional effort). For each job, resolve the concrete model it runs on with scripts/compound-v-resolve-model.py--backend <job.backend> --tier <job.tier> [--effort <job.effort>] --stance <routing_stance> [--config .claude/compound-v.json] (the manifest carries intent, not a hardcoded model, so the plugin survives model churn). Pass --stance from the manifest's routing_stance (default balanced) so the displayed Backend · Model matches what actually dispatches — without it a cost-aware standard-tier Claude job would display opus but dispatch sonnet. Show it as a Backend · Model column so it is always visible which model each job runs on:

    Job Title Backend · Model Status Liveness Usage Isolation Worktree
    task-0-schema DB schema + types claude · opus (deep/high) done direct
    task-1-editor-ui Editor UI slice codex · gpt-5.6-terra (standard/med) running WORKING in=12.3k out=4.1k worktree $TMPDIR/…

    If a job carries an explicit model: override in the manifest, show that verbatim (resolution is skipped for it). Per-job status is one of {pending | running | done | blocked | failed} (see state-machine.md). Show the session_id for any Codex/worktree job that has one. If state.json.attempts[<job>] is present and non-zero, show the retry count for that job (e.g. an Attempts column or · retried 2×).

Read the full file on GitHub · 95 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. 2d ago First seen · 95 lines · 45 tokens per session scan A 02f553a81a3c

Subscribe to this mod's changes

v-status is a command published in the GitHub repository procoders/superpowers-v (35 stars, last pushed 3d ago), licensed MIT. It adds 45 tokens to every session and 3,729 once invoked, about $0.0002 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.