Implement ExecPlan
Use the ExecPlan as the implementation contract for delivering both the intended behavior and the intended simplification of the system.
Preferred Input Resolution
Preferred target resolution order:
- explicit work-item path supplied by the user
- explicit
execplan.md path supplied by the user
.agent/active when it points to a work item with:
stage="plan" and state="completed", or
stage="implementation" and state="blocked"
- the most recently updated work item under
.agent/work/ matching those same rules
- legacy fallback:
.agent/execplan-pending.md
If no supported plan exists, stop and tell the user.
Work Item Responsibilities
If operating on a work item, read:
meta.json
decision.md when present
execplan.md
This skill owns execution-state transitions in meta.json:
- when starting work:
stage="implementation", state="active"
- when blocked or only partially complete:
stage="implementation", state="blocked"
- when implementation completes:
stage="implementation", state="completed"
Do not rename plans or move directories to represent lifecycle state.
Ousterhout Lens
When the plan leaves room for judgment:
- prefer deep modules over shallow wrappers
- prefer interfaces that hide sequencing and policy
- prefer fewer concepts, fewer knobs, and fewer special cases
- prefer simple mental models over clever decomposition
Workflow
- Read the ExecPlan in full, then read
.agent/PLANS.md.
- Reconstruct the intended behavior, target boundary, and complexity dividend.
- If available, read
decision.md so the implementation stays aligned with the original decision rationale.
- Before coding, update
meta.json to stage="implementation" and state="active".
- Inspect the relevant code paths before editing.
- Implement milestone by milestone.
- Keep the ExecPlan's
Progress, Surprises & Discoveries, Decision Log, and Outcomes & Retrospective sections up to date as you go.
- After each meaningful slice, run the plan's validation steps or the nearest targeted verification.
- If you finish the implementation, set
state="completed".
- If you cannot finish safely in the current turn, record the blocker in the plan, set
state="blocked", and stop cleanly.
Implementation-First Rule
This skill is for execution, not more planning.
You may update the ExecPlan during implementation only to:
- record progress actually made
- record discoveries from code already inspected
- tighten milestones or acceptance criteria to match current repo reality
- document design decisions that unblock the next implementation step
Do not turn an implementation turn into another plan-improvement pass.
Anti-Patterns
- satisfying the letter of the plan while preserving the same interface burden
- adding wrappers, adapters, or helper layers that hide little
- pushing sequencing or policy outward to callers
- finishing with only ExecPlan edits when implementation work remains
- using file moves or renames as the primary state transition
1---2name: implement-execplan3description: Execute an ExecPlan from a work item under `.agent/work/` or, when necessary, from the older singleton `.agent/execplan-pending.md` flow. Use when the user asks to implement a plan, execute the pending plan, or resume blocked implementation work.4---56# Implement ExecPlan78Use the ExecPlan as the implementation contract for delivering both the intended behavior and the intended simplification of the system.910## Preferred Input Resolution1112Preferred target resolution order:13141. explicit work-item path supplied by the user152. explicit `execplan.md` path supplied by the user163. `.agent/active` when it points to a work item with:17 - `stage="plan"` and `state="completed"`, or18 - `stage="implementation"` and `state="blocked"`194. the most recently updated work item under `.agent/work/` matching those same rules205. legacy fallback: `.agent/execplan-pending.md`2122If no supported plan exists, stop and tell the user.2324## Work Item Responsibilities2526If operating on a work item, read:2728- `meta.json`29- `decision.md` when present30- `execplan.md`3132This skill owns execution-state transitions in `meta.json`:3334- when starting work: `stage="implementation"`, `state="active"`35- when blocked or only partially complete: `stage="implementation"`, `state="blocked"`36- when implementation completes: `stage="implementation"`, `state="completed"`3738Do not rename plans or move directories to represent lifecycle state.3940## Ousterhout Lens4142When the plan leaves room for judgment:4344- prefer deep modules over shallow wrappers45- prefer interfaces that hide sequencing and policy46- prefer fewer concepts, fewer knobs, and fewer special cases47- prefer simple mental models over clever decomposition4849## Workflow50511. Read the ExecPlan in full, then read `.agent/PLANS.md`.522. Reconstruct the intended behavior, target boundary, and complexity dividend.533. If available, read `decision.md` so the implementation stays aligned with the original decision rationale.544. Before coding, update `meta.json` to `stage="implementation"` and `state="active"`.555. Inspect the relevant code paths before editing.566. Implement milestone by milestone.577. Keep the ExecPlan's `Progress`, `Surprises & Discoveries`, `Decision Log`, and `Outcomes & Retrospective` sections up to date as you go.588. After each meaningful slice, run the plan's validation steps or the nearest targeted verification.599. If you finish the implementation, set `state="completed"`.6010. If you cannot finish safely in the current turn, record the blocker in the plan, set `state="blocked"`, and stop cleanly.6162## Implementation-First Rule6364This skill is for execution, not more planning.6566You may update the ExecPlan during implementation only to:6768- record progress actually made69- record discoveries from code already inspected70- tighten milestones or acceptance criteria to match current repo reality71- document design decisions that unblock the next implementation step7273Do not turn an implementation turn into another plan-improvement pass.7475## Anti-Patterns7677- satisfying the letter of the plan while preserving the same interface burden78- adding wrappers, adapters, or helper layers that hide little79- pushing sequencing or policy outward to callers80- finishing with only ExecPlan edits when implementation work remains81- using file moves or renames as the primary state transition