There is a difference between a prompt that produces a good answer once and a prompt that produces a reliable answer every time somebody on your team runs it. The second is a considerably more valuable skill and gets far less attention.
Name the output format first
Vague requests produce vague structure. State exactly what should come back — a table with named columns, five bullet points, a JSON object with specific keys. The model will follow a format instruction far more consistently than it will follow a tone instruction.
Put the constraints before the task
Constraints stated after the request are followed less reliably than constraints stated before it. Lead with what must be true — the audience, the length, what to leave out — and finish with the actual request.
Give one worked example
A single example of a correct answer does more than three paragraphs describing one. If you have a good previous output, paste it in and say “match this shape”. This is the highest-return edit you can make to almost any prompt.
Say what to do when it does not know
Add an explicit instruction: if the information is not in the material provided, say so rather than filling the gap. This one line removes a surprising share of the confident-but-wrong answers that make people distrust these tools.
Version it like code
Keep reusable prompts in a shared document with a date and a note on what changed. When output quality shifts — and it does, as models are updated — you want to know whether the prompt changed or the model did.