Plan
Research the codebase and create an implementation plan. Full lane plans one task at a time; vibe/bug combines discovery + tasking + planning into one pass.
Required Skills
spec-driven-development (state/task management, lane detection)
research
Inputs
[!IMPORTANT]
Resolve the change set by running ls changes/ | grep -v archive/. If exactly one directory exists, use it. Only prompt the user when multiple change sets are present.
Instructions
Load spec-driven-development skill and read state from changes/<name>/state.toml. Apply state entry check per skill guidelines.
Read tasks from changes/<name>/tasks.toml if full lane.
Full lane:
- Confirm the active phase is
plan
- Determine task via CLI, not manual edits:
- First check
ae sdd task current [name]
- If no current task, run
ae sdd task start [name] to move next pending task to in_progress
- Read current task details and all
thoughts/ (discovery outputs)
- Research codebase for patterns, paths, integration, tests
Vibe/Bug lane:
- Read
thoughts/ if they exist
- Research codebase patterns, changes needed, risks
- This is discovery + tasking + planning in one pass
Dialogue: Before writing, summarize research findings. If a path is clear, present your recommendation with reasoning. If you see questions, trade-offs, or risks, discuss them with opinions and recommendations. Collaborate through back-and-forth until direction is right.
Plan contents (all lanes):
- Objective/Goal (one sentence, direct)
- Requirements copied from task/spec as bullets
- Research findings as bullets: paths, patterns, risks, constraints
- Steps as an ordered list with exact file paths and concrete changes
- Validation plan at the end in checkbox format
Validation plan format:
- Place at the end of the plan
- Two checkbox sections:
- Agent validations (during/post implementation)
- User validations (optional unless required)
Full lane output:
- Create
changes/<name>/plans/<NN>.md
- Include all required sections
- Steps must be exhaustive enough for direct execution
Vibe/Bug lane output:
- Create
changes/<name>/plan.md
- Include all required sections
- Include code or pseudocode for complex logic
Do not update phase status in this command. When the user wants to proceed, suggest ae-sdd-next <name> to advance into implement.
Examples
Full lane planning with dialogue:
Input: "password-reset" (full lane, task 2 pending)
Output: "Validated tasks—no in-progress tasks. Started task 2. Read task 2 and thoughts/.
Research shows extending auth/login/validator.ts fits DRY.
One concern: validator is getting large. Address now or focus on reset?"
User: "Stay focused on reset. Show me the plan."
Output: "Created plans/02.md with exhaustive breakdown: file-by-file changes,
code snippets for validator.js, auth/routes.js, tests, validation checklist."
Vibe lane with clear recommendation:
Input: "bug-fix" (vibe lane)
Output: "Read thoughts/. Found consistent fix pattern in router/middleware.ts.
Applying that keeps codebase uniform. Created plan.md with exhaustive breakdown:
exact changes to middleware.ts, code snippet, test updates, validation steps."
1---2name: ae-sdd-plan3description: Research, plan, and prepare for implementation4---56# Plan78Research the codebase and create an implementation plan. Full lane plans one task at a time; vibe/bug combines discovery + tasking + planning into one pass.910## Required Skills1112- `spec-driven-development` (state/task management, lane detection)13- `research`1415## Inputs1617> [!IMPORTANT]18> Resolve the change set by running `ls changes/ | grep -v archive/`. If exactly one directory exists, use it. Only prompt the user when multiple change sets are present.1920## Instructions21221. Load `spec-driven-development` skill and read state from `changes/<name>/state.toml`. Apply state entry check per skill guidelines.23242. Read tasks from `changes/<name>/tasks.toml` if full lane.25263. **Full lane**:27 - Confirm the active phase is `plan`28 - Determine task via CLI, not manual edits:29 - First check `ae sdd task current [name]`30 - If no current task, run `ae sdd task start [name]` to move next pending task to `in_progress`31 - Read current task details and all `thoughts/` (discovery outputs)32 - Research codebase for patterns, paths, integration, tests33344. **Vibe/Bug lane**:35 - Read `thoughts/` if they exist36 - Research codebase patterns, changes needed, risks37 - This is discovery + tasking + planning in one pass38395. **Dialogue**: Before writing, summarize research findings. If a path is clear, present your recommendation with reasoning. If you see questions, trade-offs, or risks, discuss them with opinions and recommendations. Collaborate through back-and-forth until direction is right.40416. **Plan contents** (all lanes):42 - Objective/Goal (one sentence, direct)43 - Requirements copied from task/spec as bullets44 - Research findings as bullets: paths, patterns, risks, constraints45 - Steps as an ordered list with exact file paths and concrete changes46 - Validation plan at the end in checkbox format47487. **Validation plan format**:49 - Place at the end of the plan50 - Two checkbox sections:51 - Agent validations (during/post implementation)52 - User validations (optional unless required)53548. **Full lane output**:55 - Create `changes/<name>/plans/<NN>.md`56 - Include all required sections57 - Steps must be exhaustive enough for direct execution58599. **Vibe/Bug lane output**:60 - Create `changes/<name>/plan.md`61 - Include all required sections62 - Include code or pseudocode for complex logic636410. Do not update phase status in this command. When the user wants to proceed, suggest `ae-sdd-next <name>` to advance into `implement`.6566## Examples6768**Full lane planning with dialogue:**6970```text71Input: "password-reset" (full lane, task 2 pending)72Output: "Validated tasks—no in-progress tasks. Started task 2. Read task 2 and thoughts/. 73 Research shows extending auth/login/validator.ts fits DRY. 74 One concern: validator is getting large. Address now or focus on reset?"75 User: "Stay focused on reset. Show me the plan."76 Output: "Created plans/02.md with exhaustive breakdown: file-by-file changes, 77 code snippets for validator.js, auth/routes.js, tests, validation checklist."78```7980**Vibe lane with clear recommendation:**8182```text83Input: "bug-fix" (vibe lane)84Output: "Read thoughts/. Found consistent fix pattern in router/middleware.ts. 85 Applying that keeps codebase uniform. Created plan.md with exhaustive breakdown: 86 exact changes to middleware.ts, code snippet, test updates, validation steps."87```