THE PROMPT REVIEW CARD · a careful reader for every prompt
WAKES WHEN someone writes, edits or debugs a prompt, or asks why a model ignores an instruction
THE LOOP
promptcheck.py check · line by line
outline · what the model is told, by kind
fix HIGH first, then MEDIUM; keep the old
diff · what it fixed, what it broke
test it on real cases, then ship
NEVER
Call a clean report a good prompt
Fix a rule by shouting it in capitals
Rewrite without keeping the old version
IT MAKES check — every finding, with its line; outline — the prompt as the model reads it: every instruction numbered and typed; diff — what the rewrite fixed, and what it introduced.
THE STANDARD read it the way the model will; leftovers first; two rules that cannot both hold; say what to do, not only what not to do; plain words over shouting; keep the old version.
PROOF SELFTEST 15/15 · witnessed in Claude 2026-10-09 · Edition 1.
THE SEAL 98 of 100 · LEGENDARY · WITNESSED · Trigger 5 · Machinery 5 · Law 5 · Portability 5 · Proof 5
IT CAN BE WRONG an AI reading a text file: it can be wrong and can invent a number, a rule, a name or a date; check what matters against your own records and the source; the risk is yours. THE-CLAUSES.md rides in the packet and is part of the licence.
THE PUNCH · SHA-256 OF SKILL.MD · 58B046CB5C52FE00D178EF43
CITE THIS CARDTHE PROMPT REVIEW CARD, Edition 1. Lund Studio LLC, Westminster, Colorado. https://lundr.tech/?view=prompt-review-card. Punch 58B046CB5C52FE00D178EF43. Retrieved 2026-10-10.
What it is.
Reviews a system prompt or skill instructions line by line before it ships: leftover placeholders and TODOs, always-and-never contradictions, clashing word limits, brief-versus-thorough, unclosed tags, vague words, a do-not with no instead, heavy capital-letter emphasis, a missing output shape, example or audience, hard-coded years, repeated lines and length — each with its line number; outlines the prompt as the model reads it, every instruction typed MUST, NEVER, IF, FORMAT or ROLE; and compares two versions to show what a rewrite fixed or broke.
It carries a machine that shows its working: check — every finding, with its line; outline — the prompt as the model reads it: every instruction numbered and typed; diff — what the rewrite fixed, and what it introduced — 15 checks in its selftest, every command on the record. It will never call a clean report a good prompt; never fix a rule by shouting it in capitals; never rewrite without keeping the old version.
Six laws, written into the card.
They are in the card itself, so the AI follows them.
READ IT THE WAY THE MODEL WILLEvery line, in order, as an instruction.
LEFTOVERS FIRSTA placeholder or TODO that ships is a bug a user will see.
TWO RULES THAT CANNOT BOTH HOLDmake the model choose; decide which wins, and when, in the prompt itself.
SAY WHAT TO DO, NOT ONLY WHAT NOT TO DOA do-not with no instead leaves the model guessing; an outline with more NEVER than MUST is a prompt that mostly forbids.
PLAIN WORDS OVER SHOUTINGNewer models follow instructions closely; capitals and CRITICAL can make them over-apply a rule.
KEEP THE OLD VERSIONEvery rewrite is diffed against it, and tested on real cases before it ships.
What rides in the card.
In the card’s own voice, with a machine that shows its working.
THE GUIDEreferences/THE-FIXES.md
THE MACHINEpromptcheck.py · three commandscheck — every finding, with its line; outline — the prompt as the model reads it: every instruction numbered and typed; diff — what the rewrite fixed, and what it introduced. Every command prints its working and refuses a bad input; 15 checks in its selftest, every command on the record.
What it does once your AI has it.
check Every finding, with its line
outline The prompt as the model reads it: every instruction numbered and typed
diff What the rewrite fixed, and what it introduced
On the record A rushed support prompt, reviewed line by line, outlined as the model reads it (more NEVER than MUST), then a rewrite diffed against it: every high and medium finding fixed, nothing high or medium introduced.
What it will never do.
It will never call a clean report a good prompt; never fix a rule by shouting it in capitals; never rewrite without keeping the old version.
It is a reader's checklist, not a judge of the prompt's ideas: a clean report means nothing obvious is wrong, not that the prompt is good. Its contradiction checks catch the plain kind; a subtle conflict in meaning needs a person. Test every prompt on real cases (THE EVAL CARD) before trusting it. It is an AI reading a text file: it can be wrong, so check what matters against your own records and the source.
What’s in the buy.
CARD.md — the whole card: who it is, its laws, when it says no, what it carries · SKILL.md — the door your AI reads first · START-HERE.md — the first five minutes, for you
THE-FIXES.md — the guide in references/, in the card's own voice
scripts/promptcheck.py — the machine: check · outline · diff, standard library only, selftest 15/15
WITNESS.md + SELFTEST.md — every command on the record, as it printed · MANIFEST.md, every file hashed · AUDIT.md, the twelve checks
MY-LEDGER.md — the card's memory, on your own machine · TIN.md · LICENSE-NOTE.md · THE-CLAUSES.md · HOSTS.md
card.svg + card-machine.svg + card.json · card.html, the card as one offline file · the doors for ChatGPT, Gemini, Cursor, Claude Code and MCP hosts (rules/, system/, mcp/)
PROOF · SELFTEST 15/15 · 3 COMMANDS ON THE RECORD · WITNESSED IN CLAUDE 2026-10-09 · EDITION 1 · PUNCH 58B046CB5C52FE00D178EF43
ON EVERY DOOR · A CARD FOR YOUR AI, A FILE FOR YOUR COMPUTER
In Claude: turn on code execution under Settings › Capabilities, then Customize › Skills › + › Create skill, and upload the zip as it is — START-HERE.md in the box walks you through it, and tells you how to keep the ledger. In ChatGPT, Gemini and the rest: a Project, a GPT or a Gem with the card’s files attached and the short door in the box pasted as its instructions. The words run anywhere an AI reads Markdown; the machines run wherever the host runs Python. Witnessed in Claude only. The host marks →
Take it.
Nº 831 PROPOSED — LAUNCHING SOON
Sold as is under the term printed. A card instructs an AI you operate; results depend on your model, your files and your judgement. Not medical, legal, tax or financial advice, never the person’s boss, and not a licence to practise. The terms →
One payment. The file is yours to keep and keeps working at its edition; new editions issued in the year after you buy reach you by email as replacement files. Tax is added at checkout where it applies. Nothing auto-renews.
A TERM, NOT A SUBSCRIPTION: NOTHING RENEWS ITSELF AND NOBODY IS CHARGED AGAIN. WHEN A TERM ENDS THE FILES STAY ON YOUR COMPUTER AND STAY READABLE — FREEZE, NOT LOSS.
THE MACHINE · IN THE OPEN · FROM THE WITNESSED RUN OF 2026-10-09
promptcheck.py, every command showing its working.
A small Python program, standard library only. Your AI runs it; you can too. Every block below is pasted from the card’s own WITNESS.md, as printed.
check
every finding, with its line
outline
the prompt as the model reads it: every instruction numbered and typed
diff
what the rewrite fixed, and what it introduced
selftest
15 checks that prove the machine; it must print 15/15
check · EVERY FINDING, WITH ITS LINE
$ python3 scripts/promptcheck.py check draft.txt
PROMPT REVIEW · draft.txt · 12 lines · about 108 tokens
HIGH · line 3 · "always use the" (line 1) and "never use the" (line 3) cannot both hold
HIGH · line 7 · different word limits: 100 (line 2), 50 (line 7)
HIGH · line 8 · left in: {{refund_policy}}
HIGH · line 9 · left in: TODO
MEDIUM · line 1 · asks for brevity (line 1) and for thoroughness (line 1): say which wins, and when
MEDIUM · line 5 · <rules> is opened and never closed
NOTE · whole prompt · no example: one or two show the shape and tone better than a description
NOTE · line 3 · says what not to do, not what to do instead
NOTE · line 4 · "appropriately" — say what it means here, concretely
NOTE · line 4 · "relevant" — say what it means here, concretely
NOTE · line 4 · "etc" — say what it means here, concretely
NOTE · line 6 · says what not to do, not what to do instead
NOTE · line 10 · 3 emphasis word(s) in capitals and shouting on line 10: newer models follow plain instructions closely; heavy emphasis can make them over-apply a rule
NOTE · line 10 · hard-coded year 2024: dates go stale — pass today's date in
NOTE · line 11 · says what not to do, not what to do instead
NOTE · line 11 · repeats line 6 word for word
VERDICT · 4 high · 2 medium · 10 note · FIX THE HIGH LINES FIRST
outline · THE PROMPT AS THE MODEL READS IT: EVERY INSTRUCTION NUMBERED AND TYPED
$ python3 scripts/promptcheck.py outline draft.txt
OUTLINE · draft.txt · 10 instruction lines · 69 words
BY KIND · ROLE 1 · MUST 2 · NEVER 4 · IF 0 · FORMAT 2 · SAY 3
1 line 1 MUST/ROLE You are an assistant. ALWAYS use the customer's name. Be concise. Be thorough and cover every...
2 line 2 FORMAT Answer in under 100 words.
3 line 3 NEVER Never use the customer's name in a refund reply.
4 line 4 SAY Handle refunds appropriately and give relevant info, etc.
5 line 6 NEVER Do not mention competitors.
6 line 7 FORMAT Keep it under 50 words.
7 line 8 SAY Insert the policy here: {{refund_policy}}
8 line 9 SAY TODO: add escalation steps
9 line 10 MUST/NEVER It is 2024. YOU MUST NEVER EVER APOLOGIZE.
10 line 11 NEVER Do not mention competitors.
NOTE · more NEVER than MUST (4 vs 2): the model is told what not to do more than what to do
diff · WHAT THE REWRITE FIXED, AND WHAT IT INTRODUCED
$ python3 scripts/promptcheck.py diff draft.txt rewrite.txt
DIFF · 16 finding(s) before · 0 after
FIXED · HIGH · "always use the" (line 1) and "never use the" (line 3) cannot both hold
FIXED · HIGH · different word limits: 100 (line 2), 50 (line 7)
FIXED · HIGH · left in: {{refund_policy}}
FIXED · HIGH · left in: TODO
FIXED · MEDIUM · asks for brevity (line 1) and for thoroughness (line 1): say which wins, and when
FIXED · MEDIUM · <rules> is opened and never closed
FIXED · NOTE · no example: one or two show the shape and tone better than a description
FIXED · NOTE · says what not to do, not what to do instead
FIXED · NOTE · "appropriately" — say what it means here, concretely
FIXED · NOTE · "relevant" — say what it means here, concretely
FIXED · NOTE · "etc" — say what it means here, concretely
FIXED · NOTE · says what not to do, not what to do instead
FIXED · NOTE · 3 emphasis word(s) in capitals and shouting on line 10: newer models follow plain instructions closely; heavy emphasis can make them over-apply a rule
FIXED · NOTE · hard-coded year 2024: dates go stale — pass today's date in
FIXED · NOTE · says what not to do, not what to do instead
FIXED · NOTE · repeats line 6 word for word
VERDICT · BETTER
THE NUMBERS, NAMES AND DATES IN THESE RUNS ARE THE STUDIO’S OWN EXAMPLES, INVENTED FOR THE RECORD; NO REAL COMPANY, PERSON OR PROPERTY IS NAMED.
QUESTIONS AT THE TABLE
Asked before the wire.
What does it need from me?
Promptcheck.py check · line by line. It asks first for the prompt as a file, the model and the job it runs in, and — for a diff — the earlier version it replaces.
Does it send anything anywhere?
No. The machine is a standard-library Python program that runs on your own computer and sends nothing anywhere; the words run wherever an AI reads Markdown. No server, no account, no key.
What is on the record?
The self-test (15/15) and every command run on real example inputs, pasted into WITNESS.md as they printed; the punch on the face is the SHA-256 of SKILL.md, so a downloaded copy can be checked against this room.
Can it be wrong?
Yes — it is an AI reading a text file. It is a reader's checklist, not a judge of the prompt's ideas: a clean report means nothing obvious is wrong, not that the prompt is good. Its contradiction checks catch the plain kind; a subtle conflict in meaning needs a person. Test every prompt on real cases (THE EVAL CARD) before trusting it.
What will it never do?
It will never call a clean report a good prompt; never fix a rule by shouting it in capitals; never rewrite without keeping the old version.