OpenCode: 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)Visual companion for brainstorming skill
Added optional browser-based visual companion for brainstorming sessions. When users have a browser available, brainstorming can display interactive screens showing current phase, questions, and design decisions in a more readable format than terminal output.
Components:
lib/brainstorm-server/ - WebSocket server for real-time updatesskills/brainstorming/visual-companion.md - Integration guideThe visual companion is opt-in and falls back gracefully to terminal-only operation.
Instruction priority clarified in using-superpowers
Added explicit instruction priority hierarchy to prevent conflicts with user preferences:
This ensures users remain in control. If CLAUDE.md says "don't use TDD" and a skill says "always use TDD," CLAUDE.md wins.
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