debloat
Compress an artifact that has accreted into bloat — padding, over-qualification, fused sentences, walls of enumeration, adjacent restatement — down to its load-bearing density, meaning preserved. Use when prose is correct and current but has grown verbose or patched-over and you want it tight withou
By lilmgenius · 964 installs
npx skills add lilmgenius/paperthin --skill debloat
Source repository · Upstream listing
Cut a bloated artifact to its load bearing minimum: same meaning, fewer words.
Goal
An artifact that is correct and current can still rot a second way: it accretes. Each edit bolts a qualifier onto the nearest sentence, a rule gets restated wherever it might apply, an enumeration grows into a wall — until a reader must study what they should skim. debloat compresses that bloat to its load bearing density: every claim that carries weight survives, every word that does not is cut. It is not a rewrite ( re0 ), a dedup ( ssotize ), or a tell remover ( dedash , detool ) — it is a density pass on prose that is otherwise fine.
Workflow
1. Pin the artifact and read it end to end; note in one line what each section must convey — the load bearing content that has to survive.
2. Find the bloat, not the content: padding that adds length but not meaning; a qualifier or parenthetical the sentence holds without; a fused sentence carrying three ideas; a wall of enumeration where a rule plus a short list would do; a point restated within reach of itself; litigation history (why we decided it) where the rule alone suffices.
3. Compress in place: cut the padding, split the fused sentence or drop its dead clause, collapse the wall, keep a repeated point once. Move nothing to another artifact and re derive nothing.
4. Preserve every load bearing claim — a rule, fact, constraint, or example that carries weight. If cutting a word would lose one, keep the word.
5. When the bloat is really duplication across artifacts, or the content has drifted stale, stop and name it: hand duplication to ssotize and drift to re0 . debloat only tightens.
6. Re read cold and cut again — the first pass always leaves some.
Rules
Cut words, never load bearing claims. Every rule, fact, and constraint that was there is still there; only the density changed.
Preserve the artifact's voice and structure; compress within it, do not re style it.
Not a rewrite, a dedup, or a tell remover: re derive nothing ( re0 ), move nothing to another home ( ssotize ), and leave em dashes and stack nouns to dedash / detool .
Respect intended richness: human facing prose meant to teach or orient (a quickstart, a worked example) earns its length — compress the bloat, not the accessibility.
A pass that finds nothing genuinely bloated changes nothing.
Mutate with edit safety: assert each target exists (report a MISS, never a silent no op), edit unicode safe ( PYTHONUTF8=1 ), replace per occurrence, and script a large structural move.
Verification
Before finishing:
1. Every load bearing claim present before is present after — only words were cut.
2. The result reads tighter to a cold reader, and reads as intended terse, not amputated.
3. Anything that was duplication or drift, not bloat, was handed to ssotize / re0 , not force compressed.