Right-Sizing Prompt Edits: A Claude Skill for Triage
September 18, 2026
Asked to clean up a prompt, most models either rewrite everything or change nothing useful. The Prompt Complexity Triage skill scores the prompt on five fixed dimensions, maps the score to one of four tiers, and permits only the edits that tier allows, so an adequate prompt is left alone and a vague one is rebuilt.
Why does "clean up this prompt" go wrong?
I would paste a prompt that was basically fine and ask for a cleanup, and get a different prompt back: a new persona I didn't ask for, a constraint quietly dropped, a requirement reworded into something adjacent.
The reverse happened too. A vague, high-stakes prompt would get a light grammar pass and stay vague. The model has no default sense of "this one needs a rebuild, this one needs three words fixed." It rewrites everything or nothing.
How does the triage work?
Ask Claude to "clean up this prompt," "make this prompt better," or "optimize this for a code model," and before it touches anything it runs a fixed procedure.
| Stage | What happens |
|---|---|
| 1. Intake and scope lock | Captures the prompt verbatim, names the consumer (chat turn, agent, image model, code interpreter, structured output, human reader), and records any ceiling you set |
| 2. Complexity scoring | Scores five dimensions from 0 to 2 each, plus a separate risk score |
| 3. Tier assignment | Maps the total to a tier using fixed thresholds, then applies caps |
| 4. Meaning-preservation guardrails | Copies technical tokens exactly, keeps negative constraints, adds no new facts |
| 5. Change budget and preservation check | Enforces an edit limit and compares the draft against the original |
| 6. Output contract | Leads with the scores, total, tier, and which cap fired |
| 7. Anti-patterns | No tier inflation, silent meaning change, dropped constraints, unrequested persona, or fabricated confidence scores |
How is a prompt scored?
Five dimensions, 0 to 2 each, with a concrete anchor for every score so it isn't a vibe: specification completeness, ambiguity, structural need, reasoning depth, and stakes. The sum is 0 to 10.
A sixth measure, R1, counts technical-parameter density: code, flags, version pins, regexes, and paths. R1 is scored but deliberately kept out of the sum, in its own namespace. A dense prompt is riskier to rewrite, not more in need of rewriting, so R1 acts as a cap instead of pushing the score up.
What does each tier allow?
| Tier | Score | What is allowed |
|---|---|---|
| Tier 0: leave as-is | 0–1 | No rewrite returned. Just the score, and maybe a one-line note |
| Tier 1: light touch | 2–4 | Grammar, dead words, direct verbs. No new sections, no persona, no reordering of meaning. Roughly 15% of the text edited, with no sentence changing meaning |
| Tier 2: structured rewrite | 5–7 | An explicit output contract, named constraints, and one to three examples only where they remove ambiguity |
| Tier 3: full rebuild | 8–10 | Contract, role, sections, output spec, and anti-patterns. Must ship a requirement map |
Two caps lower the result. An explicit user ceiling (for example "just fix the grammar") can lower the tier but never raise it. High technical-parameter density caps the tier at structured rewrite unless you ask for more.
What stops the skill from changing your meaning?
Above Tier 0, the skill must copy code, versions, flags, model IDs, error strings, and URLs character for character. It cannot drop negative constraints such as "never" or "without," and it cannot add facts you didn't state. A token that looks malformed is left alone and flagged, not corrected.
A full rebuild must ship a requirement map: every requirement from the original and where it landed in the rewrite. A requirement with nowhere to map is a regression, and the skill stops rather than returning the rewrite. Before any rewritten prompt is emitted, a mandatory pass compares the draft with the verbatim original.
What do the worked examples show?
| Example | Result |
|---|---|
| An adequate prompt | Tier 0. Report the score and leave it alone |
| "Write the incident postmortem." (vague, high stakes) | 9 of 10, Tier 3. The skill confirms the incident and audience first, then rebuilds |
| A 7 of 10 prompt with the note "just fix the wording" | Threshold gives Tier 2, the user ceiling lowers it to Tier 1 |
| A GitHub Actions prompt dense with versions and flags | 5 of 10, Tier 2. The density cap holds it there, and actions/setup-python@v5 and --cov-fail-under=85 are copied verbatim |
Why is the scoring so coarse?
Five dimensions at 0 to 2 is a deliberate floor: few enough to run in your head, coarse enough to be stable. The dimensions and thresholds are fixed, so the same prompt lands on the same tier no matter who runs it. It is all in-context, with no API call or trained router behind it.
How do I install it?
- Download
prompt-complexity-triage.md. - Save it as
.claude/skills/prompt-complexity-triage/SKILL.mdin your project or in~/.claude/skills/. - Ask Claude to clean up or optimize a prompt.
More skills are in the GitHub repository.
FAQ
Will it rewrite a prompt that is already good?
No. A score of 0 to 1 is Tier 0: it reports the score, says the prompt is adequate, and returns no rewrite.
How does it keep my flags and version pins intact?
Above Tier 0 it copies them character for character, and a mandatory comparison against your original checks that every path, version, flag, and negative constraint survived.
Can I limit how much it changes?
Yes. Say "just fix the grammar" and that becomes a hard cap. The triage can lower the tier from there but never raise it.
How is this different from the Prompt Optimizer skill?
The Prompt Optimizer skill classifies context and calibrates to sophistication. This one adds a fixed scoring rubric and tier caps to decide how much to change at all.
This skill was first shared on r/PromptEngineering by u/Parking-Kangaroo-63.