/voice-capture
This skill should be used when extracting voice profiles from sample text, creating voice documentation, or matching a specific writing style. It applies when users provide sample text and want to capture the voice for future use.
Claude Code
$ npx -y skills add robertguss/claude-code-toolkit --skill voice-capture --agent claude-code
Codex
$ npx skills add robertguss/claude-code-toolkit --skill voice-capture -a codex -y
Cursor
$ npx skills add robertguss/claude-code-toolkit --skill voice-capture -a cursor -y
Gemini CLI
$ npx skills add robertguss/claude-code-toolkit --skill voice-capture -a gemini-cli -y
GitHub Copilot
$ npx skills add robertguss/claude-code-toolkit --skill voice-capture -a github-copilot -y
OpenCode
$ npx skills add robertguss/claude-code-toolkit --skill voice-capture -a opencode -y
Windsurf
$ npx skills add robertguss/claude-code-toolkit --skill voice-capture -a windsurf -y
SKILL.md
voice-capture.SKILL.mdname: voice-capture
description: This skill should be used when extracting voice profiles from sample text, creating voice documentation, or matching a specific writing style. It applies when users provide sample text and want to capture the voice for future use.
Voice Capture Skill
Extract and encode writing voice from sample text into reusable voice profiles. This skill transforms examples of writing you like into documented patterns that can guide future writing.
When to Use This Skill
This skill applies when:
- A user provides sample text and asks "write like this"
- Creating a voice profile from existing content
- Documenting a brand voice for consistency
- Capturing an author's style for future reference
- Analyzing differences between two writing styles
Core Philosophy
> Voice isn't just word choice. It's sentence rhythm, paragraph structure, emotional register, and a thousand small decisions that create a distinctive sound.
This skill captures those decisions systematically so they can be applied to new content.
Voice Profile Structure
A complete voice profile has three layers. See [voice-profile-template.yaml](./assets/voice-profile-template.yaml) for the full template.
Layer 1: Immutable Traits
Core characteristics that define the voice:
traits:
- direct # vs. indirect, circumspect
- conversational # vs. formal, academic
- technically-informed # level of assumed expertise
register: informal # formal / semiformal / informal
prohibited:
- "synergy"
- passive voice in openings
- exclamation marks (except in quotes)
Layer 2: Channel Guidance
How the voice adapts by medium:
channels:
blog:
length: "1000-2000 words"
personality: "full"
storytelling: "encouraged"
newsletter:
length: "300-500 words"
personality: "high - direct address okay"
storytelling: "personal anecdotes"
social:
length: "280 chars or thread"
personality: "punchy, hooks required"
storytelling: "minimal - punchlines only"
documentation:
length: "as needed"
personality: "minimal"
storytelling: "none - clarity first"Layer 3: Example Library
Exemplars that demonstrate the voice:
exemplars:
- path: "samples/great-opening.md"
why: "Concrete example first, theory second"
demonstrates: ["hook", "pacing"]
- path: "samples/transition.md"
why: "Invisible transition technique"
demonstrates: ["flow", "structure"]
- path: "samples/closing.md"
why: "Strong CTA without being salesy"
demonstrates: ["conclusion", "call-to-action"]Extraction Process
Step 1: Collect Samples
Minimum: 3 samples (ideally 5-10) Total words: At least 2,000 words Variety: Different topics, same author/brand
Step 2: Analyze Dimensions
Reference [analysis-dimensions.md](./references/analysis-dimensions.md) for the full framework.
Vocabulary Analysis
- **Complexity**: Simple ↔ Complex
- **Formality**: Casual ↔ Formal
- **Jargon**: Technical ↔ Accessible
- **Signature words**: Frequently used phrases
Sentence Analysis
- **Length**: Average words per sentence
- **Variety**: Standard deviation of sentence length
- **Structure**: Simple vs. compound vs. complex ratio
- **Fragments**: Used for emphasis? How often?
Paragraph Analysis
- **Length**: Average sentences per paragraph
- **Opening patterns**: How do paragraphs typically start?
- **Closing patterns**: How do paragraphs typically end?
Rhythm Analysis
- **Pacing**: Quick (short sentences) vs. measured (longer)
- **Punctuation style**: Dashes, semicolons, parentheses
- **White space**: Dense vs. airy paragraphs
Emotional Analysis
- **Tone**: Optimistic, skeptical, neutral, passionate
- **Distance**: Intimate (I, you) vs. distant (one, they)
- **Stakes**: High urgency vs. calm reflection
Step 3: Document Patterns
For each dimension, document: 1. The observed pattern 2. A concrete example 3. A counter-example (what this voice avoids)
Step 4: Create Profile
Use [extraction-templates.md](./references/extraction-templates.md) to structure your findings.
Output: `.claude/voice-profiles/[name].yaml`
Using Voice Profiles
In Writing Commands
# In /writing:draft
style:
voice_profile: "kieran-blog"
# OR
voice_profile: ".claude/voice-profiles/client-name.yaml"
For Voice Guardian
The voice-guardian agent uses profiles to:
- Score voice consistency (0-100)
- Identify drift points
- Suggest specific fixes
Target score: 85+
For New Writers
When onboarding writers to match an existing voice: 1. Share the voice profile 2. Share the exemplars 3. Run voice-guardian on their drafts
Quick Extraction Workflow
For rapid voice capture (when you need a profile fast):
## Quick Profile: [Name]
**Based on**: [X] samples totaling [Y] words
### Core Traits
- [Trait 1]
- [Trait 2]
- [Trait 3]
### Sentence Patterns
Average length: [X] words
Common patterns:
- [Pattern 1]
- [Pattern 2]
### Vocabulary Markers
**Signature words**: [list]
**Avoided words**: [list]
### Tone
[Brief description]
### Quick Examples
Good: "[example that nails the voice]"
Bad: "[example that would violate it]"
Common Extraction Challenges
Challenge: Too Few Samples
**Problem**: Can't identify patterns from 1-2 samples. **Solution**: Ask for more content or analyze published work from the same source.
Challenge: Inconsistent Source
**Problem**: The sample voice varies significantly. **Solution**: Either document the variation (multiple profiles) or focus on the most recent/best examples.
Challenge: Style vs. Voice
**Problem**: Confusing topic-specific style with core voice. **Solution**: Analyze samples on different topics. What stays constant? That's the voice.
Challenge: Unconscious Patterns
**Problem**: Author doesn't know what makes their voice distinctive. **Solution**: Compare to other writers. What's differe
Read more
name: voice-capture description: This skill should be used when extracting voice profiles from sample text, creating voice documentation, or matching a specific writing style. It applies when users provide sample text and want to capture the voice for future use.
Voice Capture Skill
Extract and encode writing voice from sample text into reusable voice profiles. This skill transforms examples of writing you like into documented patterns that can guide future writing.
When to Use This Skill
This skill applies when:
- A user provides sample text and asks "write like this"
- Creating a voice profile from existing content
- Documenting a brand voice for consistency
- Capturing an author's style for future reference
- Analyzing differences between two writing styles
Core Philosophy
> Voice isn't just word choice. It's sentence rhythm, paragraph structure, emotional register, and a thousand small decisions that create a distinctive sound.
This skill captures those decisions systematically so they can be applied to new content.
Voice Profile Structure
A complete voice profile has three layers. See [voice-profile-template.yaml](./assets/voice-profile-template.yaml) for the full template.
Layer 1: Immutable Traits
Core characteristics that define the voice:
traits: - direct # vs. indirect, circumspect - conversational # vs. formal, academic - technically-informed # level of assumed expertise register: informal # formal / semiformal / informal prohibited: - "synergy" - passive voice in openings - exclamation marks (except in quotes)
Layer 2: Channel Guidance
How the voice adapts by medium:
channels:
blog:
length: "1000-2000 words"
personality: "full"
storytelling: "encouraged"
newsletter:
length: "300-500 words"
personality: "high - direct address okay"
storytelling: "personal anecdotes"
social:
length: "280 chars or thread"
personality: "punchy, hooks required"
storytelling: "minimal - punchlines only"
documentation:
length: "as needed"
personality: "minimal"
storytelling: "none - clarity first"Layer 3: Example Library
Exemplars that demonstrate the voice:
exemplars:
- path: "samples/great-opening.md"
why: "Concrete example first, theory second"
demonstrates: ["hook", "pacing"]
- path: "samples/transition.md"
why: "Invisible transition technique"
demonstrates: ["flow", "structure"]
- path: "samples/closing.md"
why: "Strong CTA without being salesy"
demonstrates: ["conclusion", "call-to-action"]Extraction Process
Step 1: Collect Samples
Minimum: 3 samples (ideally 5-10) Total words: At least 2,000 words Variety: Different topics, same author/brand
Step 2: Analyze Dimensions
Reference [analysis-dimensions.md](./references/analysis-dimensions.md) for the full framework.
Vocabulary Analysis
- **Complexity**: Simple ↔ Complex
- **Formality**: Casual ↔ Formal
- **Jargon**: Technical ↔ Accessible
- **Signature words**: Frequently used phrases
Sentence Analysis
- **Length**: Average words per sentence
- **Variety**: Standard deviation of sentence length
- **Structure**: Simple vs. compound vs. complex ratio
- **Fragments**: Used for emphasis? How often?
Paragraph Analysis
- **Length**: Average sentences per paragraph
- **Opening patterns**: How do paragraphs typically start?
- **Closing patterns**: How do paragraphs typically end?
Rhythm Analysis
- **Pacing**: Quick (short sentences) vs. measured (longer)
- **Punctuation style**: Dashes, semicolons, parentheses
- **White space**: Dense vs. airy paragraphs
Emotional Analysis
- **Tone**: Optimistic, skeptical, neutral, passionate
- **Distance**: Intimate (I, you) vs. distant (one, they)
- **Stakes**: High urgency vs. calm reflection
Step 3: Document Patterns
For each dimension, document: 1. The observed pattern 2. A concrete example 3. A counter-example (what this voice avoids)
Step 4: Create Profile
Use [extraction-templates.md](./references/extraction-templates.md) to structure your findings.
Output: `.claude/voice-profiles/[name].yaml`
Using Voice Profiles
In Writing Commands
# In /writing:draft style: voice_profile: "kieran-blog" # OR voice_profile: ".claude/voice-profiles/client-name.yaml"
For Voice Guardian
The voice-guardian agent uses profiles to:
- Score voice consistency (0-100)
- Identify drift points
- Suggest specific fixes
Target score: 85+
For New Writers
When onboarding writers to match an existing voice: 1. Share the voice profile 2. Share the exemplars 3. Run voice-guardian on their drafts
Quick Extraction Workflow
For rapid voice capture (when you need a profile fast):
## Quick Profile: [Name] **Based on**: [X] samples totaling [Y] words ### Core Traits - [Trait 1] - [Trait 2] - [Trait 3] ### Sentence Patterns Average length: [X] words Common patterns: - [Pattern 1] - [Pattern 2] ### Vocabulary Markers **Signature words**: [list] **Avoided words**: [list] ### Tone [Brief description] ### Quick Examples Good: "[example that nails the voice]" Bad: "[example that would violate it]"
Common Extraction Challenges
Challenge: Too Few Samples
**Problem**: Can't identify patterns from 1-2 samples. **Solution**: Ask for more content or analyze published work from the same source.
Challenge: Inconsistent Source
**Problem**: The sample voice varies significantly. **Solution**: Either document the variation (multiple profiles) or focus on the most recent/best examples.
Challenge: Style vs. Voice
**Problem**: Confusing topic-specific style with core voice. **Solution**: Analyze samples on different topics. What stays constant? That's the voice.
Challenge: Unconscious Patterns
**Problem**: Author doesn't know what makes their voice distinctive. **Solution**: Compare to other writers. What's differe
Extend Claude Code with specialized workflows, automatic formatting, and better defaults. Skills give Claude domain expertise—brainstorming methods, leading a project with worker agents, project wikis, book writing pipelines.
Other skills on claude-code-toolkit.
dhh-writing
This skill should be used when writing in the distinctive style of David Heinemeier Hansson (DHH). It applies when creating blog…
every-style-editor
This skill should be used when reviewing or editing copy to ensure adherence to Every's style guide. It provides a systematic…
pragmatic-writing
This skill should be used when writing technical content in the style of Hunt/Thomas (The Pragmatic Programmer) and Joel Spolsky…
writing-orchestration
This skill should be used when orchestrating complex writing workflows with multiple phases. It provides two-agent orchestration…
app-store-opportunity-…
- **Browser tools** for App Store browsing and research - **Web search** for Reddit, Google Trends, and indie revenue research -…
More skills from other plugins.
prompt-lookup
Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use…
ppt-master
AI-driven presentation workflow for generating editable PPTX decks and slides, reconstructing page visuals, creating reusable…
morph-ppt
Use this skill when the user wants a .pptx with smooth cross-slide animation — PowerPoint Morph transitions, Keynote-style…
frontend-slides
Create stunning, animation-rich HTML presentations from scratch or by converting PowerPoint files. Use when the user wants to…
Questions about voice-capture.
- Which coding agents can use voice-capture?
- voice-capture 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.

