Use when a spec needs breaking down into an executable plan. Turns a structured spec into vertical-slice phases with sized tasks, execution waves, and verification gates ready for /build.
Turn a spec from /idea into an executable plan ready for /build. The plan bridges intent and implementation — specific enough to build from, flexible enough to adapt. You are in plan mode. Do not write any code.
Use when:
.eko/specs/ and needs an execution planDo not use when:
/idea first| Excuse | Rebuttal |
|---|---|
| "Let me just start coding to figure it out" | You're in plan mode. No code. Think first, build later. |
| "I can figure it out as I build" | That's how scope creep starts. Spend 10 minutes planning to save hours of rework. |
| "The spec already describes what to build" | The spec describes what and why. The plan describes how and in what order. |
| "I'll build all the API endpoints first, then the UI" | No horizontal slices. Each phase ships a complete vertical feature — API, logic, UI, tests. |
| "This task is big but I'll manage" | If it touches more than 8 files, break it down. No exceptions. |
| "Dependencies are obvious" | Write them down. What's obvious now won't be obvious mid-build. |
| "I'll verify at the end" | Verification happens at every level — task, wave checkpoint, and phase gate. Not at the end. |
.eko/plans/. Exit criteria: you are in plan mode..eko/specs/. Understand the problem, solution, scope, boundaries, and success criteria. Exit criteria: you can summarize the spec without looking at it..eko/plans/<name>.md using the output format below.Every task in the plan must follow this structure:
- [ ] **<Task name>** [<Size>]
- Summary: <one-line what this task does>
- Description: <context, approach, and details>
- Acceptance criteria: <specific conditions that must be true when done>
- Verification: <how to prove the acceptance criteria are met>
- Dependencies: <task or phase dependencies, or "none">
- Scope: <S|M|L — files/areas affected>
Sizes:
The plan is saved to .eko/plans/<name>.md with this structure:
# Plan: <Name>
Spec: `.eko/specs/<name>.md`
## Approach
What technical strategy we're using and why. Brief mention of alternatives considered.
## Codebase Context
Relevant conventions, patterns, and existing code the plan builds on.
## Phases
### Phase 1: <Name>
Depends on: none
Deliverable: [what's working end-to-end when this phase is done]
#### Execution Order
##### Wave 1 (parallel)
- [ ] **Task name** [S]
- Summary: ...
- Description: ...
- Acceptance criteria: ...
- Verification: ...
- Dependencies: none
- Scope: S — ...
- [ ] **Task name** [M]
- Summary: ...
- Description: ...
- Acceptance criteria: ...
- Verification: ...
- Dependencies: none
- Scope: M — ...
##### Wave 2 (parallel)
- [ ] **Task name** [M]
- Summary: ...
- Description: ...
- Acceptance criteria: ...
- Verification: ...
- Dependencies: Wave 1 > Task name
- Scope: M — ...
##### Checkpoint: Verify Wave 1-2
- [ ] [integration check]
- [ ] [specific assertion]
#### Phase Verification (gate)
- [ ] [end-to-end check proving the deliverable works]
- [ ] [all acceptance criteria from this phase's tasks are met]
> Phase 2 cannot begin until all phase verification checks pass.
### Phase 2: <Name>
Depends on: Phase 1
Deliverable: [...]
#### Execution Order
...
#### Phase Verification (gate)
...
## Dependency Graph
Summary of phase ordering and cross-phase task dependencies.
## Open Risks
What could go wrong and how we'd know early.
/build. Tasks say what to do, not how to write the code./build..eko/plans/<name>.md