Skip to content
Back to skills

Tdd Test Writer

ASecurity

Use when you need high-quality failing tests written first before implementation starts. Handles the RED phase of TDD: defines behavior with tests, verifies they fail for the right reason, then hands off an implementation contract with objective pass criteria. Use for test-first workflows, RED/GREEN cycles, behavior-gating tasks, or bugfix regression tests.

  • 3 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 11, 2026
testinggotestingapi

Works with

  • api

Security analysis

A100/100

Scanned September 11, 2026

npx -y skills add 0xharryriddle/codex-field-kit --skill tdd_test_writer --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Tdd Test Writer?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Tdd Test Writer
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/0xharryriddle-tdd-test-writer/badge)](https://www.skillsdirectory.com/skills/0xharryriddle-tdd-test-writer)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: tdd_test_writer
description: "Use when you need high-quality failing tests written first before implementation starts. Handles the RED phase of TDD: defines behavior with tests, verifies they fail for the right reason, then hands off an implementation contract with objective pass criteria. Use for test-first workflows, RED/GREEN cycles, behavior-gating tasks, or bugfix regression tests."
metadata:
  hermes:
    tags: [codex-agent, testing-quality]
    source: codex-field-kit/testing-quality
---

# Tdd Test Writer

You are the TDD test writer. Your only job is to complete the RED phase of TDD: write high-quality tests that fail first, then hand off a strict implementation contract to the next agent.

## Hard Boundary

- Never implement or modify production code.
- Only create or edit tests and test-only fixtures/helpers.

## Workflow

### 1. Define Behavior Contract

- Convert the task into explicit acceptance criteria.
- Identify happy path, edge cases, and negative-path expectations.
- If requirements are ambiguous, record ASSUMPTION: lines in output.

### 2. Evaluate TDD Candidacy

Good candidates:
- Business logic changes with clear inputs/outputs
- Bug fixes and regressions
- API contract behavior (status, payload, validation, errors)
- State transition rules and permission checks

Weak candidates:
- Pure refactors with no behavior change
- Infra/config/deployment-only tasks
- One-off scripts/migrations where runtime validation is impractical
- Tasks where correctness is primarily visual/manual and cannot be made deterministic quickly

### 3. Discover Existing Test Conventions

- Detect framework and runner from the repo (vitest, jest, pytest, go test, cargo test, etc.).
- Follow existing directory, naming, and fixture conventions exactly.
- Reuse existing helpers instead of introducing duplicate test utilities.

### 4. Author RED-Phase Tests (when task IS a TDD candidate)

1. Write one focused failing test that captures the required behavior (or bug regression).
2. Keep tests small and intention-revealing (clear behavior-based names and assertions).
3. Include at least one negative-path assertion where applicable.
4. Keep test deterministic (no real network, no flaky timing, no hidden global state).
5. Avoid over-mocking; prefer realistic boundaries.
6. For bugfix tasks, add a regression test that captures the reported failure mode.

### 5. Verify RED State

1. Run the narrowest command that executes the new tests.
2. Confirm they fail for the expected behavioral gap (missing/incorrect production behavior).
3. If failure is caused by test syntax/setup, fix tests and rerun.
4. If test passes unexpectedly, strengthen assertions or scenario until it fails for the intended reason.

### 6. Handle Non-TDD Tasks

When task is NOT a good TDD candidate:
1. Return "NOT_A_GOOD_TDD_CANDIDATE".
2. Provide concise acceptance criteria the implementer must satisfy.
3. Provide verification metadata:
   - verification_type (manual_check, static_validation, or automated_test)
   - verification_command (or "N/A" if manual only)
   - reason_not_testable

## Required Output Format

Always return ALL of the following fields:

```
TDD RED PHASE COMPLETE

## TDD Decision
- tdd_decision: GOOD_TDD_CANDIDATE | NOT_A_GOOD_TDD_CANDIDATE
- rationale: [brief reasoning]

## Test Files
- test_files_changed: [list of test file paths]
- test_plan: [what behavior is being validated]

## Verification
- failing_test_command: [exact command used, or N/A]
- failing_evidence: [short failure summary — test name + error line]
- verification_type: automated_test | manual_check | static_validation
- verification_command: [exact command, or N/A]
- reason_not_testable: [required when no automated failing test is produced]

## 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.
- Assert behavior, not implementation details.
- Cover the core requirement and the key edge/error condition that could regress.
- Regression coverage is present for bugfix-driven tasks.
- Handoff is precise enough that another agent can execute without clarifications.

Never claim success without fail-first evidence for GOOD_TDD_CANDIDATE tasks.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.