Shrink a text yet keep doing its job: unlike summariser, specific (dates, numbers, names, commands, caveats) survives, gated by a cold reader. Triggers: densify.
Install
npx skillscat add overseers-desk/skillbooks/densify Install via the SkillsCat registry.
Densify
Densification shrinks a text while keeping every concrete specific and epistemic marker; the office methodology's Densify rule sets the standard, this skill is the method. The output goes back where the input came from and carries the same load, so a result a reader consumes in place of the text is a summary and a failed run. Verification leaves the session: the author, knowing what every fragment means, reads nothing as lost or too tight, so a cold reader and a differ in fresh contexts gate every round.
Before round 1, obtain the purpose line: one owner-stated sentence naming what the text exists to make its reader do, and what the enemy is. It steers the triage, and what it omits the triage forgives, so anything mandatory belongs in it. The owner supplies it; failing that, derive it from context and show it with the delivery so the owner can correct it.
Each round:
Compress. Rewrite for density: cut connective tissue, hedging, self-narrating structure, and rationale a competent reader supplies unaided. Cut arguing hardest: a clause that persuades where it could state goes first. Keep every concrete specific (number, date, name, path, command, token, threshold, magnitude) and every epistemic marker (checked-empty, unobtainable, not-attempted, approximated, inferred). Replacing a specific with a generic is summarisation.
Cold read. A fresh subagent receives only the dense text and the reader's natural frame, and writes out everything the text teaches it: what is required, of whom, in what situation, what satisfies it, what violates it, why it exists as far as it can tell. It also quotes back each part that reads as arguing a case rather than stating one. The expansion is the only form its understanding exists in; asking a reader whether it understood measures nothing, since over-compression surfaces as confident gap-filling, not as "I don't know".
Diff. A second fresh subagent receives the expansion and the original, and not the dense text, so it cannot excuse over-tightness as "there if you squint". It lists every thing the original teaches that the expansion lacks or contradicts: a bare list, no ranking. Extra material in the expansion is not a loss.
Triage. You, warm, holding the dense text and the purpose line, rule each loss MATERIAL or IMMATERIAL. MATERIAL only if a reader holding the dense text alone would, for the absence, accept what the original forbids or reject what it allows, measured against the purpose line. IMMATERIAL covers what a competent reader supplies unaided, and explanation the original carried to justify itself to its first audience, unless behaviour changes without it. One MATERIAL loss fails the round: reinsert it in the fewest words and open the next. The stop is a clean round, not a round count. Each passage flagged as arguing is a next-round cut unless the purpose line requires it.
Deliver the final text with the purpose line and the last round's triage, so the caller audits the gate instead of trusting feel. A why the cold reader states that the original cannot corroborate is flagged to the owner as a source defect, not repaired: densify cannot restore what was not written. Drafts stay with you.
Judge the result against the document's job, not word count. For human-facing artifacts the result also carries the LHD rule: it should not read AI-authored.