Writing Plans
When This Skill Activates
- •An approved specification exists (from brainstorming)
- •User says "let's plan this" or "break this down"
- •User approves a spec and is ready to implement
- •The
/plancommand is invoked
Prerequisites
- •An approved spec MUST exist. If not, activate the
brainstormingskill first.
Process
Step 1: Analyze the Spec
Read the approved spec carefully. Identify:
- •All components that need to be built
- •Dependencies between components (what must come first)
- •Existing code patterns to follow
- •Test infrastructure (test runner, conventions, locations)
Step 2: Generate the Plan
Use the plan-writer subagent via Task tool:
code
Task tool → subagent_type: plan-writer
Provide it with the approved spec and repo path.
Step 3: Review the Plan
Before showing to user, verify:
- •Tasks are ordered correctly (dependencies respected)
- •Every implementation task has a preceding test task (TDD)
- •Verification commands are real and will work
- •No task is too large (> 5 minutes of work)
- •The final task is always a full verification pass
Step 4: Present for Approval
Show the plan task-by-task. For each task, show:
- •What will be done
- •Which files are affected
- •How it will be verified
Ask: "Ready to execute this plan? Want to adjust anything?"
Step 5: Save the Plan
Save to .factory/docs/plans/[feature-name].md.
Output
An approved, numbered task list ready for subagent-driven-development.