Drives development with tests. Use when implementing any logic, fixing any bug, or changing any behavior. Use when you need to prove that code works, when a bug report arrives, or when you're about to modify existing functionality.
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
# Test-Driven Development
## Overview
Write a failing test before writing the code that makes it pass. For bug fixes, reproduce the bug with a test before attempting a fix. Tests are proof — "seems right" is not done. A codebase with good tests is an AI agent's superpower; a codebase without tests is a liability.
## When to Use
- Implementing any new logic or behavior
- Fixing any bug (the Prove-It Pattern)
- Modifying existing functionality
- Adding edge case handling
- Any change that could break existing behavior
**When NOT to use:** Pure configuration changes, documentation updates, or static content changes that have no behavioral impact.
**Related:** For browser-based changes, combine TDD with runtime verification using Chrome DevTools MCP — see the Browser Testing section below.
## The TDD Cycle
```
RED GREEN REFACTOR
Write a test Write minimal code Clean up the
that fails ──→ to make it pass ──→ implementation ──→ (repeat)
│ │ │
▼ ▼ ▼
Test FAILS Test PASSES Tests still PASS
```
### Step 1: RED — Write a Failing Test
…
The line at the top of this page pins the label git:20260410.1a22ea0, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
GET https://markdownregistry.com/api/v1/artifacts/art_wj23cz2frtirxmhp
GET https://markdownregistry.com/api/v1/resolve?ref=shashankswe2020-ux/whoop-mcp/test-driven-development
GET https://markdownregistry.com/api/v1/blob/fc76d105d4672cc6e24b816ee59e01774582f8273e2a833d321a57ce7eb4407e
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
shashankswe2020-ux/whoop-mcp · .github/skills/api-and-interface-design/SKILL.md · Guides stable API and interface design. Use when designing APIs, module boundaries, or any public interface. Use when…
shashankswe2020-ux/whoop-mcp · .github/skills/browser-testing-with-devtools/SKILL.md · Tests in real browsers. Use when building or debugging anything that runs in a browser. Use when you need to inspect…
shashankswe2020-ux/whoop-mcp · .github/skills/ci-cd-and-automation/SKILL.md · Automates CI/CD pipeline setup. Use when setting up or modifying build and deployment pipelines. Use when you need to…
shashankswe2020-ux/whoop-mcp · .github/skills/code-review-and-quality/SKILL.md · Conducts multi-axis code review. Use before merging any change. Use when reviewing code written by yourself, another…
shashankswe2020-ux/whoop-mcp · .github/skills/code-simplification/SKILL.md · Simplifies code for clarity. Use when refactoring code for clarity without changing behavior. Use when code works but…
shashankswe2020-ux/whoop-mcp · .github/skills/context-engineering/SKILL.md · Optimizes agent context setup. Use when starting a new session, when agent output quality degrades, when switching…
shashankswe2020-ux/whoop-mcp · .github/skills/debugging-and-error-recovery/SKILL.md · Guides systematic root-cause debugging. Use when tests fail, builds break, behavior doesn't match expectations, or you…
shashankswe2020-ux/whoop-mcp · .github/skills/deprecation-and-migration/SKILL.md · Manages deprecation and migration. Use when removing old systems, APIs, or features. Use when migrating users from one…
shashankswe2020-ux/whoop-mcp · .github/skills/documentation-and-adrs/SKILL.md · Records decisions and documentation. Use when making architectural decisions, changing public APIs, shipping features…
shashankswe2020-ux/whoop-mcp · .github/skills/frontend-ui-engineering/SKILL.md · Builds production-quality UIs. Use when building or modifying user-facing interfaces. Use when creating components…
shashankswe2020-ux/whoop-mcp · .github/skills/git-workflow-and-versioning/SKILL.md · Structures git workflow practices. Use when making any code change. Use when committing, branching, resolving…
addyosmani/agent-skills · skills/test-driven-development/SKILL.md · Drives development with tests using the red-green-refactor loop. Use when implementing any logic, fixing any bug, or…
mvschwarz/openrig · skills/_canonical/process/test-driven-development/SKILL.md · Use when implementing any feature or bugfix, before writing implementation code
mvschwarz/openrig · packages/daemon/specs/agents/shared/skills/process/test-driven-development/SKILL.md · Use when implementing any feature or bugfix, before writing implementation code
cbrock84/headcount · plugins/technology/skills/test-driven-development/SKILL.md · Drives implementation by writing a failing test first, then the smallest code that passes it. Use this before writing…
a5c-ai/babysitter · library/methodologies/superpowers/skills/test-driven-development/SKILL.md · Use when implementing any feature or bugfix, before writing implementation code. Enforces RED-GREEN-REFACTOR cycle.
a5c-ai/babysitter · library/methodologies/rpikit/skills/test-driven-development/SKILL.md · Test-first development practice where test specifications are written before production code, integrated into plan…