Workflow extension for OMP coding agents.
Plan, execute, review, test, and ship — without leaving your agent session.
Supipowers adds agentic workflow commands on top of Oh My Pi. It steers the active AI session using OMP's native extension API — no subprocess, no context switching.
Run the interactive installer:
bunx supipowersThe installer detects Pi (~/.pi) and OMP (~/.omp) — when both are present it offers a multiselect to install to one or both. It registers the extension, removes legacy external context-mode MCP registrations from agent/mcp.json and cleans up the old settings/mcp.json if present, and can install missing optional tooling such as LSP servers, mcpc, and Playwright CLI.
Tip
Run /supi:update at any time to upgrade to the latest version, or /supi:doctor to check your setup.
| Dependency | What it's for |
|---|---|
| Oh My Pi (OMP) | The coding agent that supipowers extends |
| Bun | Runtime — required for installation and the built-in SQLite FTS index |
| Git | Used by the installer and git-based workflows |
The installer scans for these and offers to install missing tooling where it can. Everything works without them, but each one unlocks additional capabilities.
| Dependency | What it enables |
|---|---|
| mcpc | MCP server management via /supi:mcp |
typescript-language-server |
TypeScript/JS diagnostics and references in review gates |
pyright |
Python type checking |
rust-analyzer |
Rust language server |
gopls |
Go language server |
@playwright/cli |
Browser exploration and E2E test execution via /supi:qa |
Note
LSP servers are language-specific — install only the ones that match your project's stack.
Context protection is built into supipowers. No external context-mode or supi-context-mode dependency is required.
The design is inspired by context-mode.
| Command | What it does |
|---|---|
/supi |
Interactive menu with commands and project status |
/supi:plan |
Collaborative planning with structured task breakdown |
/supi:ui-design |
Design Director pipeline — gather UI context, decompose target into components, build mockups in browser companion, validate, save to .omp/supipowers/ui-design/ |
/supi:review |
AI code review with validated findings docs and fix/document/discuss actions |
/supi:checks |
Run deterministic quality gates |
/supi:qa |
E2E testing pipeline with Playwright |
/supi:fix-pr |
Assess and fix PR review comments |
/supi:release |
Version bump, release notes, publish |
/supi:commit |
AI-powered commit with conventional message generation |
/supi:model |
Configure model assignments per action (plan, review, qa…) |
/supi:context |
Show current context window usage and system prompt breakdown |
/supi:optimize-context |
Analyze loaded prompt/context usage and suggest reductions |
/supi:mcp |
Manage MCP servers (connect, disconnect, migrate) |
/supi:config |
Interactive settings TUI |
/supi:status |
Show project plans and configuration summary |
/supi:doctor |
Diagnose extension health and missing dependencies |
/supi:generate |
Documentation drift detection |
/supi:update |
Update supipowers to the latest version |
/supi:agents |
Manage review agents |
Most commands steer the AI session. These are TUI-only — they open native dialogs without triggering the AI: /supi, /supi:config, /supi:status, /supi:review, /supi:update, /supi:doctor, /supi:mcp, /supi:model, /supi:context, /supi:optimize-context, /supi:commit, /supi:release, /supi:checks, /supi:agents.
Planning. /supi:plan steers the AI through planning phases (scope → decompose → estimate → verify), saves the result to .omp/supipowers/plans/, and presents an approval UI. On approval, tasks execute in the same session.
Quality gates. /supi:checks runs deterministic quality gates. Six gates are available: lsp-diagnostics, lint, typecheck, format, test-suite, and build. Each gate can be enabled independently via /supi:config or the shared repository config at .omp/supipowers/config.json. In monorepos, /supi:checks defaults to All, which runs the root target plus every workspace target sequentially; use --target <package> to narrow the run or --target all to request the batch mode explicitly. Gates report issues with severity levels.
AI code review. /supi:review runs a programmatic AI review pipeline with configurable depth (quick, deep, or multi-agent). It uses headless agent sessions with structured JSON validation, always validates findings before user action, writes the current validated findings to a session findings.md document, and then presents three next-step choices: Fix now, Document only, or Discuss before fixing.
Review agents. Multi-agent review loads agents from two scopes: global and project.
- Global defaults and global custom agents live under
~/.omp/supipowers/review-agents/. - Project configuration lives under
.omp/supipowers/review-agents/config.yml. - Default built-in agent markdown files are installed globally, not per-project.
- Project custom agent markdown files can still live under
.omp/supipowers/review-agents/. - Merge precedence is project over global: if the project config mentions an agent name, it shadows the global agent with the same name.
- A project entry with
enabled: falsesuppresses the global agent with that same name instead of falling back to the global copy.
Use /supi:agents to inspect the merged set that will actually run.
PR fixing. /supi:fix-pr fetches PR review comments, critically assesses each one, checks for ripple effects, then fixes or rejects with evidence. Bot reviewers are auto-detected and filtered out.
Context protection. Supipowers always enables built-in context protection through native ctx_* tools and routing hooks. Search/find and web-fetch style operations are redirected to sandboxed execution or indexed storage, and oversized tool results are compressed before they reach the conversation.
Model assignment. Each action can be assigned a different model and thinking level. /supi:model opens a TUI picker backed by OMP's model registry.
Note
Based on the current supipowers repo and the documented features in obra/superpowers. ✅ = part of the current documented product surface. ❌ = not part of the current documented product surface.
| What is being compared | supipowers | obra/superpowers |
|---|---|---|
| OMP-native slash commands | ✅ | ❌ |
| Automatic skill activation | ❌ | ✅ |
| Plan approval UI | ✅ | ❌ |
| Parallel agent execution workflow | ✅ | ✅ |
| Code review workflow | ✅ | ✅ |
| TDD / debugging / verification skills | ✅ | ✅ |
| Browser QA / Playwright workflow | ✅ | ❌ |
| PR review comment fixing workflow | ✅ | ❌ |
| Release automation | ✅ | ❌ |
| Commit workflow | ✅ | ❌ |
| Context-window optimizations | ✅ | ❌ |
| MCP server management through mcpc | ✅ | ❌ |
| Git worktree workflow | ❌ | ✅ |
/supi:checks runs deterministic quality gates. Each gate is independently configurable in quality.gates via /supi:config or the shared config JSON files:
| Gate | What it checks | Config type |
|---|---|---|
lsp-diagnostics |
Language server diagnostics | enabled |
lint |
Linter (e.g. eslint, biome) |
enabled + command |
typecheck |
Type checker (e.g. tsc) |
enabled + command |
format |
Formatter check | enabled + command |
test-suite |
Test runner | enabled + command |
build |
Build verification | enabled + command |
Gates default to disabled. Enable them globally in ~/.omp/supipowers/config.json or per-repository in .omp/supipowers/config.json. In monorepos, the repository config is shared by the root target and every workspace, and /supi:checks defaults to All (root target + every workspace target).
/supi:config
Opens an interactive settings screen. Toggles flip instantly, selects open a picker, text fields open an input dialog.
Configuration uses built-in defaults plus two user-managed override layers:
- Built-in defaults
~/.omp/supipowers/config.json— global overrides.omp/supipowers/config.json— repository overrides
/supi:config exposes only Global and Repository. In monorepos, the repository config is shared across every workspace; there are no per-workspace Supipowers config files for general settings.
Three built-in channels are available: github (GitHub Release via gh CLI), gitlab (GitLab Release via glab CLI), and gitea (Gitea Release via tea CLI). Channels are selected per-project in release.channels.
/supi:release auto-detects publishable release targets at runtime. In single-package repos it keeps the classic root-package flow. In Bun, npm, pnpm, and Yarn workspaces it discovers publishable packages from workspace metadata, auto-selects the only publishable target when there is one, and otherwise opens a picker that lists all publishable packages with changed packages first. Target choice is runtime-only and is not persisted to config.
Release notes are scoped to the selected target's publishable paths. When that target declares a files whitelist in its package.json, only commits touching those paths are included. Otherwise the changelog falls back to the target package directory plus its package.json. Root releases keep the configured release.tagFormat; workspace releases use <package-name>@<version> tags to avoid collisions across packages.
/supi:release accepts three optional flags:
| Flag | Effect |
|---|---|
--target <package> |
Skip the target picker and release the named package directly |
--raw |
Skip AI polish of release notes; use raw conventional-commit output |
--dry-run |
Run the full release flow without publishing |
Custom channels can be defined in release.customChannels:
{
"release": {
"customChannels": {
"my-channel": {
"label": "My Channel",
"publishCommand": "./scripts/publish.sh $tag",
"detectCommand": "which my-tool"
}
}
}
}| Field | Required | Description |
|---|---|---|
label |
yes | Display name shown in the release picker |
publishCommand |
yes | Shell command run to publish; $tag, $version, $changelog, $targetName, $targetId, $targetPath, $manifestPath, and $packageManager are passed as environment variables |
detectCommand |
no | Shell command to detect availability; exit 0 = available. If omitted, the channel is assumed available |
Supipowers ships runtime-loaded prompt skills that are also available to the agent during regular sessions:
| Skill | Used by |
|---|---|
planning |
/supi:plan |
ui-design |
/supi:ui-design |
code-review |
Manual prompting / reusable review guidance |
qa-strategy |
/supi:qa |
fix-pr |
/supi:fix-pr |
debugging |
Agent sessions |
tdd |
Agent sessions |
verification |
Agent sessions |
receiving-code-review |
Agent sessions |
release |
/supi:release |
context-mode |
Context window guidance |
creating-supi-agents |
Agent creation guidance |
bun install # install dependencies
bun test # run tests
bun run typecheck # type-check without emitting
bun run build # emit to dist/Tests live in tests/, mirroring src/ one-to-one. The test runner is Bun's built-in bun:test.
Peer dependencies (@oh-my-pi/pi-coding-agent, @oh-my-pi/pi-ai, @oh-my-pi/pi-tui, @sinclair/typebox) are provided by the OMP host; they are devDependencies only for type-checking during development.