A great prompt isn't about magic words — it's about making the outcome unambiguous. Most prompts that fail don't fail because the model is stupid; they fail because the request was vague about what done means, what's off-limits, and what the result is actually for.
This is the template I use whenever I need an agent to do something real. Four blocks, nothing more.
The template
THE JOB
[What you want done as an outcome, not as a list of steps. One or two sentences.]
THE WHY
I'm working on [the larger task] for [who it's for]. They need [what the output will enable].
THE GUARDRAILS
Only touch [the scope]. Leave everything else alone.
[Anything that must not be changed, sent, or deleted.]
Make routine judgment calls yourself. Ask me only if the answer would change the overall result.
DONE MEANS
[How we both know the work is finished: the exit criteria.]
Keep the deliverable to [size: number of sections, word count, or "as short as necessary to cover the substance"].
When you finish, tell me where the result is and give me [3] short bullets describing what you did. Nothing more.
THE JOB — outcome, not steps
The single biggest mistake is describing a process instead of an outcome. Steps tell the model how to think about it; an outcome tells it what to produce. When you state the outcome, the agent is free to pick the best path — and to ask itself what's actually needed.
Keep it to a sentence or two. If you can't state the outcome in one or two sentences, you probably haven't decided yet what you want.
THE WHY — context is what makes judgment calls good
Saying the larger task, who it's for, and what the output enables lets the agent weigh its options correctly. The same deliverable has a very different right shape if it's for a client demo than if it's an internal note. Models reason well about what's "useful" when they know what "useful" means in your world.
THE GUARDRAILS — the boundary is what keeps it safe and fast
Clear scope ("only touch X") plus an explicit "don't touch Y / don't send Z" prevents runaway edits and wasted effort. And the autonomy line — "make routine judgment calls yourself; ask me only if the answer would change the overall result" — is what stops you from getting pinged with fifty clarifying questions while the agent does the obvious thing.
DONE MEANS — the exit criteria turn a prompt into a finished task
"Done" is a crisp test the agent can check before it stops. A size limit (sections, word count, or "as short as necessary") prevents both bloat and the "here are ten pages for a two-line answer" problem. And the reporting instruction — tell me where the result is + three short bullets — gives you a handoff you can act on, not a wall of prose.
Why this works
- It externalizes what people usually keep in their head: the outcome, the stakes, the boundaries, and the finish line.
- It's low-cost to write and high-signal to read.
- It cuts round-trips — the agent knows what to do, what not to touch, and when to stop.
A worked example
Instead of "improve the landing page copy", the template forces precision:
THE JOB Rewrite the hero section so a visitor understands the product's value in under five seconds. THE WHY I'm launching to early customers; they need to grasp the value prop without watching a video. THE GUARDRAILS Only touch the hero and subheadline. Don't change pricing, nav, or other sections. You may adjust the tone but keep the brand voice. DONE MEANS Hero updated and ready for review, under 150 words. When done, link the file and give two bullets on what changed.
That's a prompt a model can actually execute — and a result you don't have to redo. Default to the template and the model stops guessing.