Skip to main content
Building with AI (Vibe Coding)

⏱ About 15 min15 XP

Asking for One Change at a Time

You have a working quiz app. You want to add a timer, change the color scheme, fix a bug where the score is not updating, and add a progress bar. So you write one prompt asking for all four at once. The AI responds with a massive block of code. You paste it in. Three things work, one does not, and now you are not sure which part of the new code caused the problem. This is one of the most common frustrations in vibe coding — and it is almost entirely self-inflicted. The fix is simple and powerful: ask for one change at a time.

Why Focused Requests Win

When you ask for a single, focused change, several good things happen: You know exactly what changed. If something breaks after a focused request, the problem is almost certainly in that one change. Diagnosis becomes straightforward. The AI stays in scope. When you give the AI multiple tasks at once, it has to juggle them — and it sometimes drops one, merges two together, or introduces a solution to task B that conflicts with task A. One task at a time means full attention on one outcome. You can verify before adding more. Confirm the timer works before you ask for the color change. Confirm the color change looks right before you add the progress bar. Each successful verification is a checkpoint you can return to if something later goes wrong. You build confidence in the codebase. Incremental changes you understand and have tested feel solid. Sweeping rewrites you accepted without verifying feel fragile.

The Single-Responsibility Prompt

A focused change request has one clear, verifiable outcome. You should be able to answer the question 'Did this change do what I asked?' with a simple yes or no. If the answer requires checking five different things, the prompt probably asked for five different things.

Here is a concrete before-and-after. You have a working to-do list and you want three improvements. Unfocused prompt: 'Make the to-do items draggable so you can reorder them, add a filter button that shows only incomplete items, and change the delete button from an X to a trash-can icon.' Focused approach — three separate prompts: Prompt 1: 'Add a filter button above the list. When clicked, it should toggle between showing all items and showing only incomplete items. The button label should update accordingly — All Items or Incomplete Items.' [Verify it works.] Prompt 2: 'Change the delete button icon from an X character to a trash-can emoji. Nothing else about the delete behavior should change.' [Verify it works.] Prompt 3: 'Make the to-do items draggable so the user can reorder them by dragging and dropping.' [Verify it works.] Three prompts. Three clear checkpoints. If the drag-and-drop breaks something, you know it happened in prompt 3, not somewhere in the tangle of one big response.

When to Bundle and When to Split

Splitting every change into its own prompt can feel slow. There are cases where bundling makes sense: Bundle changes that are tightly coupled. If you need a new data field and you need to display that field in the UI, those two things are so connected that splitting them would produce broken intermediate states. Bundle trivial style changes. Changing three button colors at once is genuinely one logical task — 'update the color scheme' — and splitting it into three prompts just adds noise. Split changes that are independent. A timer and a color scheme have nothing to do with each other. A bug fix and a new feature have nothing to do with each other. These belong in separate prompts. The question to ask yourself: 'If the AI only does one of these things, does the result still make sense?' If yes, split them. If one without the other would leave things broken, bundle them.

The Compound Bug Trap

When you ask for multiple changes at once and something breaks, you face a compound bug: you do not know which change caused it. You might have to undo all the changes and start over. One change at a time means one possible cause — which is almost always fixable.

Match each scenario to the best prompting strategy.

Terms

Adding a timer and fixing an unrelated score bug
Adding a new data field and displaying it in the UI
Changing three button colors to match a new theme
Adding drag-and-drop and a filter button

Definitions

Split — these are fully independent features
Bundle — one logical style task
Split into two separate prompts
Bundle — these are tightly coupled

Drag terms onto their definitions, or click a term then click a definition to match.

Why is asking for one change at a time better when debugging?

Which pair of changes should be BUNDLED in one prompt rather than split?

One at a Time Practice

  1. Step 1: Imagine you are building a weather display page. Your current version shows a city name and temperature. You want to add: (a) a weather icon, (b) a 5-day forecast section, (c) a search bar to look up different cities, and (d) a toggle for Celsius vs Fahrenheit.
  2. Step 2: Order these four improvements from simplest to most complex.
  3. Step 3: Write a focused, single-change prompt for the simplest improvement. Make sure it asks for exactly that one thing and includes a clear way to verify it worked.
  4. Step 4: Write the sequence of all four focused prompts in order. For each, write one sentence: 'I will know this worked if...'