Voice Extractor Skill Guide
Purpose
Extract voice patterns from writing samples and generate production-ready prompts that replicate the author's unique style, tone, and structural patterns.
When to Use
- User provides writing samples and wants to replicate that voice
- User needs to create social media content prompts matching their style
- User wants to analyze what makes their writing distinctive
- User needs to refine existing prompts to produce more authentic output
Process
Phase 1: Voice Analysis
Collect Samples: Request 5-10 writing samples from the user (more variety = better extraction)
Analyze Patterns: For each sample, identify:
Structural Patterns
- Opening styles (personal story, direct address, observation, question, analogy)
- Paragraph flow and transitions
- Closing patterns (call to action, reflection, open question, statement)
- Average length and length variation
Tonal Patterns
- Primary tones (inspirational, conversational, instructional, philosophical, humorous)
- Emotional arc within posts
- Formality level
Linguistic Fingerprints
- Signature phrases or sentence structures
- Punctuation habits (em dashes, ellipses, question chains)
- Arrow syntax usage (->)
- List formatting preferences
- Emoji/symbol usage (or absence)
Content Patterns
- How topics are introduced
- Personal experience integration
- Technical vs emotional balance
- Multi-topic handling strategies
Create Voice Analysis Document: Generate a structured analysis file containing:
## VOICE DNA
Core traits that appear in 80%+ of samples
## STRUCTURAL FORMATS
List distinct formats with examples
## OPENING ROTATION
All unique opening styles identified
## TONAL PALETTE
Tones and when each appears
## LINGUISTIC MARKERS
Signature elements to preserve
## ANTI-PATTERNS
What this voice NEVER does
Phase 2: Prompt Generation
Draft Initial Prompt with sections:
- Role/persona definition
- Voice DNA (immutable traits)
- Structural toolkit (multiple format options, NOT rigid formula)
- Tone matching guidance
- Length flexibility ranges
- Anti-patterns (what to avoid)
- 3-5 voice examples directly from samples
Key Principles:
- Provide OPTIONS not requirements for structure
- Include actual examples from the source material
- Specify what the voice NEVER does
- Allow length variation based on content
- Handle multi-topic inputs gracefully
Phase 3: Iterative Refinement
Run Experiments: Use codex skill with gpt-5 to test prompts
Create Experiment Folders: example-1/, example-2/, etc.
Each Folder Contains:
PROMPT.md - The prompt version being tested
INPUT.txt - Test input(s)
OUTPUT.txt - Generated output
NOTES.md - What worked/didn't work
Iterate Until:
- Outputs show structural variety (not all same format)
- Opening styles rotate naturally
- Multi-topic handling feels cohesive
- Tone matches content appropriately
- Length adapts to complexity
Output Artifacts
Required Deliverables
VOICE_ANALYSIS.md - Complete voice pattern breakdown
FINAL_PROMPT.md - Production-ready prompt
experiment-N/ folders - All iteration history
Optional Deliverables
PREPROCESSING_REQUIREMENTS.md - If input cleaning needed
PROBLEMS.md - Issues identified and solved
EXAMPLES.md - Additional voice examples for reference
Common Issues and Solutions
| Problem |
Solution |
| All outputs start the same |
Add opening rotation with 10+ styles |
| Rigid structure every time |
Replace step-by-step formula with format OPTIONS |
| Multi-topics feel forced |
Provide integration strategies (common thread, numbered list, comparison) |
| Output too long/short |
Add length ranges per format type |
| Conversational responses ("Here's...") |
Add anti-conversational directives and forbidden phrases |
| Lost voice authenticity |
Include more actual examples in prompt |
Quick Start Template
When user provides samples, respond with:
I'll analyze your writing samples to extract your voice patterns.
**Analyzing:**
1. Structural patterns (openings, flow, closings)
2. Tonal patterns (primary tones, emotional arc)
3. Linguistic fingerprints (signature phrases, punctuation)
4. Content patterns (topic handling, personal integration)
After analysis, I'll create:
- Voice Analysis document
- Production-ready prompt
- Experiment iterations to verify quality
Shall I proceed with the analysis?
Integration with Codex
When testing prompts:
- Use codex skill with gpt-5 model, medium reasoning effort
- Test with varied inputs (single topic, multi-topic, different lengths)
- Verify variety across multiple generations
- Store all experiments for reference
Resume syntax for continued refinement:
echo "Generate post about [topic]" | codex exec --skip-git-repo-check resume --last 2>/dev/null
1---2name: extract-voice3description: Use when the user wants to analyze writing samples to extract voice patterns, create voice-replicating prompts, or refine content generation prompts to match a specific writing style4---5
6# Voice Extractor Skill Guide
7
8## Purpose
9Extract voice patterns from writing samples and generate production-ready prompts that replicate the author's unique style, tone, and structural patterns.
10
11## When to Use
12- User provides writing samples and wants to replicate that voice
13- User needs to create social media content prompts matching their style
14- User wants to analyze what makes their writing distinctive
15- User needs to refine existing prompts to produce more authentic output
16
17## Process
18
19### Phase 1: Voice Analysis
20
211. **Collect Samples**: Request 5-10 writing samples from the user (more variety = better extraction)
22
232. **Analyze Patterns**: For each sample, identify:
24
25 **Structural Patterns**
26 - Opening styles (personal story, direct address, observation, question, analogy)
27 - Paragraph flow and transitions
28 - Closing patterns (call to action, reflection, open question, statement)
29 - Average length and length variation
30
31 **Tonal Patterns**
32 - Primary tones (inspirational, conversational, instructional, philosophical, humorous)
33 - Emotional arc within posts
34 - Formality level
35
36 **Linguistic Fingerprints**
37 - Signature phrases or sentence structures
38 - Punctuation habits (em dashes, ellipses, question chains)
39 - Arrow syntax usage (->)
40 - List formatting preferences
41 - Emoji/symbol usage (or absence)
42
43 **Content Patterns**
44 - How topics are introduced
45 - Personal experience integration
46 - Technical vs emotional balance
47 - Multi-topic handling strategies
48
493. **Create Voice Analysis Document**: Generate a structured analysis file containing:
50 ```
51 ## VOICE DNA
52 Core traits that appear in 80%+ of samples
53
54 ## STRUCTURAL FORMATS
55 List distinct formats with examples
56
57 ## OPENING ROTATION
58 All unique opening styles identified
59
60 ## TONAL PALETTE
61 Tones and when each appears
62
63 ## LINGUISTIC MARKERS
64 Signature elements to preserve
65
66 ## ANTI-PATTERNS
67 What this voice NEVER does
68 ```
69
70### Phase 2: Prompt Generation
71
721. **Draft Initial Prompt** with sections:
73 - Role/persona definition
74 - Voice DNA (immutable traits)
75 - Structural toolkit (multiple format options, NOT rigid formula)
76 - Tone matching guidance
77 - Length flexibility ranges
78 - Anti-patterns (what to avoid)
79 - 3-5 voice examples directly from samples
80
812. **Key Principles**:
82 - Provide OPTIONS not requirements for structure
83 - Include actual examples from the source material
84 - Specify what the voice NEVER does
85 - Allow length variation based on content
86 - Handle multi-topic inputs gracefully
87
88### Phase 3: Iterative Refinement
89
901. **Run Experiments**: Use codex skill with gpt-5 to test prompts
912. **Create Experiment Folders**: `example-1/`, `example-2/`, etc.
923. **Each Folder Contains**:
93 - `PROMPT.md` - The prompt version being tested
94 - `INPUT.txt` - Test input(s)
95 - `OUTPUT.txt` - Generated output
96 - `NOTES.md` - What worked/didn't work
97
984. **Iterate Until**:
99 - Outputs show structural variety (not all same format)
100 - Opening styles rotate naturally
101 - Multi-topic handling feels cohesive
102 - Tone matches content appropriately
103 - Length adapts to complexity
104
105## Output Artifacts
106
107### Required Deliverables
1081. `VOICE_ANALYSIS.md` - Complete voice pattern breakdown
1092. `FINAL_PROMPT.md` - Production-ready prompt
1103. `experiment-N/` folders - All iteration history
111
112### Optional Deliverables
113- `PREPROCESSING_REQUIREMENTS.md` - If input cleaning needed
114- `PROBLEMS.md` - Issues identified and solved
115- `EXAMPLES.md` - Additional voice examples for reference
116
117## Common Issues and Solutions
118
119| Problem | Solution |
120|---------|----------|
121| All outputs start the same | Add opening rotation with 10+ styles |
122| Rigid structure every time | Replace step-by-step formula with format OPTIONS |
123| Multi-topics feel forced | Provide integration strategies (common thread, numbered list, comparison) |
124| Output too long/short | Add length ranges per format type |
125| Conversational responses ("Here's...") | Add anti-conversational directives and forbidden phrases |
126| Lost voice authenticity | Include more actual examples in prompt |
127
128## Quick Start Template
129
130When user provides samples, respond with:
131
132```
133I'll analyze your writing samples to extract your voice patterns.
134
135**Analyzing:**
1361. Structural patterns (openings, flow, closings)
1372. Tonal patterns (primary tones, emotional arc)
1383. Linguistic fingerprints (signature phrases, punctuation)
1394. Content patterns (topic handling, personal integration)
140
141After analysis, I'll create:
142- Voice Analysis document
143- Production-ready prompt
144- Experiment iterations to verify quality
145
146Shall I proceed with the analysis?
147```
148
149## Integration with Codex
150
151When testing prompts:
1521. Use codex skill with gpt-5 model, medium reasoning effort
1532. Test with varied inputs (single topic, multi-topic, different lengths)
1543. Verify variety across multiple generations
1554. Store all experiments for reference
156
157Resume syntax for continued refinement:
158```bash
159echo "Generate post about [topic]" | codex exec --skip-git-repo-check resume --last 2>/dev/null
160```