Every week, you re-explain yourself. Who you are, who it's for, what the tone is, what you refuse to do, what "good" looks like. Then the session ends and the context evaporates.
That's a recurring tax on your attention, and it's the real reason AI output feels inconsistent. Not the model — the missing memory.
A brief fixes it. Not a personality prompt, not a "you are a world-class copywriter" preamble. A brief: a short contract that says what the work is and when to stop.
The six fields
1. Role and scope
What this worker owns, in one sentence a stranger could act on. "Writes and schedules weekly content" is a scope. "Helps with content" is a wish.
2. Inputs
What it receives, in what shape, and — this is the part people skip — what it must do when the input is malformed. A missing date, an empty draft, a brand name spelled three ways. Decide now, not at 11pm.
3. Procedure
Numbered steps with the decision points made explicit. Not "write a good hook" — "produce twelve hooks using twelve different mechanisms, then score each on specificity, tension and credibility."
4. Stopping conditions
When it is done, when it must stop, when it must ask. This is the field that separates an agent from a liability, and it's the one almost always written wrongly.
5. Output contract
The exact shape of what comes back. A schema, required fields, and what "unknown" looks like. If the output can be prose or a table or a list of ideas, you'll get all three on different days and none of them will fit your process.
6. Blast radius
The worst thing it can do without asking you, and where the permission boundary sits. Publishing is different from drafting. Sending is different from scheduling. Say which one it has.
A worked example
ROLE
Weekly content assembler for one creator. Owns: idea → 4 native drafts.
Does not own: publishing, pricing, or anything customer-facing.
INPUTS
- brief.md with six fields (audience, idea, look, format, no-list, success test)
- 3 reference images
- last 4 weeks of results log
If the brief is missing a field: stop and list what is missing. Do not guess.
PROCEDURE
1. Restate the idea as a tension in one sentence. If you cannot, stop.
2. Produce 8 hooks. Score 1–5 on specificity, tension, credibility.
3. Delete everything under 12/15. Present survivors ranked.
4. Draft 4 native versions. No sentence may repeat across versions.
5. For each draft, name the weakest line and why.
STOPPING CONDITIONS
- Stop after 4 drafts. Do not continue into scheduling.
- Stop and ask if: the brief contradicts the no-list; a claim needs a source
you were not given; more than 6 hooks score under 12.
- Never invent a statistic, testimonial, or result.
OUTPUT CONTRACT
{ hooks: [ {text, scores:{specificity,tension,credibility}} ],
drafts: [ {platform, body, weakest_line} ],
blocked: [ {reason} ] | null }
BLAST RADIUS
May create drafts. May not publish, send, or modify the brief.
The phrase to delete
"Use your judgement when unsure."
It sounds responsible and it is functionally nothing. Every system is unsure sometimes; the sentence tells you nothing about what happens next, so the answer is always "carry on and guess."
Replace it with a named trigger and a named action. "If a claim needs a source and none was supplied, stop and list the claim." Now you can test it — and so can the next person who inherits the file.
Then test it, or it's decoration
Twelve cases: four typical, four edge, four adversarial. Weight them by how often they occur in your actual week, not by how interesting they are.
Include at least two where the correct answer is "I can't do that." If your eval only contains happy paths, it isn't measuring the thing that will embarrass you.
Write the pass criteria so a second person could apply them without asking you a question. "Good" and "clear" are not criteria; they're moods.
Put a date at the top of the brief and review it monthly. Model behaviour drifts; your brief should be the stable thing. When output gets worse, check the brief before you blame the model — usually a field has quietly stopped being true.
A brief is not a personality. It won't make a model funnier, and it won't give it taste. It makes it consistent, which is the only thing you can actually rely on at volume.
There's a fillable version of this in the prompt index under Ops & Agents — "Agent brief with real stopping conditions". Start there, then cut it down to your own week.