Writing Plans (OpenSpec Integration)
Overview
Write comprehensive implementation plans assuming the engineer has zero context. Document everything they need: which files to touch, code, testing, verification. Bite-sized TDD tasks. DRY. YAGNI. Frequent commits.
This version reads from and writes to OpenSpec change directories.
Announce at start: "I'm using openspec-writing-plans to create the implementation plan."
Context Loading
Read design and specs from OpenSpec:
Check which change we're working on
openspec list --json
Read the artifacts
cat openspec/changes/<name>/proposal.md cat openspec/changes/<name>/design.md ls openspec/changes/<name>/specs/
Plan Document Header
Every plan MUST start with this header:
[Feature Name] Implementation Plan
For Claude: REQUIRED SUB-SKILL: Use superpowers:executing-plans or superpowers:subagent-driven-development to implement this plan task-by-task.
Goal: [One sentence describing what this builds]
Architecture: [2-3 sentences about approach]
Tech Stack: [Key technologies/libraries]
Bite-Sized Task Granularity
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
Task Structure
Task N: [Component Name]
Files:
- Create:
exact/path/to/file.py - Modify:
exact/path/to/existing.py:123-145 - Test:
tests/exact/path/to/test.py
Step 1: Write the failing test [exact test code]
Step 2: Run test to verify it fails
Run: exact command
Expected: FAIL with "specific error"
Step 3: Write minimal implementation [exact implementation code]
Step 4: Run test to verify it passes
Run: exact command
Expected: PASS
Step 5: Commit
git add <files>
git commit -m "feat: specific description"
Save Location
Save plan to OpenSpec (instead of docs/plans/):
openspec/changes/<name>/plan.md
Verify:
openspec status --change <name> --json
Execution Handoff
After saving the plan, offer execution choice:
"Plan complete and saved to openspec/changes/<name>/plan.md
. Two execution options:
1. Subagent-Driven (this session) - Fresh subagent per task, review between tasks, fast iteration
- REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development
2. Parallel Session (separate) - Open new session with executing-plans, batch execution
- REQUIRED SUB-SKILL: New session uses openspec-executing-plans
Which approach?"
Remember
- Exact file paths always
- Complete code in plan (not "add validation")
- Exact commands with expected output
- DRY, YAGNI, TDD, frequent commits
- Plan reads from OpenSpec specs to ensure requirement coverage