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 skills add https://github.com/BrianRWagner/ai-marketing-claude-code-skills --skill voice-extractor
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*
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.
Improves the quality of images, especially screenshots, by enhancing resolution, sharpness, and clarity. Perfect for preparing images for presentations, documentation, or social media posts.
Downloads videos from YouTube and other platforms for offline viewing, editing, or archival. Handles various formats and quality options.
Lightweight WSI tile extraction and preprocessing. Use for basic slide processing tissue detection, tile extraction, stain normalization for H&E images. Best for simple pipelines, dataset preparation, quick tile-based analysis. For advanced spatial proteomics, multiplexed imaging, or deep learning pipelines use pathml.
Microscopy data management platform. Access images via Python, retrieve datasets, analyze pixels, manage ROIs/annotations, batch processing, for high-content screening and microscopy workflows.
Python library for working with DICOM (Digital Imaging and Communications in Medicine) files. Use this skill when reading, writing, or modifying medical imaging data in DICOM format, extracting pixel data from medical images (CT, MRI, X-ray, ultrasound), anonymizing DICOM files, working with DICOM metadata and tags, converting DICOM images to other formats, handling compressed DICOM data, or processing medical imaging datasets. Applies to tasks involving medical image analysis, PACS systems, radiology workflows, and healthcare imaging applications.
This skill should be used when working with pre-trained transformer models for natural language processing, computer vision, audio, or multimodal tasks. Use for text generation, classification, question answering, translation, summarization, image classification, object detection, speech recognition, and fine-tuning models on custom datasets.
Take brianrwagner/voice-extractor from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.