From atdd
Orchestrates a six-phase ATDD workflow using fresh agents per phase to prevent role erosion. Useful for building features with a team or coordinating agents for ATDD.
How this skill is triggered — by the user, by Claude, or both
Slash command
/atdd:atdd-teamThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Orchestrate an agent team that follows the Acceptance Test Driven Development
Orchestrate an agent team that follows the Acceptance Test Driven Development workflow. The team lead coordinates specialist agents through six phases. Each phase is run by a fresh agent invocation — no agent persists across phases.
A long-lived agent's context compacts as a feature runs for hours. Compaction silently erodes role identity and discipline: agents lose their role, invent constraints that do not exist, and skip expensive-but-required steps. A fresh per-phase agent reloads its instructions clean — the same insight as the engineer plugin's per-skill model. The "team" exists for parallelism across features, not for keeping agents alive within one feature.
Before spawning phase agents, check for existing teams:
~/.claude/teams/ to list active teams.If no team exists, proceed directly.
Each phase is run by a fresh agent invocation scoped to that phase, then ended.
| Role | Maps to | Owns phase |
|---|---|---|
spec-writer | discuss, discover-acs, atdd spec step | 1 Spec Writing |
reviewer | spec-guardian agent | 2 Spec Review |
implementer | atdd impl, pipeline-builder | 3 Pipeline Gen, 4 Implementation |
refiner | the engineer plugin's refine skill | 5 Refine |
architect | consistency-check, crap-analyzer, atdd-mutate | 6 Verify & Harden |
The team lead (the orchestrating agent or user) owns the workflow, approves
all work, enforces discipline, and verifies the agent_id independence binding.
The team lead never delegates approval — specs are the team lead's contract.
features/NNN-slug/handoffs/ (the engineer plugin's handoff contract, with
the exit_criteria block). The next phase's fresh agent reads the prior
handoff for context — coordination survives a context compaction.scripts/dae_handoff.py <feature-dir> --through <prior-cp>.agent_id independence (Principle 7). Each phase handoff records its
agent_id. The architect's agent_id MUST differ from both the
implementer's and the refiner's — the verifier verifies neither its own
code nor its own refinement. The team lead checks this.implementer takes the code to green only — it does
NOT do deep refactoring; that is the refiner's phase. Every phase handoff
states explicitly what was NOT done and what is left for the next role.reorient-style
anchor: role, autonomy level, the prior handoff, the phase's exit criteria,
and the non-negotiables. See references/prompts.md.Execute phases strictly in order. Each phase spawns a fresh agent, ends with a durable handoff, and is gated on the prior checkpoint's exit criteria.
Before Phase 1, create one TodoWrite todo per phase of this workflow
(Phases 1–6), all at once — the full list up front, as a roadmap. Flip each
todo to in_progress / completed as you go. See
${CLAUDE_PLUGIN_ROOT}/references/progress-indicator.md.
Assign to: a fresh spec-writer agent.
Instruct it to:
spec.md in standard GherkinGate: Team lead reviews and approves the specs (Checkpoint 3 exit criteria). Do not proceed until approved.
For the detailed prompt template, see references/prompts.md — Phase 1.
Assign to: a fresh reviewer agent.
Run the spec-guardian agent to audit spec.md for implementation leakage:
class/function names, database tables, API endpoints, framework terms, internal
state. Also verify one behavior per scenario and clarity for non-developers.
Gate: The reviewer's handoff reports findings. The team lead decides whether the spec needs revision. If revisions are needed, return to Phase 1.
For the detailed prompt template, see references/prompts.md — Phase 2.
Assign to: a fresh implementer agent (or the team lead).
Generate the project-specific test pipeline — the pipeline-builder agent
produces the generator + step handlers + runner; dae_gherkin.py is the
portable, shipped parser. Run the acceptance tests — they must fail (red).
If they pass, either the behavior exists or the generator is wrong.
Gate: Acceptance tests fail as expected. Pipeline is functional.
For the detailed prompt template, see references/prompts.md — Phase 3.
Assign to: a fresh implementer agent.
Instruct it to:
Rules for the implementer:
spec.md — it is the contractrefiner's phaseGate: Both test streams green (Checkpoint 5 exit criteria).
For the detailed prompt template, see references/prompts.md — Phase 4.
Assign to: a fresh refiner agent.
After both test streams are green, the refiner runs the engineer plugin's
refine skill — the post-green code-improvement pass (reuse, quality, and
efficiency lenses; every proposal charter-filtered). This is the dedicated
improvement pass that the implementer does NOT do inline.
Gate: Checkpoint 6 exit criteria — refine ran, both streams still green, charter filter applied to every proposal.
For the detailed prompt template, see references/prompts.md — Phase 5.
Assign to: a fresh architect agent — agent_id MUST differ from the
implementer's and the refiner's.
Independent verification and hardening:
consistency-check — artifacts agreecrap-analyzer — CRAP + coverage (Checkpoint 7)Gate: Checkpoints 7 + 8 exit criteria met.
For the detailed prompt template, see references/prompts.md — Phase 6.
When all phases pass:
atdd-<slug> team. Teams are per-feature scaffolding — leaving them alive after the feature ships clutters the team list and wastes context on every next survey (nexthq saw a team idle for 5 days post-feature). At autonomy high, run TeamDelete and report. At medium, run + report. At low, surface the proposal and wait. If the feature is still in flight (e.g. follow-up bugs likely), the user can defer.engineer:progress-log may also trigger teardown when it observes a feature advance to status: done.agent_id binding. The architect must not be the implementer
or the refiner — verification independence (Principle 7).For detailed prompt templates for each phase:
references/prompts.md — per-phase agent spawn prompts, each with the
anchor block and the handoff-ending instruction.npx claudepluginhub swingerman/disciplined-agentic-engineering --plugin crap-analyzerOrchestrates unified workflows for feature implementation, bug fixes, autonomous batch processing, planning, ATDD agent teams, and end-to-end coding.
Enforces a gated Spec → Plan → Build → Test → Review → Ship lifecycle for multi-file features and projects, preventing AI coding agents from skipping specification and verification steps.