When working on a complex task, create and maintain a persistent plan in task_plan.md at the project root.
When to Activate
- Task requires 5+ tool calls or file changes
- Multiple files need to be created or modified
- Task has dependencies between steps
- User explicitly asks to plan
Plan Format
Create task_plan.md with this structure:
# Task: [description]
## Status: In Progress | Completed | Blocked
## Steps
- [x] Step 1: [completed step]
- [ ] Step 2: [current step] ← CURRENT
- [ ] Step 3: [next step]
- [ ] Step 4: [future step]
## Key Files
- [file] → [what needs to change]
## Decisions Made
- [decision and why]
## Blockers
- [any blockers]
Rules
- Create plan BEFORE starting work — write task_plan.md first
- Update after each step — mark completed, move CURRENT marker
- Track decisions — record why you chose an approach
- Note blockers — if stuck, write it down
- Read plan on resume — if task_plan.md exists, read it first to continue where you left off
- Delete on completion — remove task_plan.md when all steps are done
On Session Resume
If task_plan.md exists:
- Read it
- Find the CURRENT step
- Continue from there
- Update progress as you go