AgentSkillsCN

tdd

用于编写需要测试的生产代码——新功能、Bug 修复、重构。在任何实现之前强制执行 RED-GREEN-REFACTOR 循环。

SKILL.md
--- frontmatter
name: tdd
description: Use when writing production code that needs tests - new features, bug fixes, refactoring. Enforces RED-GREEN-REFACTOR cycle before any implementation.
argument-hint: "[feature-or-file]"
user-invocable: true

TDD Skill

Write the test first. Watch it fail. Write minimal code to pass.

The Iron Law

No production code without a failing test first.

Every line of production code must be justified by a test that failed without it. No exceptions. No shortcuts. No "I'll test after."


Agent Workflow

code
1. DETECT  -> Identify stack, test framework, existing test patterns
2. RED     -> Write ONE failing test for the next behavior
3. VERIFY  -> Run test, confirm it fails for the EXPECTED reason
4. GREEN   -> Write the SIMPLEST code that makes the test pass
5. VERIFY  -> Run tests, confirm ALL pass (new + existing)
6. REFACTOR -> Clean up while keeping all tests green
7. REPEAT  -> Next behavior = next failing test

CRITICAL: Never skip VERIFY steps. A test that passes on first run proves nothing.


RED-GREEN-REFACTOR Cycle

See references/red-green-refactor.md for the detailed cycle with rules and verification steps.


Reference Guide

TopicReference
Full RED-GREEN-REFACTOR cyclered-green-refactor.md
Common mistakes and red flagsanti-patterns.md
Per-stack test commandsstack-commands.md

Quick Reference: Test Commands

StackRun TestsWatch Mode
React/Next.jsnpx vitest runnpx vitest
Laravelphp artisan testphp artisan test --watch
Swiftswift test-
Generic TSbunx vitest runbunx vitest
Gogo test ./...-
Rustcargo testcargo watch -x test

Forbidden Behaviors

  • Never write production code before a failing test
  • Never skip the VERIFY RED step
  • Never accept a test that passes on first run without investigation
  • Never mock what you can test directly
  • Never write more than one test at a time in RED phase
  • Never add features beyond what the current test requires