Checklist · Quality
Prompt Review Checklist
Prompts are program logic written in prose, and they get reviewed like prose: someone reads them, thinks they sound reasonable, and approves.
This is the list that turns that into a review. Most items catch a specific, common failure.
Ticks are saved in this browser only — close the tab and come back to where you were. Nothing is sent anywhere and there is no account.
0 of 20 done · 5 critical outstanding
Structure
0/4Instructions buried after three paragraphs of context compete with that context for attention. State the job, then supply what the job needs.
Check this with the prompt linterWithout delimiters the model has to infer where your instructions end and the data begins. That inference is exactly what prompt injection exploits.
Check this with the delimiter checkerPrompt caching matches on prefixes. A dynamic timestamp at the top invalidates everything after it and turns a cheap cached read into a full-price request.
Check this with the prompt cache checkerPrompts accrete. Lines get added to fix one case and never removed, and the fiftieth instruction dilutes the first.
Check this with the prompt optimizer
Ambiguity
0/4The model has to resolve these, and it resolves them differently at different temperatures and in different contexts. "Under 80 words" is checkable; "brief" is not.
Check this with the prompt linterWhen instructions conflict the model picks one, usually the later one, and the choice is unstable across runs.
Check this with the system prompt analyzer"Do not be verbose" tells the model what is wrong with an answer it has not written yet. "Answer in at most three sentences" tells it what to write.
Unspecified edge cases are where hallucination lives. A model asked a question its context cannot answer will usually answer anyway unless told what else to do.
The output contract
0/4A described format and a shown format produce different compliance rates. Show the shape.
Structured output modes constrain decoding. Asking politely in the prompt does not, and the difference shows up at scale.
Check this with the tool schema builder"Here is the JSON you requested:" is valid English and invalid JSON. Parsers do not appreciate the courtesy.
Otherwise a refusal arrives as prose where structured data was expected, and fails at the parser rather than at the check that should have caught it.
Examples
0/4One example is read as a template to imitate. Two or more communicate the pattern rather than the instance.
Check this with the few shot formatterEasy examples confirm the model already knew what to do. The example that earns its tokens is the one covering the case you keep getting wrong.
Where an example and an instruction disagree, the example wins. A stale example silently overrides the rule above it.
Examples are the part of a prompt most likely to be copied into documentation, a ticket or a screenshot.
Check this with the pii redactor
Safety and cost
0/4This is the cheapest mitigation for prompt injection that exists, and the one most often missing.
Check this with the prompt injection scannerSystem prompts leak. Assume anything in one can be extracted and write it accordingly.
Check this with the secret scannerThe template is a fraction of what you send. The number that matters is what the model receives on a real request.
Check this with the token counterA 4,000 token prompt at a million calls a month is a budget line, not a rounding error.
Check this with the llm cost calculator
Tools for this list
- Prompt LinterStructural review of a prompt: what is costing you money and what will fail.
- Prompt Injection ScannerTen published injection patterns, with severity and position.
- Prompt Cache Structure CheckerFinds cache-busting content and measures the prefix that survives it.
- LLM Token CounterReal BPE tokenization, not characters ÷ 4. Shows which counts are exact and which are estimates.
Questions
Who should run this review?
Someone who did not write the prompt. Most items on this list catch things the author cannot see, because the author knows what they meant.
How long should a prompt review take?
Ten minutes for a prompt under a page. If it takes longer than that, the length is itself a finding.
Does this apply to prompts inside an agent?
Yes, and more so. An agent runs its system prompt on every iteration, so both the ambiguity and the token cost are multiplied by the loop count.