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…
Update `context/voice-and-style.md` or `context/about-me.md` from one of three sources. Manual (user dictates a single new rule, sample, or career fact). Memory (batch pull from Claude Code's auto-memory in `~/.claude/projects/<slug>/memory/`). Sent-mail (analyze the last 20-50
$ npx -y skills add kalyvask/winning-writing --skill voice-update --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/voice-updateContext preview
The summary Claude sees to decide when to auto-load this skill.
Update `context/voice-and-style.md` or `context/about-me.md` from one of three sources. Manual (user dictates a single new rule, sample, or career fact). Memory (batch pull from Claude Code's auto-memory in `~/.claude/projects/<slug>/memory/`). Sent-mail (analyze the last 20-50
name: voice-update description: Update `context/voice-and-style.md` or `context/about-me.md` from one of three sources. Manual (user dictates a single new rule, sample, or career fact). Memory (batch pull from Claude Code's auto-memory in `~/.claude/projects/<slug>/memory/`). Sent-mail (analyze the last 20-50 sent Gmail messages and propose updates from observed patterns). Always proposes diffs and requires per-file approval; never auto-writes. Use when the user says "save this to my voice file," "remember this style," "consolidate my voice," "update from memory," "read my sent mail," "voice from sent mail," "what does my voice actually look like," "voice-update," or "/voice-update." Pass --source manual|memory|sent-mail.
Source of truth: `context/voice-and-style.md` and `context/about-me.md`. This skill is the only writer to those files; every update flows through it.
Three sources behind one skill. Each source pulls voice / identity information from a different upstream, but all flow into the same downstream (proposed diffs to the two context files):
| Source | Reads | Use when | |---|---|---| | **manual** | One dictated rule, paragraph, or fact from the user | User just noticed something about their voice and wants to capture it now | | **memory** | Claude Code auto-memory dir (`~/.claude/projects/<slug>/memory/`) | Periodic batch pull — what has Claude learned about my style across recent sessions? | | **sent-mail** | Last 20-50 sent Gmail messages via the connected Gmail MCP | Audit voice files against ground truth — how do you *actually* write vs how you claim to |
`--source` is required. There is no default — the three sources have different scopes and contracts, and picking automatically would hide the trade-off.
/voice-update --source manual "save this rule: I never use 'leverage' as a verb" /voice-update --source memory /voice-update --source sent-mail /voice-update --source sent-mail last 2 weeks
These rules govern every voice-update operation, regardless of source.
| If the input is about... | Update this file | Section | |---|---|---| | A word the user uses | `voice-and-style.md` | Words I like | | A word the user doesn't use | `voice-and-style.md` | Banned words | | A sentence rhythm or structure | `voice-and-style.md` | Sentence structure | | An AI tell to flag | `voice-and-style.md` | AI tells | | A sample paragraph the user likes | `voice-and-style.md` | Sample paragraphs | | A target length or format | `voice-and-style.md` | Length targets / Format preferences | | A posture / register preference | `voice-and-style.md` | Posture | | New job, project, paper, credential | `about-me.md` | Trajectory / Public output | | Where they live, lived, hobbies, languages | `about-me.md` | Identity / How I think | | A specific belief, thesis, or focus | `about-me.md` | Primary focus / Public output | | What Claude should know about them | `about-me.md` | What you (Claude) should know |
1. **Preserve old content** — never delete a rule, sample, or fact without explicit user approval. 2. **Add new info in the right section** — don't dump at the end of the file. 3. **Flag contradictions** — surface them; let the user pick which version is canonical. 4. **Don't paraphrase** — use the user's exact words for samples, quotes, and banned words. 5. **One concept per commit** — don't batch unrelated additions. The user reviews each.
---
The user dictates one thing. The skill writes it.
One of:
1. **A paragraph the user wrote** that they liked — a positive sample for `voice-and-style.md` 2. **A rewrite of a Coach output** — captures both the bad pattern (for AI tells / banned words) and the good rewrite (for sample paragraphs) 3. **A general style note** — "I never use 'leverage,'" "I prefer first person," "I don't use semicolons" 4. **A career fact** — new job, new project, new credential, new public output (routes to `about-me.md`) 5. **An identity fact** — where they grew up, formative experience, hobby, distinctive trait (also `about-me.md`)
If the input is ambiguous, ask one clarifying question before proceeding.
1. **Identify the target file** via the routing table above 2. **Read the current file** in full 3. **Identify the right section** (don't append blindly) 4. **Compose the diff** with 3-5 lines of surrounding context plus the addition 5. **Show the diff** — clearly label what's being added or flagged for contradiction 6. **Ask for approval** 7. **On approval, write** via Edit tool (preserves existing content) 8. **Echo back the change** in 1-2 sentences. If the change has implications for other files (e.g., a new banned word should also live in `points/banned-jargon.md`), suggest the follow-up but don't do it without approval.
**User:** "save this to my voice file: I never use 'leverage' as a verb. I'd rather say 'use' or just rewrite the sentence."
**Skill:**
1. Reads `context/voice-and-style.md` 2. Identifies "Banned words" section 3. Proposes diff:
## Banned words
- synergy, drive, deliverables, utilize
+ - leverage (as a verb) — use "use" or rewrite the sentence
- "at the intersection of"4. Asks "OK to write?" 5. On yes, writes; suggests adding to `points/banned-jargon.md` too.
---
Bridge Claude Code's auto-memory to the context files.
Claude Code's auto-memory captures cross-conversation f
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…