I'm pleased to announce Superpowers 4.0.
The big improvements in this version are:
- Subagent driven development is even better
The software development flow that Superpowers is built around has always had a 'code review' step after each implementation step. Code review has now been split into two separate agents, each with their own mandate. First, a "spec review" agent evaluates the work to make sure that it implements what the plan said to build. Only after the spec review agent signs off, does the code review agent dig into code quality.
Both of those steps are now formally loops, rather than being written up as potentially one-shot processes. (The coordinating agent now knows that it needs to rerun code review after the implementer fixes the first code review.)
Subagent driven dev is so good that I'm coming close to removing the old "two windows" workflow that required you to act as a bridge between the implementing agent and the coordinator. Right now, the biggest thing blocking that change is that OpenAI Codex doesn't yet support subagents. I've got a fix for that, but it's not quite ready for prime time yet.
- Changes in skill triggering and descriptions.
Starting with Opus 4.5, Claude seemed somewhat more likely to guess that it already knew what a skill did based on the description. This manifested as it claiming it was going to use a skill and then....winging it without actually reading the skill. I believe that this was mostly caused by skill description fields that explain what a skill does, in addition to when to use it.
To help mitigate this problem, I revised skill descriptions to contain only information about when to use the skill. As an example, the brainstorming skill's description changed from:
Use when creating or developing, before writing code or implementation plans - refines rough ideas into fully-formed designs through collaborative questioning, alternative exploration, and incremental validation. Don't use during clear 'mechanical' processes.
to
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
Separately, some folks have started to run into Claude Code's hidden limits on the number of characters of skill descriptions that are allowed before Claude starts hiding some skills.
To help mitigate that, I condensed a number of skills that really didn't need to be standalone skills into progressively-disclosed parts of more general skills. test-driven-development now contains testing-anti-patterns. In hindsight, testing-anti-patterns was a bad skill, because it was about what not to do, rather than being about what to do, with notes about dangerous patterns.
Similarly, the systematic-debugging skill now includes the content from root-cause-tracing, defense-in-depth, and condition-based-waiting
- There is the beginning of a test suite inside.
It's not a proper evals suite, but we now have some basic end to end tests that make sure that the agent runs the full brainstorming - planning - implementing flow and verifies skill usage. We've used this to improve Superpowers skill triggering.
- More use of GraphViz
It's unlikely to ever be user-visible, but Superpowers is leaning more on the GraphViz 'dot' notation internally for process documentation. dot is a graph and process notation that reads a little bit like ASCII art. As a slightly-formalized notation, dot is a little bit less ambiguous than prose. Claude is particularly good at following processes written in dot.
An aside #
I make and give away Superpowers because I enjoy building tools that help people make software. I've recently enabled GitHub Sponsorships, which lets folks sponsor my opensource work. You are under no obligation to sponsor me or pay anything for Superpowers, but if you're getting value out of it at work and want to kick a few bucks my way, I'd appreciate it a great deal and it and will help incentivize me to keep making and giving away tools. You can sponsor my work here
Thanks!