Create PLAN.md + tasks/ folder with implementation plan. Does NOT execute - use execute-plan to run.
User provides a description of the feature, change, or fix to plan.
Always create at project root:
<project-root>/
├── PLAN.md # High-level overview + task checklist
└── tasks/
├── 01-task-name.md # Individual task with full details
├── 02-another-task.md
└── ...
See examples/ folder for complete reference implementation.
Search upward from current directory for these markers (in priority order):
.git/ - Git repositorygo.mod - Go modulespackage.json - Node.js/npmCargo.toml - Rustpyproject.toml - Pythonpom.xml - Java/MavenMakefile - C/C++/generalStop at the first match. If no marker is found, ask the user to specify the project root.
Before creating a new plan, check if PLAN.md exists at project root.
If it exists, inform the user and offer two options:
/archive-plan to archive existing plan, then proceedExample prompt:
PLAN.md already exists at {{path}}.
1. Cancel
2. Archive existing plan and continue
If user selects Archive, invoke /archive-plan skill first, then continue with plan creation.
PLAN.md using template structuretasks/ directoryAfter creating the plan, display this format:
✓ Plan created: {Plan Title} ({N} tasks)
Location: {project-root-path}/
PLAN.md
tasks/
├── 01-first-task.md
├── 02-second-task.md
├── 03-third-task.md
└── ...
📋 Copied PLAN.md path to clipboard
Run /execute-plan to start implementation.
Rules for success output:
└── ... ({N} more)pbcopy (macOS) or equivalent/execute-plan hint# Plan: [Title]
## Problem
[What problem are we solving? 2-3 sentences]
## Solution
[High-level approach. Key architectural decisions. 1-2 paragraphs max]
## Tasks
<!-- Tasks are numbered in execution order. Each task depends on all previous tasks being complete. -->
- [ ] [01-task-name](tasks/01-task-name.md) - Brief description
- [ ] [02-task-name](tasks/02-task-name.md) - Brief description
## Dependencies
[External dependencies, prerequisites, or blockers]
## Notes
[Important context, constraints, or decisions]
Each tasks/NN-task-name.md:
# Task: [Descriptive Name]
## Status
<!-- TODO | IN PROGRESS | DONE | SKIPPED -->
<!-- Detailed state here; PLAN.md checkbox is source of truth for completion -->
TODO
## Requires
- Task NN must be complete (or "None" if first task)
## Description
[What this task accomplishes. 2-3 sentences.]
## Proposed Solution
[Technical approach. Key implementation details.]
## Subtasks
- [ ] Subtask 1
- [ ] Subtask 2
- [ ] Subtask 3
## Files to Modify
- `path/to/file.py` - [what changes]
- `path/to/other.js` - [what changes]
## Verification
- [ ] Tests pass: `command to run tests` (timeout: 5min)
- [ ] Builds without errors: `build command` (timeout: 2min)
- [ ] Works as expected: [manual verification step]
## Notes
<!-- Context for execution agent -->
