Step-by-step guide for users who already have the upstream
superpowers@claude-plugins-official(or the equivalent on another runtime) installed and want to move tosuperpowers-safe.
- You want the mandatory 5-gate safety preflight before any skill runs
- You run
subagent-driven-developmentordispatching-parallel-agentsfor hours at a time and want a hard "no" before destructive operations - You operate Claude Code (or another supported runtime) on machines with real data and want defense in depth
If you only use brainstorming, planning, and TDD for short sessions, the upstream plugin is probably enough.
superpowers-safe is byte-identical to upstream on every skill except:
| Where | What changed |
|---|---|
skills/using-superpowers/SKILL.md |
Added a <MANDATORY-SAFETY-GATE> block at the top. Forces the agent to invoke safety-check before any non-trivial skill. |
skills/safety-check/SKILL.md (new) |
The 5-gate preflight itself. Defines resource budget, command risk scan, loop/spend limits, secret/PII scan, scope confirmation. |
hooks/safety-guard.py (new) |
Optional defense-in-depth: a PreToolUse hook that blocks destructive bash at the tool layer even if the agent tries to skip the skill. |
| Plugin / extension manifests | Renamed to superpowers-safe in every runtime's manifest (.claude-plugin/, .codex-plugin/, .cursor-plugin/, .kimi-plugin/, .hermes-plugin/, gemini-extension.json, package.json). |
| Marketplace | The fork is its own Claude Code marketplace: /plugin marketplace add JFWaskin/superpowers-safe. |
The other 14 skills (brainstorming, test-driven-development, systematic-debugging, subagent-driven-development, dispatching-parallel-agents, executing-plans, writing-plans, finishing-a-development-branch, requesting-code-review, receiving-code-review, verification-before-completion, using-git-worktrees, writing-skills, and the skill you came for — using-superpowers) are unchanged in content; only using-superpowers has the safety gate prepended.
The fork and the upstream are distinct plugins and can coexist. The fork replaces the upstream's role, but having both loaded at once is wasteful and confusing. Two paths:
- Install the fork in your runtime (per the table below).
- Verify it loads (the
safety-checkskill is reachable). - Disable the upstream (do not uninstall — keeps the cache for rollback).
- Restart the runtime so the new
using-superpowerscontent (with the MANDATORY-SAFETY-GATE block) is loaded into context.
- Install the fork in a non-default project / workspace.
- Use the fork in that workspace only.
- After a week or two of usage, disable the upstream globally and move the fork to your default.
| Runtime | Install | Disable upstream |
|---|---|---|
| Claude Code | /plugin marketplace add JFWaskin/superpowers-safe && /plugin install superpowers-safe@JFWaskin-superpowers-safe |
/plugin disable superpowers@claude-plugins-official |
| Codex (app) | Plugins → Coding → search superpowers-safe → Install |
Disable the upstream superpowers plugin in the same UI |
| Codex CLI | /plugins → search superpowers-safe → Install |
/plugins → disable upstream superpowers |
| Cursor | /add-plugin superpowers-safe |
Remove or disable upstream superpowers in Cursor settings |
| Gemini CLI | For each skill under skills/: gemini skills link <path> --consent. Full extension manifest: gemini extensions install https://github.com/JFWaskin/superpowers-safe |
Disable any upstream superpowers extension with gemini extensions disable superpowers |
| Kimi Code | /plugins → Marketplace → search superpowers-safe → Install |
/plugins → disable upstream superpowers |
| OpenCode | Add "superpowers-safe@git+https://github.com/JFWaskin/superpowers-safe" to the plugin array in opencode.json and restart |
Remove the upstream superpowers entry from opencode.json |
| Pi | Marketplace install → search superpowers-safe |
Disable upstream superpowers in the Pi marketplace UI |
| Hermes | agy plugin install https://github.com/JFWaskin/superpowers-safe |
agy plugin disable superpowers |
| GitHub Copilot CLI | copilot plugin marketplace add JFWaskin/superpowers-safe && copilot plugin install superpowers-safe@JFWaskin-superpowers-safe |
copilot plugin disable superpowers |
| Factory Droid | droid plugin marketplace add https://github.com/JFWaskin/superpowers-safe && droid plugin install superpowers-safe@JFWaskin |
droid plugin disable superpowers |
| Antigravity | No first-party support yet (see docs/compatibility.md). |
n/a |
For more detail and a copy-pasteable "help me install" prompt, see help-me-install.md.
-
safety-checkskill is loadable in your runtime -
using-superpowersincludes the<MANDATORY-SAFETY-GATE>block - Upstream
superpowersis disabled, not deleted - The fork's commands (e.g.
/superpowers-safe:brainstormingin Claude Code, or justbrainstormingon runtimes without prefixes) trigger correctly - A non-trivial task produces a
[SAFETY CLEARED]or[SAFETY HALTED]block before any other skill runs
If any of those fail, see TROUBLESHOOTING.md (when it exists) or open an issue with the runtime name, version, and the exact error.
- Brainstorming, planning, TDD, code review, systematic debugging, verification — all unchanged. The skills read the same way and produce the same output.
- Subagent dispatch —
subagent-driven-developmentanddispatching-parallel-agentsnow run the gate per-subagent. The first subagent spawn has the full 5-gate check; subsequent subagents in the same run have a slimmed-down check (gates 1, 2, 4) since the parent already cleared the rest. Subagents can no longer silentlyrm -rfoutside the working directory. - Git operations —
git push --forcetomain/masteris blocked.--forceto any other branch still works. - Package publishing —
npm publish,pip upload,cargo publishnow require explicit per-command user OK. The agent will not just run them. - Long autonomous sessions — the gate's gate 3 includes a 30-minute check-in. If you run a multi-hour task, the agent will surface for confirmation at the 30-minute mark, then every 30 minutes after. This is intentional; cancel it if you don't want it.
sudo— any sudo command requires explicit per-command OK. The agent will not use sudo without asking.
- All other skills (
brainstorming,executing-plans,writing-plans,test-driven-development,systematic-debugging,requesting-code-review,receiving-code-review,verification-before-completion,using-git-worktrees,writing-skills,finishing-a-development-branch,dispatching-parallel-agents) are byte-identical to upstream. If your workflow relied on those, nothing about it changes. - The cross-runtime packaging is the same: same set of supported runtimes, same install mechanism per runtime.
- The skill format and trigger conditions are unchanged. If you have muscle memory for "ask Claude to brainstorm", that still works the same way.
If you want to go back to upstream:
- Re-enable the upstream plugin:
/plugin enable superpowers@claude-plugins-official(or equivalent). - Disable the fork:
/plugin disable superpowers-safe@JFWaskin-superpowers-safe. - Restart the runtime.
The fork is uninstalled (cache cleared) only if you explicitly do so; disabling leaves it in the cache for quick re-enable. If you want to remove the cache entirely:
rm -rf ~/.claude/plugins/cache/JFWaskin-superpowers-safe- The agent asks more questions. The gate forces a scope confirmation (one-line plan + "go") before any non-trivial task. If you liked the upstream's "just do it" behavior, this will feel slower at first.
- The agent refuses more commands.
sudo,rm -rfoutside the working directory, force-push to main,npm publish— all require explicit OK. You can grant OK per-command; the gate does not ask every time. - Subagent dispatch has a concurrency cap. Max 3 concurrent subagents, regardless of what
dispatching-parallel-agentswould otherwise try. This is a hard limit in gate 3. If you need more parallelism, split the work into batches. - Spend thresholds. The gate has $1 / $5 / $10 spend thresholds. At $1 the agent surfaces for a quick "still want to continue?". At $5 it requires explicit "yes, keep going". At $10 it halts. These are estimates, not exact. Real spend tracking is your API provider's job.
- Check
docs/compatibility.md— your runtime may not be fully tested. - File an issue at https://github.com/JFWaskin/superpowers-safe/issues. Include runtime, version, model, and the exact error.
- If the problem is with the gate itself (e.g. it's blocking something you think it shouldn't), open an issue with the tag
gate-discussion. Don't open a PR — gate changes need RED-GREEN-REFACTOR evidence perdocs/eval-protocol.md.