Prompt optimizer & critiquer
A prompt that “mostly works” often hides cheap wins — a missing output format, an ambiguous instruction, no handling for the edge case that breaks it in production. This tool sends your prompt to an LLM wrapped in a meta-prompt that asks it to act as a prompt engineer: score the prompt across clear categories, explain each weakness, and return an improved rewrite you can test immediately.
The four dimensions of a good prompt
The meta-prompt evaluates your prompt across four categories, each of which captures a distinct failure mode:
Clarity — Could a skilled person who has never seen your prompt follow these instructions without guessing? Ambiguous verbs, pronouns with unclear referents, and instructions that presuppose unstated context all fail clarity.
Specificity — Does the prompt give the model a concrete, verifiable target? “Write a good summary” fails specificity; “Write a summary of under 100 words covering the three main findings” passes it.
Format instructions — Does the prompt explicitly describe the output shape? If downstream code parses the response, or a human expects a particular structure, the prompt must say so. Models default to prose unless told otherwise.
Edge-case handling — What happens when the input is ambiguous, incomplete, or off-topic? A well-crafted prompt tells the model what to do when the expected input does not arrive, instead of letting the model improvise.
How it works
You provide the prompt and, optionally, the task it is meant to do. The tool builds a meta-prompt instructing the model to evaluate the four dimensions above and to produce a concrete rewrite. It then calls your chosen provider directly from the browser using your own API key:
- OpenAI via
api.openai.com/v1/chat/completions, - Anthropic via
api.anthropic.com/v1/messages.
Loading and error states are handled inline, and nothing is stored. Because the request goes straight from your browser to the provider, the only party that sees your prompt is the model you chose.
Tips for getting the most from the critique
Give the optimizer the target task whenever you can — a critique grounded in the actual goal is far more useful than one judging the prompt in a vacuum. Treat the rewrite as a candidate, not a verdict: run both versions on a handful of real inputs and keep whichever wins.
For iterative work, feed the rewrite back in for a second pass — improvements tend to converge after two rounds. If the rewrite feels too aggressive, use only the specific critique points that resonate and apply them manually to preserve your original voice. Keep a small, inexpensive model selected for routine iteration; reserve a larger model for prompts where the critique needs to be particularly nuanced.