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.Related
Fundamentals
The principles.
Five-layer method
The framework.
Debugging prompts
When prompts go wrong.
