Skip to main content
The patterns that consistently produce poor results, and how to fix each.

1. Vague qualifiers

“Make it modern.”
Fix: be specific. “Use rounded corners (12px), more whitespace (16px gaps), and lighter fonts (Inter 400 for body).“

2. Multiple unrelated changes

“Fix the date picker, add a settings page, and refactor auth.”
Fix: three prompts, not one.

3. Implementation hand-holding

“Use Zustand for state in the new feature.”
Fix: trust the agent. Only specify implementation when you have a strong reason.

4. Prompting from memory

“Add a button next to the avatar in the header.”
Fix: open the preview, verify the avatar is where you remember.

5. Missing scope

“Add notifications.”
Fix: where, what triggers, what they look like, what they do on click.

6. Asking for the impossible

“Make it work offline.”
Fix: be specific about the offline model. Read-only? Cached? Sync on reconnect?

7. Re-prompting on broken state

If revision N broke something, don’t prompt revision N+1 to “also fix that.” Roll back to N-1, re-prompt cleanly.

8. Skipping Plan mode for big changes

Plan mode catches misreads cheaply. Use it for any prompt that affects the schema or adds a page.

9. Not reading the agent’s restatement

The agent restates the prompt in Plan mode. If the restatement is wrong, the prompt is wrong.

10. Fighting the agent on the same correction

If you keep correcting the same thing (“use named functions”), put it in custom instructions. Stop wasting prompts on it.

Fundamentals

The principles.

Five-layer method

The framework.

Debugging prompts

When prompts go wrong.
Last modified on April 18, 2026