TDD Workflow

VerifiedSafe

Test-Driven Development principles: RED-GREEN-REFACTOR cycle.

Sby Skills Guide Bot
DevelopmentIntermediate
007/25/2026
Claude CodeCursorWindsurfCopilotCodex
#test-driven-development#red-green-refactor#testing-practices#aaa-pattern#code-quality

Recommended for

Our review

This skill implements the TDD (Test-Driven Development) cycle: write a failing test, code the minimum to pass, then refactor.

Strengths

  • Structured three-phase guide (RED, GREEN, REFACTOR) with exact rules.
  • Emphasizes writing tests before code, reducing bugs and improving design.
  • Includes anti-patterns and AI-augmented multi-agent workflow.
  • Applies YAGNI and simplest-thing principles.

Limitations

  • Requires strict discipline; hard to apply in exploratory or UI contexts.
  • Can slow down initial development, especially for simple features.
  • Does not cover complex integration or performance testing.
When to use it

Use this skill when building new features, fixing bugs, or implementing complex logic with reliable test coverage.

When not to use it

Avoid it for rapid prototyping, concept exploration, or disposable scripts where speed matters more than quality.

Security analysis

Safe
Quality score92/100

The skill is an educational guide on Test-Driven Development principles. It contains no instructions for destructive or exfiltrating actions, and the allowed 'Bash' tool is for legitimate development tasks, not misused in the content.

No concerns found

Examples

TDD for a new feature
Guide me through TDD for adding a 'calculate_discount' function: first write a failing test, then minimal code, then refactor.
TDD bug fix
Apply the RED-GREEN-REFACTOR cycle to fix a bug: write a test that reproduces the bug, then fix the code, then refactor.
AAA pattern demo
Show me an example of the Arrange-Act-Assert pattern for testing a function that validates email addresses.

name: tdd-workflow description: Test-Driven Development workflow principles. RED-GREEN-REFACTOR cycle. allowed-tools: Read, Write, Edit, Glob, Grep, Bash

TDD Workflow

Write tests first, code second.


1. The TDD Cycle

πŸ”΄ RED β†’ Write failing test
    ↓
🟒 GREEN β†’ Write minimal code to pass
    ↓
πŸ”΅ REFACTOR β†’ Improve code quality
    ↓
   Repeat...

2. The Three Laws of TDD

  1. Write production code only to make a failing test pass
  2. Write only enough test to demonstrate failure
  3. Write only enough code to make the test pass

3. RED Phase Principles

What to Write

| Focus | Example | |-------|---------| | Behavior | "should add two numbers" | | Edge cases | "should handle empty input" | | Error states | "should throw for invalid data" |

RED Phase Rules

  • Test must fail first
  • Test name describes expected behavior
  • One assertion per test (ideally)

4. GREEN Phase Principles

Minimum Code

| Principle | Meaning | |-----------|---------| | YAGNI | You Aren't Gonna Need It | | Simplest thing | Write the minimum to pass | | No optimization | Just make it work |

GREEN Phase Rules

  • Don't write unneeded code
  • Don't optimize yet
  • Pass the test, nothing more

5. REFACTOR Phase Principles

What to Improve

| Area | Action | |------|--------| | Duplication | Extract common code | | Naming | Make intent clear | | Structure | Improve organization | | Complexity | Simplify logic |

REFACTOR Rules

  • All tests must stay green
  • Small incremental changes
  • Commit after each refactor

6. AAA Pattern

Every test follows:

| Step | Purpose | |------|---------| | Arrange | Set up test data | | Act | Execute code under test | | Assert | Verify expected outcome |


7. When to Use TDD

| Scenario | TDD Value | |----------|-----------| | New feature | High | | Bug fix | High (write test first) | | Complex logic | High | | Exploratory | Low (spike, then TDD) | | UI layout | Low |


8. Test Prioritization

| Priority | Test Type | |----------|-----------| | 1 | Happy path | | 2 | Error cases | | 3 | Edge cases | | 4 | Performance |


9. Anti-Patterns

| ❌ Don't | βœ… Do | |----------|-------| | Skip the RED phase | Watch test fail first | | Write tests after | Write tests before | | Over-engineer initial | Keep it simple | | Multiple asserts | One behavior per test | | Test implementation | Test behavior |


10. AI-Augmented TDD

Multi-Agent Pattern

| Agent | Role | |-------|------| | Agent A | Write failing tests (RED) | | Agent B | Implement to pass (GREEN) | | Agent C | Optimize (REFACTOR) |


Remember: The test is the specification. If you can't write a test, you don't understand the requirement.

Related skills