Directives: Instructions an Agent Can Follow
12 MIN READ · FREE
In lesson 1 you watched a lazy prompt get fixed in 2 minutes. Name the four categories, pin the output to one word, add an example. Three test emails, three correct labels, everyone moves on.
Time to confess. That fix was 2 parts of a 5-part template, and it holds up right until the first weird email. An invoice that is also an emergency. An out-of-office bounce. A one-line question from a customer in the middle of a deal. The 2-minute version has no answer for any of those, and every real inbox serves them daily.
This lesson completes the machine. By the end you will have a full written directive for your lesson 2 winner. Not notes toward one. The finished file. In Build 1 you paste it in unchanged.
A directive is a handbook page, not a prompt
Picture hiring a temp. Smart, motivated, zero context about your business. On day one you hand them a page from the company handbook. What this job is. The steps. What finished output looks like. The rules for the weird cases. A few worked examples of calls done right.
That page is what you are writing, except the temp is a model. The test for whether the page is done: if the temp would have to walk over and ask you a question, the directive is missing a rule. "What do I do with out-of-office replies?" Missing rule. "This one is an invoice but it reads like an emergency, which is it?" Missing rule. Every question you can imagine them asking is an edit you should make now, while it costs nothing.
We say directive, not prompt, and the word choice is doing real work. A prompt is a thing you retype into a chat window and lose by Friday. A directive is a file. It lives with the agent, it gets versioned, and when the agent makes a mistake you edit the file and the fix is permanent. Prompts get retyped. Directives get maintained.
The five parts
Every directive in this course has the same 5 sections: Context, Instructions, Output format, Rules, Examples. Here is the complete one for the email triage agent you met in lesson 1.
## Context
You triage the main inbox for a 12-person services company. About 100
emails arrive per day. Your label decides what happens next: urgent
pings the team in Slack, needs_reply gets a drafted response that a
human reviews, newsletters are archived, invoices go to bookkeeping.
## Instructions
1. Read the subject and the body of the email.
2. Decide which one category fits, applying the rules below.
3. Return the label and nothing else.
## Output format
One word, lowercase: urgent, needs_reply, newsletter, invoice
## Rules
- Ties go by priority: urgent > invoice > needs_reply > newsletter.
- Auto-replies (out of office, receipts, confirmations) are never
needs_reply.
- Cold pitches are newsletter, however personal they sound.
- If unsure, return needs_reply. A human will see it.
## Examples
"Final notice: service suspended Friday unless invoice paid" -> urgent
"Out of office until Aug 4" -> newsletter
"Re: your quote. One question about line 3" -> needs_reply
Read it the way the temp would. Context says what world you are in and why the label matters, which changes how the model weighs a close call. The Instructions are the steps, numbered and in order. Output format is the contract with the code downstream, and the 4-way switch from lesson 1 only works because this line is exact. Rules settle collisions and edge cases before they happen. Examples teach the judgment that rules cannot fully spell out, which is why one of the 3 is deliberately hard. A terse "Re: your quote" from a buying customer looks nothing like the polished emails a model expects, so we show it one.
Now map that back to lesson 1. The 2-minute fix gave you Instructions and an Output format. The single example in that fix was doing format work, showing what a label looks like, not teaching judgment. Context, Rules, and Examples were still missing. In a minute you will see what that costs.
KEY IDEA
Write for a smart temp on day one. Every question they would ask is a missing rule. Every judgment call they would flub is a missing example.
Where prompts really fail: the edges
Here is the uncomfortable math of the inbox. Around 90% of email is easy. A newsletter looks like a newsletter, an invoice says invoice at the top. Any prompt gets those right, which is why the 2-minute fix felt finished. It was graded on the easy 90%.
Directives earn their keep on the other 10%. Three kinds of email live there. Ties, where 2 categories apply at once. Impostors, like an auto-reply that reads as if it wants an answer. And true ambiguity, where 2 reasonable people would label it differently.
Two rule types handle most of that 10%, and you will reuse both in every agent you ever build.
Priority order settles ties. "Urgent beats invoice beats needs_reply beats newsletter" means an email that is both an invoice and an emergency is an emergency, every time, decided once by you instead of at 3am by a model.
The escape hatch handles ambiguity. "If unsure, return needs_reply. A human will see it." You are not asking the model to be right about everything. You are giving its uncertainty a safe place to land, and pointing that chute at a person.
The mistake, and the fix
The lesson 1 fix passed on 3 emails, so we gave it a fairer exam. We pulled 10 real emails from the same inbox and labeled them by hand first. Then we ran the lesson 1 prompt against all 10. Score: 6 of 10. Here are the 4 misses, verbatim:
"Final notice: service suspended Friday unless invoice paid"
-> invoice (should be urgent)
"Out of office until Aug 4"
-> needs_reply (it is an auto-reply)
"Re: your quote. One question about line 3"
-> newsletter (a buying customer, mid-deal)
"Quick intro: we sell SEO to agencies"
-> urgent (a cold pitch)
One line of diagnosis each. The final notice lost a tie, because no rule said urgency beats the invoice label. The out-of-office slipped through, because nothing named auto-replies. The quote reply got junked, because the directive had no example of a terse real reply, and short plus informal read as noise. The SEO pitch got promoted, because cold pitches had no home, so the model invented one.
Notice what is not on that list. Not one miss says the model was too weak. All 4 are things the directive failed to say.
The rewrite took about 10 minutes. We added the Rules block and the 3 examples you saw above, and changed nothing else. Same 10 emails again: 9 of 10.
The remaining miss is the most useful email in the batch. We showed it to 2 people in our office and got 2 different labels back, each defended with a straight face. No rule fixes an email humans cannot agree on. The escape hatch caught it, returned needs_reply, and a person made the call in about 20 seconds. That is not a failure. That is the system doing what the last rule told it to do.
WATCH OUT
A prompt that worked once is not a prompt that works. Never judge a directive on one input. Ten is the floor, and your 10 should include the hard cases. Lesson 8 turns this test into a habit.
TRY IT
Download the directive template from this lesson's resources and fill in all 5 parts for your lesson 2 winner. Run it past the checklist before you call it done. Then keep the file somewhere you can find it, because in Build 1 you paste it in verbatim.
Recap
A directive is the handbook page a smart temp gets on day one, and it has 5 parts. Context, Instructions, Output format, Rules, Examples. The easy 90% of your inputs never needed you. The value sits in the last 10%, where a priority order settles ties, examples teach judgment, and the escape hatch routes the genuinely ambiguous to a person.
You now have the file. Next lesson: where that file lives in the architecture of a real agent, and why the fact that it is a plain text file, not code, is the whole point.
A complete written directive for your chosen workflow. This exact file gets pasted into Build 1.
A prompt reads: 'You sort inbound email for a small services company. Read the subject and body, classify the email, and respond with only one lowercase word: urgent, needs_reply, newsletter, or invoice.' Which 2 parts of the template are missing?
An email is both an invoice and clearly urgent. Where in the directive does 'which label wins' belong?
Your directive returns a wrong label on a test email. What is your first move?
After the rewrite you score 9 of 10. The one miss is an email that 2 people in your office also disagree on. Now what?

