Superpowers: teaching Claude Code to think before it types
5m read time

Superpowers: teaching Claude Code to think before it types

Out of the box, Claude Code starts writing immediately. Superpowers forces it to plan, test, and verify first. On structured workflows, TDD enforcement, and why discipline beats speed.

Superpowers is a free, open-source plugin for Claude Code by Jesse Vincent and the team at Prime Radiant. It ships a set of structured skills, markdown files holding instructions, checklists and process rules, that Claude reads before it takes any action. The effect is that it plans, tests and verifies first instead of writing code the moment you ask.

If you've used Claude Code for more than a week, you know why that matters. You ask it to build something, and it immediately starts writing code. No questions, no plan, no hesitation. It feels fast. It feels productive.

Until you're three files deep and realise it solved the wrong problem.

That immediacy is the source of most AI-coding headaches: missed requirements, skipped tests, massive diffs that are impossible to review, and features that drift subtly from what you actually wanted. Superpowers exists to fix exactly this.

What it actually does

The idea is simple: enforce a complete development methodology. Not a checklist you can skip, but an opinionated workflow that mirrors how experienced engineers actually work. Claude doesn't touch code until the problem is genuinely understood and a plan is in place.

If you want to write a skill of your own, the same principles apply.

Three principles drive everything:

Clarify before coding. Claude must fully understand what you're building before writing a single line. Requirements gaps are caught in conversation, not in debugging sessions.

Red/Green TDD: no exceptions. Tests are written first and must demonstrably fail before any implementation code exists. If Claude writes implementation code before tests, the skill instructs it to delete that code and start over.

YAGNI. Build the simplest thing that works. Complexity is deferred until it's actually needed.

The result: sessions that feel less like babysitting and more like pairing with a disciplined engineer.

The workflow in practice

Once installed, Superpowers routes every task through a structured sequence. A master skill called using-superpowers activates automatically at session start and acts as a dispatcher, it reads your request, determines which skills apply, and activates them in order. You don't invoke phases manually.

Here's what that looks like. You describe something you want to build:

"I need user authentication for my Express app."

Instead of generating code, Claude activates its brainstorming skill. It asks targeted questions: OAuth or passwords? Session-based or JWT? Rate limiting? Password complexity rules? It refines your rough idea into a solid design document, and waits for your explicit approval before moving on.

After approval, it creates an isolated git worktree, generates a granular implementation plan with checkboxes, and then dispatches subagents to execute that plan, one writing code per task, another reviewing it, a third checking it against the original spec. When everything passes, a verification phase runs tests, linters, and builds. Evidence is required. "This should work" is not accepted.

The plan document doubles as a recovery mechanism. If a session dies mid-work, you pick up where you left off, every completed task is already checked off.

Where it earns its keep

The comparison with raw Claude Code is stark:

Raw Claude CodeWith Superpowers
Starts withWriting codeAsking questions
Test coverageInconsistentTDD enforced, tests first
PlanningAd-hocStructured, checkpoint-based
ReviewYou, manuallyAutomated code-reviewer agent
Token efficiencyLower (more retries)Higher (plan before execute)
Session recoveryStart overCheckbox plan as state log

That last row matters more than it sounds. Token efficiency is an underappreciated benefit. Planning is cheap; doing is expensive. A model generating a structured plan touches far less context than one reading files, writing code, running tests, and backtracking when things go wrong.

When not to bother

Not for everything. A typo fix, a variable rename, a well-understood utility function, the overhead of planning exceeds the task itself. Superpowers has a skip clarify prefix for exactly this. Use it for one-liners where the full workflow would be absurd.

And two limitations worth knowing: environment-specific debugging (wrong tool versions, Docker networking edge cases) falls outside its scope, and plans inherit spec errors. If your design document is wrong, the implementation will be wrong in the same direction. The brainstorming phase improves requirements quality significantly, but it's not infallible.

Getting started

While in Claude Code install the plugin globally:

text
/plugin install superpowers@claude-plugins-official

Restart Claude Code and look for the startup hook confirmation. The dispatcher activates on every session, there's nothing special you need to type. Describe what you want to build and watch the brainstorming skill fire before any code appears.

The recommendation: live with it for a week. For feature development, refactoring, and anything with meaningful complexity, it's a substantial improvement over unstructured sessions. You'll notice the difference the first time Claude asks you a question you hadn't thought of, before writing a single line of code.

Resources: GitHub · Claude Plugin Page

(2 of 36)
01My Claude Code setup: status line, plugins and terminal02Superpowers: teaching Claude Code to think before it types03Claude Code hooks: deterministic control over AI workflows04The CLAUDE.md file: give your AI permanent memory05Stop asking your agent nicely06What's new in Claude Code: notes from the London talk07The best number in Opus 4.8 isn't a benchmark08Stale memory is worse than no memory09The agent is just a loop10Build an MCP server, then ask whether it should exist11Skill, subagent, hook, or slash command? Pick the right one12Log in to MCP servers from your shell13How to give Claude safe access to your SQL database14The day 'default' became 'Manual'15Claude Code skills: how to write one that works16How to write a proper Claude Code subagent17Claude Code permissions: the guide I wish the docs were18Sandboxing Claude Code: put your agent in a box that holds19Prompt injection defense for developers who ship agents20Best Claude model for coding: which one for which task21Refactoring legacy code with a coding agent: start with characterization tests22MCP server authentication: OAuth, scopes and rate limits23Opus 5 is here and your effort settings just expired24AI agent incident response: what to do when your coding agent goes wrong25Claude Code /doctor: what it checks and what changed26Claude Code context management: when to /clear and when to /compact27Git worktrees for parallel coding agents: what they isolate and what they share28Claude Code plan mode: decide before the agent writes29Debugging with a coding agent: give it the search, keep the hypothesis30Claude Code checkpoints and /rewind: how to undo an agent's changes31Claude Code cross-session messaging: how to make your sessions talk to each other32Audit logging for AI agents: what Claude Code records and what deserves a human33Sharing Claude Code config across a team: what a repo can and cannot enforce34Your Claude Code session has no clock35Claude Code in a large codebase: scoping an agent to the part that matters36Recovering a Claude Code session your picker will not show you