test-driven-development is agent-read markdown (skill) from ganyuanran/aegis: Use when the user explicitly requests strict or test-first TDD, or when the current conversation already contains an explicit `TDD Route: strict` decision from another Aegis workflow..
Indexed from public GitHub and served as immutable, content-addressed versions. Install it pinned to an exact SHA-256 with the mdr CLI, and every file is verified against the hash recorded here before it reaches your agent. The deterministic audit below grades the latest version, and the same file always earns the same grade.
What the file says
# Execute
→ False-positive entry on a native-direct-skill host? → **Exit immediately unless the user explicitly asked for TDD or the conversation already contains `TDD Route: strict`.**
In `off` mode, do not start RED / GREEN / REFACTOR from generic bugfix, contract, shared-module, or risky-code wording alone.
Hand control back to `using-aegis`, `systematic-debugging`, `writing-plans`, or the fast path with verification.
→ Implementing a feature or bugfix under TDD Route `strict`? → **No production code without a failing test first.**
Gate: medium/high complexity? → route to brainstorming or writing-plans first.
Mode: default `off` disables automatic TDD, not completion verification; `auto` chooses strict/light/skipped by risk.
Change Necessity: before strict RED/GREEN enters production edits, confirm the slice really needs a code change.
Cycle: RED (write test → watch it fail) → GREEN (minimal code → watch it pass) → REFACTOR (clean up → keep green)
Regression: shared module → related tests. contract change → producer + consumer. core logic → old + new tests.
Ripple signal hit → cover producer+consumer or real user path before claiming green.
…
Pin to a label to follow the author's releases, or to a sha256 to freeze the exact bytes forever. Either way the resolved hash is written to mdr.lock, and mdr install reproduces it on any machine.
A 17 of 17 checks passed. Deterministic, no model, same answer every run.
pass: Frontmatter block present
pass: Frontmatter declares a name
pass: Frontmatter declares a description
pass: Size between 200 bytes and 200 KB (17258 bytes)
pass: No zero-width or bidi control characters
pass: No instruction hidden inside an HTML comment
pass: No link to an exfiltration or paste host
pass: No credential-shaped string
pass: No instruction to send local credentials anywhere
pass: No text hidden with inline styles
pass: No prompt-injection phrasing
pass: No curl or wget piped into a shell
pass: No recursive delete of root, home or parent
pass: No instruction to read or print local credentials
pass: No base64 blob over 200 characters
pass: No link to a raw IP address
pass: No script tag
Source
GitHub
ganyuanran/aegis · 1,280 stars · license MIT · pushed 2026-09-24 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_hkkor37jmtl7ov26
GET https://markdownregistry.com/api/v1/resolve?ref=ganyuanran/aegis/test-driven-development
GET https://markdownregistry.com/api/v1/blob/ad1bb364c87357ec88fb4196fd9b1eb24eb1ee3c167efe6401e79fa1d9d043fe
Your agent 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.
ganyuanran/aegis · skills/brainstorming/SKILL.md · Use when defining ambiguous or high-complexity new features, product behavior, UI/component design, architecture…
ganyuanran/aegis · skills/communicating-concisely/SKILL.md · Use when the user asks for caveman mode, fewer tokens, brief responses, compressed communication, or otherwise…
ganyuanran/aegis · skills/dispatching-parallel-agents/SKILL.md · Use when facing 2+ independent tasks without a written plan, with no conflicting shared mutable state or sequential…
ganyuanran/aegis · skills/establishing-project-context/SKILL.md · Use when the user asks to establish shared project language, or project work exposes a conflicting, renamed, or…
ganyuanran/aegis · skills/executing-plans/SKILL.md · Use when executing a written implementation plan across sessions or with review checkpoints. Small or single-slice…
ganyuanran/aegis · skills/finishing-a-development-branch/SKILL.md · Use when verified work needs integration or cleanup of an existing task-created branch/worktree, or the user explicitly…
ganyuanran/aegis · skills/first-principles-review/SKILL.md · Use when asked for first-principles or Occam's-razor review, or when high-risk decisions involve competing constraints…
ganyuanran/aegis · skills/goal-framing/SKILL.md · Use when the user explicitly sets an Aegis goal with /aegis-goal, Aegis goal:, or asks to define goal, success…
ganyuanran/aegis · skills/long-task-continuation/SKILL.md · Use when a task is multi-step, may span context resets or sessions, uses subagents, or risks losing state before…
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…
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…