tdd
Skill3 starsChanged 2 months agoMITView on GitHub
Use a red → green → refactor loop. Apply the test-seam, test-quality, anti-pattern, and loop rules below during every cycle. When exploring the codebase, read CONTEXT.md if it exists and use its domain terms in test names and interface vocabulary. Follow ADRs that apply to the code under test. Before writing the first test or changing implementation, pass the adaptive Delivery mode gate. Read-only inspection and reproduction may precede it. Treat an explicit semantic choice as sufficient; ask only when…
194 other projects use a version of this, 28 of them edited.
Adopted by
Most recently taken up by
- ishandutta2007/Awesome-Claude-Skillstheir own version, first seen Nov 8, 2026
- trpc/trpctheir own version, first seen Nov 8, 2026
- wowyuarm/dsh-agent-teamtheir own version, first seen Nov 8, 2026
- Contexera/dsh-agent-teamtheir own version, first seen Nov 8, 2026
- Dimon94/dveritytheir own version, first seen Nov 8, 2026
- Dimon94/skillstheir own version, first seen Nov 8, 2026
Used with
Projects with it also use capture-learning-tools, design-frontend-dev and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
The-Vibe-CompanySkillcapture-learning-tools
Turn technical conversations, bugs, CI failures, review comments,
Also in 5 projects that use this
The-Vibe-CompanySkilldesign-frontend-dev
Clean Impeccable frontend design skill. Use when the user wants to
Also in 5 projects that use this
tristanphvnSkillketchup-video
Catch the user up like /keel:ketchup, with a short silent video of slides for what happened and the waiting calls as text under it. Use for /keel:ketchup-video.
Also in 14 projects that use this
jaydubya818Skillfigure-it-out
Use when novel or multi-phase work needs an auditable workflow and no narrower playbook fits.
Also in 54 projects that use this
jaydubya818Skillprinciple-laziness-protocol
Apply when a refactor is adding wrappers or abstractions instead of simplifying.
Also in 45 projects that use this
- +2 more from The-Vibe-Company
- +5 more from jaydubya818
Other versions194 projects use a version of this.
Word for word · 0
None found.
Edited · 28
- MODSetter/SurfSense★ 17k10% same
- bestofjs/bestofjs★ 3.1k10% same
- CelestoAI/SmolVM★ 1.2k10% same
- moeru-ai/xsai★ 66710% same
- hcloud-talos/terraform-hcloud-talos★ 36210% same
- bighadj22/codflow★ 36010% same
- loulanyue/skills★ 23112% same
- 302ai/302-AI-Studio★ 13310% same
- iamyoki/qwen-image-2.1-skill★ 11610% same
- HarryMtv/create-frontstack★ 10312% same
18 more not listed
Wrote their own version · 166
- mattpocock/skills★ 309ksame name
- trpc/trpc★ 41ksame name
- Yeachan-Heo/oh-my-claude-sisyphus★ 41ksame name
- Yeachan-Heo/oh-my-claudecode★ 41ksame name
- QuivrHQ/quivr★ 40ksame name
- The-Vibe-Company/quivr★ 40ksame name
- ccusage/ccusage★ 19ksame name
- ryoppippi/ccusage★ 19ksame name
- GreyDGL/PentestGPT★ 16ksame name
- open-metadata/OpenMetadata★ 16ksame name
156 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository31 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- codebase-designSkill
- code-reviewSkill
- diagnosing-bugsSkill
- dispatch-ticketsSkill
- grill-with-docsSkill
- implementSkill
- improve-codebase-architectureSkill
- orchestrateSkill
- prototypeSkill
- researchSkill
- resolving-merge-conflictsSkill
- setup-omskillsSkill
- to-specSkill
- to-ticketsSkill
- triageSkill
- wayfinderSkill
- cavemanSkill
- designSkill
- excalidrawSkill
- grill-meSkill
- handoffSkill
- model-routingSkill
- prompt-comprehension-auditsSkill
- teachSkill
- tmux-workerSkill
- voiceSkill
- wormholeSkill
- write-a-skillSkill
- writing-great-skillsSkill
The file
We split this skill into the rules it gives an agent
10 rules. 0 are common, 8 are distinctive, and 2 are very specific to this project.
0
Common
Most of the 186 edited versions we read keep these.
8
Distinctive
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 10
Use a red → green → refactor loop.
- Very specific: line 13
When exploring the codebase, read CONTEXT.md if it exists and use its domain terms in test names and interface vocabulary.
- Distinctive: line 17
Before writing the first test or changing implementation, pass the adaptive Delivery mode gate.
- Distinctive: line 34
Use tests.md for examples and mocking.md for mocking guidelines.
- Very specific: line 39
Use the architecture meaning of seam from codebase-design (resolve this link from the physical base printed by cd …
- Distinctive: line 46
Before writing any test:
- Distinctive: line 49
Treat a test seam already confirmed in the accepted request, Spec, Ticket, repository sources, or conversation as confirmed.
- Distinctive: line 90
Red: write one test at one confirmed test seam and run it.
- Distinctive: line 92
Green: add only the implementation required to make that test pass.
- Distinctive: line 98
Start the next slice only after the refactored slice and all relevant prior tests pass.
“Common” is measured: kept by at least 6 in 10 of the 186 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Test-Driven Development
Use a red → green → refactor loop. Apply the test-seam, test-quality, anti-pattern, and loop rules below during every cycle.
When exploring the codebase, read CONTEXT.md if it exists and use its domain
terms in test names and interface vocabulary. Follow ADRs that apply to the code
under test.
Before writing the first test or changing implementation, pass the adaptive Delivery mode gate. Read-only inspection and reproduction may precede it. Treat an explicit semantic choice as sufficient; ask only when topology or maintainer availability remains materially unresolved. An untracked request or exactly one selected Ticket stays with its conversational owner through the authorized stopping point. Maintainer absence alone adds no readiness, Prompt Audit, or dispatcher. Resolve choices from accepted sources; ask the available maintainer only for missing input that blocks progress, without repeating established choices.
Test criteria
A test must exercise behavior through a confirmed test seam and assert a
caller-visible result. It must not depend on private methods or internal
structure. Name the test for the capability and condition it verifies, such as
user can checkout with valid cart.
Use tests.md for examples and mocking.md for mocking guidelines.
Test seams
Use the architecture meaning of seam from
codebase-design (resolve this link from the
physical base printed by cd '<loaded-skill-directory>' && pwd -P, not the
workspace): a location where behavior can be altered without editing code at
that location. A test seam is a seam exposed through the caller-visible
interface that production callers and behavior tests share.
Before writing any test:
- List every caller-visible test seam to be exercised.
- Treat a test seam already confirmed in the accepted request, Spec, Ticket, repository sources, or conversation as confirmed. When those accepted sources and repository behavior determine the caller-visible interface and seam, record that evidence and proceed without asking for reconfirmation. Resolve a minor residual choice that does not change caller-visible coverage through established repository conventions.
- Resolve each genuinely unconfirmed material seam through the applicable
authority branch:
- The responsible agent resolves the seam from the accepted contract. If genuinely missing input blocks progress and the maintainer is available, ask which caller-visible interface and seams to exercise. If the maintainer is away and established authority cannot resolve it, report the blocker. A delegated helper returns the unresolved seam to that owner.
- In any other print/headless invocation, report the unresolved seam to the caller and stop before writing tests. Print/headless execution never waits for a conversational answer.
Seam selection is complete only when every test seam is confirmed from accepted sources or interactive confirmation, or the applicable terminal blocker has been returned. Write behavior tests only at confirmed test seams. Do not bypass the caller-visible interface to test internal seams.
Anti-patterns
- Implementation-coupled: the test mocks internal collaborators, invokes private methods, or verifies through a side channel such as querying the database instead of using the confirmed interface. It fails after an internal refactor even though observable behavior is unchanged.
- Tautological: the assertion derives its expected value with the same
operation as the implementation, such as
expect(add(a, b)).toBe(a + b), a hand-built snapshot produced by the same steps, or a constant compared with itself. Derive expected values from an independent source: a known-good literal, a worked example, or the specification. - Horizontal slicing: multiple tests are written before any corresponding implementation. Use vertical slices instead: one failing test → its minimal implementation → the next test.
Loop
For each vertical slice, in this order:
- Red: write one test at one confirmed test seam and run it. Proceed only when it fails because the requested behavior is absent.
- Green: add only the implementation required to make that test pass. Run the current test and every relevant previously passing test until they all pass. Do not implement behavior reserved for a later test.
- Refactor: improve the test and implementation structure without changing observable behavior or adding behavior reserved for a later slice. Rerun the same tests until they all pass again.
- Start the next slice only after the refactored slice and all relevant prior tests pass.
A vertical slice is complete only after red demonstrated the missing behavior, green supplied it, and refactor preserved it with passing tests.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

