Agent Skills: Test-Driven Development

Test-driven development workflow (red → green → refactor) for features, bug fixes, and refactors. Use when implementing behavior changes and you want to drive design via tests, prevent regressions, and keep code modular and well-factored.

UncategorizedID: vadimcomanescu/codex-skills/test-driven-development

Install this agent skill to your local

pnpm dlx add-skill https://github.com/vadimcomanescu/codex-skills/tree/HEAD/skills/.curated/quality/test-driven-development

Skill Files

Browse the full folder contents for test-driven-development.

Download Skill

Loading file tree…

skills/.curated/quality/test-driven-development/SKILL.md

Skill Metadata

Name
test-driven-development
Description
"Test-driven development workflow (red → green → refactor) for features, bug fixes, and refactors. Use when implementing behavior changes and you want to drive design via tests, prevent regressions, and keep code modular and well-factored."

Test-Driven Development

Write the test first, then write the smallest change that makes it pass, then refactor safely.

Core loop

  1. Red: write a failing test that expresses the desired behavior.
  2. Green: implement the minimum change to pass.
  3. Refactor: improve structure while keeping tests green.

Quick Start

  • Start from the public interface (API, function, UI behavior), not private helpers.
  • Prefer “behavioral” test names (what), not “implementation” names (how).
  • When fixing bugs: reproduce with a test first.

Guardrails

  • Don’t over-mock: prefer integration at boundaries; mock only slow/flaky externals.
  • Keep tests deterministic: control time, randomness, and network.
  • If a test is hard to write, your design likely needs an interface seam.

Red/Green/Refactor checklist

  • Red: test fails for the right reason (not setup errors).
  • Green: smallest change to pass, no extra behavior.
  • Refactor: improve structure without changing behavior or tests.

References

  • Common anti-patterns: references/testing-anti-patterns.md