Skip to content
Development
Skill

/compound-v

Use when superpowers:brainstorming is about to begin (pre-brainstorm recon), OR has produced a spec, OR when superpowers:writing-plans has produced a plan, OR when about to invoke superpowers:subagent-driven-development or superpowers:executing-plans. Sidekick that intercepts

From plugin
superpowers-v
364 skills7 agents15 commands7 hooks
Install
$ npx -y skills add procoders/superpowers-v --skill compound-v --agent claude-code

How it fires

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

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/compound-v

Context preview

The summary Claude sees to decide when to auto-load this skill.

Use when superpowers:brainstorming is about to begin (pre-brainstorm recon), OR has produced a spec, OR when superpowers:writing-plans has produced a plan, OR when about to invoke superpowers:subagent-driven-development or superpowers:executing-plans. Sidekick that intercepts

SKILL.md

compound-v.SKILL.md
name: compound-v
description: Use when superpowers:brainstorming is about to begin (pre-brainstorm recon), OR has produced a spec, OR when superpowers:writing-plans has produced a plan, OR when about to invoke superpowers:subagent-driven-development or superpowers:executing-plans. Sidekick that intercepts these four Superpowers transitions — runs gated recon, triple parallel pre-flight, then materializes a manifest and dispatches the orchestrated, scope-enforced, resumable execution pipeline.

Compound V

> *"You don't tell people you're injecting them with Compound V. You just hand them the spec and watch them go faster."* — internal Vought memo, probably

Compound V is a **transparent interceptor** that sits between Superpowers phases AND, as of v1.0, a **lightweight execution orchestrator** — the orchestrated pipeline is now the default execution path. You don't invoke it directly — it fires automatically at four transitions:

**Stage −1 — Pre-Evaluation / triage (v2.9; three-tier as of v3.0).** *Before* Trigger 0 even offers recon, a fast, cheap **Pre-Evaluation** scores the change request on two separate axes (difficulty ⊥ impact) from deterministic tiered evidence and returns one of three tiers: **DIRECT** (implement in place, run the floor, commit on the current branch — no manifest, no run directory, no reviewer dispatch, but a triage record is still written and committed), **SCOPED** (manifest, run directory, scope gate, floor and one combined SPEC+QUALITY review; recon and the three pre-flights are skipped), or **FULL** (the pipeline below, unchanged). It uses no raw LLM magnitude and fails closed on any ambiguity, sensitive-path touch, or shared-token/a11y surface. **Since v3.4.1 the size of the change can reach the tier.** Where every Tier-1 band came from a *broad* glob (`scripts/**` and its kind), the scorer spends one light-tier classify to ask whether the change is actually small, and a `plumbing` / `user-facing-minor` answer at `fan_out ≤ 2` **demotes** the run to SCOPED rather than leaving it FULL because of the pattern it matched — with difficulty floored at `medium`, so a demotion can never reach DIRECT. On a *sensitive* path the same question yields **SCOPED+** (`triage.flavor: scoped_plus`) instead: SCOPED-sized work that still owes a deep Claude review job and a mandatory cross-model second opinion, both enforced by the validator rather than remembered. Anything else on a sensitive path is FULL as before, and `.env`/`.pem`/`.key`/`.github/**` are never demoted at all. Iron Invariant #4, amended: **the score OFFERS by default; it auto-routes only inside the DIRECT auto-route class, whose membership is decided by mechanically checkable predicates and never by model judgement, and every other tier still requires a human offer and acceptance.** A sibling **post-diff re-classifier** can still ESCALATE an accepted fast-path back to the full pipeline before merge (minting a new run-id, never mutating the frozen manifest). See [phase-preeval.md](phase-preeval.md); the offer/accept decision is captured as a thin ADR via `/v:adr`. **The record has two producers (v3.4): the `UserPromptSubmit` hook, which scores the first change request of a session and writes the record itself (uncommitted — `/v:orchestrate` commits it at bind, and a DIRECT commit includes it by hand), and [`/v:triage <request>`](../../commands/v-triage.md), for the T3 escalation path or any manual run.** The `Stop` gate only holds a turn whose code changes no record covers, and `/v:dispatch` refuses a manifest without a `triage` block. A record from either producer satisfies the gate.

0. **Before `brainstorming` begins** → offers a **gated pre-brainstorm recon** (Trigger 0): a bounded deep-research/WebSearch pass that writes an anti-anchoring recon doc to `docs/superpowers/recon/` — evidence to widen the brainstorm's questions, never a conclusion to converge on. See [phase-0-recon.md](phase-0-recon.md). 1. **After `brainstorming`, before `writing-plans`** → injects THREE parallel pre-flights:

  • **Phase 1A: Code-Archaeology** — the *technical* reality of the existing code
  • **Phase 1B: Domain-Expert Advisor** — the *product/domain* reality (web-searched if needed, knowledge-base persisted)
  • **Phase 1C: Library/Doc Validator** — *library currency* via Context7 MCP (stale deps, abandoned libs, outdated API signatures)

2. **Inside `writing-plans`** → enforces **Disjoint File Partitioning** and **materializes a `manifest.yaml`** (the machine-readable contract) so tasks can run in parallel 3. **At execution** → runs the **orchestration pipeline**: dispatch each manifested job to its backend (an Engine C `agent()` per job, its model resolved from the job's `tier` — **Opus judges, Sonnet executes**, Fable on escalation — or a headless **Codex** worker for large isolated builds — see `phase-3-parallel-opus-dispatch.md`), **enforce file-scope with a `git diff` gate after every job**, collect canonical `job_result`s, review against the spec's Acceptance Criteria, and update outcome memory. Runs **autonomously with guardrails** and is **crash-resumable** via `state.json`.

Engine C is the native Workflow dispatch engine (`scripts/compound-v-emit-workflow.py`); there is no separate accelerator.

**The unified pipeline (orchestrator-as-default):**

★ PRE-EVAL (v2.9)  two-axis score → DIRECT | SCOPED | FULL_PIPELINE   (fail-closed; auto-routes only inside the DIRECT class)
   │  └─ accepted fast-path ─► materialize 1-job manifest ─► implement ─► scope gate
   │        ─► post-diff re-classify (ESCALATE → full pipeline, new run-id) ─► review ─► merge
   ▼  (full pipeline)
★ RECON (gated)  docs/superpowers/recon/YYYY-MM-DD-<topic>.md   (Trigger 0 — skip: plumbing | KB hit | off)
   ▼
brainstorm ─► spec (carries feature-level Acceptance Criteria)
   ▼ auto-fire
[1A archaeology ∥ 1B domain ∥ 1C library] — one native Workflow (emit-preflight) ─► 3 audits   (🔴 critical finding → HALT)
   ▼ writing-plans
Read more
Ships withsuperpowers-v

Compound V — a multi-model coding sidekick for Superpowers, running on Claude Code. You describe a feature. Claude sizes the request, plans it, splits it into non-overlapping pieces, and hands each piece to a worker in its own isolated worktree.

Get the whole plugin

Other skills on superpowers-v.