The AI Learning Hub Journal
◆ Knowing What You Have

Write Down What Good Looks Like First

Write down what good looks like — before you buildfive to ten plain sentences, each one checkable by hand in under a minuteMY LIST — WHAT "WORKING" MEANSa visitor can send the form and I get an emailentering a past date is refused, with a clear messageit is usable on a phonenobody can ever see anyone else's bookingsNEVERno email goes out without me pressing a buttonNEVERthe same slot can never be booked twiceNEVERmust happenmust never happen — the silent oneseach line takes under a minute to check by handWHY BEFORE, NOT AFTERwritten afterwards, the list justdescribes whatever you built — ittests nothing; written before, someitems will fail, which is the pointTHE NEVERS ARE THE SILENT ONESnobody complains about seeing datathey should not have seen — negativechecks catch the failures that areinvisible from the outsideSHORT ENOUGH TO SURVIVEten items ≈ five minutes gets runfor months; thirty gets run twice —add an item only when a realfailure surprises youKEEP IT IN ONE FILE, NEXT TO YOUR SPECnot scattered through chat history — you will paste it, run it and grow it for monthsTHE LIST IS WHAT WORKING MEANS — EVERYTHING ELSE IS PREFERENCEpreference may change daily; the list changes only when you deliberately decide it should
Before you build, write five to ten plain sentences that define working — including a few things that must never happen.

Five to Ten Sentences

Before you build, write down the things this must get right. Not a document — a short list of plain sentences, five to ten of them. Each one should be something you could check by hand in under a minute. "A visitor can submit the form and I get an email within a minute." "Nobody can see anyone else's bookings." "Entering a date in the past is refused with a clear message." "It is usable on a phone." That list is your definition of working. Everything else — how it looks, what it is called, which shade of blue — is preference, and preference is allowed to change. This list is not, unless you deliberately decide to change it.

  • Five to ten plain sentences, each checkable by hand in a minute
  • Cover the core action, the boundaries, and the obvious wrong inputs
  • This list is what "working" means; everything else is preference
  • Keep it in one file next to your spec, not scattered in chat history

Why Before Matters

Writing the list before you build is the whole trick, and it is easy to skip. Written afterwards, the list mysteriously describes what you happen to have. You look at the screen and write down what it does, which tests nothing. Written before, it comes from what you actually need, and some of the items will fail. That is the point. It also protects you from a subtler drift. As you build, your idea of a good result quietly reshapes itself around whatever turned out to be easy. A list written while your eyes were clear is a record of what mattered, before the building process started negotiating with you.

  • A list written afterwards just describes what you got
  • Items that fail on the first run are the ones earning their place
  • Your standard for good drifts towards what turned out to be easy
  • The list is a record of what mattered before the building started

Include the Nevers

At least a couple of items should be things that must not happen. These are the ones nobody notices when they break. "One user must never see another user's data." "Nothing is emailed to a customer without me pressing a button." "It must not let the same slot be booked twice." Positive checks confirm the thing you were looking at anyway. Negative checks catch the failures that are invisible from the outside. Nobody complains about seeing data they should not have seen, because they are not aware they should not have seen it. If a never-item is genuinely hard to check by hand, treat that as a signal. The feature deserves more care than a prototype normally gets.

  • Include two or three things that must never happen
  • Negative failures are silent; nobody reports seeing too much
  • Double-booking, double-charging and cross-visibility are classic silent failures
  • A never-item you cannot check by hand is a feature that needs real help

Keep It Short Enough to Use

A thirty-item checklist will be run twice and abandoned. Ten items that take five minutes will be run for months. Ruthlessness here is a feature, not laziness. Pick the things that would actually matter if they broke, and let the rest go. You can add an item later, when something breaks in a way you did not anticipate. In fact that is exactly when to add one, since a failure that surprised you is proof of a gap in the list. A checklist that grows slowly, one real failure at a time, ends up fitting your specific project far better than a comprehensive one copied from somewhere else.

  • Ten items you will actually run beat thirty you will abandon
  • Add an item whenever something breaks in a way you did not predict
  • The list should grow from real failures, not from imagined completeness
  • If a run takes more than about five minutes, it is too long to survive

Try It Yourself

You have just read why the list has to come before the building. So stop here and write yours — for the project you are actually making — before you change another thing.

◆ Try it yourself

Fill in the scaffold below for your own project, with each item checkable by hand in under a minute. Then run the list once, today, and see what fails.

My checklist:
1. [the core action, end to end — who does what, and what happens]
2. [what you receive when it works — the email, the record, the message]
3. [what a wrong input gets — refused, with a clear message]
4. [something that must work on a phone]
5. [one more thing that would genuinely matter if it broke]

NEVER: [the one thing that must not happen, even once]
How you'll know it worked
  • Every item on the list can be checked by hand in under a minute
  • At least one item failed when you ran the list today
  • The NEVER line describes a failure nobody would report on their own

Prefer slides, quizzes, and saved progress? Read this lesson in the library — free, no sign-up.