From sdd
Implements features from tasks.json using test-driven development: writes failing tests, makes them pass, refactors, gates, and commits per task. Stack-agnostic command detection.
How this skill is triggered — by the user, by Claude, or both
Slash command
/sdd:implementinheritThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
The implementation engine. It turns `tasks.json` into committed, tested code through a strict TDD cycle per task — `SELECT → RED → GREEN → REFACTOR → GATE → COMMIT` — and orchestrates that cycle in one of three modes (sequential / agent-team / dynamic-workflow) picked by an unambiguous decision tree. Everything is stack-agnostic: the test, lint, and vet commands are **detected**, never hard-coded.
The implementation engine. It turns tasks.json into committed, tested code through a strict TDD cycle per task — SELECT → RED → GREEN → REFACTOR → GATE → COMMIT — and orchestrates that cycle in one of three modes (sequential / agent-team / dynamic-workflow) picked by an unambiguous decision tree. Everything is stack-agnostic: the test, lint, and vet commands are detected, never hard-coded.
This file is the spine. Each step delegates to a file in references/.
Tech Lead drives; the engine runs the cycle. The three subagents ship with the plugin: test-author (RED), implementer (GREEN/REFACTOR/GATE), reviewer (read-only review).
<slug> — feature slug.docs/features/<slug>/tasks.json. Missing → «run tasks <slug> first».spec.md (AC), data-model.md + the staged migrations under docs/features/<slug>/migrations/ (a layer: migration task promotes these into the live migrations/ tree — see ./references/inputs.md), contracts/openapi.yaml, test-plan.md, sad.md, Accepted adr/..claude/sdd.local.md (auto-created with documented defaults if absent — normally by specify at the backbone start; implement creates it too if you jump straight here) → ./references/settings.md.tasks.json exists and parses; load the upstream artifacts list. Detail → ./references/inputs.md..claude/sdd.local.md; if absent, auto-create it with the documented defaults (frontmatter + the «What each key does» body, self-documenting) and patch .gitignore (.claude/*.local.md, .worktrees/) — the same template specify writes. → ./references/settings.md../references/command-detection.md.tasks.json, validate deps is acyclic, topologically sort into phases (Kahn). Compute task_count, longest_chain, parallel_width. Mark serialization lanes (layer: migration; tasks with overlapping files_hint)../references/decision-tree.md). Apply the guards.Workflow script (DAG → Kahn phases → fan-out pipeline). → ./references/team-exec.md / ./references/workflow-exec.md.mode=<…> tdd=<…> isolation=<…> parallel=<n> integration=<…>. The user sees exactly how the engine will behave before it acts../references/tdd-loop.md. A layer: migration task first promotes its staged migration(s) (docs/features/<slug>/migrations/<NN>_*) into the live migrations/ tree — assigning the real sequence number / timestamp per the repo's convention, in ordinal order — then applies + reverts them; detail → ./references/inputs.md.SDD-Task: <id> and SDD-AC: <id> (one per satisfied AC). Update tracker.md → done.SDD-Task trailers), any task dropped/blocked, and the per-task gate results. Then emit the stage-handoff block per ../_shared/handoff.md — What I did (covered AC, commits with SDD-Task trailers, gate results) + Review (the committed diff + tasks/tracker.md) + Run next (/clear, then /sdd:review <slug> — a clean-context pass over the whole diff), then /sdd:ship <slug>. In team mode the reviewer may also run per-task, but the authoritative independent review of the whole change lives in the review skill — implement does not self-certify.parallel_eligible := isolation==worktree AND max_parallel>1 AND parallel_width>=2
AND (size in {M,L,XL} OR task_count>=4)
if team_mode AND parallel_eligible: → AGENT TEAM (TeamCreate) over the DAG
elif workflow_mode=="auto" AND parallel_eligible AND Workflow-available: → DYNAMIC WORKFLOW
else: → SEQUENTIAL single-agent TDD (topo order)
Guards (apply before dispatch): team_mode but not eligible → warn + downgrade to the next mode. max_parallel>1 with isolation: inplace → clamp parallel to 1 (no two agents edit one tree). workflow_mode: off → never generate a Workflow. tdd: false → skip RED (warn loudly — you lose the safety net). require_integration: always but Docker absent → BLOCK before dispatch; auto → run unit-only and mark integration NON-red; never → skip the integration tier. Full table → ./references/decision-tree.md. Graceful degrade: if Workflow/TeamCreate is unavailable at runtime, fall through to sequential.
SELECT → RED → GREEN → REFACTOR → GATE → COMMIT. The RED step is load-bearing: write the test first, run it, and classify the first run — GOOD red (assertion fails / unimplemented) vs BAD red (the test itself won't compile → fix the test) vs false-pass (green immediately → the test is too weak, strengthen it) vs NON-red (skipped because Docker is absent → governed by require_integration, counts as neither red nor green). Quote the failing line before writing any production code. Escalation on persistent red → ./references/escalation.md: more-capable model → retry → split the task → if the test encodes a wrong AC, ask a human (never weaken the test) → rollback to the last green. stop_on_red decides halt vs drop-and-continue (dependents auto-block).
tasks.json is either committed (test-first, gate-clean, SDD-Task/SDD-AC trailers) or explicitly reported as dropped/blocked with the reason.tracker.md reflects final status; the summary reports the gate results and hands off to review (the independent review gate) — implement does not self-certify the whole change.tdd: false, which warns).inputs.md · settings.md · command-detection.md · decision-tree.md · tdd-loop.md · team-exec.md · workflow-exec.md · escalation.md — all in ./references/.
npx claudepluginhub genkovich/sdd --plugin sddDispatches planned tasks or features to task-executor agent for worktree-isolated TDD implementation. Resolves monorepo project context and plan files.
Executes scope-aware implementation with TDD and quality gates, scaling from inline plans for small changes to full multi-task workflows for larger work.
Implements segmented tasks sequentially or by user specification, leveraging TDD commands for high-quality code. Integrates with Claude Code task system and documentation.