Skip to content
Content
Skill

/voice-update

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

From plugin
winning-writing
1731 skills

Claude Code

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

SKILL.md

voice-update.SKILL.md
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.

Voice update

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.

What this skill does

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.

How to invoke

/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

Universal rules (apply to all three sources)

These rules govern every voice-update operation, regardless of source.

Routing

| 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 |

Merge philosophy

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.

What NOT to do

  • Do NOT auto-write. Every change goes through diff + approval.
  • Do NOT auto-learn from drafts. Auto-learning from a Coach output would reinforce AI-tells the model rationalized away. Manual + sent-mail are the only legitimate signal paths.
  • Do NOT delete existing content without explicit approval.
  • Do NOT route style notes to about-me.md or career notes to voice-and-style.md.

---

Source 1 — manual

The user dictates one thing. The skill writes it.

Inputs

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.

Process

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.

Example

**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.

---

Source 2 — memory

Bridge Claude Code's auto-memory to the context files.

Claude Code's auto-memory captures cross-conversation f

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…

compression

compression

Cuts a draft to a target word count without losing substance. Two modes behind one skill. target-count hits a specific number…

fun-angle

fun-angle

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

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…

@iofficeai@iofficeaiInstall Skill

Questions about voice-update.

Which coding agents can use voice-update?
voice-update 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.