Skip to content
Content
Skill

/compression

Cuts a draft to a target word count without losing substance. Two modes behind one skill. target-count hits a specific number (200 for a cold email, 500 for an op-ed, 6 for a product summary). redundancy catches the specific failure where a phrase says what the verb or context

From plugin
winning-writing
1731 skills

Claude Code

$ npx -y skills add kalyvask/winning-writing --skill compression --agent claude-code

SKILL.md

compression.SKILL.md
name: compression
description: Cuts a draft to a target word count without losing substance. Two modes behind one skill. target-count hits a specific number (200 for a cold email, 500 for an op-ed, 6 for a product summary). redundancy catches the specific failure where a phrase says what the verb or context already implied — "going forward" after a future-tense verb, "as I mentioned earlier," "reduce so they are smaller." Implements Kramon's "rewrite this in less than 100 words" exercise, the six-word summary drill, and the in-class redundancy exercise. Use when the user says "shorten this," "cut this," "tighten," "make it concise," "too many words," "going forward," "say it twice," "redundant." Pass --mode target-count|redundancy|both (default both) and --target-words N for target-count.

Compression

Source: `points/core-rules.md` rule 5 (be shorter), `points/banned-jargon.md` (wordy phrases), `points/frameworks.md` (six-word summary), and the Kramon in-class redundancy exercise.

> *"Be shorter. Always. Cut without losing substance."* — Kramon

What this skill does

Two modes behind one skill. They cut different things:

| Mode | Cuts | Use when | |---|---|---| | **target-count** | throat-clearing, hedges, weak sentences, anything between the draft and the word target | User has a length to hit (200 for cold email, 500 for op-ed, 6 for product summary) | | **redundancy** | phrases where one half is implied by the other (`going forward`, `as I mentioned`, `reduce so they are smaller`, `free gift`, `definitely commit`) | Draft is wordy in a way that's hard to point at — long without obvious filler |

Default `--mode both` runs redundancy first (it's surgical, every cut is defensible), then target-count (which may need to cut substantive material). The order matters: redundancy cuts free words first, so target-count doesn't have to.

How to invoke

/compression "draft text"
/compression --mode target-count --target-words 200 "draft text"
/compression --mode redundancy "draft text"
/compression --mode both --target-words 500 "draft text"

Without `--mode`, default to `both`. `--target-words` is required for `target-count` mode and optional for `both` (if omitted in `both`, run redundancy only).

---

Mode 1 — target-count

Most drafts can lose 30% with no loss of meaning. Many can lose 50%. Forced compression is what reveals which sentences were actually carrying weight.

Three drill levels

**Level 1 — Cut 30% (standard pass)**

Tactics:

  • Remove every -ly adverb that isn't doing real work
  • Replace wordy phrases (see [banned-jargon.md](../../points/banned-jargon.md))
  • Combine sentences that share a subject
  • Cut hedges: *"I think,"* *"perhaps,"* *"it might be the case that"*
  • Cut throat-clearing: *"In this piece I'll argue that…"* — just argue it
  • Replace passive with active

**Level 2 — Hit a target word count**

User gives a number (200 for cold email, 500 for op-ed, 100 for memo). Iterate:

1. Cut to 1.5× the target — easy passes only 2. Cut to 1.2× the target — harder; remove subordinate clauses 3. Cut to 1.0× the target — surgical; every word earns its place 4. Cut to 0.9× the target — leave room for one final addition

**Level 3 — Six-word summary**

The ultimate compression. One thing, six words, tells a story.

Run the user through: 1. What's the single most important thing about this? 2. Who is the protagonist? 3. What changed? 4. Draft. Score. Iterate.

Examples that work:

  • *"For sale: baby shoes, never worn."* (Hemingway)
  • *"Edited Pulitzer winners. Now teaching business leaders."* (Kramon)
  • *"Immigrant's kid, chip on her shoulder."* (student)
  • *"Soldier first, engineer always, educator next."* (student)

The rule: six words that tell a **story** — not six unrelated descriptors.

What not to cut

Compression is not amputation. **Keep:**

  • Specific sensory details (a date, a place, a sound, an image) — these make writing memorable
  • "Like you" lines and personal hooks
  • The one moment of warmth or humor
  • Names and numbers

**Cut first:**

  • Throat-clearing
  • Hedges
  • Adverbs
  • Synonyms used for variety ("she said… she explained… she argued…")
  • Unnecessary qualifiers
  • Background the reader can infer

The two-pass method

1. **First pass** — read aloud. Cross out any sentence you stumble over. Stumbles are usually sentences not earning their place. 2. **Second pass** — read again. For each surviving sentence, ask: *what changes if I delete this?* If nothing, delete.

---

Mode 2 — redundancy

A specific failure: a phrase that *feels* like it adds information when in fact it adds nothing. The verb or the surrounding context already implies it. Cut.

Pattern 1 — Verb-implied direction

*"Going forward"* and *"moving forward"* after a future-tense verb.

| Redundant | Fixed | |---|---| | We promise better security going forward. | We promise better security. | | Moving forward, we'll offer encryption. | We'll offer encryption. | | In the future, all our hires will be technical. | All our hires will be technical. | | From this point onward, we'll improve. | We'll improve. |

The future tense already does the work. Add a tag only if you're contrasting with the past (*"unlike last quarter, we'll publish monthly going forward"* — fine).

Pattern 2 — Self-referential meta-commentary

The reader is reading it; they know.

| Redundant | Fixed | |---|---| | I am currently writing this email to you. | (cut entirely) | | As I said earlier, X. | X. | | As I mentioned in my last email, X. | X. | | The purpose of this memo is to argue that X. | X. (just argue it) | | What I will demonstrate in this section is X. | X. (then demonstrate it) |

Pattern 3 — Verb-implied result

The verb names the action; the result is implied.

| Redundant | Fixed | |---|---| | Reduce the size of teams so they are smaller. | Reduce the team. | | Increase headcount so we have more people. | Increase headcount. | | Lower the price so it costs less. | Lowe

Read more
@kalyvask
Ships withwinning-writing

31 Claude skills for cold outreach, op-eds, pitches, press inquiries, bios, exec memos, performance reviews, spoken-delivery talks, fact-checking, and reply-rate tracking.

Stars on GitHub

Momentum

stars in total
17
Star history of kalyvask/winning-writing on GitHub, a chart by star-history.com

Other skills on winning-writing.

bluf-rewriter

bluf-rewriter

Reorganizes a memo, email, status update, or report so the bottom line is up front. Implements Kramon's BLUF (Bottom Line Up…

fun-angle

fun-angle

Finds the unexpected, dry, or self-deprecating angle that makes an email memorable. Turns "professional and polite" into "this…

pick-a-lane

pick-a-lane

Diagnoses drafts that tell three half-stories instead of one full story, and rewrites them around the single strongest narrative…

More skills from other plugins.

prompt-lookup

prompt-lookup

Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use…

@gh-f@gh-fInstall Skill
ppt-master

ppt-master

AI-driven presentation workflow for generating editable PPTX decks and slides, reconstructing page visuals, creating reusable…

@hugohe3@hugohe3Install Skill
morph-ppt

morph-ppt

Use this skill when the user wants a .pptx with smooth cross-slide animation — PowerPoint Morph transitions, Keynote-style…

officecli13d33k
@iofficeai@iofficeaiInstall Skill

Questions about compression.

Which coding agents can use compression?
compression installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.