~/VibeHandbook
$39

Chapter 08 · 07

Tell the AI What Not to Do

Constraints are not just about the result you want — they are also about the moves you want the AI to avoid. Left unconstrained, models drift toward adding dependencies, "helpfully" refactoring code you did not ask them to touch, and inventing features around the edges of your request. A few negative constraints keep the output tight.

Add a debounce to the search input.
Add a debounce to the search input.

Constraints:
- No new dependencies — we already have lodash, use that.
- Touch only SearchBar.tsx. Do not refactor the parent.
- Keep the existing prop names and types unchanged.
- 300ms delay.

The second forecloses a dozen ways the first could go wrong. Negative constraints are especially valuable in an existing codebase, where the cost of an unrequested change is not just reviewing it — it is the merge conflict, the surprised teammate, and the regression in code that was working fine. If there is a line you do not want crossed, say so explicitly; the AI will not infer your boundaries from politeness.

Want it offline?

Get the PDF + EPUB + downloadable prompt library + version updates.

$ Get the PDF — $39