Prompt library
Templates you can copy and adapt. Every one of them passes all nine checks — and each page shows the checker actually running on it, plus what every section of the prompt is protecting you from.
Writing
Write a blog post
A blog post prompt that names the reader, sets the bar, and shows the shape — so you do not get the median article about your topic.
See the prompt →Write a product description
Product copy that describes what the thing does instead of how excited you are about it. The constraint list is where the work happens.
See the prompt →Write a cold outreach email
The prompt that stops a model writing the same cold email everyone else sends: a named recipient, a named trigger, and a hard length cap.
See the prompt →Write release notes
Turn a changelog into notes a user can act on. The trick is telling the model what to leave out.
See the prompt →Write a job description
Most job posts are a list of adjectives. This prompt forces the model to describe the actual work instead.
See the prompt →Rewrite text for clarity
Turn dense, jargon-heavy text into something a reader understands on the first pass — without dropping a single fact.
See the prompt →Translate text and keep the tone
Translation that preserves register and leaves names and numbers untouched — not the flat, over-formal output you get by default.
See the prompt →Reply to a customer email
A reply that acknowledges the real problem before offering the fix — and apologises exactly once.
See the prompt →Write a meeting agenda
An agenda where every item ends in a decision or an owner — the thing that separates a working meeting from a status update.
See the prompt →Write an FAQ
Turn raw support answers into an FAQ phrased the way users actually ask — not the way the company wishes they would.
See the prompt →
Code
Review a pull request
A review prompt that finds real bugs instead of style nits — and, crucially, that does not filter its own findings before you see them.
See the prompt →Refactor a function
Refactoring prompts fail by scope creep. This one draws the boundary explicitly, which is the only thing that stops it.
See the prompt →Write unit tests
Tests that check behaviour rather than restating the implementation. The constraint that matters is which cases to cover.
See the prompt →Explain unfamiliar code
Get an explanation pitched at the right level, that says what the code does rather than narrating it line by line.
See the prompt →Write a SQL query
SQL prompts fail when the schema is implied rather than stated. Give the model the tables and the ambiguity disappears.
See the prompt →Diagnose an error
Get a root cause and the smallest fix, with the exact triggering input named — not a lecture on error handling.
See the prompt →Write a regular expression
A regex specified by its accept and reject cases, so the model has something concrete to match against instead of a vague description.
See the prompt →Write a docstring
Documentation that states the units, timezone, and edge cases the type signature cannot — so the function reads correctly from autocomplete alone.
See the prompt →Convert code between languages
A port that preserves the awkward edge-case behaviour instead of the happy path — which is exactly where naive translations break.
See the prompt →Write a commit message
A Conventional Commits message that describes the behaviour change and why — the version future-you reads in the history, not a list of files.
See the prompt →
Extraction
Extract structured data from a document
The extraction prompt that gives you parseable JSON on the first try — including what to do when a field is missing.
See the prompt →Parse a CV into structured fields
Extraction from messy human documents, where the hard part is telling the model not to guess.
See the prompt →Classify support tickets
Classification lives or dies on the label definitions and the escape hatch. Both are in this prompt.
See the prompt →Extract action items
Pull tasks, owners, and dates out of messy notes as structured data, with an explicit rule for the owner nobody named.
See the prompt →Extract contact details
Structured contact fields from a signature block, with the standing rule that a blank field beats a guessed one.
See the prompt →Normalise messy data values
Map inconsistent free-text values onto a controlled vocabulary, with permission to return null rather than force a wrong match.
See the prompt →
Analysis
Summarize a meeting transcript
The summary prompt that produces decisions and owners instead of a shorter transcript.
See the prompt →Analyze open-ended survey responses
Find the themes without letting the model invent them. The anti-fabrication clause is doing most of the work.
See the prompt →Compare two documents
Comparison prompts drift into summarizing both sides. This one forces the differences that actually matter.
See the prompt →Weigh a decision (pros and cons)
Trade-offs laid out against the stated constraints, with no recommendation — so the analysis informs the decision instead of pre-empting it.
See the prompt →Root-cause an incident
Separate the trigger from the root cause, with every claim tied to a line in the timeline — the discipline that stops a plausible story from replacing the real one.
See the prompt →Rate sentiment with evidence
Sentiment labels each backed by the exact phrase that decided them, with a real “mixed” category instead of a mushy neutral.
See the prompt →