# Writing Plans (writing-plans)

> Turns a spec or requirements into an implementation plan of bite-sized TDD tasks, each naming exact files, interfaces and tests.

- Category: [Task Breakdown](https://www.myskills.tools/en/categories/task-breakdown/)
- Source: Community · Jesse Vincent
- Repository: https://github.com/obra/superpowers/tree/main/skills/writing-plans (commit 8ca22db)
- SKILL.md: https://github.com/obra/superpowers/blob/main/skills/writing-plans/SKILL.md
- Install command: `npx skills add obra/superpowers --skill writing-plans`
- License: MIT
- Compatible with: Claude Code, Codex, Cursor, Gemini CLI, OpenCode
- Permissions: read-repo ✓, write-files ✓, shell ✗, network ✗
- Status: Scan passed
- A rule scan cannot catch every risk. Read this skill's SKILL.md and check its permissions before installing.

## Core rule

Every step must let the implementer write exactly one reasonable thing, with no line that decides nothing and no code the signature and tests already determine.

## Execution Phases

1. **Check scope** — If the spec covers several independent subsystems, suggest one plan per subsystem, each producing working, testable software.
2. **Map file structure** — List which files will be created or modified and what each is responsible for, splitting by responsibility and following existing patterns.
3. **Write the tasks** — Using the required header and task template, give each task its files, interfaces and TDD steps: failing test, run, minimal code, run, commit.
4. **Self-review** — Check the plan against the spec for coverage, step clarity, type consistency, Review Focus and proportion, and fix issues inline.
5. **Hand off** — Save to docs/superpowers/plans/, ask the user to review it and choose between Subagent-driven and Native execution.

## Permissions (summarised from SKILL.md)

| Capability | Needed | Details |
|---|---|---|
| File writes | Limited | Writes only the plan document, by default under docs/superpowers/plans/; no code changes. |
| Command execution | Not required | Test and commit commands are written into the plan, not run by this skill. |
| Network outbound | Not required | Works only from the local spec and codebase; no network access. |

## SKILL.md frontmatter (YAML)

```yaml
---
name: writing-plans
description: Use when you have a spec or requirements for a multi-step task, before touching code
---
```

Home: https://www.myskills.tools/en/ · URL: https://www.myskills.tools/en/skills/writing-plans/
