TL;DR: PromptWright is a free web tool that converts prompts between formats, grades their quality, and upgrades them with AI-powered rewrites.
TL;DR: PromptWright is a free web tool that converts prompts between formats, grades their quality, and upgrades them with AI-powered rewrites.
What It Does
Most prompts are written once, pasted into a chat window, and never improved. PromptWright gives you a way to quickly upgrade your prompts - convert them between model-specific formats, get a structured quality assessment, and fix the problems that make outputs unreliable.
Three tools, one workflow:
- Convert - Bi-directional conversion between Markdown (ChatGPT-optimized) and XML (Claude-optimized) formats. Paste a prompt, get the other format instantly. Runs entirely client-side - your prompt never leaves your browser
- Grade - Structural analysis across six dimensions: role clarity, instruction specificity, output constraints, example coverage, variable hygiene, and structural organization. Returns a letter grade (A-F) with specific, actionable findings
- Upgrade - AI-powered rewrite that applies all grading findings: adds missing sections, tightens ambiguous instructions, generates output schemas, and creates few-shot examples. The upgraded prompt is re-graded so you can see the exact improvement
How It Works
At the core is Prompt IR (Intermediate Representation) - a canonical internal format borrowed from compiler design. Instead of converting directly between formats (which requires N×N converters as you add targets), every prompt is first parsed into a structured IR, then rendered to the target format.
The IR decomposes any prompt into typed sections - system role, instructions, context, examples, constraints, input variables, and output contracts. This structure is what makes format-agnostic grading possible: the grader scores the IR, not the raw text, so the same prompt gets the same grade regardless of whether it was written in Markdown or XML.
Conversion uses AST-based parsing (remark/mdast for Markdown, fast-xml-parser for XML) with semantic heading classification. A heading like ”## System” or ”## Role” maps to the system section type. Unknown headings are preserved as generic sections - no data loss, even on ambiguous input.
The grading pipeline runs in two stages. First, a deterministic lint pass catches structural issues without touching an LLM: missing output contracts, no examples, ambiguous language, multi-intent instructions. Then an LLM-as-judge pass scores each dimension on a 0-10 scale with weighted aggregation into the final letter grade.
Key Decisions
- Converter is client-side - No API call, no LLM, no server. Deterministic AST transformation in the browser. Unlimited free conversions with zero privacy risk
- Grading is format-agnostic - The IR abstraction means adding new target formats (Gemini, Llama) requires one parser and one renderer, not a rewrite of the grading system
- Privacy-first by default - Conversion never sends data to a server. Grading sends the prompt to an API for LLM analysis but does not persist it. Nothing is stored unless you explicitly save it