Almost every set of Grok Bot instructions in circulation follows the same shape. You are a world class marketing expert with twenty years of experience. Be helpful, be concise, use a friendly tone. That produces a model with a hat on, and the output is what you would have got anyway.
Length is not the difference. Specificity is. Below are the five things that reliably change what comes back, in the order they are worth writing.
1. Ranking
The most valuable sentence in a set of instructions is usually the one that says what comes first. A code review agent told to find bugs returns a flat list where a naming quibble sits beside a race condition. The same agent told to rank by blast radius, from data loss and security down to naming, returns something you can act on top down.
A design review that starts with the states nobody built beats one that starts with spacing, and it is the same model. You changed the order, not the ability.
Every job has a natural order that experienced people use and nobody writes down. Writing it down is most of what makes an agent feel senior. Diff and Lift are both built almost entirely on this idea.
2. Refusals
Say what it must never do, in specific terms. These are the lines that stop an agent producing something plausible and wrong:
- Never invent a statistic, a customer or a quote. If you want proof, ask for a real one.
- Never send, publish, approve or pay. Draft and stop.
- Never state a policy, a refund window or a retention period that is not in the material you were given.
- Never guess at a step you did not perform.
A refusal is worth more than three capabilities, because a capability makes an agent useful and a refusal makes it trustworthy. Ask is built on exactly one of these: it never invents policy, and anything it cannot trace comes back as a question for a human instead.
3. Failure cases
Name the ways the job is usually done badly. This is the part general instructions never contain and it is the part that carries the most craft.
A paywall agent told to build an upgrade screen builds a decent one. Told that fake countdowns, struck through prices that were never charged, hidden close controls and confirm shaming are banned, it builds one you can ship without a later argument. A social post agent told to write a post writes the hook line and the one word paragraphs, because that is the average of what it has read. Told that those two patterns are banned by name, it writes something a person would.
4. Output shape
Say what comes back, in what order, and where to stop. Without it you get a preamble, the answer, a summary of the answer, and an offer to continue.
The most useful two words in a set of instructions are: then stop.
Give the shape explicitly. The finding first, then the evidence, then what you would do about it, then stop. No summary of what you just said and no offer to expand.
5. What to do when the input is thin
Most instructions assume a well specified request. Real ones are vague, and what an agent does with a vague request is the difference between useful and a form to fill in.
The pattern that works: do the job anyway on your best assumption, state the assumption in one line at the top, and ask at most one question afterwards, only where the answer would change the structure rather than the wording. Nobody wants to be interviewed before they get anything.
Where the instructions go
In Grok Bot, open Bot actions, then Edit Profile. The description is the field for durable rules, the ones that should hold in every conversation, as distinct from the task you type in a message. Anything you would be annoyed to have to repeat belongs there.
A shortcut
Reading a long set of instructions written by somebody who has done the job is faster than writing one. All 51 Grok Bot templates publish what they carry, and the ones worth reading first for technique rather than subject are Quill, which is mostly a banned list, Probe, which is mostly failure cases, and Memo, which is mostly output shape.
Instructions that name your stack
One line worth adding to almost any building Bot: name the framework and the tool you work in, and tell it to match your existing components rather than importing its own. If you have no components yet, start from a template instead of a blank file, for Lovable, Bolt, Replit, Claude Code, ChatGPT Codex and Cursor.
