Test-driven development. Use when the user wants to build features or fix bugs test-first, mentions "red-green-refactor", or wants integration tests.
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
## Philosophy
**Core principle**: Tests should verify behavior through public interfaces, not implementation details. Code can change entirely; tests shouldn't.
**Good tests** are integration-style: they exercise real code paths through public APIs. They describe _what_ the system does, not _how_ it does it. A good test reads like a specification - "user can checkout with valid cart" tells you exactly what capability exists. These tests survive refactors because they don't care about internal structure.
**Bad tests** are coupled to implementation. They mock internal collaborators, test private methods, or verify through external means (like querying a database directly instead of using the interface). The warning sign: your test breaks when you refactor, but behavior hasn't changed. If you rename an internal function and tests fail, those tests were testing implementation, not behavior.
See [tests.md](tests.md) for examples and [mocking.md](mocking.md) for mocking guidelines.
## Anti-Pattern: Horizontal Slices
…
The line at the top of this page pins the label git:20260622.889f27e, 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_74dla4upxkghpezt
GET https://markdownregistry.com/api/v1/resolve?ref=coder/agent-tty/tdd
GET https://markdownregistry.com/api/v1/blob/13722957277ed4960061a2d254a0ed7d86f95693e88b40d1c68307e7fdc98287
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.
coder/agent-tty · .agents/skills/codebase-design/SKILL.md · Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find…
coder/agent-tty · .agents/skills/diagnosing-bugs/SKILL.md · Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports…
coder/agent-tty · .agents/skills/domain-modeling/SKILL.md · Build and sharpen a project's domain model. Use when the user wants to pin down domain terminology or a ubiquitous…
coder/agent-tty · .agents/skills/grill-with-docs/SKILL.md · A relentless interview to sharpen a plan or design, which also creates docs (ADR's and glossary) as we go.
coder/agent-tty · .agents/skills/grilling/SKILL.md · Interview the user relentlessly about a plan or design. Use when the user wants to stress-test a plan before building…
coder/agent-tty · .agents/skills/improve-codebase-architecture/SKILL.md · Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you…
coder/agent-tty · .agents/skills/improve/SKILL.md · Survey any codebase as a senior advisor and produce prioritized, self-contained implementation plans for OTHER…
coder/agent-tty · .agents/skills/release-maintainer/SKILL.md · Internal maintainer SOP for version bumps, release PRs, tagging, publishing, and post-publish verification in this…
coder/agent-tty · .agents/skills/to-issues/SKILL.md · Break a plan, spec, or PRD into independently-grabbable issues on the project issue tracker using tracer-bullet…
coder/agent-tty · .agents/skills/to-prd/SKILL.md · Turn the current conversation into a PRD and publish it to the project issue tracker — no interview, just synthesis of…
coder/agent-tty · .agents/skills/triage/SKILL.md · Move issues and external PRs through a state machine of triage roles — categorise, verify, grill if needed, and write…
cursor/plugins · pstack/skills/tdd/SKILL.md · Use only when the user explicitly asks for TDD, a failing test, or a regression test, OR when the bug has an obvious…
cursor/plugins · harness/pstack/claude-code/skills/tdd/SKILL.md · Use only when the user explicitly asks for TDD, a failing test, or a regression test, OR when the bug has an obvious…
nightly-labs/openbot · marketplace/production-catalog/bundles/pstack/skills/tdd/SKILL.md · Use only when the user explicitly asks for TDD, a failing test, or a regression test, OR when the bug has an obvious…
michael-denyer/pstack-claude · plugins/pstack/skills/tdd/SKILL.md · Use only when the user explicitly asks for TDD, a failing test, or a regression test, OR when the bug has an obvious…