From article-writer
Extracts speaking style, signature phrases, vocabulary, and sentence patterns from transcripts to build or refine author profiles for authentic AI content.
npx claudepluginhub mwguerra/claude-code-plugins --plugin article-writerThis skill uses the workspace's default tool permissions.
Extract authentic voice characteristics from transcripts to enhance author profiles.
Reverse-engineers voice profiles from text samples by analyzing sentence structure, vocabulary, tone markers, and usage patterns like contractions and pronouns. Outputs YAML profiles for formality, confidence, warmth.
Extracts and documents writer's voice patterns through sample collection, linguistic analysis of sentences/paragraphs/punctuation, and lexical fingerprinting for style guides and consistent reproduction.
Creates author profiles via questionnaire or transcript analysis using voice-extractor script for consistent voice across articles.
Share bugs, ideas, or general feedback.
Extract authentic voice characteristics from transcripts to enhance author profiles.
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.
Accept transcripts in these formats:
Speaker: text[00:01:23] Speaker: text or 59:54 Speaker: text[Speaker]: text[17:30, 12/6/2025] Speaker: textIf user provides audio/video without transcript: Suggest transcription services:
# 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
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 |
After automated extraction, read transcript samples to identify:
# 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
# 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
{
"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"]
}
}
}
# 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
Good voice analysis needs:
Low data warning:
⚠️ Limited data: Only 23 speaking turns found.
Results may not fully represent speaking patterns.
Consider adding more transcripts.