Overview
Superpowers enforces a complete software development workflow through composable skills. The agent checks for relevant skills before any task and mandatory workflows replace ad-hoc development.The Complete Workflow
Here’s the end-to-end process from idea to deployment:Phase 1: Brainstorming
Skill:brainstormingActivates: Before writing any code, creating features, or modifying behavior
What Happens
Fromskills/brainstorming/SKILL.md:14-16:
The agent doesn’t jump straight into coding. Instead:
Explore Project Context
Ask Clarifying Questions
skills/brainstorming/SKILL.md:60-64:- Prefer multiple choice questions when possible
- Only one question per message
- Focus on understanding: purpose, constraints, success criteria
Propose 2-3 Approaches
skills/brainstorming/SKILL.md:67-69:- Lead with your recommended option
- Explain trade-offs
- Present reasoning
Present Design
skills/brainstorming/SKILL.md:71-76:- Scale each section to complexity (few sentences if straightforward, 200-300 words if nuanced)
- Ask after each section whether it looks right
- Cover: architecture, components, data flow, error handling, testing
Write Design Doc
docs/plans/YYYY-MM-DD-<topic>-design.md and commit it.Transition to Implementation
writing-plans skill to create the implementation plan.Why This Matters
Fromskills/brainstorming/SKILL.md:19-20:
Phase 2: Using Git Worktrees
Skill:using-git-worktreesActivates: After design approval, before executing implementation plans
What Happens
Git worktrees create isolated workspaces sharing the same repository. This allows work on the new feature without disturbing your current workspace.Directory Selection
- Check existing
.worktrees/orworktrees/directories - Check
CLAUDE.mdfor preferences - Ask user to choose between project-local or global location
Safety Verification
.gitignore.From skills/using-git-worktrees/SKILL.md:55-68:.gitignore, commit, then proceed.Create Worktree
Run Project Setup
- Node.js:
npm install - Rust:
cargo build - Python:
pip install -r requirements.txt - Go:
go mod download
Verify Clean Baseline
Why Worktrees?
Isolation
Parallel Development
Clean State
Easy Cleanup
Phase 3: Writing Plans
Skill:writing-plansActivates: After brainstorming, with approved design, before touching code
What Happens
The agent creates a comprehensive implementation plan with bite-sized tasks. Fromskills/writing-plans/SKILL.md:10-12:
Task Granularity
Fromskills/writing-plans/SKILL.md:20-27, each step is one action (2-5 minutes):
- “Write the failing test” - step
- “Run it to make sure it fails” - step
- “Implement the minimal code to make the test pass” - step
- “Run the tests and make sure they pass” - step
- “Commit” - step
Plan Structure
Every plan starts with a header:Example Task Structure
Example Task Structure
pytest tests/path/test.py::test_name -v
Expected: FAIL with “function not defined”Step 3: Write minimal implementationpytest tests/path/test.py::test_name -v
Expected: PASSStep 5: CommitExecution Handoff
After saving the plan, the agent offers two execution options:- Subagent-Driven (this session) - Dispatch fresh subagent per task, review between tasks, fast iteration
- Parallel Session (separate) - Open new session with executing-plans, batch execution with checkpoints
Phase 4: Implementation
Option A: Subagent-Driven Development
Skill:subagent-driven-developmentWhen: Executing in the current session with independent tasks From
skills/subagent-driven-development/SKILL.md:10:
The Process
Read Plan & Create Todos
Dispatch Implementer Subagent
- Full task text and context
- Relevant portions of the plan
- Project background
Implementer Works
- Asks clarifying questions before starting
- Implements following TDD
- Self-reviews the work
- Runs tests and commits
Spec Compliance Review
- All requirements from the task are met
- Nothing extra was added (YAGNI)
skills/subagent-driven-development/SKILL.md:190:- Issues found → Implementer fixes → Re-review
Code Quality Review
- Code quality and structure
- Test coverage
- Edge cases
Mark Complete & Continue
Option B: Executing Plans
Skill:executing-plansWhen: Executing in a separate parallel session with checkpoint-based batches Batch execution with human checkpoints every 3 tasks. Useful for:
- Tightly coupled tasks that need continuous context
- When you want manual oversight between batches
Phase 5: Test-Driven Development
Skill:test-driven-developmentActivates: During implementation of any feature or bugfix From
skills/test-driven-development/SKILL.md:12-14:
The Iron Law
Fromskills/test-driven-development/SKILL.md:33-45:
- Don’t keep it as “reference”
- Don’t “adapt” it while writing tests
- Don’t look at it
- Delete means delete
RED-GREEN-REFACTOR Cycle
RED - Write Failing Test
- One behavior
- Clear name
- Real code (no mocks unless unavoidable)
Verify RED - Watch It Fail
- Test fails (not errors)
- Failure message is expected
- Fails because feature missing (not typos)
GREEN - Minimal Code
Verify GREEN - Watch It Pass
- Test passes
- Other tests still pass
- Output pristine (no errors, warnings)
REFACTOR - Clean Up
- Remove duplication
- Improve names
- Extract helpers
Why Order Matters
Fromskills/test-driven-development/SKILL.md:247-252:
Phase 6: Code Review
Skill:requesting-code-reviewActivates: After completing tasks, before merging From
skills/requesting-code-review/SKILL.md:11-17, review is mandatory:
- After each task in subagent-driven development
- After completing major feature
- Before merge to main
The Review Process
Get Git SHAs
Dispatch Code Reviewer Subagent
- What was implemented
- Plan or requirements
- Base and HEAD commit SHAs
- Brief description
Act on Feedback
- Fix Critical issues immediately
- Fix Important issues before proceeding
- Note Minor issues for later
- Push back if reviewer is wrong (with reasoning)
Phase 7: Finishing the Branch
Skill:finishing-a-development-branchActivates: When implementation is complete and all tests pass From
skills/finishing-a-development-branch/SKILL.md:12:
The Process
Verify Tests
Determine Base Branch
main or master).Present Options
- Merge back to base branch locally
- Push and create a Pull Request
- Keep the branch as-is (I’ll handle it later)
- Discard this work
Execute Choice
- Option 1: Merge locally, verify tests, delete branch, cleanup worktree
- Option 2: Push, create PR with summary, cleanup worktree
- Option 3: Keep everything as-is
- Option 4: Confirm with typed “discard”, then delete branch and worktree
Real-World Example
Let’s walk through building an authentication feature:Complete Workflow Example
Complete Workflow Example
- Agent: “I’m using the brainstorming skill to refine this design.”
- Explores current auth implementation
- Asks: “Which OAuth providers do you want to support?”
- You: “Google and GitHub”
- Proposes 3 approaches: custom implementation, Passport.js, or Auth0
- Recommends Passport.js with reasoning
- Presents design in sections covering:
- OAuth flow architecture
- Session management
- Security considerations
- Error handling
- Saves
docs/plans/2026-03-09-oauth-auth-design.md - Invokes writing-plans skill
- Agent: “I’m using the using-git-worktrees skill to set up an isolated workspace.”
- Checks for
.worktrees/directory - Verifies it’s in
.gitignore - Creates:
git worktree add .worktrees/oauth-auth -b feature/oauth-auth - Runs
npm install - Verifies baseline: 47 tests passing
- Reports: “Worktree ready at .worktrees/oauth-auth”
- Agent: “I’m using the writing-plans skill to create the implementation plan.”
- Creates detailed plan with 8 tasks:
- Task 1: Install dependencies (passport, passport-google, passport-github)
- Task 2: OAuth configuration module
- Task 3: Google strategy implementation
- Task 4: GitHub strategy implementation
- Task 5: Session management
- Task 6: Protected route middleware
- Task 7: Login/logout endpoints
- Task 8: Integration tests
- Saves
docs/plans/2026-03-09-oauth-auth.md - Offers execution choice
- You: “Use subagent-driven development”
- Creates 8 TodoWrite items
- Task 1: Dispatches implementer subagent
- Implementer: “Should I pin passport to a specific version?”
- You: “Yes, use latest stable”
- Implementer: Adds dependencies, commits
- Spec reviewer: ✅ Compliant
- Code quality reviewer: ✅ Approved
- Marks Task 1 complete
- Task 2: Fresh implementer subagent
- Implements OAuth config module with TDD
- Spec reviewer: ❌ “Missing environment variable validation”
- Implementer: Adds validation
- Spec reviewer: ✅ Compliant
- Code quality reviewer: ✅ Approved
- Marks Task 2 complete
- Continues through all 8 tasks…
- RED: Write failing test for Google strategy
- Verify RED: Test fails with “GoogleStrategy not defined”
- GREEN: Implement minimal GoogleStrategy
- Verify GREEN: Test passes, all other tests still pass
- REFACTOR: Extract strategy factory
- Commit
- After each task: Subagent reviews against spec
- After all tasks: Final review of entire implementation
- Reviewer: “All requirements met, ready to merge”
- Agent: “I’m using the finishing-a-development-branch skill to complete this work.”
- Runs full test suite: 55 tests passing (8 new)
- Presents 4 options
- You: “Create a PR”
- Pushes branch
- Creates PR with summary:
- Cleans up worktree
- Done!