How to Rewrite a Spec with RFC 2119 Keywords from Pasted Text

RFC 2119 rewrites fail when they mint a MUST for a sentence that never stated strength. Quote the excerpt. Leave STRENGTH UNKNOWN.
The matching generator is the RFC 2119 Requirements Rewrite from a Pasted Spec (No Invented MUST Lines) (Rfc 2119 Requirements Rewrite From Pasted Spec No Invented Must Lines) prompt. Browse related cards in the PromptDig library (Browse more prompts). When a filled run survives, share the version you actually use (Share a prompt).
Lock the keyword set before you promote a sentence
Rewrite a pasted specification using RFC 2119 keywords only where the source already states obligation. No invented MUST, SHOULD, or MAY lines. Start by filling Inputs, not by asking the model to remember last week's run. If a field is blank, write NONE or NOT IN INPUTS and leave it blank through Generate. The card is built so the model cannot honestly invent a number, owner, URL, or command that you did not paste.
Paste these fields before you hit run:
Pasted spec excerpt (quote-only source): [Spec]
RFC 2119 keyword set I lock: [Keywords or MUST MUST NOT SHOULD SHOULD NOT MAY OPTIONAL]
Section or clause IDs I allow (or UNKNOWN): [Clauses]
Words I must not use: [Banned]
What I must never invent (new MUST lines, error codes, actors): [Never]
Output format: [Format]
Language: [Lang]
Max rewritten sentences: [Max]
Audience I may name: [Audience]
That inventory is the honesty ledger. Anything that does not appear there is forbidden in the draft. If you catch yourself adding a nice-to-have after the run, you are no longer using the card. You are ghostwriting. Put the extra fact in Inputs and run again.
Map each source line to KEEP or leftover OTHER
Generate is numbered on purpose. Do not skip a step because the first paragraph looked done. The early steps exist to stop later prose from smuggling claims.
Walk the Generate list in order:
- Honesty ledger: Spec nouns, Keywords, Clauses, Lang, Max, Audience. Forbidden: invented MUST, invented error codes, invented actors.
- Source map: each source sentence to KEEP, WEAKEN-TO-SOURCE, or OTHER. OTHER stays leftover.
- Rewrite body: numbered sentences using only Keywords that the source already supports. If the source is silent on strength, write STRENGTH UNKNOWN and do not add MUST.
- Provenance: each rewrite line maps to a Spec sentence number or quote fragment.
- Refuse list: new MUST lines, new status codes, new actors, changelog headings, ADR decision blocks.
- Clause handling: if Clauses is UNKNOWN, write CLAUSE UNKNOWN. Do not invent section 4.2.
- Never: do not promote a MAY source sentence to MUST. Do not demote a MUST source sentence to MAY unless Spec already does.
- Compliance pass: quote Banned and Never hits. Cut them. Count sentences vs Max. Format as Format.
If a step asks for a version lock, quote the version from Inputs in the output. If a step asks for a refuse list, keep the refuse list in the published artifact, not in a sidebar you delete. Reviewers should see what the model was not allowed to do.
Refuse new error codes and new actors
Most failures are the same shape: a missing field gets a confident fill. A conversion rate appears. A Gradle task appears. A flash point appears. A caption appears on a job that asked for slide text only. Your review is to search the draft for numbers, names, and commands, then grep Inputs. No match means cut.
Honor the constraints as hard stops, not vibes:
- RFC 2119 rewrite from Spec only. Not a changelog and not an ADR.
- Never invent MUST, SHOULD, or MAY lines the source does not support.
- Stay at or under Max sentences.
- No emojis.
When the card says not legal advice, not certification, not an exam dump, or not a caption engine, that sentence belongs at the top of the output. Deleting it to look more finished is how you inherit risk.
Count rewritten sentences against Max
Finish with the compliance pass the prompt already asks for. Quote the banned-word hits. Cut them. Print character counts when the job has a cap. Print word counts when the job has a budget. List gaps as gaps. Five missing facts are more useful than one smooth paragraph.
Tags on the card (rfc 2119 requirements rewrite, no invented must lines, pasted spec keyword rewrite) are a reminder of the job shape, not an invitation to wander into a neighboring cluster. If you need a different surface, open a different PromptDig card rather than stretching this one.
Fill the card, then run
Replace every bracket. Run on ChatGPT, Claude, or Gemini. Read the ledger first, then the artifact. If the model invents a commit, KPI, DOI, PEL, bid, or logo, discard the run. Tighten Inputs. Run again. Share the filled card that survived, not the first draft that sounded done.