Use when implementing any feature or bugfix, before writing implementation code.
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 (TDD)
## Overview
Write the test first. Watch it fail. Write minimal code to pass.
**Core principle:** If you didn't watch the test fail, you don't know if it tests the right thing.
**A strong default in service of shipping — not a law that outranks it.** TDD earns its keep where a failing test pins down behavior you'd otherwise get wrong: core logic, contracts, tricky edge cases. Match it to stakes — reach for it where test-first genuinely de-risks the change; throwaway prototypes, one-line copy tweaks, and obvious glue don't need the ceremony. Don't dodge it with synonyms; equally, don't let it block you from shipping the working thing.
## When to Use
**Use test-first for selected behavior where regression risk warrants it:**
- New features
- Bug fixes
- Refactoring
- Behavior changes
**Choose proportionate verification for work such as:**
- Throwaway prototypes
- Generated code
- Configuration files
Resolve the task's selected project/mission/slice procedure first. A required
TDD step remains required within that scope; changing it needs the authority
named by that selection. Outside it, choose verification that can detect the
…
The line at the top of this page pins the label git:20260907.6271b26, 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_dbpjlyf5akhlntik
GET https://markdownregistry.com/api/v1/resolve?ref=mvschwarz/openrig/test-driven-development
GET https://markdownregistry.com/api/v1/blob/51f65d2bc71dd6fc84640bf113acf287f4e003ef325ed91cb112fce59149a298
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.
mvschwarz/openrig · .agents/skills/developing-openrig/SKILL.md · Use when changing OpenRig's own source in a clone of the openrig repository: finding which package or file owns a…
mvschwarz/openrig · .claude/skills/developing-openrig/SKILL.md · Use when changing OpenRig's own source in a clone of the openrig repository: finding which package or file owns a…
mvschwarz/openrig · packages/daemon/assets/plugins/openrig-core/skills/agent-operated-software/SKILL.md · Use when designing, building, operating, or diagnosing an ongoing application whose live backend or control loop…
mvschwarz/openrig · packages/daemon/assets/plugins/openrig-core/skills/agent-operated-workflows/SKILL.md · Use when a bounded real-world procedure has a deterministic happy path but brownfield, variable, or partially knowable…
mvschwarz/openrig · packages/daemon/assets/plugins/openrig-core/skills/applying-a-permission-policy/SKILL.md · Use before launching a team during agent-guided setup, or when a user asks to configure OpenRig command permissions…
mvschwarz/openrig · packages/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/SKILL.md · Use when a Claude Code session is about to compact, has just compacted, reached its context limit, resumed after…
mvschwarz/openrig · packages/daemon/assets/plugins/openrig-core/skills/delegating-work/SKILL.md · Use when you have a task and must decide WHO does it — yourself, a spawned subagent, or another agent in the topology…
mvschwarz/openrig · packages/daemon/assets/plugins/openrig-core/skills/forming-an-openrig-mental-model/SKILL.md · Use when the system around you does not make sense yet: you just booted into a seat and do not know how the pieces fit…
mvschwarz/openrig · packages/daemon/assets/plugins/openrig-core/skills/loading-addressable-markdown/SKILL.md · Use when a mission, slice, dashboard, or task references Markdown as path#h2-slug or path#h2-slug/h3-slug outside the…
mvschwarz/openrig · packages/daemon/assets/plugins/openrig-core/skills/messaging-the-human/SKILL.md · Use when project policy calls for a human decision or update, a human delivery is pending or failed, or a reply must…
mvschwarz/openrig · packages/daemon/assets/plugins/openrig-core/skills/mission-slice-sop/SKILL.md · Use when starting, building, handing off, restoring, or closing a mission or slice under the default lightweight SDLC.
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 · 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…
a5c-ai/babysitter · library/methodologies/cc10x/skills/test-driven-development/SKILL.md · Strict RED-GREEN-REFACTOR cycle enforcement. Tests are never skipped or deferred. Run mode only, never watch mode. Exit…