Why small prompts ship and big ones stall
One giant prompt for a whole feature feels efficient and almost never works. Here's how to cut a feature into prompts the AI can get right the first time.
Drew Santos · Foundations · · 2 min read
The most common first experience with vibe coding goes like this: you describe the whole app in one long message, the AI produces a surprising amount of code, and then nothing quite works. You ask for a fix, it rewrites half the files, and something else breaks. By the fifth round you're not sure what the code does any more.
The model isn't the problem. The size of the request is. A prompt that asks for ten things leaves ten places for the model to guess, and every guess becomes code you didn't ask for.
One prompt, one change you can check
A good prompt produces a change you can verify in under a minute: a page renders, a button saves a record, a test passes. If you can't say how you'll check the result, the prompt is still too big.
- Name one outcome. “Add a form that saves a contact to the database”, not “build the CRM”.
- Give the context it needs, no more. The file it should touch and the shape of the data.
- Say how you'll check it. “After this, submitting the form should show the new contact in the list.”
Tip: Commit after every working step
When a prompt works, commit before the next one. If the following change goes sideways, you roll back one step instead of untangling five.
Start a new chat sooner than you think
Long conversations collect contradictions: the button was blue, then green, then removed. When the AI starts undoing earlier decisions, start a fresh chat with a short summary of where the project stands. It's the cheapest fix in vibe coding.
“If you can't check it in a minute, it's two prompts.”
This is the core loop taught in Vibe Coding Foundations, and the prompt patterns behind it get a course of their own.