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 plan execution, include Aegis Visibility in natural prose:
name why Aegis is keeping the current slice tied to the approved plan,
checkpoint, drift check, pre-edit governance, or verification boundary. This
visibility belongs to the active execution workflow; do not replace it with a
generic used-skills log.
When execution reaches completion, do not invent a separate final report shape
for this workflow. Pass plan adherence, checkpoint/drift status, verification,
complexity, and residual risk into verification-before-completion so the
user-facing closeout uses the unified Aegis impact/safety receipt.
Note: Tell your human partner that Aegis works much better with access to subagents. The quality of its work will be significantly higher if run on a platform with subagent support (such as Claude Code or Codex). If subagents are available, use aegis:subagent-driven-development instead of this skill.
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 the plan records
Mode,Decision,Strict authority,Test posture, and verification; - treat plan approval, a bug label, architecture risk, contract risk, and shared-module wording as non-authoritative for strict TDD;
- allow
Write failing test,Verify RED,GREEN, orREFACTORtask steps only whenDecision: strictand its strict authority are both recorded; - in
off, a missing record may be repaired only asMode: off / Decision: skippedunless an explicit user/project strict request is present; this record does not loadtest-driven-development; - in
auto, a missing decision or a strict-looking task without strict authority returns to plan review. Do not inferstrictduring execution.
- confirm the plan records
- If concerns: Raise them with your human partner before starting
- 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 Necessityor 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-clarificationIf the decision is not
code-change, pause execution and return to plan review instead of editing. If the decision iscode-change, carry the minimum boundary into the edit and verification scope.Before any non-trivial source edit, run the plan's
Pre-Edit Complexity Checkor create a compact one:Use
using-aegis/references/complexity-governance.mdfor shared artifact classes, pressure signals, andover-budgethandling.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 updateIf 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-budgetand 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-responsibilitymust not be added in place by default.wiring-only,move-out / extract-first, andlocal-fix-without-new-responsibilitymay proceed only when they do not add a new responsibility and the verification boundary is clear.emergency / compatibility patchrequires residual risk and a retirement trigger.Run verifications as specified
Update
TodoCheckpointDraftandDriftCheckDraftbefore marking the task completed. When anExecution Readiness Viewexists, 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:
- Announce: "I'm using the finishing-a-development-branch skill to complete this work."
- REQUIRED SUB-SKILL: Use aegis:finishing-a-development-branch
- Follow that skill to verify tests, present options, execute choice
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
- Never start implementation on main/master branch without explicit user consent
Integration
Required workflow skills:
- aegis:using-git-worktrees - REQUIRED: Set up isolated workspace before starting
- aegis:writing-plans - Creates the plan this skill executes
- aegis:finishing-a-development-branch - Complete development after all tasks