Skip to content
All posts
Prompt Engineering3 min read

What makes a prompt good? The seven things worth scoring

Prompt advice is mostly vibes. Here are the seven concrete dimensions we score, why each one matters, and which to fix first.

Most prompt advice is a list of tricks: say "you are an expert", offer a tip, promise a reward, threaten a deadline. Some of it helps a little, most of it is folklore, and none of it tells you what to do when a specific prompt gives you a disappointing answer.

A more useful question is: what information does the model need that my prompt does not contain? That question has a boring, checkable answer, and it is what our scorer measures across seven dimensions.

1. Clarity (20%)

Can someone who has never met you tell what you are asking for? Clarity is about one unambiguous task, stated in the first sentence or two. "Summarize this" is ambiguous — for whom, how long, what should survive the summary? Prompts lose clarity most often by hiding several requests inside one paragraph, so the model answers the first and skims the rest.

The fix is almost always structural: put the task in one sentence, then list everything else as requirements.

2. Context (15%)

Context is what you know and the model does not: your product, your audience, the constraint that makes this hard, the thing you already tried. It is the most commonly missing ingredient because it is obvious to the person writing the prompt. You know the post is for enterprise buyers in healthcare. Unless the prompt says so, the model writes for everyone, which reads like it was written for no one.

3. Specificity (15%)

Specificity is detail you can check: numbers, names, versions, examples of the real thing. "Write a short post" is vague; "Write 150 words for LinkedIn, ending with a question" is specific. Specificity is also where placeholders hurt: if an optimized prompt still says [your audience], that gap is real and the score reflects it until you fill it in.

4. Constraints (15%)

Constraints are the boundaries: tone, length, what to avoid, what must be included, what to do when something is unknown. The most valuable constraint is usually the one about uncertainty — "if the material does not say, write 'not stated' instead of guessing" — because it converts confident invention into a visible gap.

5. Output format (15%)

If you want a table, say table. If you want JSON, give the keys. If you want five bullets, say five. Format is the cheapest dimension to fix and one of the most reliable in its effect, because it removes an entire category of guesswork.

6. Examples (10%)

One example of the output you want is worth several paragraphs of description, especially for voice and formatting. Two examples are better, because they show the pattern rather than a single instance. This is the dimension people skip most often, and the one that most often fixes "it sounds nothing like us".

7. Model fit (10%)

The same content lands differently depending on the target. Claude follows XML-tagged sections closely, ChatGPT responds well to Markdown headings and numbered requirements, Gemini likes short labelled blocks and an explicit output shape. A prompt written in one shape and pasted into another model is not wrong, but it is leaving something on the table.

Which one should you fix first?

Fix the lowest-scoring dimension with the highest weight. In practice that ordering is nearly always the same for a weak prompt:

  1. State the task in one sentence (clarity).
  2. Say who the output is for and what they already know (context).
  3. Say what shape the answer should take (output format).
  4. Add the two or three constraints you actually care about.
  5. Paste one example of the thing you want.

That is usually enough to move a one-line prompt from the twenties into the seventies. Past about 85, you are into diminishing returns — more words stop changing the answer.

What the score cannot tell you

A score says the model has what it needs. It cannot tell you whether your idea is any good, whether your facts are right, or whether this model is capable of the task at all. A perfectly structured prompt asking for last week's news will still fail. Treat the number as a check on the prompt, not a prediction about the answer.