Loading…
Loading…
Score your system prompt for bloat and get a cut list
Paste a prompt to audit it
The analyzer flags repeated rules, hedges, always/never conflicts, ALL-CAPS shouting, generic personas and length past 1,500 tokens, then builds a cut list.
Heuristics, not a model: tokens are characters ÷ 4, repeats use word-set overlap of 80% or more, and conflicts pair an “always” rule with a “never” rule that share two or more words in the action. Review each cut before you ship it. Prices are list rates as of 8 Oct 2026 and are editable.
Count exact tokens with the AI token estimator, price a whole workload with the AI prompt cost calculator, or start from the CLAUDE.md production rules pack.
Run your projects on Claude Code?
We packaged the .claude config that runs this site — 26 specialist agents, 14 workflow skills, and 6 rule files from 31 real production incidents. From $9.
Get the Claude Code Production Pack — $29Every line in a system prompt is paid for on every call, and long instruction files drift. The same rule gets added twice, a new "never" contradicts an old "always", and ALL-CAPS creeps in after each incident. This analyzer reads a prompt the way a strict reviewer would and scores the bloat from 0 to 100. It then hands you a ranked YAGNI cut list, the trimmed prompt, and the dollars each cut saves per 1,000 calls.
The text is split into sentences after stripping Markdown bullets and headings, and fenced code blocks are ignored. Each sentence becomes a set of lower-case content words. Two sentences count as repeats when the sets match exactly, and as near-repeats when their Jaccard overlap is 0.8 or higher.
A list of 45 hedge and filler phrases ("please note", "it is important to", "make sure to", "in order to", "feel free to") is matched longest-first so nothing is counted twice. ALL-CAPS words of three letters or more are counted after removing acronyms such as API and JSON and file names such as CLAUDE.md. Conflicts pair a sentence containing "always" or "must" with one containing "never" or "do not" when the words after each modal share two or more content words, as in "always add comments" and "never add comments". Generic personas are "You are…" lines built from adjectives with no product, version or path in them. Meta-instructions are lines like "think step by step" or "take a deep breath".
The score adds six capped buckets: duplicates 30, hedges 25, conflicts 15, caps 10, persona and meta 10, length 10. The cut list ranks exact repeats first, then near-repeats, personas, meta lines, conflicts and pure filler, and keeps the top 10.
A team lead pruning a CLAUDE.md that grew past 3,000 tokens after months of "add a rule" commits, before it eats into every agent session.
An engineer trimming the system prompt of a support bot that runs 200,000 calls a month and pricing the saving on GPT-6.1 Sol before proposing the change.
A prompt author checking a new agent instruction file for always/never conflicts that would leave the model picking a rule at random.
A reviewer comparing two prompt versions in a pull request by bloat score and estimated token count.
Scope note: These are heuristics, not a model. Token counts are a chars ÷ 4 estimate, near-duplicate detection uses word overlap and misses paraphrases with different vocabulary, and conflict detection can flag rules that are compatible in context. Shorter is not automatically better, so test the trimmed prompt on real tasks before shipping it. Prices are list rates as of 8 October 2026.
Paste your system prompt, CLAUDE.md or agent instructions into the box, or load the bloated example.
Read the bloat score, the grade and the six-bucket breakdown.
Work through the YAGNI cut list and untick any line you want to keep.
Copy the trimmed prompt or the cut list, and set your own prices and monthly call volume in the savings table.
Share the score card to compare prompt versions with your team.
About the Prompt Bloat Analyzer (YAGNI Prompt Audit)
Prompt bloat is text in a system prompt that costs tokens on every call without changing what the model does: repeated rules, hedges like "please note" or "make sure to", generic personas like "you are a world-class engineer", and ALL-CAPS emphasis. It also covers rules that contradict each other, which leave the model guessing which one wins.
Six capped buckets add up to 100: duplicate and near-duplicate sentences (30), hedges and filler per 100 words (25), always/never conflicts (15), ALL-CAPS words per 100 words (10), generic persona and meta lines such as "think step by step" (10), and length past 1,500 estimated tokens (10). Grades: A under 15, B under 30, C under 45, D under 60, F at 60 and above.
The tool multiplies the tokens you cut by 1,000 calls and the input price. Cutting 200 tokens saves $0.40 per 1,000 calls on GPT-6.1 Sol at $2.00 per million input tokens, and $0.02 on Claude Haiku 5.5 at $0.10 per million. If the prompt prefix is cached you pay the cached rate instead, so the saving is 10x to 20x smaller. Every price is editable.
Yes. Paste the file as it is. Markdown headings, bullets and numbered lists are handled, fenced code blocks are skipped, and file names like CLAUDE.md or acronyms like API and JSON are not counted as shouting. Line numbers in the cut list point back to your original file.
No. The analysis is plain JavaScript running in your browser. There are no model calls, nothing is uploaded and nothing is stored. The share card and share link carry only the score, grade and counts, never your prompt text.
Price an agent fleet per run, day and month on every major model at once
Open →DeveloperBuilder/critic agent prompts with brakes built in
Open →DeveloperFormat, validate & diff JSON — runs entirely in browser
Open →DeveloperTest regex live — railroad diagrams + plain English explained
Open →