dough-execute-plan · git:20260910.0e59fc4 · 2026-09-10 · sha256 52d6bf05cb5bbb11

dough-execute-plan git:20260910.0e59fc4A

Immutable. This exact content never changes and is served at /api/v1/blob/52d6bf05cb5bbb11.

---
name: dough-execute-plan
description: >-
  Executes the slices in an executable plan for one selected story or bounded
  retrospective correction, with independent refactoring, selective formatting,
  plan updates, commit and push, and asynchronous CI repair. Use to execute a
  plan, run a plan, or execute slices; does not execute a seed or decide story
  scope.
---

# Execute a plan

Execute one selected story or bounded retrospective correction through the
slices in its existing plan. The coordinator owns delivery; implementation
agents return uncommitted changes.

## Establish execution context

Read the plan and identify whether its source is a selected feature story or a
bounded retrospective correction. For a feature story, read the story in its
seed. For a correction, require the complete correction input defined by
[planning scope and lifecycle](../dough-story-refinement/references/planning.md#choose-the-planning-level)
in the plan itself; do not require or create a seed. Name whichever required
correction field is missing and stop before delegation. In either case require
current execution authorization; planning-only authorization stops before
implementation. A seed supplies feature-story context, not execution
instructions.

Use that planning reference for source ownership, proof, and plan updates. Keep
the completed plan and review evidence for retrospective and
[dough-story-wrap-up](../dough-story-wrap-up/SKILL.md); do not delete the
completed plan or its source history here. Use
[slice decomposition](../dough-story-decomposition/references/problem-decomposition.md#decompose-slices)
for Behavior and Structure slices, sizing, and learning escalation.

Resolve from this project:

- plan path, source kind, slice status vocabulary, slice target, hard limit, and
  exceptions;
- product backlog path and selected entry when this plan was selected from
  **Backlog list**;
- navigation, focused test commands, runtime wrapper, and workflow precedence;
- selective formatting command, commit hook contract, and authorized push destination;
- generated-artifact triggers and commands when affected; and
- context required by [dough-post-change-refactor](../dough-post-change-refactor/SKILL.md).

Name missing context and stop the affected work before delegation. When another
execution tool such as GSD invokes this skill, keep the same slice delivery
contract. Do not treat that tool's phase or task as an alternative to a slice.

Read [execution decisions](references/execution-decisions.md),
[delegation](references/delegation.md), and [wrap-up](references/wrap-up.md)
before implementation. Read [CI observation](references/ci-monitor.md) before
the first push and load only the current host's notification adapter. For a
bounded investigation, use [disposable research](references/disposable-research.md).

## Take queued work

After resolving the plan context and current execution authorization, inspect
the product backlog before changing plan status, recovering or starting a CI
observer, delegating, or implementing. When the selected work is under
**Backlog list**, follow
[dough-product-backlog](../dough-product-backlog/SKILL.md#take-queued-work-for-execution)
to move its existing entry to **Taken**. This backlog update is execution's
first project-state change. Stop before implementation if the queued entry
cannot be moved unambiguously.

An entry already in **Taken** means execution is resuming; do not duplicate or
reorder it. Work absent from both active lists was not selected from the
backlog; do not fabricate an entry. Refinement and planning do not invoke this
transition. Leave taken work there through pauses, failures, completion, and
retrospective; story wrap-up owns completed-work removal.

## Execute the next slice

1. Read the plan's current slice statuses, decisions, learnings, and proof.
   Use this plan as execution and resume state; do not update a separate project
   state index. Confirm the current instruction still authorizes execution.
   Recover an existing CI observer before considering a new one.
2. Select the next unfinished slice whose dependencies are complete. Apply
   [execution decisions](references/execution-decisions.md). For a slice that
   removes or disables behavior or state, also run the
   [destructive later-outcome check](references/destructive-later-outcome-check.md).
3. If refinement is needed and learning escalation permits it, invoke
   [dough-slice-plan-refinement](../dough-slice-plan-refinement/SKILL.md) on the
   same plan, then restart at step 1. Otherwise delegate under
   [delegation](references/delegation.md).
4. On return, recheck execution decisions. For an incomplete or oversized slice,
   follow that reference before delivery. Otherwise inspect the proof under
   [wrap-up](references/wrap-up.md#accept-proof) and confirm uncommitted work
   or an explained empty change.
5. Run [wrap-up](references/wrap-up.md#deliver-the-change) end to end. Resume
   at step 1 after a successful push, handling delivered CI events along the way.

Run slices concurrently only when their file changes, mutable state, and plan
writes do not overlap. Each slice completes its own coordinator-owned delivery
before a dependent slice starts.

## Finish or stop

On completion, a stop requiring human judgment, or cancellation, close the CI
observer through the current host adapter. Handle delivered failures, then
stop observers without waiting for CI. Report pending CI as unobserved.

When all slices are done, leave the completed plan and review evidence in
place for retrospective and story wrap-up. Report completed slices, retained
evidence, and observer shutdown. End with
`## PLAN EXECUTION COMPLETE` only after required delivery and shutdown succeed.

Otherwise report the active plan, next unfinished slice, preserved work and
observer state, and the decision or recovery action needed. Do not emit the
completion marker.