From sdd-engineering
Executes an APPROVED Development Plan through the SDD implementation pipeline: implementer wave(s) → test-writer gap pass → green barrier (tests + typecheck) → architecture-reviewer ∥ plan-verifier → bounded fix loop (max 2 iterations) → final report. HARD GATE: an existing plan file is a required input — no plan, no run. Unlike implementer (ships ONE slice) — this skill orchestrates the WHOLE plan across agents; unlike workflow-retro (measures a PAST run) — this skill performs the run; unlike a pre-publish diff review — this skill implements and verifies, it never publishes. Trigger terms: run-plan, run the plan, execute the plan, run the implementation pipeline, запусти план, запусти конвеєр, виконай план, прожени план через конвеєр.
How this skill is triggered — by the user, by Claude, or both
Slash command
/sdd-engineering:run-planThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Drive one approved Development Plan end-to-end with subagents:
Drive one approved Development Plan end-to-end with subagents:
Gate → Pre-flight → implementer wave(s) → test-writer gap pass
→ green barrier → architecture-reviewer ∥ plan-verifier
→ triage → fix loop (≤2 iterations) → wrap-up report
The main session is the orchestrator: it spawns agents via the Agent tool
(parallel calls in ONE message when independent), continues them via
SendMessage, tracks stages with TodoWrite, and never implements code
itself. Spawn-prompt templates live in
references/spawn-prompts.md — use them verbatim,
filling the {{placeholders}}.
implementation-planner; default
convention docs/plans/<feature>.md, but the caller may point anywhere.docs/plans/*.md (or the project's plan directory) as candidate hints.
Never guess which plan was meant, never run without one.Execution mode, ## Tasks
with task lines shaped - [ ] T<n> … → AC-… → test_…, and a
## Traceability matrix. Invalid → STOP; advise re-running
implementation-planner.git status. A dirty working tree → STOP and ask:
reviewers audit the uncommitted diff, so a dirty baseline poisons both the
review and any later retro. Record the baseline HEAD sha.depends on: / parallel-safe markers, per-phase Disjoint scope,
Shared scaffold (context pack), the traceability matrix (RTM).depends on:; phases with satisfied
dependencies that are parallel-safe with each other form one wave. Waves
are the INITIAL schedule, not a synchronization barrier — launch is eager
(see Stage 1). Single-agent mode: one implementer executes the whole plan
top-to-bottom (no waves, no test-writer partitioning changes — the rest of
the pipeline is identical).implementation-planner with a revision
request naming the oversized phase (template 7), re-read the revised plan,
rebuild waves. Oversized phases are usually splittable into disjoint
sub-phases with zero file overlap.Disjoint scope files. The fix loop
routes findings by this map.TodoWrite: one todo per stage + one per phase.Per wave, spawn one implementer per phase — all in ONE message, named
impl-p<N> (names keep journals readable for sdd-engineering:workflow-retro).
Use the implementer template (embeds: plan path + phase, context pack VERBATIM,
additional prompt, Design brief, disjoint-scope reminder).
depends on: has reported done — spawn it immediately, even if
other phases of the previous wave are still running. The only true barrier
is Stage 2: the test-writer gap pass waits for ALL phases to finish.Status: blocked in a report → resolve if the orchestrator can (e.g. missing
info available in chat), else STOP and surface. Do not start the next wave on
top of a blocked dependency.After the LAST phase completes, spawn ONE test-writer (template: gap pass). Scope: audit
the RTM Test column against tests that actually exist on disk; write ONLY the
missing/thin ones. It must not rewrite healthy tests the implementers already
added. Production-code follow-ups it reports are routed to the fix loop, not
fixed by it.
Orchestrator runs the affected packages' test + typecheck commands as
documented in the host project's CLAUDE.md, and OBEYS any environment
constraints it declares (which shell/environment runs tests, suite
ordering/parallelism, exit-code capture). Red → SendMessage the failure
output to the implementer that owns the failing files (ownership map); re-run;
repeat until green. Only a green suite proceeds to review — reviewing red code
wastes the reviewers.
Spawn BOTH in one message:
architecture-reviewer — scope: all uncommitted changes vs the baseline sha
(git diff + untracked files).plan-verifier — the plan path; audits requirement coverage, returns the RTM
with verdicts.Aggregate both reports and triage each finding:
| Finding | Action |
|---|---|
| Arch CRITICAL / HIGH | must fix → implementer |
| RTM MISSING / DIVERGENT (Critical/Major) | must fix → implementer |
| RTM PARTIAL — Major | must fix → implementer |
| RTM PARTIAL — Minor | follow-up in the final report |
| Arch MEDIUM / LOW | follow-up (tech-debt candidate); do NOT iterate on these |
| AMBIGUOUS-IN-SPEC | never "fix" code — surface to the user / spec-creator |
| Test gap (RTM Test column uncovered) | → test-writer |
If any "must fix" findings remain, run a fix iteration:
SendMessage to the wave implementer that owns those files (context is
still warm); spawn a fresh implementer fixer only when ownership is mixed
or the original agent is gone. Pass findings VERBATIM including the
file:line evidence — never paraphrase away the evidence.SendMessage the SAME reviewer agent(s):
"re-check findings #…, #… against the new diff" — never a fresh full audit.Convergence guards (both mandatory):
IMPLEMENTED (map via RTM), flip - [ ] → - [x] in the plan file. Leave
the Commit column untouched (commits do not exist yet).## Run-plan report — <feature>
**Plan:** <plan path> · **Mode:** multi-agent | single-agent
**Outcome:** clean | clean-with-follow-ups | stopped (iteration cap / no progress / blocked)
### Phases
| Phase | Agent | Status | Files |
### Tests
<final suite command(s) + result>
### Architecture verdict
<executive summary + counts by severity; unresolved findings verbatim>
### Requirement coverage
<coverage summary; unresolved MISSING/PARTIAL/DIVERGENT/AMBIGUOUS verbatim>
### Fix iterations
<per iteration: findings addressed → re-verify outcome>
### Follow-ups for the user
- database migrations needed? (migrations are never run by the pipeline — flagged only)
- deferred minor/tech-debt findings
- AMBIGUOUS-IN-SPEC items → spec-creator
### Suggested next steps
- review the diff with the project's review tooling before any push/PR
- optionally `sdd-engineering:workflow-retro` to measure this run
sdd-engineering:engineering-insights (targets the host project's
docs/engineering-insights.md).CLAUDE.md (commands AND
environment constraints). Database migrations are never run by the
pipeline — only ever flagged for the user.npx claudepluginhub syukpublic/dev-digest-ai-marketplace --plugin sdd-engineeringCreates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.