Concept L2 · Context engineering informational

The Vibecoding Mindset: Describe, Verify, Iterate

What it is

The mental model that separates people who ship working software by vibecoding from people who generate an impressive mess. It has three moves you repeat: describe one small piece precisely, verify the AI actually delivered it, then iterate to the next piece — committing the working version each time.

the discipline01Describeone piece02Verifylook + test03Iteratecommit, nextthe discipline01Describeone piece02Verifylook + test03Iteratecommit, next
Each cycle ends with something you've actually checked.

Why it works

AI generates confidently whether it's right or wrong, so the only thing standing between you and hidden bugs is your verification step. Keeping each piece small makes verification cheap and honest — you can actually tell if a single screen works. Committing each good step gives you a safe point to return to, so a bad generation never costs you more than one step of progress.

When to use it

Every time you build. This is the default operating rhythm for any vibecoding session, from the first prompt to the last feature.

When not to use it

There's no time to skip it. The temptation is to drop the verify step when things are going well and you're moving fast — that's exactly when unreviewed code accumulates and the next bug becomes impossible to locate.

Prompt

We're building this one piece: <specific, small piece>. Implement just that — nothing else. When you're done, tell me exactly how to check that it works, and list anything you assumed or left out so I can confirm before we continue.

Example

Building a login flow, you describe just the sign-up form first and check it renders and validates. Then just the account creation, and you confirm a real account is stored. Then just the login. Three verified steps beat one 'build me auth' prompt that produces 400 lines you can't debug when a user can't log in.

Advanced version

Add a lightweight test at each verify step — even asking the AI to write one small test that proves the piece works. Now verification is partly automated, and future changes that break this piece announce themselves instead of hiding until a user finds them.

Common mistakes

  • Skipping verify because the code 'looks right' — looking right and being right are different things with AI output.
  • Describing several features in one prompt, which makes it impossible to tell which part failed.
  • Not committing after each working step, so one bad generation forces you to untangle everything at once.

Related