bluf-rewriter
Reorganizes a memo, email, status update, or report so the bottom line is up front. Implements Kramon's BLUF (Bottom Line Up Front) rule. Use when a draft…
Pushes a draft from abstract toward concrete at two scales. Noun-level (replaces "dog" with "German shepherd," "customer" with "Sarah at JPMorgan's options-trading desk," "many" with "47 of 100") and scene-level (turns "I was angry" into the body signal, room, and dialogue).
$ npx -y skills add kalyvask/winning-writing --skill vividness --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/vividnessContext preview
The summary Claude sees to decide when to auto-load this skill.
Pushes a draft from abstract toward concrete at two scales. Noun-level (replaces "dog" with "German shepherd," "customer" with "Sarah at JPMorgan's options-trading desk," "many" with "47 of 100") and scene-level (turns "I was angry" into the body signal, room, and dialogue).
name: vividness description: Pushes a draft from abstract toward concrete at two scales. Noun-level (replaces "dog" with "German shepherd," "customer" with "Sarah at JPMorgan's options-trading desk," "many" with "47 of 100") and scene-level (turns "I was angry" into the body signal, room, and dialogue). Implements Kramon's "specific over abstract" rule, Kristof's "real names, real numbers, real interviews," and Lauren Weinstein's "could a director recreate this scene?" test. Use when a draft is technically correct but flat, when category nouns leak through, when stories tell instead of show, or when the user says "be specific," "show don't tell," "more vivid," "less abstract," "make it concrete," "find the colors." Pass --mode noun-level|scene-level|both (default both).
Source: `points/core-rules.md` rule 2 (know your audience), Kramon's rule that **stories are 12× more memorable than statistics alone**, Lauren Weinstein's guest lecture in Glenn Kramon's *Winning Writing* (GSB, Spring 2026).
Two modes behind one skill. Both push abstract → concrete; they operate at different scales:
| Mode | Replaces | Use when | |---|---|---| | **noun-level** | "dog" → "German shepherd," "customer" → "Sarah at JPMorgan," "many" → "47 of 100" | Draft has category nouns the reader has to fill in | | **scene-level** | "I was angry" → body signal + room + dialogue + moment | Story is technically correct but flat |
Default `--mode both` runs noun-level first (fixes generic words), then scene-level (turns key moments into scenes). The order matters: noun replacements provide the concrete material a scene needs.
/vividness "draft text" /vividness --mode noun-level "draft text" /vividness --mode scene-level "draft text" /vividness --mode both "draft text"
Without `--mode`, default to `both`.
Named "Sarah at JPMorgan" and "Priya at DoorDash" cases below are *fictional* people in fictional scenarios at real public companies. They exist as teaching shapes — named person + named institution + specific quote — not as anyone's real story. The real version of this skill uses real names.
---
Generic nouns force the reader to do work the writer should have done.
> *"A scientist studied dogs."*
Forgettable. The reader pictures nothing.
> *"Dr. Chen at UC Davis studied 47 German shepherds at a sheep-herding farm in Petaluma."*
The reader can see it. Specificity is the single highest-leverage rewrite a draft ever gets.
| Generic | Specific | |---|---| | dog | German shepherd, Alma my golden retriever, the puppy at the rescue | | engineer | John, the SRE on the payments team | | customer | Sarah at JPMorgan's options-trading desk | | city | Bozeman (population 56,000, mountain west) | | big company | Stripe (~7,000 employees, $1T+ payment volume annually) | | recent study | the 2024 Stanford HAI paper on agent reliability | | many people | 47 of the 100 PMs I interviewed | | a long time | 38 minutes | | somewhere | the Fillmore in 1989 (named venue, named year) | | early | 2:47 a.m. last Wednesday | | executives | the VP of Talent at Stripe | | consultant | a McKinsey BA who left to start a SaaS company | | AI tool | Claude Sonnet 4.6 with the web_search tool | | school | Stanford GSB's section H | | job | director of products at a 20-person fintech in Austin | | money | $64M in net savings | | feedback | "this is good but the part about latency is wrong" |
**1. People** — first names + roles + locations wherever you have permission. ❌ *"A customer told us our latency was a problem."* ✅ *"Sarah at JPMorgan's options-trading desk told us in March: 'every 100ms costs us a million dollars in slippage.'"*
If no permission, use a *specific archetype*: *"a senior options trader at a top-tier investment bank, 12 years in the seat."*
**2. Numbers** — actual numbers or tight ranges, not "many" / "few" / "significant." ❌ *"We saw a significant drop in errors."* ✅ *"Errors dropped from 4,200/day to 380/day — a 91% reduction."*
If you don't know it, get it before publishing. If you can't, name the closest measurable proxy.
**3. Places** — named locations. Specificity here is free. ❌ *"At a tech company in California…"* ✅ *"At Stripe's South San Francisco office on Oyster Point…"*
**4. Times** — dates and durations. ❌ *"We launched the new pricing recently."* ✅ *"We launched the new pricing on March 14, 2026 — six weeks ago."*
**5. Things** — make/model/version/brand. ❌ *"a robot," "a coding model," "a phone"* ✅ *"the Meccano MeccaNoid G15," "Claude Sonnet 4.6," "an iPhone 16 Pro"*
Especially load-bearing in tech writing — *"an LLM"* is almost meaningless in 2026.
**6. Quotes vs. summaries** — the actual sentence in quotes. ❌ *"Customers love the new feature."* ✅ *"Priya at DoorDash, last Thursday: 'The brief is good, but it doesn't save us from the part that hurts.'"*
1. **Privacy / NDA.** Use a precise archetype; don't fake a name. 2. **Universality is the point.** *"Most people who fall in love"* shouldn't have a name — specificity shrinks the claim. 3. **Specificity would distract.** Naming a product is fine; naming MSRP, review count, star rating is a fetish.
---
Most people summarize their stories:
> *"It was a difficult time. I didn't have money. I didn't have hope. Things looked dismal."*
That tells the audience what happened. The same story, shown:
> *"Six days a week I ate beans and weenies. I dug for change in the crevices of my couch so I could buy my son milk. There were nights my heart raced. I got sick of my own story."*
Same facts. Now the reader is in the room.
The work is what Weinstein called *finding the colors*: going back through the story and naming what the storyteller was thinking, seeing, and feeling in the body.
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.
Repo: kalyvask/winning-writing
Reorganizes a memo, email, status update, or report so the bottom line is up front. Implements Kramon's BLUF (Bottom Line Up Front) rule. Use when a draft…
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…
Rewrites blunt downward or peer feedback as "what I like plus what I would like," focused on the work rather than the person, ideally phrased as a question.…
Finds the unexpected, dry, or self-deprecating angle that makes an email memorable. Turns "professional and polite" into "this person sounds like a real…
Rewrites section titles, slide titles, op-ed headlines, email subject lines, and chapter headings from category labels into bold arguable claims. Implements…
Cuts cinematic details that don't serve the main point. The opposite move from vividness. Vividness adds sensory detail; this skill removes detail that's vivid…