<h1 align="center">
<a href="https://prompts.chat">
- **Legacy slash commands removed** — `/brainstorm`, `/execute-plan`, and `/write-plan` are gone. They were deprecated stubs that did nothing but tell the user to invoke the corresponding skill. Invoke `superpowers:brainstorming`, `superpowers:executing-plans`, and `superpowers:writing-plans` direct
Loading actions...
<a href="https://prompts.chat">
TypeScript and ESLint rules that MUST be followed when creating, modifying, or reviewing any file under apps/frontend/, including .ts, .tsx, .js, and .jsx files. Also apply when discussing frontend linting, type safety, or ESLint configuration.
risks
/brainstorm, /execute-plan, and /write-plan are gone. They were deprecated stubs that did nothing but tell the user to invoke the corresponding skill. Invoke superpowers:brainstorming, superpowers:executing-plans, and superpowers:writing-plans directly instead. (#1188)superpowers:code-reviewer named agent removed — the agent was the plugin's only named agent and was used by exactly two skills, while every other reviewer/implementer subagent in the repo dispatches general-purpose with a prompt template alongside its skill. The agent's persona and checklist have been merged into skills/requesting-code-review/code-reviewer.md as a self-contained Task-dispatch template. Anyone dispatching Task (superpowers:code-reviewer) should switch to Task (general-purpose) with the prompt template instead. (PR #1299)using-git-worktrees and finishing-a-development-branch now detect when the agent is already running inside an isolated worktree and prefer the harness's native worktree controls before falling back to git worktree. Behavior was TDD-validated and cross-platform-checked across five harnesses. (PRI-974, PR #1121)
GIT_DIR != GIT_COMMON before doing anything; if already in a linked worktree, creation is skipped entirely. A submodule guard prevents false detection.using-git-worktrees no longer creates worktrees implicitly; the skill asks the user first. Fixes #991 (subagent-driven-development was auto-creating worktrees without consent).finishing-a-development-branch only cleans up worktrees inside .worktrees/ (created by superpowers); anything outside is left alone. Fixes #940 (Option 2 was incorrectly cleaning up worktrees), #999 (merge-then-remove ordering), and #238 (cd to repo root before git worktree remove)./Users/jesse paths in skill examples replaced with generic placeholders. (#858, PR #1122)Two new sections at the top of CLAUDE.md (symlinked to AGENTS.md) speak directly to AI agents. An audit of the last 100 closed PRs against this repo showed a 94% rejection rate driven by AI-generated slop: agents that didn't read the PR template, opened duplicates, fabricated problem descriptions, or pushed fork- or domain-specific changes upstream.
npx skills instead of loading the using-superpowers bootstrap at session start. The acceptance test ("Let's make a react todo list" must auto-trigger brainstorming in a clean session) and a complete transcript are now required.New sync-to-codex-plugin script mirrors superpowers into the OpenAI Codex plugin marketplace as prime-radiant-inc/openai-codex-plugins. Path/user-agnostic so any team member can run it. (PR #1165)
rsync/git/gh auth/python3.--bootstrap flag for first-time setup; EXCLUDES patterns anchored to source root; assets/ excluded.CODE_OF_CONDUCT.md; drops the agents/openai.yaml overlay.interface.defaultPrompt in the mirrored plugin.json. (PR #1180 by @arittr)getBootstrapContent() was calling fs.existsSync + fs.readFileSync + frontmatter regex on every agent step (the experimental.chat.messages.transform hook fires on every step in OpenCode's agent loop). Now read once, cached for the session lifetime, with a null sentinel for the missing-file case. 15 regression tests cover cache behavior, fs call counts, the injection guard, the missing-file sentinel, and cache reset. (Fixes #1202)requesting-code-review is now self-contained: the persona, checklist, and dispatch template live in skills/requesting-code-review/code-reviewer.md and the skill dispatches Task (general-purpose) directly. (PR #1299)
agents/code-reviewer.md and the skill's placeholder template (and drifted independently) is now one file.subagent-driven-development follows suit — its code-quality-reviewer-prompt.md now dispatches Task (general-purpose) instead of the named agent.tests/claude-code/test-requesting-code-review.sh plants real bugs (SQL injection, plaintext password handling, credential logging) into a tiny project and asserts the dispatched reviewer flags every planted issue at Critical/Important severity and refuses to approve the diff.references/codex-tools.md and references/copilot-tools.md documented how to flatten a named agent into a generic dispatch. With no named agents shipping, the workaround is unnecessary; both sections were dropped.requesting-code-review (originally for executing-plans) was leaking into subagent-driven-development. Replaced with "each task or at natural checkpoints" plus an explicit continuous-execution directive... segment in the working-dir path, a set -euo pipefail interaction with find | sort | head -1 (SIGPIPE on the producer killed the script), and a missing --plugin-dir on the claude -p invocation that caused the test to load the installed plugin instead of the working tree. All three fixed; six verification tests now actually run against a real end-to-end SDD run.run-hook.cmd instead of invoking the extensionless session-start script directly. Fixes Windows opening the file in an editor instead of running it. Also removed an accidental UTF-8 BOM from hooks-cursor.json.Task dispatch now maps to @agent-name / @generalist, with parallel subagent dispatch documented for independent tasks.wait mapping corrected to wait_agent in the tools reference.CHANGELOG.md in favor of RELEASE-NOTES.md as the single source. (PR #1163 by @shaanmajid)CHANGELOG.md removal (PR #1163)sync-to-codex-plugin interface.defaultPrompt seed (#1180)additionalContext in sessionStart hook output. The session-start hook now detects the COPILOT_CLI environment variable and emits the SDK-standard { "additionalContext": "..." } format, giving Copilot CLI users the full superpowers bootstrap at session start. (Original fix by @culinablaz in PR #910)references/copilot-tools.md with the full Claude Code to Copilot CLI tool equivalence tableusing-superpowers skill's platform instructions and README installation sectionconfigDir/skills/superpowers/ path that didn't match the runtime path. The agent should use the native skill tool, not navigate to files by path. Tests now use consistent paths derived from a single source of truth. (#847, #916)experimental.chat.system.transform to experimental.chat.messages.transform, prepending to the first user message instead of adding a system message. Avoids token bloat from system messages repeated every turn (#750) and fixes compatibility with Qwen and other models that break on multiple system messages (#894).The subagent review loop (dispatching a fresh agent to review plans/specs) doubled execution time (~25 min overhead) without measurably improving plan quality. Regression testing across 5 versions with 5 trials each showed identical quality scores regardless of whether the review loop ran.
content/ (HTML files served to the browser) and state/ (events, server-info, pid, log). Previously, server state and user interaction data were stored alongside served content, making them accessible over HTTP. The screen_dir and state_dir paths are both included in the server-started JSON. (Reported by 吉田仁)start-server.sh since the server now handles it generically. (#879)spawn_agent with worker roles (PR #647 by @arittr)server.js → server.cjs so the brainstorming server starts correctly on Node.js 22+ where the root package.json "type": "module" caused require() to fail. (PR #784 by @sarbojitrana, fixes #774, #780, #783)Dramatically reduces token usage and speeds up spec and plan reviews by eliminating unnecessary review passes and tightening reviewer focus.
## Chunk N: headings, 1000-line chunk limits, per-chunk dispatch).config hook. No symlinks or skills.paths config needed. Install is just adding one line to opencode.json. (PR #753)package.json so OpenCode can install superpowers as an npm package from git.stop-server.sh now confirms the process is dead before reporting success. SIGTERM + 2s wait + SIGKILL fallback. Reports failure if the process survives. (PR #751)hooks/hooks-cursor.json with Cursor's camelCase format (sessionStart, version: 1) and updated .cursor-plugin/plugin.json to reference it. Fixed platform detection in session-start to check CURSOR_PLUGIN_ROOT first (Cursor may also set CLAUDE_PLUGIN_ROOT). (Based on PR #709)--resume — the startup hook was re-injecting context on resumed sessions, which already have the context in their conversation history. The hook now fires only on startup, clear, and compact.cat <<EOF) with printf in hooks/session-start. Fixes indefinite hang on macOS with Homebrew bash 5.3+ caused by a bash regression with large variable expansion in heredocs. (#572, #571)${BASH_SOURCE[0]:-$0} with $0 in hooks/session-start. Fixes "Bad substitution" error on Ubuntu/Debian where /bin/sh is dash. (#553)#!/bin/bash with #!/usr/bin/env bash in all shell scripts. Fixes execution on NixOS, FreeBSD, and macOS with Homebrew bash where /bin/bash is outdated or missing. (#700)OSTYPE=msys*, MSYSTEM) and switch to foreground mode, fixing silent server failure caused by nohup/disown process reaping. (#737)collab flag with multi_agent in Codex documentation. (PR #749)Removed all vendored node_modules — server.js is now fully self-contained
http, fs, and crypto modulesnode_modules/, package.json, and package-lock.jsonfs.watch() file watching replaces Chokidar<meta charset="utf-8"> on served HTML pagesBrainstorm-server moved into skill directory
lib/brainstorm-server/ → skills/brainstorming/scripts/ per the agentskills.io specification${CLAUDE_PLUGIN_ROOT}/lib/brainstorm-server/ references replaced with relative scripts/ pathslib/ directory removed (was the last remaining content)Gemini CLI extension
gemini-extension.json and GEMINI.md at repo rootGEMINI.md @imports using-superpowers skill and tool mapping table at session startskills/using-superpowers/references/gemini-tools.md) — translates Claude Code tool names (Read, Write, Edit, Bash, etc.) to Gemini CLI equivalents (read_file, write_file, replace, etc.)executing-plansMulti-platform brainstorm server launch
CODEX_CI), Gemini CLI (--foreground with is_background), and fallback for other environments$SCREEN_DIR/.server-info so agents can find the URL and port even when stdout is hidden by background executionBrainstorm server dependencies bundled
node_modules vendored into the repo so the brainstorm server works immediately on fresh plugin installs without requiring npm at runtimefsevents from bundled deps (macOS-only native binary; chokidar falls back gracefully without it)npm install if node_modules is missingOpenCode tool mapping fix
TodoWrite → todowrite (was incorrectly mapped to update_plan); verified against OpenCode sourceWindows/Linux: single quotes break SessionStart hook (#577, #529, #644, PR #585)
${CLAUDE_PLUGIN_ROOT} in hooks.json fail on Windows (cmd.exe doesn't recognize single quotes as path delimiters) and on Linux (single quotes prevent variable expansion)Brainstorming spec review loop skipped (#677)
claude --plugin-dir and claude-session-driver: worker now correctly dispatches the reviewerCursor install command (PR #676)
/plugin-add → /add-plugin (confirmed via Cursor 2.5 release announcement)User review gate in brainstorming (#565)
Session-start hook emits context only once per platform
hookSpecificOutput for Claude Code, additional_context for others — prevents double context injectionLinting fix in token analysis script
except: → except Exception: in tests/claude-code/analyze-token-usage.pyRemoved dead code
lib/skills-core.js and its test (tests/opencode/test-skills-core.js) — unused since February 2026tests/opencode/test-plugin-loading.shSpecs and plans directory restructured
docs/superpowers/specs/YYYY-MM-DD-<topic>-design.mddocs/superpowers/plans/YYYY-MM-DD-<feature-name>.mddocs/plans/ to new locations if desiredSubagent-driven development mandatory on capable harnesses
Writing-plans no longer offers a choice between subagent-driven and executing-plans. On harnesses with subagent support (Claude Code, Codex), subagent-driven-development is required. Executing-plans is reserved for harnesses without subagent capability, and now tells the user that Superpowers works better on a subagent-capable platform.
Executing-plans no longer batches
Removed the "execute 3 tasks then stop for review" pattern. Plans now execute continuously, stopping only for blockers.
Slash commands deprecated
/brainstorm, /write-plan, and /execute-plan now show deprecation notices pointing users to the corresponding skills. Commands will be removed in the next major release.
Visual brainstorming companion
Optional browser-based companion for brainstorming sessions. When a topic would benefit from visuals, the brainstorming skill offers to show mockups, diagrams, comparisons, and other content in a browser window alongside terminal conversation.
lib/brainstorm-server/ — WebSocket server with browser helper library, session management scripts, and dark/light themed frame template ("Superpowers Brainstorming" with GitHub link)skills/brainstorming/visual-companion.md — Progressive disclosure guide for server workflow, screen authoring, and feedback collectiontests/brainstorm-server/Document review system
Automated review loops for spec and plan documents using subagent dispatch:
skills/brainstorming/spec-document-reviewer-prompt.md — Reviewer checks completeness, consistency, architecture, and YAGNIskills/writing-plans/plan-document-reviewer-prompt.md — Reviewer checks spec alignment, task decomposition, file structure, and file sizetests/claude-code/test-document-review-system.shdocs/superpowers/Architecture guidance across the skill pipeline
Design-for-isolation and file-size-awareness guidance added to brainstorming, writing-plans, and subagent-driven-development:
Subagent-driven development improvements
Instruction priority hierarchy
Added explicit priority ordering to using-superpowers:
If CLAUDE.md or AGENTS.md says "don't use TDD" and a skill says "always use TDD," the user's instructions win.
SUBAGENT-STOP gate
Added <SUBAGENT-STOP> block to using-superpowers. Subagents dispatched for specific tasks now skip the skill instead of activating the 1% rule and invoking full skill workflows.
Multi-platform improvements
references/codex-tools.md)docs/README.codex.mdWriting-plans template updates
- [ ] **Step N:**) for progress trackingCursor support
Superpowers now works with Cursor's plugin system. Includes a .cursor-plugin/plugin.json manifest and Cursor-specific installation instructions in the README. The SessionStart hook output now includes an additional_context field alongside the existing hookSpecificOutput.additionalContext for Cursor hook compatibility.
Windows: Restored polyglot wrapper for reliable hook execution (#518, #504, #491, #487, #466, #440)
Claude Code's .sh auto-detection on Windows was prepending bash to the hook command, breaking execution. The fix:
session-start.sh to session-start (extensionless) so auto-detection doesn't interfererun-hook.cmd polyglot wrapper with multi-location bash discovery (standard Git for Windows paths, then PATH fallback)exec bashdirname "$0" path resolution (works on dash/sh, not just bash)This fixes SessionStart failures on Windows with spaces in paths, missing WSL, set -euo pipefail fragility on MSYS, and backslash mangling.
This fix should dramatically improve superpowers skills compliance and should reduce the chances of Claude entering its native plan mode unintentionally.
Brainstorming skill now enforces its workflow instead of describing it
Models were skipping the design phase and jumping straight to implementation skills like frontend-design, or collapsing the entire brainstorming process into a single text block. The skill now uses hard gates, a mandatory checklist, and a graphviz process flow to enforce compliance:
<HARD-GATE>: no implementation skills, code, or scaffolding until design is presented and user approveswriting-plans as the only valid terminal stateUsing-superpowers workflow graph intercepts EnterPlanMode
Added an EnterPlanMode intercept to the skill flow graph. When the model is about to enter Claude's native plan mode, it checks whether brainstorming has happened and routes through the brainstorming skill instead. Plan mode is never entered.
SessionStart hook now runs synchronously
Changed async: true to async: false in hooks.json. When async, the hook could fail to complete before the model's first turn, meaning using-superpowers instructions weren't in context for the first message.
Codex: Replaced bootstrap CLI with native skill discovery
The superpowers-codex bootstrap CLI, Windows .cmd wrapper, and related bootstrap content file have been removed. Codex now uses native skill discovery via ~/.agents/skills/superpowers/ symlink, so the old use_skill/find_skills CLI tools are no longer needed.
Installation is now just clone + symlink (documented in INSTALL.md). No Node.js dependency required. The old ~/.codex/skills/ path is deprecated.
Windows: Fixed Claude Code 2.1.x hook execution (#331)
Claude Code 2.1.x changed how hooks execute on Windows: it now auto-detects .sh files in commands and prepends bash. This broke the polyglot wrapper pattern because bash "run-hook.cmd" session-start.sh tries to execute the .cmd file as a bash script.
Fix: hooks.json now calls session-start.sh directly. Claude Code 2.1.x handles the bash invocation automatically. Also added .gitattributes to enforce LF line endings for shell scripts (fixes CRLF issues on Windows checkout).
Windows: SessionStart hook runs async to prevent terminal freeze (#404, #413, #414, #419)
The synchronous SessionStart hook blocked the TUI from entering raw mode on Windows, freezing all keyboard input. Running the hook async prevents the freeze while still injecting superpowers context.
Windows: Fixed O(n^2) escape_for_json performance
The character-by-character loop using ${input:$i:1} was O(n^2) in bash due to substring copy overhead. On Windows Git Bash this took 60+ seconds. Replaced with bash parameter substitution (${s//old/new}) which runs each pattern as a single C-level pass — 7x faster on macOS, dramatically faster on Windows.
Codex: Fixed Windows/PowerShell invocation (#285, #243)
superpowers-codex script triggered an "Open with" dialog. All invocations now prefixed with node.~/ path expansion on Windows — PowerShell doesn't expand ~ when passed as an argument to node. Changed to $HOME which expands correctly in both bash and PowerShell.Codex: Fixed path resolution in installer
Used fileURLToPath() instead of manual URL pathname parsing to correctly handle paths with spaces and special characters on all platforms.
Codex: Fixed stale skills path in writing-skills
Updated ~/.codex/skills/ reference (deprecated) to ~/.agents/skills/ for native discovery.
Worktree isolation now required before implementation
Added using-git-worktrees as a required skill for both subagent-driven-development and executing-plans. Implementation workflows now explicitly require setting up an isolated worktree before starting work, preventing accidental work directly on main.
Main branch protection softened to require explicit consent
Instead of prohibiting main branch work entirely, the skills now allow it with explicit user consent. More flexible while still ensuring users are aware of the implications.
Simplified installation verification
Removed /help command check and specific slash command list from verification steps. Skills are primarily invoked by describing what you want to do, not by running specific commands.
Codex: Clarified subagent tool mapping in bootstrap
Improved documentation of how Codex tools map to Claude Code equivalents for subagent workflows.
OpenCode: Standardized on plugins/ directory per official docs (#343)
OpenCode's official documentation uses ~/.config/opencode/plugins/ (plural). Our docs previously used plugin/ (singular). While OpenCode accepts both forms, we've standardized on the official convention to avoid confusion.
Changes:
.opencode/plugin/ to .opencode/plugins/ in repo structureOpenCode: Fixed symlink instructions (#339, #342)
rm before ln -s (fixes "file already exists" errors on reinstall)use_skill/find_skills to native skill tool referencesOpenCode: Switched to native skills system
Superpowers for OpenCode now uses OpenCode's native skill tool instead of custom use_skill/find_skills tools. This is a cleaner integration that works with OpenCode's built-in skill discovery.
Migration required: Skills must be symlinked to ~/.config/opencode/skills/superpowers/ (see updated installation docs).
OpenCode: Fixed agent reset on session start (#226)
The previous bootstrap injection method using session.prompt({ noReply: true }) caused OpenCode to reset the selected agent to "build" on first message. Now uses experimental.chat.system.transform hook which modifies the system prompt directly without side effects.
OpenCode: Fixed Windows installation (#232)
skills-core.js (eliminates broken relative imports when file is copied instead of symlinked)Claude Code: Fixed Windows hook execution for Claude Code 2.1.x
Claude Code 2.1.x changed how hooks execute on Windows: it now auto-detects .sh files in commands and prepends bash . This broke the polyglot wrapper pattern because bash "run-hook.cmd" session-start.sh tries to execute the .cmd file as a bash script.
Fix: hooks.json now calls session-start.sh directly. Claude Code 2.1.x handles the bash invocation automatically. Also added .gitattributes to enforce LF line endings for shell scripts (fixes CRLF issues on Windows checkout).
Strengthened using-superpowers skill for explicit skill requests
Addressed a failure mode where Claude would skip invoking a skill even when the user explicitly requested it by name (e.g., "subagent-driven-development, please"). Claude would think "I know what that means" and start working directly instead of loading the skill.
Changes:
Added explicit skill request tests
New test suite in tests/explicit-skill-requests/ that verifies Claude correctly invokes skills when users request them by name. Includes single-turn and multi-turn test scenarios.
Slash commands now user-only
Added disable-model-invocation: true to all three slash commands (/brainstorm, /execute-plan, /write-plan). Claude can no longer invoke these commands via the Skill tool—they're restricted to manual user invocation only.
The underlying skills (superpowers:brainstorming, superpowers:executing-plans, superpowers:writing-plans) remain available for Claude to invoke autonomously. This change prevents confusion when Claude would invoke a command that just redirects to a skill anyway.
Clarified how to access skills in Claude Code
Fixed a confusing pattern where Claude would invoke a skill via the Skill tool, then try to Read the skill file separately. The using-superpowers skill now explicitly states that the Skill tool loads skill content directly—no need to read files.
using-superpowerssuperpowers:brainstorming)Added GitHub thread reply guidance to receiving-code-review (h/t @ralphbean)
Added a note about replying to inline review comments in the original thread rather than as top-level PR comments.
Added automation-over-documentation guidance to writing-skills (h/t @EthanJStark)
Added guidance that mechanical constraints should be automated, not documented—save skills for judgment calls.
Two-stage code review in subagent-driven-development
Subagent workflows now use two separate review stages after each task:
Spec compliance review - Skeptical reviewer verifies implementation matches spec exactly. Catches missing requirements AND over-building. Won't trust implementer's report—reads actual code.
Code quality review - Only runs after spec compliance passes. Reviews for clean code, test coverage, maintainability.
This catches the common failure mode where code is well-written but doesn't match what was requested. Reviews are loops, not one-shot: if reviewer finds issues, implementer fixes them, then reviewer checks again.
Other subagent workflow improvements:
New prompt templates in skills/subagent-driven-development/:
implementer-prompt.md - Includes self-review checklist, encourages questionsspec-reviewer-prompt.md - Skeptical verification against requirementscode-quality-reviewer-prompt.md - Standard code reviewDebugging techniques consolidated with tools
systematic-debugging now bundles supporting techniques and tools:
root-cause-tracing.md - Trace bugs backward through call stackdefense-in-depth.md - Add validation at multiple layerscondition-based-waiting.md - Replace arbitrary timeouts with condition pollingfind-polluter.sh - Bisection script to find which test creates pollutioncondition-based-waiting-example.ts - Complete implementation from real debugging sessionTesting anti-patterns reference
test-driven-development now includes testing-anti-patterns.md covering:
Skill test infrastructure
Three new test frameworks for validating skill behavior:
tests/skill-triggering/ - Validates skills trigger from naive prompts without explicit naming. Tests 6 skills to ensure descriptions alone are sufficient.
tests/claude-code/ - Integration tests using claude -p for headless testing. Verifies skill usage via session transcript (JSONL) analysis. Includes analyze-token-usage.py for cost tracking.
tests/subagent-driven-dev/ - End-to-end workflow validation with two complete test projects:
go-fractals/ - CLI tool with Sierpinski/Mandelbrot (10 tasks)svelte-todo/ - CRUD app with localStorage and Playwright (12 tasks)DOT flowcharts as executable specifications
Rewrote key skills using DOT/GraphViz flowcharts as the authoritative process definition. Prose becomes supporting content.
The Description Trap (documented in writing-skills): Discovered that skill descriptions override flowchart content when descriptions contain workflow summaries. Claude follows the short description instead of reading the detailed flowchart. Fix: descriptions must be trigger-only ("Use when X") with no process details.
Skill priority in using-superpowers
When multiple skills apply, process skills (brainstorming, debugging) now explicitly come before implementation skills. "Build X" triggers brainstorming first, then domain skills.
brainstorming trigger strengthened
Description changed to imperative: "You MUST use this before any creative work—creating features, building components, adding functionality, or modifying behavior."
Skill consolidation - Six standalone skills merged:
root-cause-tracing, defense-in-depth, condition-based-waiting → bundled in systematic-debugging/testing-skills-with-subagents → bundled in writing-skills/testing-anti-patterns → bundled in test-driven-development/sharing-skills removed (obsolete)run-hook.cmd) to use POSIX-compliant syntax
${BASH_SOURCE[0]:-$0} with standard $0 on line 16/bin/sh is dashchat.message hook to session.created event for bootstrap injection
session.prompt() with noReply: truegetBootstrapContent() helperuse_skill and find_skills.opencode/skills/)lib/skills-core.js) for code reuse with Codextests/opencode/)docs/README.opencode.md, docs/README.codex.md)Refactored Codex Implementation: Now uses shared lib/skills-core.js ES module
Improved Documentation: Rewrote README to explain problem/solution clearly
using-superpowers skill content is now provided directly in session context, with clear guidance to use the Skill tool only for other skills. This reduces overhead and prevents the confusing loop where agents would execute using-superpowers manually despite already having the content from session start.brainstorming skill to return to original conversational vision. Removed heavyweight 6-phase process with formal checklists in favor of natural dialogue: ask questions one at a time, then present design in 200-300 word sections with validation. Keeps documentation and implementation handoff features.brainstorming skill to require autonomous recon before questioning, encourage recommendation-driven decisions, and prevent agents from delegating prioritization back to humans.brainstorming skill following Strunk's "Elements of Style" principles (omitted needless words, converted negative to positive form, improved parallel construction).writing-skills guidance so it points to the correct agent-specific personal skill directories (~/.claude/skills for Claude Code, ~/.codex/skills for Codex).Experimental Codex Support
superpowers-codex script with bootstrap/use-skill/find-skills commandssuperpowers:skill-name for superpowers skills, skill-name for personalKey differences from Claude Code integration:
.codex/INSTALL.md - Installation guide for Codex users.codex/superpowers-bootstrap.md - Bootstrap instructions with Codex adaptations.codex/superpowers-codex - Unified Node.js executable with all functionalityNote: Codex support is experimental. The integration provides core superpowers functionality but may require refinement based on user feedback.
Updated using-superpowers skill to use Skill tool instead of Read tool
The Skill tool is the proper mechanism for invoking skills in Claude Code. This update corrects the bootstrap instructions to guide agents toward the correct tool.
skills/using-superpowers/SKILL.md - Changed tool references from Read to SkillStrengthened using-superpowers skill against agent rationalization
These changes address observed agent behavior where they rationalize around skill usage despite clear instructions. The forceful language and pre-emptive counter-arguments aim to make non-compliance harder.
skills/using-superpowers/SKILL.md - Added three layers of enforcement to prevent skill-skipping rationalizationCode reviewer agent now included in plugin
superpowers:code-reviewer agent to plugin's agents/ directorysuperpowers:code-revieweragents/code-reviewer.md - Agent definition with review checklist and output formatskills/requesting-code-review/SKILL.md - References to superpowers:code-reviewerskills/subagent-driven-development/SKILL.md - References to superpowers:code-reviewerDesign documentation in brainstorming workflow
docs/plans/YYYY-MM-DD-<topic>-design.md before implementationSkill reference namespace standardization
superpowers: namespace prefixsuperpowers:test-driven-development (previously just test-driven-development)Design vs implementation plan naming
-design.md suffix to prevent filename collisionsYYYY-MM-DD-<feature-name>.md formatdocs/plans/ directory with clear naming distinction/superpowers:brainstorm instead of /brainstorm). Plugin-provided commands are automatically namespaced by Claude Code to avoid conflicts between plugins.Skill names standardized to lowercase
name: fields now use lowercase kebab-case matching directory namesbrainstorming, test-driven-development, using-git-worktreesEnhanced brainstorming skill
Anthropic best practices integration
skills/writing-skills/anthropic-best-practices.md - Official Anthropic skill authoring guideSkill cross-reference clarity
**REQUIRED BACKGROUND:** - Prerequisites you must understand**REQUIRED SUB-SKILL:** - Skills that must be used in workflow**Complementary skills:** - Optional but helpful related skillsskills/collaboration/X → just X)Alignment with Anthropic best practices
commands/brainstorm.md and commands/write-plan.md that were accidentally removed in v3.0 migrationdefense-in-depth name mismatch (was Defense-in-Depth-Validation)receiving-code-review name mismatch (was Code-Review-Reception)commands/brainstorm.md reference to correct skill namewriting-skills improvements
We now use Anthropic's first-party skills system!
${BASH_SOURCE[0]:-$0} fallback when BASH_SOURCE is unbound in Claude Code's execution context|| true to handle empty grep results gracefully when filtering status flagsSuperpowers v2.0 makes skills more accessible, maintainable, and community-driven through a major architectural shift.
The headline change is skills repository separation: all skills, scripts, and documentation have moved from the plugin into a dedicated repository (obra/superpowers-skills). This transforms superpowers from a monolithic plugin into a lightweight shim that manages a local clone of the skills repository. Skills auto-update on session start. Users fork and contribute improvements via standard git workflows. The skills library versions independently from the plugin.
Beyond infrastructure, this release adds nine new skills focused on problem-solving, research, and architecture. We rewrote the core using-skills documentation with imperative tone and clearer structure, making it easier for Claude to understand when and how to use skills. find-skills now outputs paths you can paste directly into the Read tool, eliminating friction in the skills discovery workflow.
Users experience seamless operation: the plugin handles cloning, forking, and updating automatically. Contributors find the new architecture makes improving and sharing skills trivial. This release lays the foundation for skills to evolve rapidly as a community resource.
The biggest change: Skills no longer live in the plugin. They've been moved to a separate repository at obra/superpowers-skills.
What this means for you:
~/.config/superpowers/skills/gh is installed)Migration:
If you have an existing installation:
~/.config/superpowers/.git will be backed up to ~/.config/superpowers/.git.bak~/.config/superpowers/skills.bak~/.config/superpowers/skills/Automatic Clone & Setup (lib/initialize-skills.sh)
Auto-Update
Problem-Solving Skills (skills/problem-solving/)
Research Skills (skills/research/)
Architecture Skills (skills/architecture/)
using-skills (formerly getting-started)
writing-skills
sharing-skills
pulling-updates-from-skills-repository (new)
find-skills
skill-run
Session Start Hook
Environment Variables
SUPERPOWERS_SKILLS_ROOT set to ~/.config/superpowers/skillsdocs/TESTING-CHECKLIST.md)Added:
lib/initialize-skills.sh - Skills repo initialization and auto-updatedocs/TESTING-CHECKLIST.md - Manual testing scenarios.claude-plugin/marketplace.json - Local testing configRemoved:
skills/ directory (82 files) - Now in obra/superpowers-skillsscripts/ directory - Now in obra/superpowers-skills/skills/using-skills/hooks/setup-personal-superpowers.sh - ObsoleteModified:
hooks/session-start.sh - Use skills from ~/.config/superpowers/skillscommands/brainstorm.md - Updated paths to SUPERPOWERS_SKILLS_ROOTcommands/write-plan.md - Updated paths to SUPERPOWERS_SKILLS_ROOTcommands/execute-plan.md - Updated paths to SUPERPOWERS_SKILLS_ROOTREADME.md - Complete rewrite for new architectureThis release includes:
# In Claude Code
/plugin marketplace add obra/superpowers-marketplace
/plugin install superpowers@superpowers-marketplace
The plugin handles everything automatically.
Backup your personal skills (if you have any):
cp -r ~/.config/superpowers/skills ~/superpowers-skills-backup
Update the plugin:
/plugin update superpowers
On next session start:
Migrate personal skills (if you had any):
None at this time.
Full Changelog: https://github.com/obra/superpowers/compare/dd013f6...main Skills Repository: https://github.com/obra/superpowers-skills Issues: https://github.com/obra/superpowers/issues