write-plan
Create a detailed implementation plan from an approved spec.
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
Create a detailed implementation plan from an approved spec.
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación ocupacional SOC
Step-by-step teaching mode for implementation guidance. Use when the user asks Codex to teach them how to implement a change themselves, says "use instruct", "teach me step by step", "walk me through implementing", "show me incrementally", or otherwise wants guidance-first coding help instead of Codex directly editing files.
Guidance for designing, writing, reviewing, or refactoring tests in this project. Use when adding tests for features or bugs, deciding unit vs integration boundaries, choosing what to mock, improving test structure, or reducing brittle/slow/flaky tests.
Turn a rough idea into a reviewed design spec before any implementation.
Debug issues using a structured, evidence-first process.
Execute a written implementation plan in this session with checkpoints.
Execute a written implementation plan task-by-task using pi subagents with review gates.
| name | write-plan |
| description | Create a detailed implementation plan from an approved spec. |
| disable-model-invocation | true |
You are running the write-plan skill. This is a manual planning workflow. Use it only because the user explicitly invoked it.
Turn an approved spec into a detailed implementation plan that another agent could execute reliably without guessing.
Do not implement code while running this skill.
Do not write full function bodies, full test bodies, full component implementations, or other copy-paste-ready source into the plan.
The plan should describe what to build, where to build it, how to verify it, and what patterns to follow. It should not contain the full implementation.
If the design is not yet approved, stop and suggest running the brainstorm skill first.
If the spec covers multiple independent subsystems, say so and suggest splitting the work into separate plans. Each plan should produce working, testable software on its own.
Before writing tasks, map the files that will be created or modified and what each one is responsible for.
Use that structure to lock in decomposition decisions:
Do not propose gratuitous restructuring. If a file is already unwieldy and this work would benefit from a split, include that targeted improvement in the plan.
Write the plan to:
docs/superpowers/plans/YYYY-MM-DD-<feature-name>.md
If the user prefers another location, use that instead.
Every plan must start with this header:
# [Feature Name] Implementation Plan
> **For agentic workers:** REQUIRED SKILL: use the execute-plan-with-subagents skill (recommended) or the execute-plan skill to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
**Goal:** [One sentence describing what this builds]
**Architecture:** [2-3 sentences about approach]
**Tech Stack:** [Key technologies/libraries]
---
Each task should be made of small, concrete steps that take about 2-5 minutes each.
Examples of the right granularity:
Use a structure like this:
### Task N: [Component Name]
**Files:**
- Create: `exact/path/to/new-file.ts`
- Modify: `exact/path/to/existing-file.ts`
- Test: `exact/path/to/test-file.test.ts`
- [ ] **Step 1: Add the failing test coverage**
Add test coverage for:
- rejects invalid input
- accepts valid input
- preserves existing behavior for `<case>`
- [ ] **Step 2: Run the test to verify it fails**
Run: `npm test -- path/to/test`
Expected: fail for the missing behavior, not for a typo or setup issue
- [ ] **Step 3: Implement the minimal behavior**
Implementation notes:
- add `parseThing(input)` in `src/thing.ts`
- reuse the existing validation pattern from `src/shared/validation.ts`
- return the existing error shape used by `src/api/errors.ts`
- [ ] **Step 4: Run the test to verify it passes**
Run: `npm test -- path/to/test`
Expected: pass
- [ ] **Step 5: Run broader verification**
Run: `npm test`
Expected: no regressions in affected areas
- [ ] **Step 6: Commit after verification**
Stage the task changes and create one clean commit only after the task's verification succeeds, if the user wants per-task commits.
**Done when:**
- behavior matches the spec
- the named files are updated
- task-level tests pass
- broader verification passes
- the task is ready for review without unrelated changes
The plan must be specific, but specificity should come from behavior and boundaries, not from writing the whole solution.
Include:
Avoid:
Tiny snippets are allowed only when they clarify a non-obvious interface, data shape, regex, SQL fragment, migration shape, or other tricky detail. Prefer small signatures or examples over full implementations.
Never write:
TBDTODOEvery task must contain the actual material the executor needs:
After writing the plan, review it against the spec:
Fix issues inline.
When the plan is complete, end with this choice for the user:
Plan complete and saved to
<path>. Two execution options:
execute-plan-with-subagents(recommended) for fresh subagent per task plus review gatesexecute-planfor inline execution in this sessionWhich approach do you want?