../

Prompting fundamentals

How to get expert-quality work out of a chat assistant (ChatGPT, Claude, Gemini and similar) in a field you don't know: what the model is actually doing, one prompt skeleton you fill in for any task, placeholders that teach a field's vocabulary as you fill them, the prompt chain (interview, options, produce, review) that makes up for missing expertise, then structure, examples, output control, iteration, verification, image and video prompts, a starter prompt library and what never to paste. Every domain sheet in Prompting applies this method to one field; the map is in Use the domain sheets. Products and features change quickly, so check your tool's current help pages for anything product-specific.

What a language model does

A large language model (LLM) is a program trained on a very large amount of text to predict what text comes next, one token at a time (a token is a word or a piece of one; in English a token averages roughly three-quarters of a word, varying by model). A chat assistant is an LLM tuned to follow instructions and hold a conversation, usually wrapped in an app that adds tools such as web search, file reading and code execution.

FactWhat it means for your prompts
It predicts plausible text from contextyour prompt is most of the context; whatever you leave out, it fills with the most typical answer. Generic output is the default, not a malfunction
Context windoweverything it can see at once: the conversation so far, pasted documents, the app's instructions. It is large, but very long chats degrade: early details get missed or contradicted. Start a fresh chat per task
No memory between chatseach chat starts blank unless the app adds a memory feature, project files or custom instructions. Those are app features, not the model, and you can usually view and delete what is stored
Knowledge cutoffit learned from data up to a date. Later events, prices, versions, laws and product features are unknown unless the app searches the web or you paste them in
Confident errorsit produces fluent text whether or not the text is true: invented citations, wrong numbers, nonexistent functions, made-up product features. These are called hallucinations. A confident tone tells you nothing about accuracy
Randomnessthe same prompt gives different answers. Regenerate to see the range; one answer is a sample, not the answer
It follows your framing"Isn't X better than Y?" gets "yes". Models also tend to praise your drafts and agree with you (sycophancy). Ask neutral questions and ask for criticism explicitly
Tools change what it can knowwith web search on, it can cite pages it actually read; with search off, any citation comes from memory and may be invented
Reasoning modessome assistants can "think" before answering (often labeled thinking, reasoning or extended thinking). Use them for multi-step problems; they are slower and you don't need to write "think step by step"
the context window: all the model sees when it answers system prompt custom instructions, memory pasted text, uploaded files the conversation so far tool results: web pages, code your new message the app saved you both tools you very long: early details get missed the model predicts text its reply word by word the reply joins the history not in the window other chats files you didn't paste news after its cutoff what you didn't say
The model answers from what is in the window and nothing else; whatever you leave out, it fills with the typical answer.

The skeleton

Every full prompt on these sheets has the same eight slots, written as tags, in the same order. One fixed structure does three jobs:

  • You learn it once. The slots are the same for an email, an ADR or a capacity estimate, so moving to a new field means learning what goes in them, not a new way of asking.
  • Long material goes first and the request last. That is the order Anthropic's guide recommends for long inputs: in its tests, putting the query at the end improved response quality by up to 30%, especially with complex, multi-document input.
  • Tags mark where pasted material starts and ends, so the model doesn't mistake a document's sentences for your instructions, and you can point at parts by name ("using only the figures in <materials>"). Anthropic's and OpenAI's guides both suggest XML-style tags for this; any consistent delimiter works.
SlotWhat goes in itDrop it when
<materials>pasted documents, data, drafts, transcripts, code; long material always goes here, firstyou have nothing to paste
<context>your situation: who you are, the project, who the output is for and what they know, what exists, what you tried and why it failedalmost never: it is the slot only you can fill
<examples>1–3 samples you like and 1 you don't, each with whythe format is standard (an ADR, a JSON schema) or taste doesn't matter
<task>the deliverable by its professional name, and the decision or action it feedsnever in a full prompt
<requirements>musts and must-nots: length, scope, constraints, named standards, the no-invention linethe task has no constraints worth stating
<quality_bar>3–5 checks an expert in the field would apply, which the model runs on its draft before answeringnever in a full prompt
<output_format>the exact shape: sections, table columns, file type, lengthany shape will do
<process>how to work: ask questions first, or give options and stop; then the assumptions linenever in a full prompt

The full skeleton, ready to copy:

<materials>
[optional: pasted documents, data, drafts;
 long material always goes first]
</materials>
 
<context>
[your situation: who you are, the project,
 what exists, what you tried]
</context>
 
<examples>
[optional: 1–3 samples you like and 1 you don't,
 each with why]
</examples>
 
<task>
[the deliverable by its professional name,
 and the decision or action it feeds]
</task>
 
<requirements>
- [musts and must-nots: length, scope, constraints,
  named standards]
- Never invent numbers, names, quotes or sources:
  write [NEEDS SOURCE] where support is missing.
</requirements>
 
<quality_bar>
Before answering, check your draft against:
- [3–5 checks an expert in this field would apply]
</quality_bar>
 
<output_format>
[the exact shape: sections, table columns,
 file type, length]
</output_format>
 
<process>
[optional: how to work, e.g. give 3 options
 and stop before drafting]
Ask me up to 3 questions first if anything missing
would change your answer; otherwise go on.
End with a list of the assumptions you made.
</process>

The structure matters less than what you put in it. Tags help the model parse a long prompt; they add no knowledge, and a tidy skeleton with nothing specific in it still gets a generic answer. Four things change results:

  • context only you have: your audience, data, constraints and history. Whatever you leave out, the model fills with the most typical answer;
  • the deliverable named: "a win-back email", "an ADR", "a capacity estimate", not "something about X";
  • the quality bar: the checks a professional would apply, named so the model can run them and you can verify that it did;
  • staging: questions and options before a draft, a review in a fresh chat after it (The prompt chain).

Most questions don't need all eight slots. A quick prompt keeps three things: the deliverable, the facts only you have, and one check. Every entry in the Prompt library has a Quick and a Full version.

The standard lines

Three lines go in every full prompt, in these words:

LineSlotWhy it matters
Never invent numbers, names, quotes or sources: write [NEEDS SOURCE] where support is missing.<requirements>a model writes fluent text whether or not it has the fact; the marker turns a hidden invention into a visible gap you can search for and fill. Fields use variants: [NEEDS PROOF] for marketing claims, [CHECK LOCAL CODE] for building codes, [VERIFY] for figures to check in a filing
End with a list of the assumptions you made.<process>every answer rests on guesses about what you didn't say; listed, they are the quickest part to check, and correcting one wrong assumption often fixes the whole answer
Ask me up to 3 questions first if anything missing would change your answer; otherwise go on.<process>models rarely ask on their own; they guess. The condition stops questions for their own sake, and the cap stops a questionnaire. Use it where missing context would change the answer

Placeholders

A placeholder is a gap in a saved prompt that you fill before sending. The prompts on these sheets use three forms and no others:

FormUse it forExamples
[label: option | option | option]a choice between the field's own terms[awareness: unaware | problem-aware | solution-aware | product-aware | most aware] (marketing); [consistency: strong | read-your-writes | eventual] (system design); [ADR format: MADR | Nygard] (software architecture); [shot: wide | medium | close-up | extreme close-up] (video)
[label, e.g. example value]an open answer where a newcomer wouldn't know what a good one looks like[audience, e.g. a CFO who reads only the first paragraph]; [response measure, e.g. p95 under 300 ms at 200 requests/s]; [print size, e.g. A2 poster with 3 mm bleed]
[paste …]material you supply[paste the exit-survey results]; [paste the diff]; [paste the floor plan notes]

Enumerated options teach the vocabulary. Each option is a term you may not have known existed, and choosing between them makes you ask what each means: the question an expert would want answered before starting. Picking read-your-writes over eventual tells the model exactly which guarantee you need, where "it should feel instant" leaves it to guess. Delete the options you didn't choose before sending; if you can't choose, ask: "Explain these options for my case and recommend one."

The examples in the second form do the same job for open answers: "p95 under 300 ms at 200 requests/s" shows what a measurable target looks like, so you don't write "fast".

A bare placeholder such as [awareness level] or [consistency model] is not allowed: it assumes you already know the vocabulary you came to learn.

Before:
Write a [tone] email to [audience] about [topic].
 
After:
Write a [tone: plain | warm | formal | playful] email to
[audience, e.g. customers who canceled in the last 90 days]
about [topic, e.g. our new $4/month plan].

Named standards over personas

Many prompt guides open with "Act as a senior …" or "You are an expert …". The published evidence that this makes answers more accurate is weak:

  • A study of 162 personas on 2,410 factual questions across four open-source model families (Zheng and others, Findings of EMNLP 2024) found that adding a persona to the system prompt did not improve accuracy over no persona, and that choosing the best persona for each question automatically did about as well as choosing one at random.
  • Wharton's Generative AI Labs tested expert personas on six models with graduate-level science, engineering and law questions (Prompting Science Report 4, December 2025): no consistent gain, and mismatched or low-knowledge personas sometimes lowered accuracy.
  • Vendor guides still suggest a role. Anthropic's says a role in the system prompt focuses the model's behavior and tone; OpenAI's suggests describing the assistant's identity (purpose, communication style, goals) in developer messages. That is about register and behavior, which the studies above didn't measure.

These studies score accuracy on question sets, not long deliverables, and models change, so read them as "a persona is no substitute for content", not "personas always hurt". A persona only gestures at what matters: the standard a professional would apply. Name it in <requirements> or <quality_bar>, and say who the output is for in <context>. A named standard is a specific, documented checklist you can hold the output to; "senior" is not.

Instead ofWriteSlot
"Act as a senior software architect.""Record each hard-to-reverse decision as an ADR in MADR format; draw C4 context and container diagrams."<requirements>
"You are a world-class copywriter.""Use the PAS structure (problem, agitate, solution) and one call to action."<requirements>
"Act as an accessibility expert.""Check text contrast against WCAG 2.2 AA: at least 4.5:1 for body text."<quality_bar>
"You are a site reliability engineer.""Define SLOs with 30-day error budgets; dashboards by the RED and USE methods."<requirements>
"You are a strict editor.""Before answering, check every sentence against the evidence list; cut any it doesn't support."<quality_bar>
"Act as a CFO.""It is for a CFO who reads only the first paragraph."<context>

If you don't know the field's standards yet, that is what the first stage of the chain and the Teach me the field prompt are for; each domain sheet's Vocabulary lists them.

The prompt chain

To prompt well in a field you need to know what to ask for: the names of the deliverables, the vocabulary, the standards a professional applies. If you don't, the fix is to stage the work so the model supplies the expertise while you supply the facts and make the decisions. Every domain sheet runs the same four stages for its field's main deliverable, each one a prompt in the skeleton:

StageWhat the model doesWhat you do
1. Interviewasks the questions a professional would ask before starting: at most 10, grouped, each with why it matters and typical answers. No deliverable yetanswer; the typical answers teach you the field's terms
2. Optionsproposes 2–4 materially different approaches with trade-offs and a recommendation, then stopschoose one, or ask what would change the recommendation
3. Producewrites the deliverable from a full skeleton prompt built on your answers and your choiceread the assumptions list first
4. Reviewin a fresh chat, critiques the output against the field's rubric and ranks the fixes; doesn't rewritetake the top fixes back to the first chat

The chain is the borrow-the-expert loop written as four prompts. The loop has six steps: interview me, teach me the terms, options with trade-offs, draft, critique against an expert rubric, revise. The Interview stage covers the first two (its typical answers are the lesson), Options is the third, Produce is the draft, and Review is the critique; the revise step is your follow-up in the original chat.

understand the domain produce and improve 1. Interview me the model asks first 2. Teach the terms vocabulary, frameworks 3. Options 2–3, with trade-offs you choose one 4. Draft named deliverable 5. Critique vs an expert rubric 6. Revise fix the top issues repeat until it meets the bar you answer, choose and judge; the model asks, explains, drafts and critiques
The chain's Interview and Options stages are steps 1 to 3; Produce is step 4; Review, in a fresh chat, is step 5; your revision request is step 6.

Generic versions of each stage are in the Prompt library: Interview me, Options before a draft, the skeleton itself for Produce, and Critique in a fresh chat. The domain sheets shortcut stages 1 and 2: their vocabulary tables, brief checklists and deliverable names are what the interview would have taught you. In an agent that can check its own work, such as Claude Code, stage 3 can run unattended until the quality bar is met: see Goals and loops.

Questions that surface hidden expertise at any stage:

  • "What would an expert ask for here that I haven't?"
  • "What is the professional name for the document or artifact that does this?"
  • "What do beginners usually get wrong with this?"
  • "What would make a professional reject this immediately?"
  • "Which of my assumptions is most likely to be wrong?"

Chains inside a stage

A long deliverable can be its own chain: each prompt does one job, and its output, checked by you, becomes the next prompt's input. A chain for a report:

Prompt 1: From the notes in <materials>,
list every claim and the evidence for it.
Mark claims with no evidence [NEEDS SOURCE].
 
Prompt 2: Using only the supported claims from the previous
answer, propose a 5-section outline for [audience, e.g. the
board, who read only headings and the summary].
 
Prompt 3: Write section 2 of the outline, 300 words.
 
Prompt 4 (fresh chat): Here are a section and the
evidence list. Quote every sentence the evidence
doesn't support, and say why. Don't rewrite anything.
input prompt output your notes in <notes> 1. list every claim and its evidence claims + evidence, gaps marked supported claims 2. propose a 5-section outline for [audience] outline the outline 3. write section 2, 300 words section 2 draft section 2 + the claims list from 1 4. skeptical editor: flag unsupported lines flagged sentences in a fresh chat you check: the claims and evidence are right, nothing added you check: the outline uses only supported claims you check: it follows the outline and reads well you fix or cut every flagged sentence

1/4

Prompt 1 turns your notes into a list of claims and their evidence, with the unsupported ones marked. Check the list before going on.

Each prompt does one job, and you check its output before it feeds the next.

Worked example

Weak prompt

Write a marketing email for my app.

What's wrong

  • No product facts, so the model invents features.
  • No audience and no goal: sign-up, upgrade or win-back?
  • No tone, length or call to action, and nothing that says what good looks like.
  • The result will read like every marketing email ever written.

Strong prompt

<materials>
Exit-survey answers from users
who canceled in the last 90 days:
- "too expensive": 62%
- "too much manual entry": 21%
- other reasons: 17%
</materials>
 
<context>
Our product: a budgeting app for US freelancers. Since these
users left we added automatic invoice reminders, quarterly
tax estimates (US only) and a cheaper $4/month plan.
The readers: US freelancers, 25–45, who canceled in the last
90 days. They know the app; they don't know what changed.
</context>
 
<task>
A win-back email that gets them
to restart a free 14-day trial.
</task>
 
<requirements>
- Under 150 words; friendly, not pushy; one call to action.
- No fake urgency and no invented discounts
  or features: only the facts above.
- Answer the top two exit reasons, in that order.
- Never invent numbers, names, quotes or sources:
  write [NEEDS SOURCE] where support is missing.
</requirements>
 
<quality_bar>
Before answering, check your draft against:
- It names the reason they left in the first two sentences.
- It gives one concrete reason to
  return, tied to that reason.
- It has a single clear call to action.
- Every product claim appears in <context>.
</quality_bar>
 
<output_format>
3 subject lines (under 45 characters), preview
text (under 90 characters), then the body.
</output_format>
 
<process>
Ask me up to 3 questions first if anything
missing would change your answer; otherwise go
on. End with a list of the assumptions you made.
</process>

Each slot closes a gap the weak prompt left open: the survey numbers aim the copy at the real objections, the product facts stop invented features, the requirements rule out the usual tricks, the quality bar says how an expert will judge it, and the format gives options to compare.

the strong prompt, slot by slot what the slot does materials context task requirements quality_bar output_format process Exit survey, canceled in last 90 days: "too expensive" 62%, "manual entry" 21% Budgeting app for US freelancers. New since they left: invoice reminders, tax estimates, a $4/month plan. A win-back email that gets them to restart a free 14-day trial. Under 150 words; one CTA; no fake urgency or invented features. Never invent numbers: write [NEEDS SOURCE]. Before answering, check: names why they left; one concrete reason to return; every claim is in <context>. 3 subject lines (under 45 characters), preview text, then the body. Ask up to 3 questions first if needed. End with the assumptions you made. the real objections, pasted first facts it can't know, so nothing is invented the deliverable and the action it feeds musts, must-nots and the no-invention line the expert's checks, run before answering options you can compare questions first, guesses listed last facts only you have: leave them out and the model invents them
Each slot closes a gap the model would otherwise fill with a guess; the highlighted slots are facts only you can supply.

What came back

An illustrative, abridged response:

Subject lines:
1. You told us why you left. We listened.
2. Less typing, and now $4/month
3. Your invoices can chase themselves now
 
Preview: Automatic invoice reminders and a cheaper plan.
 
Hi {first_name},
 
When people canceled, most told us two things: it cost too
much, and it meant too much typing. We've fixed both.
 
There's now a $4/month plan, and for $4/month you get
automatic invoice reminders, so clients get nudged without
you writing a single email. Quarterly tax estimates (US)
are built in too.
 
Restart your free 14-day trial and see the difference.
 
[Restart my trial]
 
Assumptions:
1. The $4/month plan includes invoice reminders and tax
   estimates.
2. Emails support a first-name merge field.

How an expert judged it

Checked against the prompt's own quality bar:

  • Names the reason they left: passes, in the first sentence, with both survey reasons in order.
  • One concrete reason to return: passes. Reminders answer "too much manual entry"; the cheaper plan answers "too expensive".
  • A single call to action: passes; one button.
  • Every product claim appears in the context: fails. "For $4/month you get automatic invoice reminders" joins two separate facts into a claim the brief never made. The model flagged it as assumption 1, which is the assumptions line doing its job; skip the list and you'd send it. If the cheap plan doesn't include reminders, the email promises a feature to the very people most likely to feel misled a second time.
  • Subject lines: 1 and 3 are specific; 2 leads with price, which suits the 62% who left over cost. Test 2 against 3.

Verdict: one factual fix; everything else meets the bar.

The follow-up

Assumption 1 is wrong: the $4/month plan does not
include invoice reminders; they are on the $9/month
plan. Tax estimates are on both. Rewrite only the second
paragraph so each feature is tied to the right plan,
keep everything else word for word, then check the draft
against the quality bar again, one line per check.

Structure long prompts

TechniqueHowWhy
Skeleton tagswrap each part in its slot's tag: <materials>, <context>, <task> and the restseparates instructions from material; easy to edit later; you can refer to a part by name ("using the figures in <materials>")
Nested tags for documentsinside <materials>, one <document> per file with a <source> line; or <notes>, <data>, <draft>the model can tell where each pasted item starts and ends, and cite it by index
Delimiterstriple quotes, --- lines or code fences around pasted text, where tags would be awkwardstops pasted text from being read as instructions to follow
Material first, request lastpaste long documents at the top, then the task and requirementsAnthropic's guide reports that putting the query at the end can improve answers by up to 30% with long, multi-document input
One task per promptsplit unrelated asks into separate promptsmixed asks get half-done
Listed requirementsone bullet per must or must-notthe model can check each one, and you can say "the third requirement was ignored"
Say what to do"write in flowing paragraphs" rather than "don't use bullets"positive instructions are followed more reliably; naming the unwanted thing can prime it, especially in image and video tools
Explain why"no jargon: readers are high-school students"the model generalizes from the reason to cases you didn't list
Ask for quotes first"find the passages relevant to X and quote them, then answer using only those"anchors long-document answers in the text instead of memory
<materials>
<documents>
<document index="1">
<source>Q3 customer interviews, notes.txt</source>
[paste the interview notes]
</document>
<document index="2">
<source>Support tickets, September.csv</source>
[paste the ticket export]
</document>
</documents>
</materials>
 
<context>
We are a 5-person product team choosing which onboarding
problem to fix next quarter. The founders will read this.
</context>
 
<task>
The top 3 onboarding problems, with the evidence
for each, so we can choose next quarter's fix.
</task>
 
<requirements>
- Use only the documents above, not general knowledge.
- First quote the 10 passages most relevant to onboarding
  problems, with the document index for each; then group
  them into themes ranked by how often they appear.
- Never invent numbers, names, quotes or sources:
  write [NEEDS SOURCE] where support is missing.
</requirements>
 
<quality_bar>
Before answering, check your draft against:
- Every theme cites at least 2 quoted passages.
- Counts come from the documents, not estimates.
- Where the documents don't support a claim, you say so.
</quality_bar>
 
<output_format>
The quotes (index | passage), a theme table (theme |
count | example quote), then the top 3 in one line each.
</output_format>
 
<process>
End with a list of the assumptions you made.
</process>

Examples and few-shot

A zero-shot prompt gives instructions only; a few-shot (or multishot) prompt adds a few worked examples of input and output. Examples are the most reliable way to set a format, tone or house style that is easier to show than describe. They go in the skeleton's <examples> slot.

RuleWhy
3–5 examples for a repeated format or style (Anthropic's guidance)one example gets copied too literally
For taste (a page, a logo brief, a voice), 1–3 you like and 1 you don't, each with whythe reasons teach the model what to copy; the bad one marks the boundary
Make them differ in length, topic and structureotherwise the model copies surface features: the same opening, the same length
Wrap each in its own <example> tag inside <examples> and say what to copy"match the tone and structure, not the topic"
Try zero-shot first with reasoning models (OpenAI's guidance)they often don't need examples; add them only for complex output
Show a bad example only with a label and a reasonan unlabeled bad example is just another example
No examples to hand? Generate them"Write 3 contrasting samples: plain, warm, witty." Then: "More like 2, shorter."
<materials>
[paste this release's raw notes]
</materials>
 
<examples>
<example>
Before: Fixed bug where export failed for large files.
After: Exports over 2 GB now finish
instead of stopping halfway.
</example>
<example>
Before: Added dark mode.
After: Dark mode is here: Settings > Appearance.
</example>
<example>
Before: Performance improvements to search.
After: Search results now appear about
twice as fast on large workspaces.
</example>
</examples>
 
<task>
Release notes in our house style for the raw notes above.
</task>
 
<requirements>
- Match the tone and structure of
  the examples, not their content.
- Lead with what the user can now do; one line per change.
- Never invent numbers, names, quotes or sources:
  write [NEEDS SOURCE] where support is missing.
</requirements>
 
<quality_bar>
Before answering, check your draft against:
- Every line names a change the user
  can see, not an internal one.
- No number appears that isn't in the raw notes.
</quality_bar>
 
<output_format>
A bullet list, one change per bullet, each under 20 words.
</output_format>
 
<process>
End with a list of the assumptions you made.
</process>

Reasoning, decomposition and chaining

TechniqueUse whenSay
Answer onlylookups, rewrites, simple facts"Answer in one sentence."
Show the workingyou need to check the logic: math, estimates, diagnosis, plans"List your assumptions, then each step, then the answer."
Reasoning modehard multi-step problems, if the app offers itswitch it on; keep the prompt direct
Plan firstlarge deliverables"Outline the sections and key points first. Wait for my OK before writing."
Decomposethe task has distinct stages"Break this into steps. Do step 1 only, then stop."
Prompt chainingeach stage needs its own instructions or your reviewprompt A's output becomes prompt B's input; the four-stage prompt chain and its report example are both chains
Self-checkfacts and numbers"Recompute every number. List any claim you are not sure of." The <quality_bar> slot makes this a standing step

Control the output

You wantSay
Length"under 150 words", "3 bullets", "one page"; models count words and items roughly, characters poorly, so leave a margin
Shape"a table with columns Option | Cost | Risk | Verdict", "H2 headings per section", "plain paragraphs, no lists"
Order"recommendation first, then the 3 reasons, then risks"
Options"5 headline options, numbered, each with a one-line rationale"
Reading level"plain English, reading age 12", "for a board: no implementation detail"
Definitions"define each technical term the first time it appears"
No inventionthe standard line: "Never invent numbers, names, quotes or sources: write [NEEDS SOURCE] where support is missing."
Visible guessesthe standard line: "End with a list of the assumptions you made."
Uncertainty"mark anything you are unsure of with (?)"
Machine-readable"return only JSON matching this schema, no prose"; developer APIs offer structured-output modes that enforce a schema
Files"as CSV I can paste into a spreadsheet", "as a Mermaid diagram", "as an SVG", "as a Markdown table"
Less filler"no preamble, no summary at the end, no restating the question"

In machine-readable output the standard lines change form: the no-invention marker becomes null, and the assumptions list becomes a field, so the result still parses.

<materials>
<notes>
[paste the meeting notes]
</notes>
</materials>
 
<task>
Every action item in the notes, as
JSON to import into our task tracker.
</task>
 
<requirements>
- Never invent owners, dates or tasks:
  use null where the notes don't say.
- Do not infer dates from words like "soon".
</requirements>
 
<quality_bar>
Before answering, check your output against:
- Every item's quote appears word for word in the notes.
- The output parses as JSON, with
  nothing before or after it.
</quality_bar>
 
<output_format>
Only JSON, matching:
{"items": [{"owner": "string or null",
            "task": "string, imperative, under 15 words",
            "due": "YYYY-MM-DD or null",
            "quote": "the sentence it came from"}],
 "assumptions": ["string"]}
</output_format>
 
<process>
Put any assumption you made in "assumptions", not in prose.
</process>

Iterate

First answers are drafts. Improve them with targeted follow-ups; start a fresh chat (with a summary) when the conversation has drifted or grown long. Change one thing at a time when a prompt misbehaves, and save versions that worked.

SituationFollow-up
Too generic"This could apply to anyone. Make it specific to the audience, product and constraints in my context."
Too long"Cut it by half. Keep whatever the quality bar needs."
Wrong direction"Stop. The goal is X, not Y. Go back to the outline and start again."
Part good, part bad"Keep sections 1–2 word for word. Rewrite section 3 so that …"
You can't say what's wrong"Give me 3 very different versions: safe, bold and unexpected." Then: "Like 2, but …"
You don't know if it's goodopen a fresh chat and run Critique in a fresh chat
It skipped the quality bar"Check your draft against each quality-bar item, one line each: pass or fail, with the evidence. Then fix the fails."
It agreed too easily"Argue the opposite case as strongly as you can."
It ignored an instruction"You missed the third requirement (…). Redo only that part."
It invented something"Where did the claim that … come from? If it isn't in what I gave you, replace it with [NEEDS SOURCE]."
A wrong assumption"Assumption 2 is wrong: … Redo only what depends on it, and list what changed."
You want to learn from it"Briefly explain why you made each choice."
The chat is long and muddled"Summarize this conversation as a handoff brief for a new chat: goal, audience, key facts I gave you, decisions (with reasons), rejected options, open questions and the current version of the deliverable. Under 400 words, in a form I can paste as the first message."

Editing and resubmitting your earlier message (most chat apps allow it) is often better than piling corrections on top: the bad answer leaves the context instead of anchoring the next one.

Goals and loops

In a chat you iterate by hand. An agent that can run commands and check its own work can iterate for you: you say when the work is done and it keeps going until it is. The skill then shifts from writing the next prompt to writing a good completion condition. In Claude Code:

CommandDoesUse it for
/goal <condition>after every turn a separate, small model checks the condition; while it isn't met, Claude starts another turn instead of handing back to youfinishing one task to a verifiable end: tests green, a validator passing, every item on a list done
/loop [interval] <prompt>runs the prompt (or a skill, as /loop 20m /name) again every interval; without an interval, Claude picks the next wait itself, from 1 minute to 1 hourwatching something that changes: a deploy, CI, review comments on a pull request
claude -p "/goal …"the same goal, run to the end without the interactive interfacescripts and scheduled jobs

/goal clear (or stop) ends a goal early; one goal is active per session. The condition-writing below applies to any agent that keeps working until a check passes.

Write a completion condition

The checker reads only the conversation: it can't run commands or open files. So the condition has to be something Claude's own output can show. Give it four parts:

PartExample
One measurable end state"npm test exits 0"
The check that proves it, printed"show its summary line"
Constraints that must still hold"without changing any test file"
A bound"or stop after 20 turns"
Weak conditionStrong condition
"Fix the tests.""npm test passes with 0 failures, shown by its summary line; no test file changed; or stop after 20 turns."
"Make the report good.""report.md has every section of the template, every figure cites a row of data.csv (list them), and python validate.py report.md prints OK; or stop after 10 turns."
"Make checkout faster.""npm run bench shows checkout p95 under 200 ms in two runs in a row; no feature flag removed; or stop after 15 turns."

The <quality_bar> of a skeleton prompt is usually the raw material: turn each check into something Claude prints. The Goal condition prompt in the library writes one for you.

Prompts that run in a loop

A /loop prompt runs again and again, so write it for the tenth run, not the first:

  • Safe to repeat: check before acting ("if the reminder is already posted, do nothing").
  • Quiet when nothing changed: "If everything is green, say so in one line."
  • A stop rule: "Stop once two rounds in a row find nothing new."
  • State outside the chat when it matters: a file the loop reads and updates, because long sessions get summarized and details drop out.

Bounds and cost

Every extra turn spends usage. Bound every goal (a turn limit, or "stop when two rounds in a row make no progress"), try a small slice of the work first, and in scripts cap the run with --max-turns and --max-budget-usd. A goal doesn't change permissions: Claude still asks before actions your settings don't allow, so unattended runs need a permission mode you trust, such as auto mode with its safety checks.

Verify

RiskCheck
Invented sourcesopen every link; ask it to quote the passage it relied on; without web search, treat references as leads to look up, not sources
Numbers and arithmeticrecompute in a spreadsheet or calculator; ask for formulas, not just results; use the app's code tool if it has one
Stale factsask for its knowledge cutoff; check prices, laws, versions and API details against the official current source
Plausible technical errorsrun the code, test the command somewhere safe, compare with the docs
Hidden guessesread the assumptions list first (the standard line asks for it); correct the wrong ones and ask for only the dependent parts to be redone
Overconfidence"List the factual claims in your answer, rate each high, medium or low confidence, and say how I could verify it."
One opinionask a fresh chat or a second assistant without your framing; disagreement shows you where to look
Agreement biasask neutrally; ask "what would make this wrong?"
Inconsistencyrun the same prompt 3 times (or regenerate); claims that change between runs are the ones to check first
Drift from your sources"Use only the documents I provided, not general knowledge; cite the passage for each claim and remove any claim you can't support."
Forced answersallow "I don't know": "If you are not sure, say so rather than guess." Anthropic's guide lists this as a way to reduce hallucinations

Image prompts

Image generators (Midjourney, Flux, Ideogram, Adobe Firefly, and the image modes of chat assistants) respond to visual description, not to instructions or arguments, and they don't read the skeleton. Write what the camera or the painter would see, in one paragraph. To get that paragraph, give a chat assistant the brief in the skeleton and let it write the image prompts: Image prompt from a brief.

ElementSpecifyExample words
Subjectwho or what, how many, key details, pose"two elderly fishermen mending a red net"
Mediumphoto, oil painting, watercolor, 3D render, vector illustration, linocut, pencil sketch"risograph print"
Stylemovement, era, genre; describe the traits rather than leaning on a living artist's name"1960s travel poster: flat shapes, limited palette, bold sans-serif feel"
Compositionframing, viewpoint, placement, negative space"wide shot, subject in the lower third, lots of empty sky above"
Camera and lensfor photographic looks: focal length, depth of field, angle"85mm portrait lens, shallow depth of field", "24mm wide angle, low angle", "macro"
Lightingsource, direction, quality, time of day"soft window light from the left", "golden-hour backlight", "hard on-camera flash"
Colorpalette, temperature, contrast"muted teal and orange", "monochrome blue", "pastel, low contrast"
Moodthe feeling"quiet and melancholic", "busy and joyful"
Aspect ratiothe shape the destination needs1:1 square, 4:5 feed post, 16:9 widescreen, 9:16 vertical story, 2:3 poster
Negative promptwhat to exclude, where the tool supports itlist nouns ("text, watermark, frame"), not "no …" sentences
Seedthe random starting point, in tools that expose itreuse a seed while changing one word to get controlled variations
Reference imagesimage prompts, style references, character references, image-to-image, inpainting (editing one region)"match the style of the attached image", "keep the same character"
Text in the imagekeep it very short and put the exact words in quotesGoogle's Imagen guide suggests 25 characters or fewer; expect misspellings and add real type in a design tool
[medium: photo | oil painting | watercolor | 3D render] of
[subject, e.g. two elderly fishermen mending a red net],
[action or pose, e.g. laughing mid-conversation], in
[setting, e.g. a small harbor at dawn], [composition, e.g.
wide shot, subjects in the lower third], [camera and lens,
e.g. 35mm, eye level],
[lighting: window light | golden hour | overcast | flash],
[palette, e.g. muted teal and orange], [style or era, e.g.
1970s documentary photo], [mood, e.g. quiet and warm].
Aspect ratio [ratio: 1:1 | 4:5 | 16:9 | 9:16 | 2:3].
Exclude: [nouns to avoid, e.g. text, watermark, frame].
Product photo of a matte black ceramic coffee mug with a
thin gold rim, steam rising, on a pale oak table by a
window. Close-up, mug slightly left of center with empty
space on the right for text. 50mm lens, shallow depth of
field. Soft morning window light from the left. Warm
neutral palette, cream and walnut tones. Calm, minimal
mood. Aspect ratio 4:5.
Exclude: text, logos, hands, clutter.

Common failures: exact counts above three or four, hands, legible text, the same character across several images (use the tool's character-reference feature) and precise layouts (generate the image, then lay it out in a design tool). Check the tool's terms before commercial use, and don't generate real people's likenesses or others' trademarks without the rights.

Video prompts

Video generators (Runway, Veo, Sora, Kling) make short clips, usually seconds rather than minutes per generation, with limits that vary by tool and change often. Prompt one shot at a time, the way a director writes a shot list; plan the list itself with a chat assistant using Video shot list.

ElementSpecifyExample words
Shotframing and angle"close-up", "wide establishing shot", "low angle", "over the shoulder", "aerial"
Subjectwho or what, with fixed details you will repeat in every shot"a woman in a yellow raincoat with short black hair"
Actionone clear action and its pace"turns and walks slowly toward the camera"
Settingplace, time, weather"a rain-soaked night market in Taipei"
Camera moveone primary move per shotstatic (locked off), pan, tilt, dolly in or out, tracking, crane, handheld, orbit, zoom
Lens and focusdepth of field, focus changes"shallow depth of field", "rack focus from her face to the sign behind"
Duration and pacingclip length, speed"5 seconds", "slow motion", "real time"
Stylelook and grade"35mm film grain, warm grade", "stop-motion", "hand-drawn animation"
Lighting and coloras for images"neon reflections, teal and magenta"
Audiofor tools that generate sound: dialogue, effects, ambience, each in its own sentence"Rain patters on canvas. A vendor calls out prices."
Continuitywhat must match across shotsidentical character and wardrobe descriptions, the same reference image, the previous clip's last frame as the next clip's first frame
[shot: wide | medium | close-up | over the shoulder] of
[subject with fixed details, e.g. a woman in a yellow
raincoat with short black hair], [one action with its
pace, e.g. turns and walks slowly toward the camera],
in [setting, e.g. a rain-soaked night market at night].
Camera:
[move: static | pan | dolly in | tracking | handheld].
Lens: [focus, e.g. shallow depth
of field, rack focus to the sign].
Style: [look, e.g. 35mm film grain, warm grade]. Lighting:
[light, e.g. neon reflections, teal and magenta].
Duration: [seconds, e.g. 5] seconds. Audio: [sounds,
one per sentence, e.g. Rain patters on canvas.]

Tool guides agree on a few rules: one camera move per shot (Runway's guide warns that several produce chaotic motion); describe what you want ("smooth, stable camera") rather than what you don't ("no camera shake"); in image-to-video, describe the motion, not what the image already shows; keep changes subtle in short clips. Generate shot by shot, then cut it together in an editor (see Video editing and App animation & motion).

System prompts and prompt libraries

A system prompt is a set of instructions given to the model before the conversation starts; developers use it to set the rules and format for every reply. In chat apps the user-facing versions are custom instructions (personalization settings applied to every chat) and projects or custom assistants (ChatGPT projects and GPTs, Claude projects, Gemini Gems): a space with its own instructions and reference files. Names and limits change; the idea is persistent context you don't retype.

Put in custom instructionsExample
Who you are and your level"I run a 3-person design studio; I'm new to finance and law."
How to treat unknowns"Ask before assuming. Mark uncertain claims. Say 'I don't know' when you don't."
Default format"Lead with the answer. Tables for comparisons. No preamble."
Style"Plain US English; define jargon on first use."
Standing rulesthe standard lines: no invention with [NEEDS SOURCE], assumptions listed, up to 3 questions first
About me: I run a small product studio.
I'm expert in visual design, a beginner in
finance, law, marketing and engineering.
 
How to answer: lead with the answer, then
reasons. Use tables for comparisons. Define
technical terms the first time. Use US spelling.
 
Standing rules: Never invent numbers, names, quotes or
sources: write [NEEDS SOURCE] where support is missing.
Ask me up to 3 questions first if anything missing would
change your answer; otherwise go on. When an answer rests
on guesses, end with a list of the assumptions you made.

A prompt library is your collection of prompts that worked, saved with their placeholders. Keep each as a Quick and a Full version, like the Prompt library below, and note when to use it, which tool it was tested in, the date, and one good output. Review them when you switch tools or models: what worked before may need adjusting.

prompt library
prompts/custom-instructions.mdmethod/skeleton.mdimprove-my-prompt.mdinterview-me.mdoptions-before-a-draft.mdcritique-in-a-fresh-chat.mdfact-check.mdwriting/edit-for-clarity.mdimages/product-photo.mdvideo/shot-list.md

Privacy

What you paste may be stored in chat history, seen by the provider's staff under their policies, and, on some consumer plans and settings, used to train future models unless you opt out. Business and enterprise plans usually exclude your data from training by default, but read your plan's terms and your employer's rules.

Don't pasteWhyInstead
Passwords, API keys, tokens, private keysthey end up in logs and historyuse placeholders like [API_KEY]; rotate any secret you pasted by mistake
Other people's personal data (customers, patients, staff)privacy law (GDPR, HIPAA and others) and contractsanonymize: replace names, emails, addresses and IDs with labels
Confidential business information (unreleased financials, client data under NDA, trade secrets)may breach agreementsuse your organization's approved tool and plan; summarize instead of pasting raw
Your own sensitive identifiers (ID numbers, bank details, medical records)no answer needs themdescribe the situation without the identifiers
Untrusted documents into an assistant that can act (send email, browse, edit files)text in a document or web page can contain hidden instructions: prompt injection, ranked first in the OWASP Top 10 for LLM applicationsreview actions before they run; don't give agents more access than the task needs

Prompt library

Generic prompts for the method itself, in any field. Quick is the minimum that still works; Full is the skeleton filled in. Replace each placeholder: pick one option, or write your own value. The domain sheets have a library each for their own deliverables.

Improve my prompt

Stage: produce · Use when: you have a rough prompt and want it rebuilt in the skeleton before you use it.

Quick

Rewrite this prompt in the skeleton (materials, context,
examples, task, requirements, quality_bar, output_format,
process): [paste your prompt]. Where it needs facts only
I have, write [NEEDS SOURCE: what's missing] instead of
inventing them. Then list the 3 changes that matter most.

Full

<materials>
<draft_prompt>
[paste your prompt]
</draft_prompt>
</materials>
 
<context>
I'll use it in [tool, e.g. a chat assistant with web
search on], [use: once | as a template I reuse]. I
know [my level: nothing | the basics | a lot] about
[field, e.g. email marketing].
</context>
 
<task>
My draft rebuilt as a strong prompt in this
skeleton: materials, context, examples, task,
requirements, quality_bar, output_format, process.
</task>
 
<requirements>
- The task names the deliverable by its
  professional name, and the decision it feeds.
- Replace any "act as" or "you are" line with
  the standards, frameworks or methods the
  field uses, and say who the output is for.
- Turn vague words into placeholders in one of
  two forms: [label: option | option] using the
  field's own terms, or [label, e.g. example].
- Keep the three standard lines: no invention with [NEEDS
  SOURCE], up to 3 questions first, assumptions at the end.
- Never invent numbers, names, quotes or sources:
  write [NEEDS SOURCE] where support is missing.
</requirements>
 
<quality_bar>
Before answering, check your rewrite against:
- Everything in my draft survives, or is
  cut on purpose with the reason given.
- The quality bar holds 3–5 checks a professional
  in the field would actually apply.
- Every placeholder is something only I can fill.
</quality_bar>
 
<output_format>
The rewritten prompt in one text block; the 3 changes
that matter most, and why; the placeholders I must fill.
</output_format>
 
<process>
Ask me up to 3 questions first if anything
missing would change your answer; otherwise go
on. End with a list of the assumptions you made.
</process>

Interview me

Stage: interview · Use when: you don't know what a good brief for this deliverable contains.

Quick

I want [rough goal, e.g. a pricing page for my app].
I'm new to [field, e.g. conversion copywriting]. Before
producing anything, ask me the questions a professional
would ask a client first: at most 10, grouped, each
with why it matters and 2–3 typical answers. Then stop.

Full

<context>
I want [rough goal, e.g. a pricing page for my budgeting
app]. I'm
[my level: new to | familiar with | experienced in] [field,
e.g. conversion copywriting]. What exists: [current state,
e.g. a draft page and last month's analytics].
</context>
 
<task>
Interview me before you produce anything. The
end result will be [deliverable, e.g.
landing-page copy with layout notes]; first you
need the brief a professional would collect.
</task>
 
<requirements>
- At most 10 questions, grouped by topic, in
  the order a professional would ask them.
- For each: one line on how the answer changes
  the deliverable, and 2–3 typical answers I
  can pick from, in the field's own terms.
- No deliverable, outline or options yet.
- Never invent numbers, names, quotes or sources:
  write [NEEDS SOURCE] where support is missing.
</requirements>
 
<quality_bar>
Before answering, check your questions against:
- Each answer would change the deliverable;
  drop any question that wouldn't.
- Nothing I already told you is asked again.
- The typical answers teach me the
  vocabulary I'll need to judge the result.
</quality_bar>
 
<output_format>
Numbered questions under group headings, and nothing else.
</output_format>
 
<process>
Ask all the questions in one message, then stop. When I
answer, write the brief back as a bullet list for me to
confirm, and end with a list of the assumptions you made.
</process>

Teach me the field

Stage: interview · Use when: you need the vocabulary and the standards before you can judge anything.

Quick

I'm about to work on [task, e.g. choosing a database]
in [field, e.g. backend engineering] and know nothing
about it. Teach me the 12 terms I'll hear most, the 3
named standards or frameworks professionals use, and
the 5 beginner mistakes, applied to my case, in under
600 words. Check every framework is a real, named one.

Full

<context>
I'm about to work on [task, e.g. choosing a database
for an app with 10,000 users] in [field, e.g. backend
engineering]. My background: [background, e.g. product
designer who can read code]. I'll use this to [use,
e.g. brief a contractor and judge their proposal].
</context>
 
<task>
A one-page primer on this field, applied to my task.
</task>
 
<requirements>
- The 12 terms I'll hear most, one line
  each, with an example from my case.
- The 3 named frameworks, standards or methods
  professionals use to decide here, and what each checks.
- The 5 mistakes beginners make, and 5 questions to
  ask any expert or AI before accepting their answer.
- Sources to read next: official
  docs, standards, well-known books.
- Never invent numbers, names, quotes or sources:
  write [NEEDS SOURCE] where support is missing.
</requirements>
 
<quality_bar>
Before answering, check your draft against:
- Every term is one I'll meet on this task
  in the next month, not textbook trivia.
- Each framework is real and named, and
  described the way its authors describe it.
- A professional would agree with
  the list of beginner mistakes.
</quality_bar>
 
<output_format>
Four short sections, with tables where they
help; under 600 words; plain US English.
</output_format>
 
<process>
End with a list of the assumptions you made about my task.
</process>

Options before a draft

Stage: options · Use when: there are several reasonable ways to do something and you don't know them.

Quick

For [goal, e.g. onboarding emails for a new app],
give me 3 genuinely different approaches a
professional might take, a comparison table (best for
| effort | main risk) and a recommendation for my
situation: [constraints, e.g. one person, two weeks].
Check they differ in method, not wording. Then stop.

Full

<materials>
[paste the brief from the interview, or your notes]
</materials>
 
<context>
Constraints: [constraints, e.g. one person, two
weeks, no budget for paid tools]. What matters most:
[priority: speed | cost | quality | low risk].
</context>
 
<task>
2–4 materially different approaches to
[goal, e.g. onboarding emails for our app],
so I can choose before anything is drafted.
</task>
 
<requirements>
- Approaches that differ in method or
  structure, not just in wording or tone.
- For each: a one-paragraph summary, what it's best for,
  effort, main risk, and what it looks like done well.
- Name the standard, framework or method
  each approach follows, if it has one.
- Never invent numbers, names, quotes or sources:
  write [NEEDS SOURCE] where support is missing.
</requirements>
 
<quality_bar>
Before answering, check your draft against:
- A professional would see each option
  as a real choice, not a straw man.
- The trade-offs say what each approach makes worse.
- The recommendation follows from my constraints
  and priority, and says what would change it.
</quality_bar>
 
<output_format>
One short section per approach; a comparison
table (approach | best for | effort | main
risk); a recommendation in under 80 words.
</output_format>
 
<process>
End with a list of the assumptions you made. Then
stop and wait for my choice; don't draft anything.
</process>

Critique in a fresh chat

Stage: review · Use when: you have a draft (yours or the model's) and need an expert's red pen. Open a new chat first.

Quick

This is a fresh chat. Review this draft for [audience, e.g.
a CFO deciding on next year's budget]: [paste draft]. Write
the 5–7 criteria a professional would judge it on, score it
1–5 on each with evidence, then list the 5 worst problems
with fixes. Do not rewrite it and do not praise it.

Full

<materials>
<draft>
[paste the draft]
</draft>
<brief>
[paste the brief or prompt the draft was written from]
</brief>
</materials>
 
<context>
This is a fresh chat: you did not write this
draft. It is for [audience, e.g. a CFO who reads
only the first paragraph], who will use it to
[decision, e.g. approve or cut the budget].
</context>
 
<task>
A critique of the draft against the
brief and the standards of its field.
</task>
 
<requirements>
- First the rubric a professional would use: 5–7
  criteria, naming any standard the field uses.
- Score the draft 1–5 on each, with
  one line of evidence quoted from it.
- The 5 most important problems, worst
  first, each with a concrete fix.
- Do not rewrite the draft. Do not praise it.
- Never invent numbers, names, quotes or sources:
  write [NEEDS SOURCE] where support is missing.
</requirements>
 
<quality_bar>
Before answering, check your critique against:
- Every problem points at a specific passage.
- The ranking follows the reader's decision, not your taste.
- If there are fewer than 5 real problems,
  you say so instead of padding the list.
</quality_bar>
 
<output_format>
The rubric; a score table (criterion | score |
evidence); the ranked problems (problem | where | fix).
</output_format>
 
<process>
End with a list of the assumptions you made.
</process>

Take the top fixes back to the chat that wrote the draft: Apply fixes 1–3. Keep everything else unchanged. List what you changed.

Fact-check an answer

Stage: review · Use when: an answer contains claims, numbers or sources you plan to rely on.

Quick

List every factual claim, number and citation in this
answer as a table (claim | confidence high/medium/low
| how to verify | primary source to check): [paste
answer]. Redo any arithmetic step by step, and check
for anything that looks invented or out of date.

Full

<materials>
<answer>
[paste the answer]
</answer>
</materials>
 
<context>
I plan to use this in [use, e.g. a board update
next week]; a wrong number would [consequence,
e.g. undermine the whole update].
</context>
 
<task>
A fact-check of the answer before I rely on it.
</task>
 
<requirements>
- Every factual claim, number,
  date, name and citation in it.
- For each: confidence (high, medium or low), how
  to verify it, and the primary source to check.
- Redo every calculation step by step, or
  with your code tool if you have one.
- Flag anything that may be out of date given your knowledge
  cutoff, and any citation you can't confirm exists.
- Never invent numbers, names, quotes or sources:
  write [NEEDS SOURCE] where support is missing.
</requirements>
 
<quality_bar>
Before answering, check your table against:
- No claim from the answer is missing.
- "High" means you could say where it is documented.
- Corrected numbers show the working.
</quality_bar>
 
<output_format>
A table: claim | confidence | how to verify
| primary source | corrected value (if
any). Then the 3 claims to check first.
</output_format>
 
<process>
If web search is on, check the 5 riskiest
claims and cite the pages you read. End
with a list of the assumptions you made.
</process>

Image prompt from a brief

Stage: produce · Use when: you know what an image is for but not how to describe it to a generator.

Quick

Write 4 prompts for [tool, e.g. Midjourney] for [use,
e.g. a blog header, 16:9] showing [idea, e.g. a calm desk
at dawn]: subject, medium, composition, lighting, color,
mood, aspect ratio; vary one element per prompt. Check
any in-image text is under 25 characters, in quotes.

Full

<materials>
[paste brand guidelines, or describe 1–3 reference images]
</materials>
 
<context>
The image is for [use, e.g. a blog header, 16:9, with
the title overlaid on the right]. The message: [idea,
e.g. freelancing doesn't have to be chaotic]. The
audience: [audience, e.g. freelancers aged 25–45]. The
brand feels [adjectives, e.g. calm, warm, competent].
</context>
 
<examples>
Like: [paste a prompt, or describe
an image you like, and why]
Not like: [paste or describe one you don't, and why]
</examples>
 
<task>
4 image prompts for
[tool: Midjourney | Flux | Ideogram | Adobe Firefly],
ready to paste.
</task>
 
<requirements>
- Each prompt is one descriptive paragraph: subject,
  [medium: photo | 3D render | illustration | watercolor],
  composition and framing, camera and lens for photographic
  looks, lighting, color palette, mood, aspect ratio.
- Each varies one element from the first:
  lighting, viewpoint, palette or style.
- Describe style traits rather than naming living artists.
- A negative list of nouns to exclude.
- Never invent numbers, names, quotes or sources:
  write [NEEDS SOURCE] where support is missing.
</requirements>
 
<quality_bar>
Before answering, check your prompts against:
- They describe what a camera or painter would
  see, with no instructions or arguments.
- Space is left where the title goes.
- Any in-image text is under 25 characters and in quotes.
</quality_bar>
 
<output_format>
4 numbered prompts, each followed by one line on
what it changes; the negative list; then any tool
syntax (aspect ratio, exclusions) separately.
</output_format>
 
<process>
End with a list of the assumptions you made about the brief.
</process>

Video shot list

Stage: produce · Use when: you want a short generated video and need shots that cut together.

Quick

Write a shot list for a [length, e.g. 20]-second
video about [idea, e.g. our app's launch] for
[platform, e.g. Instagram Reels, 9:16]. Per shot:
type, subject, one action, setting, one camera move,
duration, style, lighting, audio. Check recurring
characters have the same description, word for word.

Full

<materials>
[paste the script, storyboard
notes or reference images, if any]
</materials>
 
<context>
The video: [idea, e.g. a 20-second teaser for our
budgeting app's launch] for [platform, e.g. Instagram
Reels, 9:16]. Tool: [tool: Runway | Veo | Sora | Kling];
each generation is a few seconds long. Look:
[look: live action | 3D | stop-motion | hand-drawn].
Audience: [audience, e.g. freelancers who hate admin].
</context>
 
<task>
A shot list, then one standalone generator
prompt per shot, so the clips cut together.
</task>
 
<requirements>
- [number of shots, e.g. 5] shots; for each: shot type,
  subject, one action with its pace, setting, one primary
  camera move, duration, style, lighting and color, audio.
- Recurring characters and props get one fixed
  description, repeated word for word in every shot.
- Describe what you want, not what you don't:
  "smooth, stable camera", not "no shake".
- Never invent numbers, names, quotes or sources:
  write [NEEDS SOURCE] where support is missing.
</requirements>
 
<quality_bar>
Before answering, check your shot list against:
- The durations add up to the total length.
- Each prompt stands alone: pasted by itself, it
  gets the right character, setting and look.
- Each shot has exactly one action and one camera move.
</quality_bar>
 
<output_format>
A shot table (shot | type | action | camera | duration
| audio), then each shot's prompt as its own paragraph.
</output_format>
 
<process>
Ask me up to 3 questions first if anything
missing would change your answer; otherwise go
on. End with a list of the assumptions you made.
</process>

Goal condition

Stage: produce · Use when: you're about to let an agent finish a task on its own with /goal.

Quick

/goal [end state, e.g. npm test exits 0], shown by [printed check, e.g.
its summary line]; without [constraint, e.g. changing test files]; or
stop after [turns: 10 | 20 | 30] turns.

Full

<materials>
[paste the task, its quality bar, and how the work is checked: test
commands, validators, templates]
</materials>
 
<context>
I'll run this as a goal in [agent: Claude Code | another agent that
re-checks a condition after every turn]. The checker reads only the
conversation: it can't run commands or open files.
</context>
 
<task>
Write a completion condition for this task, under 4,000 characters.
</task>
 
<requirements>
- One measurable end state, and the exact check whose printed output
  proves it.
- The constraints that must still hold: files not to touch, behavior
  to keep.
- A bound: [bound: a turn limit | no progress in two rounds | both].
- Never invent commands or file names: write [NEEDS SOURCE] where you
  don't know them.
</requirements>
 
<quality_bar>
Before answering, check your draft against:
- Could someone reading only the conversation decide met or not met?
- Is "done" one state, not a list of hopes ("better", "clean")?
- Does it stop in a bounded number of turns even if the task turns out
  to be impossible?
</quality_bar>
 
<output_format>
The condition as one paragraph, then the /goal line to paste, then one
line saying what Claude must print each turn.
</output_format>
 
<process>
Ask me up to 3 questions first if anything missing would change the
condition. End with a list of the assumptions you made.
</process>

Use the domain sheets

Every domain sheet has the same backbone, in this order, with the field's own sections (trade-off tables, capacity estimates, print specs and the like) between Vocabulary and Brief the model:

SectionWhat it gives youWhere you use it
How experts thinkthe decisions and questions a professional runs through firstyour answers in the Interview stage
Vocabulary25+ terms, each with a phrase to drop into a promptthe options in enumerated placeholders; <requirements>
The field's own sectionsthe methods, formats and numbers that field works with<requirements>, <output_format>, <quality_bar>
Brief the modelthe inputs to provide, each with the skeleton slot it goes in<materials>, <context>, <requirements>
What to ask fordeliverables by their professional names, by stage<task>
The prompt chainfour prompts (Interview, Options, Produce, Review) for the field's main deliverablerun them in order; Review in a fresh chat
Goals and loopscompletion conditions for the field's tasks, the loops that fit it, and what a checker can't judge there/goal and /loop in an agent such as Claude Code
Prompt library6–8 prompts, one per deliverable a professional produces, each in a Quick and a Full versionthe deliverables outside the chain
Worked examplea weak prompt rebuilt in the skeleton, what came back, how an expert judged it, and the follow-upa model of the whole loop
Judge the outputthe expert's rubric, the same checks every <quality_bar> on that sheet asks forreading the output; the Review stage
Pitfallswhere AI output in that field is usually wrong or generic<quality_bar>; what to look for in review

The sheets:

SheetHelps you with
Game mechanics & visual designcore loops, mechanics, balance, game feel, art direction, concept-art prompts
Posters & printlayout, hierarchy, typography, print specs, poster and flyer prompts
Video editingpacing, cuts, story structure, edit notes, captions, generated footage
Content generationsocial posts, blogs, scripts and newsletters at volume without sounding generic
UI/UXflows, wireframes, usability, accessibility, design critiques
App animation & motiontransitions, easing, timing, micro-interactions, motion specs
Brandingpositioning, naming, voice, identity systems, logo briefs
Marketingaudience, messaging, channels, campaigns, landing pages, metrics
Salesprospecting, discovery calls, objections, proposals, follow-ups
Software architecturemodules and boundaries, patterns, quality attributes, ADRs, C4 diagrams
System designdistributed systems: estimates, storage, caching, scaling, failure modes
Startups & ideationidea generation, validation, business models, pitches
Architectural designbuildings and spaces: briefs, plans, massing, materials, renders
3D printingprintable design, materials, slicer settings, troubleshooting prints
City design & planningland use and zoning, streets and transit, housing, resilience, the planning process
Financial analysisstatements, ratios, models, valuation, scenario analysis
Writingstructure, clarity, voice and editing for any kind of prose

References