voice-extractor/SKILL.md
Extract and document someone's authentic writing voice from samples. Use when someone needs a "voice guide," wants to capture their writing DNA, or needs to train AI to write in their style. Also useful for ghostwriting, brand voice documentation, or onboarding writers.
npx skillsauth add BrianRWagner/ai-marketing-claude-code-skills voice-extractorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
4 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
AI-generated content all sounds the same. The fix isn't better prompts — it's teaching the AI how you actually communicate.
This skill extracts your communication DNA from writing samples and produces a Voice Guide: documented, tested, and ready to use.
Detect from context or ask: "Quick voice snapshot, full Voice Guide, or full guide with examples?"
| Mode | What you get | Best for |
|------|-------------|----------|
| quick | Top 5 voice characteristics + 3 do/don't rules | Fast style reference, single piece |
| standard | Full Voice Guide: tone, vocabulary, rhythm, structure | AI training, ghostwriting, brand documentation |
| deep | Full Voice Guide + 10 sample rewrites + writing rules checklist + AI training examples | Onboarding writers, building a brand voice system |
Default: standard — use quick if they just need a fast reference. Use deep if they're onboarding a ghostwriter or building a content team.
Before extracting, collect:
Sample priority (most → least authentic):
Minimum sample gate: If samples total under 500 words, stop:
"These samples are too short to extract reliable patterns. Please add 2-3 more — emails, Slack messages, or transcripts work best. The messier and more casual, the better."
Do not attempt full extraction from under 500 words. Offer quick mode instead.
Before extracting, reason through:
Output a sample assessment:
"I have [X samples / Y words] to work with. Quality: [high/medium — why]. I'll use [full/quick] mode. Excluding: [any patterns and why]."
Identify the fundamental communication mode:
Role:
Default energy:
Recurring themes: What topics appear unprompted across samples? These are the things they actually care about.
Scan all samples and extract:
Transition phrases (how they shift topics):
Emphasis phrases (how they land a point):
Closers (how they wrap up):
| Zone | Description | Language Markers | |---|---|---| | Full authority | Topics they're an expert in | No hedging, definitive statements, "here's what works" | | Earned perspective | Topics with experience but not mastery | "In my experience...", "What I've found..." | | Active exploration | Topics they're learning now | "I'm testing this...", "What I'm seeing..." |
Map their stated expertise areas to each zone. This calibration is what makes the voice feel real vs. one-dimensional.
Extract what they'd NEVER say:
Source these from sample evidence where possible: "You never used [word] across [X samples] — it doesn't fit your voice."
After extracting the full profile, generate 2 test sentences on the same topic:
Version A (using the extracted voice profile):
"[Sample sentence in their voice]"
Version B (wrong voice — contrasting example):
"[Same content, different voice — shows what to avoid]"
Ask the user: "Does Version A actually sound like you when you're not overthinking it? What feels off?"
This validation catches extraction errors before the guide is put into production.
--quick)When samples are thin (300–500 words) or time is short:
Output: Minimum viable voice guide.
Difference from full mode:
After generating the Voice Guide:
Flag any issues: "The anti-pattern section only has 2 entries — not enough for a usable guide. I need more samples or direct input from the user."
## Voice Guide: [Name] — [Date]
### Sample Assessment
- Samples: [count, types]
- Total words: [count]
- Quality: [high/medium — reason]
- Mode: [quick/full]
- Excluded: [patterns excluded + why]
---
### Core Energy
- Role: [teacher/challenger/cheerleader/straight-shooter]
- Default energy: [description]
- Recurring themes: [list]
### Signature Phrases
**Transitions:**
- "[Phrase]" (source: [email/post])
- "[Phrase]"
**Emphasis:**
- "[Phrase]" (source: [email/post])
**Closers:**
- "[Phrase]"
### Confidence Calibration
**Full authority (no hedging):**
Topics: [list]
Sounds like: "[example sentence]"
**Earned perspective:**
Topics: [list]
Sounds like: "[example sentence]"
**Active exploration:**
Topics: [list]
Sounds like: "[example sentence]"
### Anti-Patterns (Never Use)
- [Word/phrase] — why: [evidence from samples]
- [Word/phrase] — why: [evidence]
### Validation Test
**This sounds like you:**
"[Version A]"
**This doesn't:**
"[Version B — contrast]"
### Self-Critique Notes
[Any gaps, things to validate with user]
### Usage Instructions
- For AI: Paste this guide into your system prompt
- For ghostwriter: Share on day 1 — cuts revision cycles in half
- For team: This is the benchmark for "on brand"
Skill by Brian Wagner | AI Marketing Architect | brianrwagner.com
testing
Generate platform-specific social post variants (Twitter/X, LinkedIn, Reddit) from one source input. Works with or without Node.js script. Includes platform reasoning, quality review, and guardrails against cross-posting spam.
tools
Search and analyze Reddit content using semantic AI search via reddit-insights.com MCP server. Use when you need to: (1) Find user pain points and frustrations for product ideas, (2) Discover niche markets or underserved needs, (3) Research what people really think about products/topics, (4) Find content inspiration from real discussions, (5) Analyze sentiment and trends on Reddit, (6) Validate business ideas with real user feedback. Triggers: reddit search, find pain points, market research, user feedback, what do people think about, reddit trends, niche discovery, product validation.
tools
Industry-adaptive B2B newsletter creation with stage, role, and geography-aware workflows
data-ai
Automatically fetch YouTube video transcripts, generate structured summaries, and send full transcripts to messaging platforms. Detects YouTube URLs and provides metadata, key insights, and downloadable transcripts.