tdd-workflow

SKILL.md

TDD Workflow

Implements Test-Driven Development workflow for feature implementation.

Quick Start

Run TDD Cycle

from scripts.tdd_workflow import TDDWorkflow

workflow = TDDWorkflow(project_dir)
result = await workflow.implement_feature(
    feature_id="auth-001",
    acceptance_criteria=criteria
)

if result.passed:
    print("Feature implemented and verified!")

Individual Phases

# Red: Write failing test
test_path = await workflow.write_test(feature_id)

# Green: Implement to pass
await workflow.implement_code(feature_id)

# Refactor: Clean up
await workflow.refactor(feature_id)

TDD Cycle

┌─────────────────────────────────────────────────────────────┐
│                      TDD CYCLE                              │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│      ┌─────────────────────────────────────────┐           │
│      │                                         │           │
│      │            1. RED                       │           │
│      │     Write failing test                  │           │
│      │     Test must fail                      │           │
│      │                                         │           │
│      └───────────────────┬─────────────────────┘           │
│                          │                                  │
│                          ▼                                  │
│      ┌─────────────────────────────────────────┐           │
│      │                                         │           │
│      │            2. GREEN                     │           │
│      │     Write minimal code                  │           │
│      │     to pass test                        │           │
│      │                                         │           │
│      └───────────────────┬─────────────────────┘           │
│                          │                                  │
│                          ▼                                  │
│      ┌─────────────────────────────────────────┐           │
│      │                                         │           │
│      │            3. REFACTOR                  │           │
│      │     Improve code quality                │           │
│      │     Keep tests passing                  │           │
│      │                                         │           │
│      └───────────────────┬─────────────────────┘           │
│                          │                                  │
│                          ▼                                  │
│      ┌─────────────────────────────────────────┐           │
│      │                                         │           │
│      │         4. VERIFY (E2E)                 │           │
│      │     Run acceptance tests                │           │
│      │     Confirm feature works               │           │
│      │                                         │           │
│      └─────────────────────────────────────────┘           │
│                                                             │
└─────────────────────────────────────────────────────────────┘

TDD Principles

Principle Description
Tests First Always write tests before implementation
Minimal Code Write only enough code to pass tests
Small Steps Make incremental changes
Fast Feedback Run tests frequently
Refactor Often Keep code clean

Test Types

Type Purpose When to Write
Unit Test individual functions RED phase
Integration Test component interaction After GREEN
E2E Test full feature flow VERIFY phase

Integration Points

  • coding-agent: Executes TDD workflow
  • browser-e2e-tester: Runs E2E tests
  • error-recoverer: Handle test failures
  • progress-tracker: Track test metrics

References

  • references/TDD-BEST-PRACTICES.md - Best practices
  • references/TEST-PATTERNS.md - Common patterns

Scripts

  • scripts/tdd_workflow.py - Main workflow
  • scripts/test_writer.py - Generate tests
  • scripts/test_runner.py - Run tests
  • scripts/refactor_helper.py - Refactoring tools
Weekly Installs
1
Installed on
claude-code1