This skill should be used for development tasks that require detailed technical planning with persistent documentation...
This skill creates structured, file-based execution plans for complex development tasks that benefit from persistent documentation and detailed technical planning.
Use this skill when:
Do not use for simple tasks better suited to TodoWrite (quick 3-5 step tasks without complex dependencies).
By default, the output of a plan should be in docs/project/specs/active
Create the plan using the template from assets/plan-template.md in the following location:
{plan-directory}/{YYYY-MM-DD}-{title-in-kebab-case}.md
Optionally, checkout a new branch with the following name: dev/{YYYY-MM-DD}-{title-in-kebab-case}. ONLY do this if user explicitly asks to create plan in a new branch.
Example:
dev/2025-12-01-create-new-fooUse the template structure to create a comprehensive plan that includes:
For detailed guidance on creating effective plans, consult references/effective-planning.md.
Goal - Clear objective statement describing what will be accomplished
Context - Background information, constraints, and requirements
Technical Approach - High-level architectural or implementation strategy
Steps - Detailed implementation phases in logical order
Dependencies - External resources, APIs, libraries, or tools needed
Risks & Mitigations - Potential blockers and how to address them
Questions - Open questions requiring clarification or research
After creating the plan, think about whether you could simplify it further. Consult DESIGN.md file if it exists as well as last 5 commits to understand recent changes for context. If you identify ways that the plan can be made simpler, do the simplification. Add any simplifications done in the # Notes section of the execution plan.
After creating the plan:
If the user asks for additional details - write your response into the existing execution plan instead of responding in the conversation.
When the user asks you to proceed with the plan, re-read it to check if anything has changed. Also make sure that all questions that were asked are answered by the user (user will have checked off the question box and added an answer as a bullet point below). If not, prompt the user for answers before proceeding.