Checklist

The 5-point spec checklist

Most bad AI output isn't the model being stupid — it's a request that never said what a good answer would look like, so the model picked for you. These are the five things it will decide on your behalf if you leave them out: who's reading, what "done" means, what's off-limits, what shape the answer takes, and what would make it wrong. Bespoke Prompting's builder resolves these before it writes anything — it asks you outright "what should the finished output look like — its length, structure, and who's reading it?" and "what must it respect — limits on budget, time, tools, or scale?" This page is the manual version: free, static, no signup.

0 / 5

Open your draft prompt next to this page and tick each check as you confirm it's covered. Nothing you tick leaves this page — there's no backend here and nothing is stored.

1Audience

Who is this for, and what do they already know?

With no reader named, the model writes for a generic one: a patient adult who knows nothing and needs every term defined. That default is why answers come back both too basic and too long. Naming the reader changes the vocabulary, what gets explained, and — more usefully — what gets cut.

Underspecified

"Write a summary of our Q3 results."

Specified

"Write a Q3 summary for our seed investors. They know the product and read the Q2 deck; they have not seen the churn numbers. Don't explain what ARR is."

2Outcome

What does "done" actually look like?

"Help me with" has no finish line, so the model invents one — usually a rewrite plus commentary you didn't ask for, or three options when you wanted a decision. State the condition that makes the job complete and you can tell at a glance whether it did the work.

Underspecified

"Help me with my onboarding email."

Specified

"Rewrite this onboarding email so a new user knows what to do first. Done = one clear action in the opening two sentences, whole thing under 120 words, no feature tour."

3Constraints

What's off-limits, required, or bounded — length, tone, format, tech stack, budget?

This is where the model's defaults cost you the most, because it will pick a language version, a library, a tone, and a length — and it picks the most common one on the internet, not the one your codebase or your brand uses. Every constraint you don't write down is a constraint it gets to choose.

Underspecified

"Write a function that retries failed API calls."

Specified

"Write a TypeScript function that retries failed API calls. Max 3 attempts, exponential backoff from 200ms, no external dependencies, and never retry a 4xx."

4Format

What shape does the answer need to take?

Shape isn't decoration — you're going to paste this somewhere. Prose when you needed a table, or a table when you needed one sentence, costs you a second round trip for an answer that was already correct. Say where the output is going and what it has to fit into.

Underspecified

"Compare these three vendors."

Specified

"Compare these three vendors as a markdown table: one row each, columns for price, SOC 2 status, and migration effort. No prose before or after — it's going straight into a doc."

5Failure condition

What would make this answer wrong or unusable?

Almost nobody writes this one, and it prevents the most damage. Naming the failure mode turns a confident wrong answer into a flagged uncertainty — the model can only tell you it's unsure if you've told it that guessing is worse than asking.

Underspecified

"Draft a reply to this customer complaint."

Specified

"Draft a reply to this customer complaint. It's unusable if it admits fault, promises a refund, or invents a delivery date — flag anything you'd have to guess at instead of guessing."

Five checks, roughly two minutes on a draft you were about to send anyway. If you can only ever be bothered with one, make it the fifth.

Bespoke Prompting runs this same check automatically, plus a full quality score — try it free.