When you build by describing what you want to an AI model, the prompt is the only specification the work will ever have. "Vibe coding" is the name Andrej Karpathy gave this way of working in February 2025; Collins Dictionary made it its Word of the Year for 2025.
A model fills every gap in a prompt with a guess. Words such as "secure", "clean", "robust" and "handle the edge cases" read like instructions but give it nothing to aim at and give you nothing to check. Each one can be traded for a sentence that can be tested: "reset links expire after 30 minutes and work once" is a requirement; "make it secure" is a wish.
Say where it may work and where it may not. A prompt that names the files to touch, and says what must stay unchanged, gets a smaller change back, and a smaller change is one you can actually read.
Ask for the plan before the code on anything bigger than a few lines. A plan is short, and it is where scope creep shows first: a new library nobody asked for, a table "tidied away", extra data added "for convenience".
Finish the prompt with what done means, in a form a test or a click can prove.