mcpField
T
tdd-test-writer

tdd-test-writer

github.com/am-willTesting & quality1.0k857 installsUpdated 15w ago
Repository

About tdd-test-writer

TDD Test Writer is a testing skill for teams that want behavior-focused tests written before implementation. It defines acceptance criteria, verifies that tests fail for the expected reason, and hands off clear pass criteria to implementers.

Key features

  1. 01Define behavior contracts and acceptance criteria
  2. 02Write tests without modifying production code
  3. 03Verify RED-state failures for the intended gap
  4. 04Provide implementation handoff and pass criteria

Use cases

  1. 01Starting a feature with test-first development
  2. 02Adding regression coverage before a bug fix
  3. 03Preparing tests for a separate implementation agent

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/am-will/codex-skills --skill tdd-test-writer

After installing, type/tdd-test-writerin Claude Code to confirm it loaded.

Details

From the project README

TDD Test Writer

Use this skill to complete the RED phase of TDD: define behavior with tests first, verify they fail for the right reason, then hand off implementation with objective pass criteria.

When To Use

Use this skill when the user asks for:

  • test-first development
  • TDD / RED-GREEN-REFACTOR workflow
  • writing tests that implementation agents must satisfy
  • bugfixes that need regression tests before code changes

Required Rules

  1. Do not modify production code while running this skill.
  2. Use subagent role tdd_test_writer for RED-phase test authoring whenever available.
  3. Write behavior-focused tests, not placeholders.
  4. Every new/updated test must fail before handoff.
  5. Failures must come from missing or incorrect production behavior, not broken tests.
  6. Prefer deterministic, targeted test commands over full-suite runs when possible.
  7. For bugfix tasks, add a regression test that captures the reported failure mode.

Workflow

1. Define Behavior Contract
  • Convert user request into explicit acceptance criteria.
  • Identify happy path, edge cases, and negative-path expectations.
  • If requirements are ambiguous, record ASSUMPTION: lines in output.
2. Delegate Test Authoring To tdd_test_writer
  • Spawn a tdd_test_writer subagent with task scope, target files, and acceptance criteria.
  • Require the subagent to write/update tests only (no production code changes).
  • Require command output proving RED-state failure for the new tests.
  • If tdd_test_writer is unavailable, continue directly and note FALLBACK: tdd_test_writer unavailable.
3. Discover Existing Test Conventions
  • Detect framework and runner from the repo (for example vitest, jest, pytest, go test, cargo test).
  • Follow existing directory, naming, and fixture conventions.
  • Reuse existing helpers instead of introducing duplicate test utilities.
4. Author RED-Phase Tests
  • Create or update test files that encode the behavior contract.
  • Keep tests small and intention-revealing (clear names and assertions).
  • Include at least one negative-path assertion where applicable.
  • Avoid network/time randomness; mock or fixture external systems.
5. Verify RED State
  • Run the narrowest command that executes the new tests.
  • Confirm they fail for the expected behavioral gap.
  • If failure is caused by test syntax/setup, fix tests and rerun.
6. Produce Implementation Handoff

Return a block that implementation agents must follow. The handoff must include:

  • subagent used (tdd_test_writer) or explicit fallback reason
  • exact test files created/updated
  • exact verification command(s)
  • short failure summary proving RED state
  • immutable test constraint (do not edit tests unless requirement changes)
  • pass criteria that define task completion

Required Output Format

TDD RED PHASE COMPLETE

## Authoring Mode
- Subagent: tdd_test_writer
- Fallback: [only if subagent unavailable]

## Test Files
- [path]

## Verification
- Command: [exact command]
- Result: FAIL (expected)
- Failure reason: [1-2 lines tied to missing behavior]

## Implementation Contract (for next agent)
1. Do not modify these tests: [paths]
2. Implement production changes only in: [paths or modules]
3. Completion gate: [exact command] passes with no test weakening.
4. Run broader safety check: [secondary command]
5. Return evidence: changed files + command output summary.

## Assumptions
- ASSUMPTION: [only if needed]

Quality Bar

  • Tests fail before implementation and are reproducible locally.
  • Assertions are specific enough to prevent false positives.
  • Regression coverage is present for bugfix-driven tasks.
  • Handoff is precise enough that another agent can execute without clarifications.

Comments

Markdown supported