
tdd
Test-Driven Development methodology and red-green-refactor workflow (formerly test-tdd). This skill should be used when practicing TDD, writing tests first, designing tests before implementation, or reviewing test-first approaches. Triggers on "write tests first", "test before code", "red green refactor", "test driven development". This skill does NOT cover Vitest framework specifics (use vitest skill) or API mocking with MSW (use msw skill).
Test-Driven Development methodology and red-green-refactor workflow (formerly test-tdd). This skill should be used when practicing TDD, writing tests first, designing tests before implementation, or reviewing test-first approaches. Triggers on "write tests first", "test before code", "red green refactor", "test driven development". This skill does NOT cover Vitest framework specifics (use vitest skill) or API mocking with MSW (use msw skill).
Community Test-Driven Development Best Practices
Comprehensive guide to Test-Driven Development practices, designed for AI agents and LLMs. Contains 42 rules across 8 categories, prioritized by impact to guide test writing, refactoring, and code generation.
When to Apply
Reference these guidelines when:
- Writing new tests using TDD workflow
- Implementing the red-green-refactor cycle
- Designing test structure and organization
- Creating test data and fixtures
- Reviewing or refactoring existing test suites
TDD Workflow
- RED: Write a failing test that defines desired behavior
- GREEN: Write minimal code to make the test pass
- REFACTOR: Clean up code while keeping tests green
- Repeat for each new behavior
Rule Categories by Priority
| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | Red-Green-Refactor Cycle | CRITICAL | cycle- |
| 2 | Test Design Principles | CRITICAL | design- |
| 3 | Test Isolation & Dependencies | HIGH | isolate- |
| 4 | Test Data Management | HIGH | data- |
| 5 | Assertions & Verification | MEDIUM | assert- |
| 6 | Test Organization & Structure | MEDIUM | org- |
| 7 | Test Performance & Reliability | MEDIUM | perf- |
| 8 | Test Pyramid & Strategy | LOW | strat- |
Quick Reference
1. Red-Green-Refactor Cycle (CRITICAL)
cycle-write-test-first- Write the Test Before the Implementationcycle-minimal-code-to-pass- Write Only Enough Code to Pass the Testcycle-refactor-after-green- Refactor Immediately After Greencycle-verify-test-fails-first- Verify the Test Fails Before Writing Codecycle-small-increments- Take Small Incremental Stepscycle-maintain-test-list- Maintain a Test List
2. Test Design Principles (CRITICAL)
design-test-behavior-not-implementation- Test Behavior Not Implementationdesign-one-assertion-per-test- One Logical Assertion Per Testdesign-descriptive-test-names- Use Descriptive Test Namesdesign-aaa-pattern- Follow the Arrange-Act-Assert Patterndesign-test-edge-cases- Test Edge Cases and Boundariesdesign-avoid-logic-in-tests- Avoid Logic in Tests
3. Test Isolation & Dependencies (HIGH)
isolate-mock-external-dependencies- Mock External Dependenciesisolate-no-shared-state- Avoid Shared Mutable State Between Testsisolate-deterministic-tests- Write Deterministic Testsisolate-prefer-stubs-over-mocks- Prefer Stubs Over Mocks for Queriesisolate-use-dependency-injection- Use Dependency Injection for Testability
4. Test Data Management (HIGH)
data-use-factories- Use Factories for Test Data Creationdata-minimal-setup- Keep Test Setup Minimaldata-avoid-mystery-guests- Avoid Mystery Guestsdata-unique-identifiers- Use Unique Identifiers Per Testdata-builder-pattern- Use Builder Pattern for Complex Objects
5. Assertions & Verification (MEDIUM)
assert-specific-assertions- Use Specific Assertionsassert-error-messages- Assert on Error Messages and Typesassert-no-assertions-antipattern- Every Test Must Have Assertionsassert-custom-matchers- Create Custom Matchers for Domain Assertionsassert-snapshot-testing- Use Snapshot Testing Judiciously
6. Test Organization & Structure (MEDIUM)
org-group-by-behavior- Group Tests by Behavior Not Methodorg-file-structure- Follow Consistent Test File Structureorg-setup-teardown- Use Setup and Teardown Hooks Appropriatelyorg-test-utilities- Extract Reusable Test Utilitiesorg-parameterized-tests- Use Parameterized Tests for Variations
7. Test Performance & Reliability (MEDIUM)
perf-fast-unit-tests- Keep Unit Tests Under 100msperf-avoid-network-calls- Eliminate Network Calls in Unit Testsperf-fix-flaky-tests- Fix Flaky Tests Immediatelyperf-parallelize-tests- Parallelize Independent Testsperf-avoid-sleep- Avoid Arbitrary Sleep Calls
8. Test Pyramid & Strategy (LOW)
strat-test-pyramid- Follow the Test Pyramidstrat-mutation-testing- Use Mutation Testing to Validate Test Qualitystrat-coverage-targets- Set Meaningful Coverage Targetsstrat-integration-boundaries- Test Integration at Service Boundariesstrat-e2e-critical-paths- Limit E2E Tests to Critical User Paths
How to Use
Read individual reference files for detailed explanations and code examples:
- Section definitions - Category structure and impact levels
- Rule template - Template for adding new rules
- cycle-write-test-first - Write the Test Before the Implementation
- design-aaa-pattern - Follow the Arrange-Act-Assert Pattern
Related Skills
- For Vitest framework specifics, see
vitestskill - For API mocking with MSW, see
mswskill
Full Compiled Document
For the complete guide with all rules expanded: AGENTS.md
You Might Also Like
Related Skills

fix
Use when you have lint errors, formatting issues, or before committing code to ensure it passes CI.
facebook
frontend-testing
Generate Vitest + React Testing Library tests for Dify frontend components, hooks, and utilities. Triggers on testing, spec files, coverage, Vitest, RTL, unit tests, integration tests, or write/review test requests.
langgenius
frontend-code-review
Trigger when the user requests a review of frontend files (e.g., `.tsx`, `.ts`, `.js`). Support both pending-change reviews and focused file reviews while applying the checklist rules.
langgenius
code-reviewer
Use this skill to review code. It supports both local changes (staged or working tree) and remote Pull Requests (by ID or URL). It focuses on correctness, maintainability, and adherence to project standards.
google-gemini
session-logs
Search and analyze your own session logs (older/parent conversations) using jq.
moltbot
