Prompt clarity scorer
The single biggest cause of disappointing LLM output is an unclear prompt. Vague verbs, missing constraints, and no stated output format leave the model to guess — and it guesses inconsistently. This scorer rates your prompt on three axes that predict good results: task clarity, constraint specificity, and output definition. It returns a 0 to 100 score and a prioritized list of fixes, all computed locally in your browser.
How it works
The tool tokenizes your prompt and applies a set of heuristics. For task clarity it looks for an explicit action verb (summarize, classify, generate, rewrite) near the start and a defined subject. For specificity it counts concrete signals — numbers, named entities, constraints, and “must/only/never” language — and subtracts points for hedge words like “something,” “good,” or “etc.” For output definition it checks whether you stated a format (JSON, list, table), a length, or gave an example. Each axis produces a sub-score, and the three combine into an overall rating with targeted suggestions for whichever axis is weakest.
How a weak prompt becomes a strong one
Consider this starting prompt: “Write something about customer feedback.” It scores poorly on all three axes — no clear verb, no constraints, no output definition.
A rewrite with each axis addressed: “Analyze the ten customer feedback quotes below and write a three-bullet summary identifying the top complaint, the top compliment, and one actionable improvement. Format the output as plain text, under 80 words total.”
This version gives a defined action verb (“Analyze”), concrete constraints (“ten quotes,” “under 80 words”), and an explicit output format (“three-bullet,” “plain text”). All three sub-scores rise, and the model is far less likely to wander or pad.
What each sub-score measures
| Axis | What it checks | Fast fix |
|---|---|---|
| Task clarity | Clear action verb + defined subject | Add a specific verb at the start |
| Specificity | Numbers, named constraints, concrete nouns; penalizes hedge words | Replace “good” with a quantity or criterion |
| Output definition | Format, length, or example specified | Add “as a JSON array” or “in three bullet points” |
Tips and notes
- Lead with the verb. “Summarize the text below in three bullet points” scores far higher than “tell me about this.”
- State the output. Naming a format and length is the fastest single way to raise the score — and often the most impactful single change.
- Replace hedge words. Swap “good examples” for “three real-world examples under 20 words each.”
- Iterate and re-score. Change one thing at a time so you can see which axis each edit actually moves.
- The score is a guide, not a grade. It catches ambiguity, but you still own whether the request itself is sensible.