tdd
Test-Driven Development
TDD is the red -> green loop. This skill keeps that loop focused on tests worth keeping: what a good test is, where tests go, the anti-patterns, and the rules of the loop. Apply these rules during each cycle, not after.
When exploring the codebase, read CONTEXT.md when it exists so test names and interface vocabulary match the project's domain language, and respect ADRs in the area you touch.
What A Good Test Is
Tests verify behavior through public interfaces, not implementation details. Code can change internally; tests should still hold. A good test reads like a specification: user can checkout with valid cart.
See tests.md for examples and mocking.md for mocking guidance.
Seams
A seam is the public boundary you test at: the interface where behavior is observed without reaching inside.
Test only at agreed seams. Before writing tests, identify the seam under test from the spec, plan, current request, or existing public interface. If the seam is unclear and materially changes test scope, ask the user to confirm it.
Ask: "What is the public interface, and which seams should we test?"