plugins/superpowers-bd/skills/writing-plans/SKILL.md
Use when you have a spec or requirements for a multi-step task, before touching code
npx skillsauth add schlenks/superpowers-bd writing-plansInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Write comprehensive implementation plans assuming zero codebase context. Document: which files to touch, code, testing, docs, how to test. Bite-sized tasks. DRY. YAGNI. TDD. Frequent commits. Assume skilled developer, minimal domain knowledge, weak test design.
Announce at start: "I'm using the writing-plans skill to create the implementation plan."
Context: Run in a dedicated worktree (created by brainstorming skill).
Save plans to: docs/plans/YYYY-MM-DD-<feature-name>.md. NEVER write to ~/.claude/plans/ -- ignore the plan mode default path.
REQUIRED: Run Plan Verification Checklist, then rule-of-five-plans before presenting the plan as ready. Verify what before polishing how -- scope errors caught early save wasted polish on deleted tasks.
references/codex-plan-verification.md for the native Codex planning and verification flow. Use update_plan for phase tracking, write the plan with normal file edits, and do not enter Claude plan mode or translate Claude-only tools.Create these 7 native tasks at plan start (each blocked by previous via addBlockedBy). Cannot call ExitPlanMode with pending tasks:
claude-opus-4-6[1m]).
[1m] present (default): Skip compact. Announce "Plan written to {path}. Proceeding to verification." and continue to task 2.[1m] (200k): Show copy-pasteable /compact command (see references/announcements-protocol.md) and wait for user's follow-up before proceeding to task 2.Task 2: Inline Self-Review. The orchestrator runs the Plan Verification Checklist directly — no sub-agent dispatch. The orchestrator just wrote the plan and has full context; a sub-agent would only re-read it from disk. Mark task 2 in_progress, run each checklist item against the plan, edit the plan to fix any issues, mark task 2 completed, then proceed to task 3.
Tasks 3–7: Sub-Agent Dispatch. After task 2 completes, dispatch each rule-of-five-plans pass sequentially as a sonnet sub-agent using the template in references/verification-dispatch.md. Mark each native task in_progress before dispatch, completed after collecting verdict. If any verdict is BLOCKED/FAIL, stop and report to user. After all 5 verdicts collected, assemble Verification Record (see references/verification-footer.md) and append to plan file.
See references/task-enforcement-examples.md for full TaskCreate blocks and dispatch loop.
Each step is one action (2-5 min): write failing test, run it to verify failure, implement minimal code, run test to verify pass, commit.
Every plan MUST start with:
# [Feature Name] Implementation Plan
> **After approval:** convert this plan to a beads epic with plan2beads, then execute it with subagent-driven-development unless a different execution path is explicitly chosen.
**Goal:** [One sentence]
**Architecture:** [2-3 sentences]
**Tech Stack:** [Key technologies]
**Key Decisions:**
- **[Area]:** [Choice] -- [Why over alternatives]
---
Key Decisions: 3-5 decisions implementers might question. WHAT was decided AND WHY. Focus where alternatives existed.
Before defining tasks, map out which files will be created or modified and what each one is responsible for. This is where decomposition decisions get locked in.
| File | Responsibility | Action |
|------|---------------|--------|
| `exact/path/to/file.py` | One clear responsibility | Create |
| `exact/path/to/existing.py` | One clear responsibility | Modify |
| `tests/exact/path/to/test.py` | Tests for file.py | Create |
This structure informs task decomposition. Each task's Files: section must reference entries from this table — no task should introduce files not listed here.
CRITICAL: Every task MUST include Depends on:, Complexity:, and Files: sections. These enable safe parallel execution, model selection, and file conflict detection. See references/dependency-analysis.md and references/file-lists.md.
Recommended context: Purpose: (why), Not In Scope: (prevents overbuilding), Gotchas: (quirks).
### Task N: [Component Name]
**Depends on:** Task M, Task P | None
**Complexity:** simple | standard | complex
**Files:**
- Create: `exact/path/to/file.py`
- Modify: `exact/path/to/existing.py:123-145`
- Test: `tests/exact/path/to/test.py`
**Purpose:** [One sentence]
**Step 1: Write the failing test**
[code block]
**Step 2: Run test to verify it fails**
Run: `pytest tests/path/test.py::test_name -v`
Expected: FAIL
**Step 3: Write minimal implementation**
[code block]
**Step 4: Run test to verify it passes**
Run: `pytest tests/path/test.py::test_name -v`
Expected: PASS
**Step 5: Commit**
`git add ...` then `git commit -m "feat: add specific feature"`
Before rule-of-five-plans, verify scope and accuracy:
Files: sections appears in File Structure table? No undeclared files?Depends on:, Complexity:, and Files:Purpose:, Not In Scope:, Gotchas: where neededreferences/announcements-protocol.md)references/verification-footer.md)references/execution-handoff.md)references/task-enforcement-examples.md: Full TaskCreate blocks with blocked-by relationshipsreferences/codex-plan-verification.md: Codex-native plan drafting, verification, and rule-of-five flowreferences/dependency-analysis.md: Identifying and expressing task dependenciesreferences/file-lists.md: File list format, parallel execution rules, and complexity estimationreferences/announcements-protocol.md: Required announcement templates for verification phasesreferences/verification-dispatch.md: Sub-agent prompt templates and dispatch flow for verification passesreferences/verification-footer.md: Plan Document Footer template (Verification Record)references/execution-handoff.md: Post-plan workflow: plan2beads -> subagent-driven-developmenttools
Use when converting a Superpowers-BD implementation plan or Shortcut story into a beads epic with dependency-aware child tasks
development
Use when the user asks for /cr-style review of local changes, commits, a branch diff, or a GitHub PR outside subagent-driven development
tools
Use when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions
development
Use when user says "execute epic [id]" or when executing beads epics with parallel subagents in the current session