tdd SKILL.md skillA
tdd from marcellocurto/skills is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.
mdr add marcellocurto/skills/tdd@git:20261029.444423aPins git:20261029.444423a in mdr.lock. Pin the fingerprint instead.
- Audit grade
- A, 17 of 17 checks passed
- Kind
- SKILL.md skill
- Repository
- marcellocurto/skills
- Path
skills/tdd/SKILL.md- Versions recorded
- 12
- Latest version
- git:20261029.444423a, committed Oct 29, 2026
- First version recorded
- Aug 20, 2026
- Size
- 6,175 bytes
- Repository stars
- 3
- License
- none declared
Build features and bug fixes test-first, with tests that protect behavior. Use when about to implement a feature or bug fix that adds or changes behavior users or callers rely on, including requests that do not mention tests or TDD. Not for removing features or code, behavior-preserving refactors, design or UX exploration, prototypes, styling, copy, configuration, or data cleanup.
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 Work in small red → green → refactor cycles: write one behavior as a test, watch it fail, implement it, then tidy the changed code. Read the project's glossary and relevant ADRs if they exist, whatever their filenames, so tests use the project's domain terms. ## Decide whether a test is warranted Write a test only when the change adds or alters a rule that users or callers will rely on from now on. Tests exist to catch realistic regressions of such rules; coverage by itself is not a reason to write one. If the change does not create such a rule, say so in one line and implement without the cycle. Tests describe what the system does. Do not write a test that asserts a feature, route, option, or default is absent. A promised rejection or default is a behavior, so test the outcome itself: the endpoint returns 401 without credentials, or the destructive flag starts off. When removing behavior, delete the tests that covered it, find the callers that remain, and run the remaining suite; it covers only what it already tested, so check the remaining callers directly. …
Read the whole file at its exact version.
How to install
mdr add marcellocurto/skills/tdd@sha256:4662956a81c6bdfaThe line at the top of this page pins the label git:20261029.444423a, 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.
[](https://markdownregistry.com/a/art_6mn5hdipoyitcenj)
3 badge image fetches in 30 days. What the badge shows.
Versions
The registry has recorded 12 versions of this file, between Aug 20, 2026 and Oct 29, 2026, about one every 6 days.
| version | committed | commit | size | audit | |
|---|---|---|---|---|---|
| git:20261029.444423a latest | 2026-10-29 | 444423a | 6,175 B | A | view · diff |
| git:20261002.427fecc | 2026-10-02 | 427fecc | 6,096 B | A | view · diff |
| git:20261002.a2929d4 | 2026-10-02 | a2929d4 | 6,043 B | A | view · diff |
| git:20261002.450a70e | 2026-10-02 | 450a70e | 5,639 B | A | view · diff |
| git:20261002.3cd9675 | 2026-10-02 | 3cd9675 | 5,747 B | A | view · diff |
| git:20260930.664568a | 2026-09-30 | 664568a | 4,765 B | A | view · diff |
| git:20260928.0bbe6db | 2026-09-28 | 0bbe6db | 10,152 B | A | view · diff |
| git:20260910.e524acd | 2026-09-10 | e524acd | 10,014 B | A | view · diff |
| git:20260908.e500868 | 2026-09-08 | e500868 | 7,389 B | A | view · diff |
| git:20260906.ccd7ead | 2026-09-06 | ccd7ead | 7,713 B | A | view · diff |
| git:20260824.0c46ba8 | 2026-08-24 | 0c46ba8 | 6,473 B | A | view · diff |
| git:20260820.df9ee34 | 2026-08-20 | df9ee34 | 6,082 B | A | view |
Audit of the latest version
- pass: Frontmatter block present
- pass: Frontmatter declares a name
- pass: Frontmatter declares a description
- pass: Size between 200 bytes and 200 KB (6175 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
marcellocurto/skills · 3 stars · license none declared · pushed 2026-11-03 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_6mn5hdipoyitcenj GET https://markdownregistry.com/api/v1/resolve?ref=marcellocurto/skills/tdd GET https://markdownregistry.com/api/v1/blob/4662956a81c6bdfab4a1bf9c132b3e339f79de6146ede05a9f29573dd2d0167e
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.
Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.
More from marcellocurto/skills
Every file in marcellocurto/skills