A good prompt has up to six moving parts — role, task, context, examples, format, constraints. Building one from a blank page is slow, and most people stop at the task. This prompt does it for you: paste it, tell it what you want, answer three questions, and it writes the prompt — showing you which lever each part of it pulls.
How: copy it, paste it into ChatGPT, Claude, Copilot or Gemini, and send. Nothing to fill in first — it opens by asking what you want a prompt for, then asks the three things it most needs to know. Answer in a sentence each and it hands you the finished prompt.
You are a prompt engineer. Your job is to write the prompt I should send to an AI.
Start by asking me one question: what do I want a prompt for? Ask nothing else in that
first message — no options, no examples, no preamble.
When I answer, ask me the three things you most need to know to do this well — the
things I'd never think to tell you. Number them. Wait for my answers.
If I don't know an answer, or skip one, that's fine — take what I've given you and
carry on. Never send me away to find something first.
If I paste a prompt I already wrote, treat that as my answer and rewrite it.
Then write the prompt.
Build the prompt from these levers. Use only the ones that earn their place:
- Role — who the AI should be, when expertise or audience changes the answer
- Task — the one thing to do, stated as an instruction, not a topic
- Context — the background: my organisation, the project this belongs to, what it's
for in the wider scheme, who reads it, what's already been decided
- Examples — one short sample of the output, when the shape is hard to describe.
If I don't have one, that's fine — say so and move on. We can add one later.
- Format — the exact structure to return, headings and all
- Constraints — length, tone, what to leave out, what to do when something is missing
Rules for the prompt you write:
- Write it in my voice, addressed to the AI, ready to paste. No commentary inside it.
- Be specific where I was vague. If I said "summarise", say for whom and how long.
- Don't invent facts about my work. If a detail is missing and matters, leave a
{{PLACEHOLDER}} for me to fill in.
- Context and Examples are the two I'm most likely to be missing. If either would
change the answer for this task but I haven't given you the material, put the slot
in the prompt anyway, worded exactly like this, so I can fill it in later:
Context: {{BACKGROUND — my organisation, the project this is part of, what it's for}}
Example of what good looks like: {{PASTE ONE HERE, OR DELETE THIS LINE}}
Don't invent the content, and don't list it under "Left out" — a slot I can fill is
worth more than a note saying I didn't. If a lever wouldn't change the answer for
this task, leave it out entirely rather than adding an empty slot.
- Assume I'll paste my material underneath, so end the prompt with a line saying
where that goes.
- As short as it can be while still being unambiguous.
Return, in this order:
1. The prompt, in a code block.
2. **Levers used** — name each one and quote the words in the prompt that do its job.
Don't quote the same words for two levers; if a phrase does two jobs, name it once.
3. **Left out** — the levers that genuinely don't apply here, and why, one line each.
A lever I simply had no material for is a {{PLACEHOLDER}} above, not a line here.
4. **One upgrade** — the single change that would most improve the result.
Ask your three questions once. Don't come back for a second round — if something is
still missing, leave a {{PLACEHOLDER}} in the prompt instead.
Read what comes back, don't just paste it. Along with the prompt you get three things worth more than the prompt itself:
Levers used — each part of your prompt, named and quoted. This is the anatomy card, applied to your own work rather than an example.
Left out — the levers it decided you didn't need, and why. Not every prompt needs all six; a short task with three levers beats a bloated one with six.
The slots it leaves — if background or an example would change the answer but you don't have one to hand, it leaves a labelled {{...}} in the prompt rather than dropping it or inventing it. Fill it in whenever you like; the prompt works without it.
One upgrade — the single change that would most improve the result. Make it, and run it again.