Executing Plans
Overview
Load plan, review critically, execute all tasks, report when complete.
Announce at start: "I'm using the executing-plans skill to implement this plan."
For non-trivial execution, include Aegis Visibility: briefly tie the active
slice to its plan, checkpoint, drift or verification boundary. At completion,
pass plan adherence, evidence, complexity and residual risk to
verification-before-completion for the unified receipt.
If subagents are available and the plan has genuinely independent tasks,
prefer subagent-driven-development; lack of subagent support does not block
inline execution. Same-task agents share one workspace, and the coordinator
remains the only Git mutation owner.
The Process
Step 1: Load and Review Plan
- Read plan file
- If the plan or active checkpoint includes an
Execution Readiness View,
read it before implementation and compare the plan against its intent lock,
scope fence, baseline lock, owner / contract constraints, compatibility
boundary, retirement boundary, test obligations, review gates, drift /
rewind rules, and evidence required before completion.
- Review critically - identify any questions or concerns about the plan
- If the view contradicts the plan, baseline, or current worktree evidence,
return to plan review or refresh the advisory handoff before editing.
- Run the TDD Route Guard before implementation: confirm
Mode, Decision, Strict authority,
strict signals, light eligibility, Test posture, and verification. Strict
steps require either an explicit user/project request or a recorded auto
decision; plan approval or risk labels alone are not authority. An
off-mode missing record may be repaired only as Mode: off / Decision: skipped without loading TDD. Missing/unsupported auto decisions return to
plan review. An auto-light record is unsupported when any strict signal is
present or when its tiny/low-risk/single-owner/no-behavior-change proof is
incomplete. Only Decision: strict with recorded strict authority may
authorize steps named Write failing test, Verify RED, GREEN, or
REFACTOR. Do not infer strict during execution.
- If concerns: Raise them with your human partner before starting
- Before the first write, capture
TaskStartSnapshot: root, HEAD, branch or
detached state, upstream divergence, staged/unstaged/untracked paths, active
Git operations, and git worktree list --porcelain. Preserve task-preexisting
state; do not stash, reset, clean, or commit it.
- Reuse the current branch unless rules require independent history or another
goal owns it. If justified, switch/create it in the
current workspace when safe; a worktree still requires
concurrent checkout or blocking dirty state.
- If no concerns: Create TodoWrite and proceed
Step 1.5: Long-Task Checkpoint Setup
If the plan has multiple tasks, may span sessions, or includes architecture / contract / workflow changes:
- Announce: "I'm using the long-task-continuation skill to keep this plan checkpointed and drift-aware."
- Load aegis:long-task-continuation.
- Create the initial checkpoint from the plan:
- current todo
- active task
- completed tasks
- evidence refs
- blockers
- next step
- Before each task, restate the current checkpoint.
- After each task, update checkpoint, evidence refs, and drift check.
Before a verification-driven unplanned edit, read retained PatchShape,
CanonicalOwner, UpwardDrillSignal, outcome, and evidence refs. Route their
comparison with the candidate to systematic-debugging before editing; it
decides whether the directions converge. A proven independent canonical-owner
root stays on the normal plan path.
Step 2: Execute Tasks
For each task:
Mark as in_progress
Follow each step exactly (plan has bite-sized steps)
Before any new source-code path is added by a task, restate the plan's
Change Necessity or create a compact one if the plan failed to carry it
forward. Plan approval is not by itself proof that a new helper, small guard,
new branch, fallback, adapter, or owner is necessary.
Change Necessity:
- User-visible need:
- No-change / non-code option:
- Why code change is necessary:
- Minimum change boundary:
- Decision: no-change | docs/config-only | code-change | needs-clarification
If the decision is not code-change, pause execution and return to plan
review instead of editing. If the decision is code-change, carry the
minimum boundary into the edit and verification scope.
Before any non-trivial source edit, run the plan's
Pre-Edit Complexity Check or create a compact one:
Use using-aegis/references/complexity-governance.md for shared artifact
classes, pressure signals, and over-budget handling.
Complexity Budget:
- Artifact class:
- Target files / artifacts:
- Current pressure:
- Projected post-change pressure:
- Budget result: within-budget | at-risk | over-budget
- Planned governance:
Pre-Edit Complexity Check:
- Target edit file:
- Existing pressure signal:
- Safer edit boundary:
- Decision: edit-in-place | extract helper | add owner file | split task | pause for plan update
Pre-Edit Owner-Fit Decision:
- Edit intent: wiring-only | move-out / extract-first | local-fix-without-new-responsibility | new-responsibility | emergency / compatibility patch
- Owner fit:
- Safer edit boundary:
- Decision: edit-in-place | extract helper | add owner file | split task | pause for plan update
If the check contradicts the plan's file boundary, pause and return to plan
review instead of silently stuffing logic into an overloaded owner. If the
budget result is over-budget and the task does not also govern that
overrun, stop execution and return to plan review rather than pushing the
task through as if it were still atomic.
When the target edit file is over-budget or mixed-purpose,
new-responsibility must not be added in place by default. wiring-only,
move-out / extract-first, and local-fix-without-new-responsibility may
proceed only when they do not add a new responsibility and the verification
boundary is clear. emergency / compatibility patch requires residual risk
and a retirement trigger.
Run verifications as specified
The coordinator is the Git mutation owner. After the coherent Task passes
its planned verification, use verification-before-completion before a
default local commit, stage only task-owned paths, and read back HEAD, the
committed file list, and remaining task delta. no commit, read-only,
no-change, and failed-verification tasks create no normal commit.
Update TodoCheckpointDraft and DriftCheckDraft before marking the task completed.
When an Execution Readiness View exists, the drift check must explicitly
compare the active slice against the view's intent lock, scope fence,
baseline lock, compatibility boundary, retirement boundary, test
obligations, and review gates.
Mark as completed
Step 3: Complete Development
After all tasks complete and verified:
- if Aegis created a branch/worktree or the user requests integration handling,
use
aegis:finishing-a-development-branch;
- otherwise use
verification-before-completion, report the local task commit
and Task clean / Repository clean, and do not invent merge/PR ceremony.
When to Stop and Ask for Help
STOP executing immediately when:
- Hit a blocker (missing dependency, test fails, instruction unclear)
- Plan has critical gaps preventing starting
- You don't understand an instruction
- Verification fails repeatedly
Ask for clarification rather than guessing.
When to Revisit Earlier Steps
Return to Review (Step 1) when:
- Partner updates the plan based on your feedback
- Fundamental approach needs rethinking
Don't force through blockers - stop and ask.
Remember
- Review plan critically first
- Follow plan steps exactly
- Don't skip verifications
- Reference skills when plan says to
- Stop when blocked, don't guess
- Do not create a branch merely because the current branch is
main/master
- Do not let task complexity, TDD, planning, or subagents alone trigger a worktree
Integration
Required workflow skills:
- aegis:writing-plans - Creates the plan this skill executes
- aegis:using-git-worktrees - Only when the approved Git lifecycle says a concurrent checkout is necessary
- aegis:finishing-a-development-branch - Only when branch/worktree integration or cleanup is in scope
1---2name: executing-plans3description: Use when executing a written implementation plan across sessions or with review checkpoints. Small or single-slice plans stay inline. For same-session independent tasks, use subagent-driven-development instead.4---5
6# Executing Plans
7
8## Overview
9
10Load plan, review critically, execute all tasks, report when complete.
11
12**Announce at start:** "I'm using the executing-plans skill to implement this plan."
13
14For non-trivial execution, include `Aegis Visibility`: briefly tie the active
15slice to its plan, checkpoint, drift or verification boundary. At completion,
16pass plan adherence, evidence, complexity and residual risk to
17`verification-before-completion` for the unified receipt.
18
19If subagents are available and the plan has genuinely independent tasks,
20prefer `subagent-driven-development`; lack of subagent support does not block
21inline execution. Same-task agents share one workspace, and the coordinator
22remains the only Git mutation owner.
23
24## The Process
25
26### Step 1: Load and Review Plan
271. Read plan file
282. If the plan or active checkpoint includes an `Execution Readiness View`,
29 read it before implementation and compare the plan against its intent lock,
30 scope fence, baseline lock, owner / contract constraints, compatibility
31 boundary, retirement boundary, test obligations, review gates, drift /
32 rewind rules, and evidence required before completion.
333. Review critically - identify any questions or concerns about the plan
344. If the view contradicts the plan, baseline, or current worktree evidence,
35 return to plan review or refresh the advisory handoff before editing.
365. Run the TDD Route Guard before implementation: confirm `Mode`, `Decision`, `Strict authority`,
37 strict signals, light eligibility, `Test posture`, and verification. Strict
38 steps require either an explicit user/project request or a recorded auto
39 decision; plan approval or risk labels alone are not authority. An
40 off-mode missing record may be repaired only as `Mode: off / Decision:
41 skipped` without loading TDD. Missing/unsupported auto decisions return to
42 plan review. An auto-light record is unsupported when any strict signal is
43 present or when its tiny/low-risk/single-owner/no-behavior-change proof is
44 incomplete. Only `Decision: strict` with recorded strict authority may
45 authorize steps named `Write failing test`, `Verify RED`, `GREEN`, or
46 `REFACTOR`. Do not infer `strict` during execution.
476. If concerns: Raise them with your human partner before starting
487. Before the first write, capture `TaskStartSnapshot`: root, `HEAD`, branch or
49 detached state, upstream divergence, staged/unstaged/untracked paths, active
50 Git operations, and `git worktree list --porcelain`. Preserve task-preexisting
51 state; do not stash, reset, clean, or commit it.
528. Reuse the current branch unless rules require independent history or another
53 goal owns it. If justified, switch/create it in the
54 current workspace when safe; a worktree still requires
55 concurrent checkout or blocking dirty state.
569. If no concerns: Create TodoWrite and proceed
57
58### Step 1.5: Long-Task Checkpoint Setup
59
60If the plan has multiple tasks, may span sessions, or includes architecture / contract / workflow changes:
61
621. Announce: "I'm using the long-task-continuation skill to keep this plan checkpointed and drift-aware."
632. Load aegis:long-task-continuation.
643. Create the initial checkpoint from the plan:
65 - current todo
66 - active task
67 - completed tasks
68 - evidence refs
69 - blockers
70 - next step
714. Before each task, restate the current checkpoint.
725. After each task, update checkpoint, evidence refs, and drift check.
73
74Before a verification-driven unplanned edit, read retained `PatchShape`,
75`CanonicalOwner`, `UpwardDrillSignal`, outcome, and evidence refs. Route their
76comparison with the candidate to `systematic-debugging` before editing; it
77decides whether the directions converge. A proven independent canonical-owner
78root stays on the normal plan path.
79
80### Step 2: Execute Tasks
81
82For each task:
831. Mark as in_progress
842. Follow each step exactly (plan has bite-sized steps)
853. Before any new source-code path is added by a task, restate the plan's
86 `Change Necessity` or create a compact one if the plan failed to carry it
87 forward. Plan approval is not by itself proof that a new helper, small guard,
88 new branch, fallback, adapter, or owner is necessary.
89
90 ```text
91 Change Necessity:
92 - User-visible need:
93 - No-change / non-code option:
94 - Why code change is necessary:
95 - Minimum change boundary:
96 - Decision: no-change | docs/config-only | code-change | needs-clarification
97 ```
98
99 If the decision is not `code-change`, pause execution and return to plan
100 review instead of editing. If the decision is `code-change`, carry the
101 minimum boundary into the edit and verification scope.
1024. Before any non-trivial source edit, run the plan's
103 `Pre-Edit Complexity Check` or create a compact one:
104
105 Use `using-aegis/references/complexity-governance.md` for shared artifact
106 classes, pressure signals, and `over-budget` handling.
107
108 ```text
109 Complexity Budget:
110 - Artifact class:
111 - Target files / artifacts:
112 - Current pressure:
113 - Projected post-change pressure:
114 - Budget result: within-budget | at-risk | over-budget
115 - Planned governance:
116
117 Pre-Edit Complexity Check:
118 - Target edit file:
119 - Existing pressure signal:
120 - Safer edit boundary:
121 - Decision: edit-in-place | extract helper | add owner file | split task | pause for plan update
122
123 Pre-Edit Owner-Fit Decision:
124 - Edit intent: wiring-only | move-out / extract-first | local-fix-without-new-responsibility | new-responsibility | emergency / compatibility patch
125 - Owner fit:
126 - Safer edit boundary:
127 - Decision: edit-in-place | extract helper | add owner file | split task | pause for plan update
128 ```
129
130 If the check contradicts the plan's file boundary, pause and return to plan
131 review instead of silently stuffing logic into an overloaded owner. If the
132 budget result is `over-budget` and the task does not also govern that
133 overrun, stop execution and return to plan review rather than pushing the
134 task through as if it were still atomic.
135 When the target edit file is over-budget or mixed-purpose,
136 `new-responsibility` must not be added in place by default. `wiring-only`,
137 `move-out / extract-first`, and `local-fix-without-new-responsibility` may
138 proceed only when they do not add a new responsibility and the verification
139 boundary is clear. `emergency / compatibility patch` requires residual risk
140 and a retirement trigger.
1415. Run verifications as specified
1426. The coordinator is the Git mutation owner. After the coherent Task passes
143 its planned verification, use `verification-before-completion` before a
144 default local commit, stage only task-owned paths, and read back `HEAD`, the
145 committed file list, and remaining task delta. `no commit`, read-only,
146 no-change, and failed-verification tasks create no normal commit.
1477. Update `TodoCheckpointDraft` and `DriftCheckDraft` before marking the task completed.
148 When an `Execution Readiness View` exists, the drift check must explicitly
149 compare the active slice against the view's intent lock, scope fence,
150 baseline lock, compatibility boundary, retirement boundary, test
151 obligations, and review gates.
1528. Mark as completed
153
154### Step 3: Complete Development
155
156After all tasks complete and verified:
157
158- if Aegis created a branch/worktree or the user requests integration handling,
159 use `aegis:finishing-a-development-branch`;
160- otherwise use `verification-before-completion`, report the local task commit
161 and `Task clean` / `Repository clean`, and do not invent merge/PR ceremony.
162
163## When to Stop and Ask for Help
164
165**STOP executing immediately when:**
166- Hit a blocker (missing dependency, test fails, instruction unclear)
167- Plan has critical gaps preventing starting
168- You don't understand an instruction
169- Verification fails repeatedly
170
171**Ask for clarification rather than guessing.**
172
173## When to Revisit Earlier Steps
174
175**Return to Review (Step 1) when:**
176- Partner updates the plan based on your feedback
177- Fundamental approach needs rethinking
178
179**Don't force through blockers** - stop and ask.
180
181## Remember
182- Review plan critically first
183- Follow plan steps exactly
184- Don't skip verifications
185- Reference skills when plan says to
186- Stop when blocked, don't guess
187- Do not create a branch merely because the current branch is `main`/`master`
188- Do not let task complexity, TDD, planning, or subagents alone trigger a worktree
189
190## Integration
191
192**Required workflow skills:**
193- **aegis:writing-plans** - Creates the plan this skill executes
194- **aegis:using-git-worktrees** - Only when the approved Git lifecycle says a concurrent checkout is necessary
195- **aegis:finishing-a-development-branch** - Only when branch/worktree integration or cleanup is in scope