Engineering disciplineClaude Code and agents that support the skills CLI

Matt Pocock / tdd

Which TDD skill should you actually install?

Two good options, and installing both is the one clear mistake.

What to remember

  1. Vertical slices keep the system runnable at every step.
  2. It is lighter than superpowers TDD, which suits teams that do not want a full methodology.
  3. Two TDD skills at once is a conflict, not a belt and braces setup.
  4. The refactor step is the one people skip, and the one that pays.

01What it changes in practice

Slicing vertically means each cycle produces something that runs, rather than a layer that only becomes useful once three more layers exist. With an agent that matters more than usual, because a half built layer cake is impossible to verify.

The narrower the slice, the more useful the cycle. A slice that takes six steps to pass has already stopped being a slice.

02Where it disappoints

It assumes a test setup that already works. In a codebase where running one test takes minutes, the loop is too slow to hold anyone's discipline.

It also does not decide what to build. Slicing well is a design skill that the process supports but does not supply.

Install and first run

  1. Install it with the skills CLI from mattpocock/skills, published under MIT.
  2. Define the first slice narrowly enough that it can be finished in one cycle.
  3. Refactor while the tests are green, never while they are red.

Questions people actually ask

How is it different from the superpowers TDD skill?
It is lighter and slice oriented, while superpowers embeds TDD in a wider methodology with planning and verification skills around it.
Can I install both?
You can, but you should not. They will give the agent conflicting instructions for the same job.
What is a vertical slice?
A thin path through the whole system that actually runs, rather than one complete layer that does nothing on its own.

Sources

  1. mattpocock/skills on GitHubrepository
  2. Agent skills directory listingdirectory

Machine readable versions of this page