Skip to content

ADR-306: Extract component-taxonomy skill; retire test-driven-development - #55

Merged
jodavis merged 2 commits into
feature/ADR-288-tdd-milestone-1from
dev/claude/ADR-306
Jul 6, 2026
Merged

ADR-306: Extract component-taxonomy skill; retire test-driven-development#55
jodavis merged 2 commits into
feature/ADR-288-tdd-milestone-1from
dev/claude/ADR-306

Conversation

@jodavis-claude

Copy link
Copy Markdown
Collaborator

Work item

ADR-306: Extract the Wrapper/Testable/Orchestrator tier definitions out of
_spec_TddForImplementation.md into a new, standalone component-taxonomy skill, and retire
test-driven-development entirely by splitting it into behavior-driven-development (the
E2E-first / E2E-confirm wrapper) and tdd-practices (the AAA / red-for-the-right-reason /
frozen-Arrange-Act / naming rules) — then sweep every already-merged reference site to point at
the correct successor.

Changes

  • plugins/dev-team/skills/component-taxonomy/SKILL.md (new) — Wrapper/Testable/Orchestrator
    tier definitions, the property-level Wrapper carve-out, and the "classifies production
    components only" paragraph, moved verbatim from the spec's "Component taxonomy" decision.
    user-invocable: false, no argument-hint.
  • plugins/dev-team/skills/behavior-driven-development/SKILL.md (new) — former step 1 (write
    E2E/API tests first) and step 3 (confirm E2E tests pass) of the retired
    test-driven-development skill, renumbered 1–2. Kept argument-hint: <task context or exit criteria> from the retired skill.
  • plugins/dev-team/skills/tdd-practices/SKILL.md (new) — former "Practice rules" section (AAA
    structure, red-must-fail-for-the-right-reason, frozen-Arrange/Act, naming convention),
    byte-identical to the retired skill's four rule bodies.
  • plugins/dev-team/skills/test-driven-development/SKILL.md — deleted.
  • plugins/dev-team/skills/spec-first-draft/SKILL.md — replaced the inline
    Wrapper/Testable/Orchestrator bullet list with a one-sentence invocation of
    component-taxonomy. Component Breakdown table template and isolation-pattern authoring
    guidance left unchanged (ADR-297's scope).
  • plugins/dev-team/agents/tdd-tester.md, agents/tdd-implementer.md, agents/tdd-refactorer.md
    test-driven-development citations renamed to tdd-practices.
  • plugins/dev-team/skills/tdd-red-turn/SKILL.md, skills/tdd-refactor-turn/SKILL.md — build/
    test-command sentence drops the test-driven-development half (now cites
    code-change-expectations alone); Skills-list citation renamed to tdd-practices.
  • plugins/dev-team/skills/tdd-green-turn/SKILL.md — three citations: inline "Practice rules"
    reference and Skills-list entry renamed to tdd-practices; build/test-command sentence drops
    the test-driven-development half.
  • plugins/dev-team/skills/implement-tdd/SKILL.md — stale no-Components-in-scope fallback bullet
    removed outright; build/test-command sentence drops the test-driven-development half;
    "E2E re-run" reference renamed to behavior-driven-development; bundled Skills-list bullet
    split into two, citing tdd-practices and behavior-driven-development separately.
  • plugins/dev-team/skills/code-change-expectations/SKILL.md — TDD pointer now points at
    implement-task's dispatcher instead of the retired skill (the instruction described the
    retired step-2 procedure, not a straight rename).

Design decisions

  • Kept tdd-practices's Practice rules section literally unchanged (4 bullets) rather than
    adding a new "logging" bullet — the exit criterion's parenthetical restates epic-level context;
    logging already lives solely in code-change-expectations's coverage checklist.
  • spec-first-draft's replacement text is a short pointer sentence to component-taxonomy;
    isolation-pattern authoring guidance stays inline (ADR-297's scope).
  • behavior-driven-development's step 2 wording is a deliberate reword ("Once implementation is
    complete" instead of "Once all components are implemented") to avoid a dangling reference to
    the dropped per-component step.
  • component-taxonomy and tdd-practices follow the code-change-expectations/
    missing-test-harness reference-skill convention (user-invocable: false, no
    argument-hint); behavior-driven-development keeps the retired skill's argument-hint.
  • Scope discipline verified: grep -rl test-driven-development plugins/ after all edits returns
    only plugins/dev-team/skills/implement-task/SKILL.md, which is explicitly out of scope
    (belongs to ADR-303's still-open PR ADR-303: Rewrite implement-task as a per-component dispatcher, add implement-direct #54). plugin.json version bump is out of scope (ADR-304).
  • No unit tests or E2E scenarios: this is repo-internal agent-skill/prose reorganization with no
    runtime code and no existing test harness for skill prose; verified instead via dry runs
    (verbatim-move diff checks, reference-sweep grep check, and a synthetic
    spec-first-draft Component Breakdown dry run), documented in the task's work summary.

…ment

Splits test-driven-development into behavior-driven-development (E2E-first/
E2E-confirm wrapper) and tdd-practices (AAA/red-for-the-right-reason/frozen-
Arrange-Act/naming rules), and extracts the Wrapper/Testable/Orchestrator tier
definitions into a standalone component-taxonomy skill so spec-first-draft and
Developer's ad hoc triage share one copy instead of two.

Sweeps every reference across the eight in-scope files (tdd-tester.md,
tdd-implementer.md, tdd-refactorer.md, tdd-red-turn, tdd-green-turn,
tdd-refactor-turn, implement-tdd, code-change-expectations) plus
spec-first-draft to point at the correct successor skill. implement-task's own
reference is left untouched — it belongs to ADR-303's still-open rework.
@github-actions

github-actions Bot commented Jul 6, 2026

Copy link
Copy Markdown

build-and-test: Python test results

Status: ✅ Passed

Test log

@jodavis-claude jodavis-claude left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed ADR-306 against its exit criteria (task brief in the workflow context file) and CONTRIBUTING.md. All 10 exit criteria are met:

  • component-taxonomy/SKILL.md — Wrapper/Testable/Orchestrator tiers + property-level Wrapper carve-out, verbatim from the spec (diffed byte-for-byte).
  • behavior-driven-development/SKILL.md — former steps 1/3 of test-driven-development, renumbered 1-2; step 1 verbatim, step 2 deliberately reworded to drop a dangling reference to the removed per-component step (documented).
  • tdd-practices/SKILL.md — four rule bodies (AAA, red-for-the-right-reason, frozen-Arrange/Act, naming) byte-identical to the retired skill.
  • test-driven-development/SKILL.md deleted; grep -rl test-driven-development plugins/ on the branch returns exactly implement-task/SKILL.md, matching the expected post-task state.
  • spec-first-draft/SKILL.md now invokes component-taxonomy instead of restating tiers inline.
  • tdd-tester.md/tdd-implementer.md/tdd-refactorer.md, tdd-red-turn/tdd-green-turn/tdd-refactor-turn, implement-tdd/SKILL.md, and code-change-expectations/SKILL.md all carry exactly the citation treatment the brief specifies (verified line-by-line).
  • Dry runs for the verbatim moves, the reference sweep, and the synthetic spec-first-draft Component Breakdown scenario are all documented in the work summary.

Two non-blocking notes below (one process/sequencing risk worth eyes-on, one minor self-review accuracy nit) — inline comments follow. Approving; neither blocks this PR since both are pre-existing spec-level scope decisions or are already substantively satisfied.

Comment thread plugins/dev-team/skills/code-change-expectations/SKILL.md
Comment thread plugins/dev-team/skills/tdd-practices/SKILL.md
@jodavis-claude
jodavis-claude marked this pull request as ready for review July 6, 2026 19:26
@jodavis-claude
jodavis-claude requested a review from jodavis July 6, 2026 19:26
@jodavis
jodavis enabled auto-merge (squash) July 6, 2026 19:36
@jodavis
jodavis merged commit 928f6d4 into feature/ADR-288-tdd-milestone-1 Jul 6, 2026
1 check passed
@jodavis
jodavis deleted the dev/claude/ADR-306 branch July 6, 2026 19:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants