voice-extractor
Extract voice patterns from transcripts - speaking style, phrases, vocabulary for authentic author profiles
What this skill does
# Voice Extractor
Extract authentic voice characteristics from transcripts to enhance author profiles.
## Purpose
Transform transcript data (podcasts, interviews, meetings, videos) into actionable writing guidelines that capture an author's authentic voice, making AI-generated content sound natural and personal.
## When to Use
- Author has recordings/transcripts of themselves speaking
- Want to capture authentic speaking patterns
- Need to enhance a manually-created author profile
- Building a new author profile from scratch using transcripts
- Refining an existing profile with more data
## Workflow
### 1. Prepare Transcripts
Accept transcripts in these formats:
- Plain text: `Speaker: text`
- Timestamped: `[00:01:23] Speaker: text` or `59:54 Speaker: text`
- Bracketed: `[Speaker]: text`
- WhatsApp: `[17:30, 12/6/2025] Speaker: text`
- SRT subtitles: Standard subtitle format
**If user provides audio/video without transcript:**
Suggest transcription services:
- YouTube auto-captions (downloadable)
- Otter.ai, Descript
- OpenAI Whisper (local)
- Rev.com
### 2. Run Analysis
```bash
# List speakers in transcript
bun run "${CLAUDE_PLUGIN_ROOT}"/scripts/voice-extractor.ts --list-speakers transcript.txt
# Extract for specific speaker
bun run "${CLAUDE_PLUGIN_ROOT}"/scripts/voice-extractor.ts --speaker "Name" transcript.txt
# Multiple transcripts (more data = better profile)
bun run "${CLAUDE_PLUGIN_ROOT}"/scripts/voice-extractor.ts --speaker "Name" t1.txt t2.txt t3.txt
# Output JSON for direct use with author profiles
bun run "${CLAUDE_PLUGIN_ROOT}"/scripts/voice-extractor.ts --speaker "Name" --json transcript.txt
```
### 3. Enhance Author Profile
The extracted data enhances these author fields:
| Extracted Data | Maps To |
|---------------|---------|
| Communication style | `tone.formality`, `tone.opinionated` |
| Characteristic expressions | `phrases.signature` |
| Sentence starters | `phrases.signature` |
| Signature vocabulary | `vocabulary.use_freely` |
| Speaking style | `notes` |
### 4. Manual Enhancement
After automated extraction, read transcript samples to identify:
- **Unique phrases**: Catchphrases missed by frequency analysis
- **Humor style**: Sarcasm, self-deprecation, wit patterns
- **Story structure**: How they set up anecdotes
- **Cultural markers**: Regional expressions, analogies
- **Topic emphasis**: What makes them animated
## What Gets Extracted
### Sentence Structure
- Average sentence length
- Variety (short/moderate/long/complex)
- Question frequency
### Communication Style
- Enthusiasm (love, amazing, awesome)
- Hedging (maybe, perhaps, I think)
- Certainty (definitely, absolutely)
- Empathy (understand, appreciate)
- Directness (need to, must, bottom line)
- Storytelling (so, and then, eventually)
- Analytical (because, therefore, however)
### Characteristic Expressions
- Fillers: "you know", "I mean", "like", "right"
- Hedgers: "kind of", "sort of", "I guess"
- Emphatics: "honestly", "literally", "definitely"
### Vocabulary
- Signature words used frequently
- Vocabulary richness percentage
## Integration with Author Profile
### New Author from Transcript
```bash
# 1. Extract voice data
/article-writer:author analyze --speaker "John" transcripts/*.txt
# 2. Review and confirm extraction
# Claude will show extracted patterns
# 3. Add identity info
/article-writer:author add
# Answer: name, role, expertise, languages
# 4. Merge voice data
# Claude will combine extracted + manual data
```
### Enhance Existing Author
```bash
# 1. Extract from new transcripts
/article-writer:author analyze --speaker "John" --author-id mwguerra new_podcast.txt
# 2. Review changes
# Claude shows what will be updated
# 3. Confirm merge
# Voice analysis data added to existing profile
```
## Output Format
### JSON Output (for merging)
```json
{
"voice_analysis": {
"extracted_from": ["podcast_ep1.txt", "interview.txt"],
"sample_count": 156,
"total_words": 12450,
"sentence_structure": {
"avg_length": 14.5,
"variety": "moderate length, conversational",
"question_ratio": 12.3
},
"communication_style": [
{ "trait": "enthusiasm", "percentage": 28.5 },
{ "trait": "analytical", "percentage": 24.1 },
{ "trait": "directness", "percentage": 18.7 }
],
"characteristic_expressions": [
"you know",
"I think",
"the thing is",
"at the end of the day"
],
"sentence_starters": [
"I think",
"So the",
"And then",
"But the"
],
"signature_vocabulary": [
"actually",
"basically",
"approach",
"strategy",
"implementation"
],
"analyzed_at": "2025-01-15T10:00:00Z"
},
"suggested_updates": {
"tone": {
"formality": 5,
"opinionated": 7
},
"phrases": {
"signature": ["you know", "the thing is", "at the end of the day"]
},
"vocabulary": {
"use_freely": ["approach", "strategy", "implementation"]
}
}
}
```
### Markdown Report
```markdown
# Voice Analysis: John Smith
*Analyzed 156 speaking turns, 12,450 words*
## Speaking Style
- **Sentence length**: Moderate (~14 words avg)
- **Questions**: Uses questions occasionally (12%)
- **Vocabulary richness**: 45% unique words
## Communication Style
- **Primary**: Enthusiastic (28%)
- **Secondary**: Analytical (24%)
- **Tertiary**: Direct (19%)
## Characteristic Expressions
- "you know" (used 45x)
- "I think" (used 38x)
- "the thing is" (used 22x)
## Sentence Starters
- "I think..." (28x)
- "So the..." (19x)
- "And then..." (15x)
## Signature Vocabulary
**actually** (67x), **basically** (45x), **approach** (34x)
---
## Recommendations for Author Profile
Based on this analysis:
- Set formality to 5 (conversational but professional)
- Set opinionated to 7 (confident, uses "I think" but states opinions)
- Add signature phrases: "you know", "the thing is"
- Use vocabulary freely: approach, strategy, implementation
```
## Quality Indicators
Good voice analysis needs:
- **100+ speaking turns** for reliable patterns
- **5,000+ words** for vocabulary analysis
- **Multiple contexts** (different topics/conversations)
Low data warning:
```
⚠️ Limited data: Only 23 speaking turns found.
Results may not fully represent speaking patterns.
Consider adding more transcripts.
```
## References
- [TRANSCRIPT-FORMAT-EXAMPLES.md](references/TRANSCRIPT-FORMAT-EXAMPLES.md)
- [VOICE-PROFILE-TEMPLATE.md](references/VOICE-PROFILE-TEMPLATE.md)
Related in Image & Video
watch
IncludedWatch a video (URL or local path). Downloads with yt-dlp, extracts auto-scaled frames with ffmpeg, pulls the transcript from captions (or Whisper API fallback), and hands the result to Claude so it can answer questions about what's in the video.
physical-ai-defect-image-generation
IncludedUse when the user wants to orchestrate defect image generation, run associated setup, or handle outputs on OSMO. The Day 0 path handles cold-start with USD-to-ROI, image-edit augmentation, and AnomalyGen to create initial PCBA datasets. The Day 1 path performs inference and labeling on real images. This skill helps with first-time asset setup, creation of finetuning checkpoints, and configuring deployment. Trigger keywords: defect image generation, dig workflow, dig pipeline, defect image detection workflow, aoi pipeline, aoi anomalygen, usd2roi anomalygen, day 0 pcba, day 1 pcba, day 1 real-photo alignment, day 1 manual roi, metal surface anomaly, glass defect, anomalygen finetune, setup_pcb, setup_metal, setup_glass, setup_pretrained, dig setup, dig datasets, dig pretrained checkpoint, dig image-edit endpoint.
accelint-react-best-practices
IncludedReact performance optimization and best practices. ALWAYS use this skill when working with any React code - writing components, hooks, JSX; refactoring; optimizing re-renders, memoization, state management; reviewing for performance; fixing hydration mismatches; debugging infinite re-renders, stale closures, input focus loss, animations restarting; preventing remounting; implementing transitions, lazy initialization, effect dependencies. Even simple React tasks benefit from these patterns. Covers React 19+ (useEffectEvent, Activity, ref props). Triggers - useEffect, useState, useMemo, useCallback, memo, inline components, nested components, components inside components, re-render, performance, hydration, SSR, Next.js, useDeferredValue, combined hooks.
elevenlabs-agents
IncludedBuild conversational AI voice agents with ElevenLabs Platform using React, JavaScript, React Native, or Swift SDKs. Configure agents, tools (client/server/MCP), RAG knowledge bases, multi-voice, and Scribe real-time STT. Use when: building voice chat interfaces, implementing AI phone agents with Twilio, configuring agent workflows or tools, adding RAG knowledge bases, testing with CLI "agents as code", or troubleshooting deprecated @11labs packages, Android audio cutoff, CSP violations, dynamic variables, or WebRTC config. Keywords: ElevenLabs Agents, ElevenLabs voice agents, AI voice agents, conversational AI, @elevenlabs/react, @elevenlabs/client, @elevenlabs/react-native, @elevenlabs/elevenlabs-js, @elevenlabs/agents-cli, elevenlabs SDK, voice AI, TTS, text-to-speech, ASR, speech recognition, turn-taking model, WebRTC voice, WebSocket voice, ElevenLabs conversation, agent system prompt, agent tools, agent knowledge base, RAG voice agents, multi-voice agents, pronunciation dictionary, voice speed control, elevenlabs scribe, @11labs deprecated, Android audio cutoff, CSP violation elevenlabs, dynamic variables elevenlabs, case-sensitive tool names, webhook authentication
humanizer
IncludedHumanize AI-generated text by detecting and removing patterns typical of LLM output. Rewrites text to sound natural, specific, and human. Uses 28 pattern detectors, 560+ AI vocabulary terms across 3 tiers, and statistical analysis (burstiness, type-token ratio, readability) for comprehensive detection. Use when asked to humanize text, de-AI writing, make content sound more natural/human, review writing for AI patterns, score text for AI detection, or improve AI-generated drafts. Covers content, language, style, communication, and filler categories.
generating-mermaid-diagrams
IncludedSalesforce architecture diagrams using Mermaid with ASCII fallback. Use this skill when generating text-based diagrams for Salesforce architecture, OAuth flows, ERDs, integration sequences, or Agentforce structure. TRIGGER when: user says "diagram", "visualize", "ERD", or asks for sequence diagrams, flowcharts, class diagrams, or architecture visualizations in Mermaid. DO NOT TRIGGER when: user wants PNG/SVG image output (use generating-visual-diagrams), or asks about non-Salesforce systems.