tdd SKILL.md skillA

tdd from genai-io/san is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.

Install it, pinned
mdr add genai-io/san/tdd@git:20260717.120e9bb

Pins git:20260717.120e9bb in mdr.lock. Pin the fingerprint instead.

Audit grade
A, 17 of 17 checks passed
Kind
SKILL.md skill
Repository
genai-io/san
Path
.san/personas/software-engineer/skills/tdd/SKILL.md
Versions recorded
1
Latest version
git:20260717.120e9bb, committed Jul 17, 2026
Size
2,737 bytes
Repository stars
147
License
Apache-2.0

Test-driven development — write a failing test that names the behavior, watch it fail, implement the minimum to make it pass, then refactor with tests green. Works for new features, bug fixes, and behavior changes. Use when the user says "tdd", "test-first", "write tests first", or wants a change built test-first.

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

# TDD: red, green, refactor

Write the test before the code. A test written first specifies the behavior,
fails for a known reason, and gives you a definition of done you can run. A test
written after tends to describe whatever the code happens to do — bugs included.

## Step 1: Find the test runner

Don't assume the command. Detect how this project runs and writes tests: look at
existing test files for the framework and conventions, and at the build/config
for the invocation (`go test ./...`, `npm test`, `pytest`, `cargo test`, …).
Match what's already there — same framework, same layout, same style.

## Step 2: Name the behavior as tests (RED)

State the change as concrete cases before writing any implementation:

- The main success path — the behavior actually requested.
- The edges — empty, zero, boundary, maximum, unexpected input.
- The failures — what should error, and how it should error.

Write these as tests. For a bug fix, the first test **reproduces the bug**. Keep
each test focused on one behavior with a clear name.

## Step 3: Watch them fail

Run the tests and confirm they fail — and fail for the *right* reason (the
…

Read the whole file at its exact version.

How to install

The exact contents, by fingerprint
mdr add genai-io/san/tdd@sha256:949f986e0619ce78

The line at the top of this page pins the label git:20260717.120e9bb, 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.

Badge

mdr badge

[![mdr](https://markdownregistry.com/badge/art_whh2hi2f24aatkbo.svg)](https://markdownregistry.com/a/art_whh2hi2f24aatkbo)

5 badge image fetches in 30 days. What the badge shows.

Versions

The registry has recorded 1 version of this file, committed on Jul 17, 2026.

versioncommittedcommitsizeaudit
git:20260717.120e9bb latest2026-07-17 120e9bb 2,737 BA view

Audit of the latest version

A  17 of 17 checks passed. Fixed automatic checks with no AI involved, so the same checks give the 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 (2737 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

genai-io/san · 147 stars · license Apache-2.0 · pushed 2026-11-06 · branch main

API

GET https://markdownregistry.com/api/v1/artifacts/art_whh2hi2f24aatkbo
GET https://markdownregistry.com/api/v1/resolve?ref=genai-io/san/tdd
GET https://markdownregistry.com/api/v1/blob/949f986e0619ce787c582be44f7035754f75442b0ee94cd8920961ce9abbbd49

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 genai-io/san

code-review SKILL.md skill
genai-io/san · .san/personas/software-engineer/skills/code-review/SKILL.md · Review changed code for correctness bugs — logic errors, nil/error handling, concurrency, resource leaks, edge cases…
git:20260717.120e9bb · audit A · 147 stars
debug SKILL.md skill
genai-io/san · .san/personas/software-engineer/skills/debug/SKILL.md · Systematic debugging that finds the root cause before changing any code — collect symptoms, trace the code path, check…
git:20260717.120e9bb · audit A · 147 stars
refactor SKILL.md skill
genai-io/san · .san/personas/software-engineer/skills/refactor/SKILL.md · Restructure existing code without changing its behavior — extract, rename, inline, split, deduplicate, reshape — with…
git:20260717.120e9bb · audit A · 147 stars
simplify SKILL.md skill
genai-io/san · .san/personas/software-engineer/skills/simplify/SKILL.md · Review changed code for reuse, quality, and efficiency, then clean up what you find — duplicated logic that could reuse…
git:20260717.120e9bb · audit A · 147 stars
qa SKILL.md skill
genai-io/san · .san/skills/qa/SKILL.md · Regression test a San feature by name. Looks for a feature doc in docs/reference/ or docs/packages/, runs automated Go…
git:20261105.d4ea15d · audit A · 147 stars
release SKILL.md skill
genai-io/san · .san/skills/release/SKILL.md · Create a new versioned release with changelog. Bumps version in code, updates CHANGELOG.md, commits, tags, and pushes…
git:20260720.088933a · audit A · 147 stars
AGENTS.md AGENTS.md file
genai-io/san · AGENTS.md
git:20261105.d4ea15d · audit A · 147 stars
hello SKILL.md skill
genai-io/san · tests/integration/plugin/testdata/test-plugin/skills/hello/SKILL.md · A simple greeting skill for plugin testing
git:20260218.3061433 · audit A · 147 stars

Every file in genai-io/san

Other files named tdd

tdd SKILL.md skill
yeachan-heo/oh-my-claudecode · skills/tdd/SKILL.md · Test-first at pre-agreed seams — one test, one implementation, tracer-bullet red/green; independent expected values…
git:20261009.7b270a4 · audit A · 40,624 stars
tdd SKILL.md skill
alirezarezvani/claude-skills · .gemini/skills/tdd/SKILL.md
git:20260309.8902ba7 · audit C · 29,490 stars
tdd SKILL.md skill
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…
git:20260923.b0b9c7a · audit A · 15,586 stars
tdd SKILL.md skill
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…
git:20261016.182f2ce · audit A · 15,586 stars
tdd SKILL.md skill
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…
git:20261013.9e6954c · audit A · 6,292 stars
tdd SKILL.md skill
vinvcn/mattpocock-skills-zh-cn · skills/engineering/tdd/SKILL.md · 测试驱动开发。适用于用户想用先写测试的方式构建功能或修复缺陷、提到 “red-green-refactor”,或需要集成测试时。
git:20261028.c48fd4a · audit A · 5,611 stars
tdd SKILL.md skill
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…
git:20260923.4a3ef20 · audit A · 4,103 stars
tdd SKILL.md skill
backnotprop/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…
git:20261004.c0c3f13 · audit A · 3,692 stars

Browse by kind, by grade A, or by owner.