Slash command: Write Superpowers Plan
Posted on · Updated
Prerequisites
Superpowers is an agentic skills framework & software development methodology that works.
https://github.com/obra/superpowers
Content
write-plan.mdmd
---
description: Brainstorm and write a Superpowers plan, split into small per-task files
argument-hint: [feature or task to plan]
allowed-tools: Read, Glob, Grep, Edit, Write, TodoWrite, Task, Bash(git status:*), Bash(git diff:*)
---
Use the Superpowers brainstorming + writing-plans skills to design an implementation plan for: $ARGUMENTS
Follow the Superpowers workflow:
- Brainstorm and refine requirements first - surface open questions before writing the plan
- Map which files get created/modified BEFORE defining tasks
- Structure every task for TDD (red -> green -> refactor)
- Each step must be a single concrete action, ~2-5 minutes
## Plan location - let Superpowers decide, but write a DIRECTORY
Do NOT hardcode a plan path. Use whatever location and filename the Superpowers
writing-plans skill would use by default. Then apply one override:
Where the skill would write a single plan file:
<its-plan-dir>/<its-plan-name>.md
instead create a directory of the SAME name and write the plan inside it:
<its-plan-dir>/<its-plan-name>/
├── 00-overview.md
├── 01-<kebab-noun-phrase>.md
├── 02-<kebab-noun-phrase>.md
└── 03-<kebab-noun-phrase>/ <- only when one task must be split
├── 03a-<sub-task>.md
└── 03b-<sub-task>.md
The skill's own docs state that user preferences for plan location override its default.
This is that preference: same directory, same plan name, split into small files.
Before writing, state the resolved plan path you are using.
## Why: NEVER write one big plan file
- Write each file in its OWN separate Write call. Never emit multiple tasks in one call.
- Write 00-overview.md FIRST, then task files one at a time, in order.
- Keep every file small: aim ~50-150 lines, hard cap ~200. If a task exceeds that,
it is too big - promote it to a folder and split it (03a / 03b), do not write a long file.
- Prefer more, smaller tasks over fewer, larger ones.
Naming: the plan directory name comes from the skill. INSIDE it, files are zero-padded
two digits. Numbers give ORDER, not scheduling - dependencies live inside the files.
Slug is a short noun phrase, no verbs. Filenames under ~40 chars.
Never encode dependencies or waves in filenames.
## 00-overview.md
Carries the Superpowers plan header and project-wide context ONLY:
- The required Superpowers agentic-worker header block (REQUIRED SUB-SKILL:
superpowers:subagent-driven-development or superpowers:executing-plans)
- Goal: one sentence
- Architecture: 2-3 sentences
- Tech Stack: key technologies/libraries
- Global Constraints: project-wide requirements, exact values copied verbatim from the spec.
Every task's requirements implicitly include this section.
- Task index: | file | one-line goal | depends-on | files touched |
(list split sub-tasks individually, e.g. 03a and 03b, not just the 03 folder)
Do NOT restate task contents here. Keep it short.
## Each task file
Standard Superpowers task structure, one task per file:
- Goal (1-2 sentences)
- Depends on: (task numbers, or "none")
- Files:
- Create: exact/path/to/file.py
- Modify: exact/path/to/existing.py:123-145
- Test: tests/exact/path/to/test.py
- Interfaces:
- Consumes: what this task uses from earlier tasks (exact signatures)
- Produces: what later tasks rely on (exact names, params, types)
- Steps: checkbox `- [ ]` syntax, TDD order (write failing test -> implement -> refactor),
each step a single 2-5 minute action
- Review checkpoint: what the code-reviewer should verify for this task
Each task file must be independently followable by someone who has read 00-overview.md
and nothing else.
## Constraints
- Lint and format after making any file changes
- Do NOT commit anything - not the plan, not any other files
When done, print the resolved plan path and the task tree with one-line goals,
so I can see where it landed and the shape of the plan.