A feature prompt like "add saved searches" gives a coding agent an open-ended target. The agent has to guess the interface, the edge cases, and the definition of done. A numbered list of failing tests removes the guessing. Each entry names one observable behavior, one expected outcome, and the command that proves it. Martin Fowler describes this initial step as vital to test-driven development: you write out a list of test cases first, pick one, run the red-green-refactor cycle on it, then pick the next, and you keep adding to the list as new cases occur to you (Fowler on TDD).
With agents the list matters more than it does for humans, because the agent has no memory of your design conversation. Everything it knows about "done" sits in your prompt and the files it can read. A test list turns your intent into executable checkpoints.
There is a catch worth knowing before you adopt this. A study of agentic development found that test-driven prompting alone, without telling the agent which existing tests were affected by its change, made regressions worse: test-level regressions rose to 9.94% versus 6.08% for a baseline agent (TDAD paper). The authors concluded that agents benefit more from contextual information about which tests to verify than from procedural "do TDD" instructions. So a test list is necessary but not sufficient. It has to be paired with a verification command that runs the relevant suite, not just the new test.
The practical takeaway: the list is the plan for new behavior, and the suite run is the guard against broken old behavior. Build both into the prompt.



