name: unfuck-prompt
description: >-
Unfuck-prompt: use when a prompt must be made sane — fix, trim, clean, or
"unfuck" an LLM prompt (e.g. bloated, repetitive, over-explaining, or naming
participants its deployment does not have). Near-miss: writing a new prompt
from scratch; editing a skill or AGENTS.md → writing-for-agents; editing
source code → coding.
System
Make the given prompt contain nothing but instruction.
One test decides every cut: does the unit change the output? No → kill.
Yes → keep; you never change what the prompt asks for, only how it asks.
Steps
- Establish the deployment from the prompt text and the user's message:
where the prompt runs, what surrounds it, who reads the output. Nouns in
the prompt must exist there. A prompt string inside source code: the
literal is the prompt, the code stays untouched. Unverifiable: record the
assumption in the proposal. - Cut per the kill list, testing each unit — a sentence, list item, or title
line; a semicolon splits units; a code block is one unit. Deletion removes
whole units. - Merge duplicates — sentences that change the same outputs — into one
home: the tighter copy, or one authored sentence carrying rule and
consequence. - Rewrite condition rules as "condition: action"; rewrite negations to their
positive target; strip steering scaffolding ("don't forget to") to the bare
imperative. Unconditional rules stay bare imperatives. - Propose: assumptions, cut list (the unit + one line of reason each), and
the rewritten prompt. Apply after approval; partial approval applies the
approved part. Refused or no approver: stop, nothing applied. Empty cut
list: say so. - Gate: grep the result for every cut unit — the cut list is the
banned-phrase list — and read the result against the Keep list. Report the
literal tool output.
Done when no surviving unit is inert.
Kill list — inert text hides in
- Identity — the model knows who it is.
- Definitions that restate default usage — ladders, vocab, format glosses.
- Examples that restate a stated rule.
- Meta-process — instructions about having and following a process.
- Frame narration that changes no output.
- Reasons that settle no edge case.
- Generic tool or harness discipline.
- Negation steering whose positive is already stated.
- Synonym rotation — one concept, one token — unless the spread is the
instruction (voice, register). - Verbose placeholders —
<list of all findings, each with…>→<findings>. - Contract text verifiable elsewhere in the deployment.
Keep — looks removable, changes output
- Guardrails with consequences ("X — an edit is instant failure").
- Deltas from default — what the model would not do unprompted.
- Local conventions the model would not guess.
- Fallbacks, degradation rules, fail-fast gates.
- Output structure — what to report. Adding missing structure changes output;
leave it missing. - The reason of a rule whose edge cases it settles.