# Tdd Workflow

> Test-Driven Development guidance. Use when writing code, implementing features, or fixing bugs in projects that follow TDD methodology. Provides the Red-Green-Refactor cycle structure. Use when this capability is needed.

- Skill: `tomevault-io/tdd-workflow-12` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/tdd-workflow-12`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/tdd-workflow-12/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/tdd-workflow-12

---


# TDD Workflow Skill

Guidance for Test-Driven Development methodology.

## The Core Cycle

**RED → GREEN → REFACTOR** (repeat)

| Phase | Purpose | Actions | Verify |
|-------|---------|---------|--------|
| **RED** | Define expected behavior | Write test for ONE behavior, run test | Test FAILS |
| **GREEN** | Make it work | Write MINIMUM code to pass | Test PASSES |
| **REFACTOR** | Make it clean | Improve ONE thing at a time, run tests after each change | Tests stay GREEN |

## Phase 1: RED - Write Failing Test

**Purpose:** Define behavior before implementation.

**Actions:**
1. Create/open test file
2. Write test for ONE behavior
3. Run test
4. Verify FAILURE (if it passes, test is wrong)

**Common mistakes:** Tests pass immediately, testing implementation not behavior, writing too many tests at once

## Phase 2: GREEN - Make It Pass

**Purpose:** Write MINIMUM code to pass test.

**Actions:**
1. Implement just enough to pass
2. No extra features, no optimization
3. Run tests, verify PASS

**Common mistakes:** Over-engineering, adding untested features, "while I'm here" additions

## Phase 3: REFACTOR - Improve Quality

**Purpose:** Clean up while keeping tests green.

**Actions:**
1. Identify improvements: duplication, naming, complex logic, long functions
2. Make ONE change
3. Run tests
4. If green, continue. If red, undo.

**Checklist:** Extract methods, rename variables, remove duplication (DRY), simplify conditionals, add type safety

## Test Patterns

**Arrange-Act-Assert (AAA):**
1. Arrange: Set up test data
2. Act: Execute the behavior
3. Assert: Verify result

**Given-When-Then (BDD):** Structure nested describes for readability

## Coverage Commands

| Language | Command |
|----------|---------|
| JS/TS (Jest) | `npx jest --coverage` |
| JS/TS (Vitest) | `npx vitest run --coverage` |
| Python | `pytest --cov=src --cov-report=html` |
| Go | `go test -cover ./...` |

## Anti-Patterns to Avoid

1. **Test After:** Writing code first defeats TDD purpose
2. **Testing Implementation:** Test WHAT it does, not HOW (test behavior, not internal calls)
3. **Brittle Tests:** Use resilient assertions (e.g., `toContainEqual` not array index checks)
4. **No Refactoring:** Skipping refactor creates technical debt

## Quick Reference

- RED: "What should it do?" → Write failing test
- GREEN: "Does it work?" → Write minimal code
- REFACTOR: "Is it clean?" → Improve structure

**For detailed code examples**, see `examples.md` in this skill directory.

## Integration

Works with:
- **context-awareness**: Project-specific coverage targets
- **code-styleguides**: Language-specific test patterns

---
> Converted and distributed by [TomeVault](https://tomevault.io/claim/lackeyjb) — claim your Tome and manage your conversions.
<!-- tomevault:4.0:skill_md:2026-04-11 -->

