Skip to content

procoders/superpowers-v

Repository files navigation

superpowers-v 💉

Compound V — a sidekick to Superpowers.

License: MIT Plugin: Claude Code Compat: Codex • Gemini CLI Model: Opus-default

"You don't tell people you're injecting them with Compound V. You just hand them the spec and watch them ship."

Compound V — a sidekick to Superpowers

You keep using Superpowers the way you already do. Compound V silently shows up at the three phase transitions and does the work that would otherwise burn your day:

  • It measures the building before you design the addition (code-archaeology)
  • It reads the building code — including what real users on r/whatever say breaks for them (domain-expert with audience search)
  • It checks every library against current docs so you don't pin yesterday's oauth2orize (Context7 library validator)
  • It partitions the plan into non-overlapping file sets so implementers can't collide
  • It dispatches them in parallel on Opus instead of one-at-a-time on a cheap model

You don't invoke Compound V. It invokes itself.


1 · 2 · 3 — install in three steps

1. Install the plugin

In Claude Code:

/plugin marketplace add https://github.com/procoders/superpowers-v
/plugin install superpowers-v@procoders

That's it. For local development setups (clone-and-edit or --plugin-dir live-reload mode), see the Development section below.

2. Use Superpowers normally

That's it. Open a session, brainstorm a feature, and watch Compound V appear at the right moments. The SessionStart hook prints a banner so you know it's loaded.

3. (Recommended) Add Context7 MCP for Phase 1C

Phase 1C (library/doc validator) uses Context7 MCP for live documentation lookups. It's recommended but not required — without it Phase 1C falls back to WebSearch (slower, less authoritative).

The simplest path is via the official Anthropic plugin marketplace:

/plugin install context7@claude-plugins-official

Or add it manually to your ~/.claude.json (or project .mcp.json):

{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp"]
    }
  }
}

Verify it's loaded: /mcp should show context7 connected.


What it does (the skyscraper metaphor)

Customer asks for 500m² more space on a 200m² tower.

  • Default Superpowers: agent staples one 500m² floor on top — an ugly hat, half hanging in air. Ships fast, breaks later.
  • Compound V: agent runs three audits in parallel (the building is 200m², the building code limits cantilever to 15%, and oauth2orize was abandoned in 2022 so use @node-oauth/oauth2-server instead). Proposes three 200m² floors. Customer wanted 500m², gets 600m² that passes inspection.

See assets/skyscraper-metaphor.md for the comic + technical diagram.


The three phases (auto-fired)

flowchart LR
    A[brainstorming<br/>completes spec] -->|TRIGGER 1| B1[🔬 Phase 1A<br/>code-archaeologist]
    A -->|TRIGGER 1| B2[🧠 Phase 1B<br/>domain-expert<br/>+ audience search]
    A -->|TRIGGER 1| B3[📚 Phase 1C<br/>doc-validator<br/>via Context7]
    B1 --> C[writing-plans]
    B2 --> C
    B3 --> C
    C -->|TRIGGER 2| D[🧩 partition-reviewer<br/>verifies disjoint Partition Map]
    D --> E[plan ✅]
    E -->|TRIGGER 3| F[🚀 parallel-dispatcher<br/>4-6 implementers parallel on Opus<br/>spec-reviewer + quality-reviewer per task]
    F --> G[done]
Loading

Trigger 1 (after brainstorming): three pre-flights dispatched in ONE message with three concurrent Task calls.

Trigger 2 (inside writing-plans): the plan must declare a Partition Map; partition-reviewer agent checks it for file-overlap, missed shared resources, and unjustified Sonnet assignments.

Trigger 3 (at execution): parallel-dispatcher runs Task 0 serially, then dispatches parallel batches (4-6 implementers per message) on Opus by default, Sonnet only where justified.


What's in this plugin

superpowers-v/
├── .claude-plugin/
│   ├── plugin.json
│   └── marketplace.json                       # local-dev convenience (non-canonical)
├── agents/                                    # 6 first-class subagent definitions
│   ├── code-archaeologist.md                  # → subagent_type: "compound-v:code-archaeologist"
│   ├── domain-expert.md                       # → subagent_type: "compound-v:domain-expert"
│   ├── doc-validator.md                       # → subagent_type: "compound-v:doc-validator"
│   ├── partition-reviewer.md                  # → subagent_type: "compound-v:partition-reviewer"
│   ├── parallel-dispatcher.md                 # → subagent_type: "compound-v:parallel-dispatcher"
│   └── spec-reviewer.md                       # → subagent_type: "compound-v:spec-reviewer"
├── commands/                                  # opt-in slash commands
│   ├── v-archaeology.md                       # /v:archaeology <topic>
│   └── v-dispatch.md                          # /v:dispatch <plan-path>
├── hooks/                                     # sidekick reminders (description-based auto-fire is primary)
│   ├── hooks.json                             # SessionStart + PostToolUse(Write)
│   ├── session-banner.sh                      # SessionStart: emits banner via additionalContext JSON
│   └── plan-saved-nudge.sh                    # PostToolUse(Write): emits next-step nudge when a plan/spec is saved
├── skills/
│   └── compound-v/
│       ├── SKILL.md                           # main entry, auto-fires at transitions
│       ├── phase-1a-archaeology.md            # 🔬 technical pre-flight (code reality)
│       ├── phase-1b-domain-expert.md          # 🧠 domain pre-flight (product reality + audience)
│       ├── phase-1c-documentation-validation.md # 📚 library pre-flight (Context7)
│       ├── domain-expert-prompt.md            # advisor dispatch template (fallback)
│       ├── doc-validator-prompt.md            # validator dispatch template (fallback)
│       ├── phase-2-disjoint-partitioning.md   # 🧩 partition-map planning
│       ├── phase-3-parallel-opus-dispatch.md  # 🚀 batched parallel dispatch + model taxonomy
│       └── rationalization-table.md           # rebuttals to every "just this once" excuse
├── assets/
│   └── skyscraper-metaphor.md                 # comic + technical diagram
├── .github/workflows/
│   └── validate.yml                           # CI: JSON schema, agent frontmatter, dead links, shellcheck
├── AGENTS.md                                  # Codex / generic-harness shim
├── GEMINI.md                                  # Gemini CLI shim
├── CHANGELOG.md
├── TROUBLESHOOTING.md
├── README.md
└── LICENSE

Multi-harness compatibility

Harness Status Entry point
Claude Code ✅ primary target .claude-plugin/plugin.json
Codex CLI 🧪 untested shim — needs hands-on verification AGENTS.md
Gemini CLI 🧪 untested shim — schema may need adaptation GEMINI.md

The skill content is harness-neutral prose. Tool names differ across harnesses — the shims document the mapping.


Model policy

  • Opus by default — every implementer, reviewer, advisor
  • Sonnet — narrow exception per the strict 8-box junior-task taxonomy in phase-3. Every Sonnet-assigned task needs a one-line justification in the Partition Map.
  • Never Haiku — not permitted in this project, even for read-only Explore-style work

The trade: Opus + parallel dispatch is more expensive per-task than default Superpowers. But wall-clock time for N parallel tasks ≈ the slowest task, domain blowups get caught before they're code, and the persistent knowledge bases make every subsequent feature in the same domain progressively cheaper.


Output convention

Compound V writes to a flat, predictable structure under docs/superpowers/:

docs/superpowers/
├── archaeology/                    # Phase 1A output (per feature)
│   └── YYYY-MM-DD-<topic>.md
├── expert/                         # Phase 1B output + persistent domain KB
│   ├── YYYY-MM-DD-<topic>.md
│   └── _knowledge-base/
│       └── <domain>.md
├── library-audit/                  # Phase 1C output + persistent library KB
│   ├── YYYY-MM-DD-<topic>.md
│   └── _knowledge-base/
│       └── <topic>.md
├── specs/                          # default Superpowers
└── plans/                          # default Superpowers

The _knowledge-base/ subdirectories make each subsequent feature in the same domain or touching the same library cheaper — advisors read these first before running new web searches.


When NOT to use

  • Greenfield single-file features (no prior code to audit)
  • Pure refactors that touch every file (partitioning impossible)
  • Pure plumbing with no user-facing surface (build config, lint rules)
  • Exploratory spikes without a spec
  • Solo learning / sandbox

Fall back to default Superpowers in those cases — and document why in the plan header.


Slash commands (opt-in)

Most users never need these — the hooks auto-fire the sidekick. But if you want manual control:

Command What it does
/v:archaeology <topic> Run Phase 1A alone (code-archaeology audit)
/v:dispatch <plan-path> Run partition-review + parallel-dispatch on a plan

Development

If you're hacking on the plugin itself (adding agents, tweaking prompts):

git clone https://github.com/procoders/superpowers-v.git
cd superpowers-v

# Live-edit mode — edits in the cloned dir are picked up by /reload-plugins
claude --plugin-dir "$PWD"

Inside the session, after editing files:

/reload-plugins

Alternatively, install from the local clone via the same marketplace pattern:

/plugin marketplace add /absolute/path/to/superpowers-v
/plugin install superpowers-v@procoders

Before opening a PR, run the linters locally:

python3 scripts/lint-frontmatter.py .
# Optional cross-check (community linter):
npx -y @felixgeelhaar/cclint lint skills/compound-v/SKILL.md

Troubleshooting

See TROUBLESHOOTING.md — covers auto-fire issues, Context7 unavailability, partition violations, rate-limits, and Codex/Gemini gotchas.


Contributing

PRs welcome. CI runs on every push:

  • plugin.json / marketplace.json / hooks.json schema validation
  • Agent frontmatter check (must have name, description; must NOT specify Haiku)
  • Skill frontmatter check
  • Dead intra-plugin .md link check
  • Hook script executability + shellcheck

See .github/workflows/validate.yml.


License

MIT. See LICENSE.

About

Compound V — sidekick to Superpowers. Triple parallel pre-flight (code archaeology + domain-expert with audience search + library/doc validator via Context7), Disjoint File Partition Map, batched parallel Opus dispatch. Auto-intercepts brainstorming → writing-plans → execution transitions.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors