Generate a structured writing voice profile from sample texts and diagnostic questions. Outputs a CLAUDE.md-compatible voice section that other skills automatically consume. Use when asked to: create voice profile, analyze writing style, extract voice, profile my writing, build voice section, writing DNA, style analysis.
A utility that analyzes your writing samples and generates a structured voice profile for your CLAUDE.md. Once added, every skill that says "Apply voice and style preferences from your CLAUDE.md" will automatically use your profile. You run this once and update it when your style evolves.
A structured voice profile section formatted for direct paste into your CLAUDE.md or project-level CLAUDE.md. The profile includes:
This output integrates with the existing synthesis skills ecosystem. Skills like synthesis-article-writing, synthesis-blog-refresh, synthesis-concise-messaging, and synthesis-content-distribution already look for voice preferences in CLAUDE.md — this skill generates what they consume.
Ask the user to provide 3-5 samples of their own writing. The samples should:
If the user provides URLs, fetch and read them. If they provide filenames, read the files.
After reading the samples, ask 3-5 targeted questions to surface preferences that sample analysis alone cannot reveal. Adapt the questions based on what the samples show — do not ask about patterns already evident.
Question bank (select 3-5 based on what the samples leave ambiguous):
With samples read and questions answered, analyze across six dimensions:
Lexical Profile:
Syntactic Signature:
Rhetorical Devices:
Structural Patterns:
Tonal Identity:
Negative Constraints:
Output the profile in this format, ready for the user to paste into their CLAUDE.md:
## Voice & Writing Style
### Characteristics
- [Observation 1 — e.g., "Conversational but substantive. Writes like explaining to a smart colleague."]
- [Observation 2 — e.g., "Short paragraphs. Rarely more than 4 sentences. Single-sentence paragraphs for emphasis."]
- [Observation 3 — e.g., "Opens with specific anecdotes, not abstractions."]
- [Observation 4+]
### Sentence Structure
- [Pattern — e.g., "Varies length deliberately. Short sentences for emphasis, longer for complexity."]
- [Pattern — e.g., "Uses fragments sparingly but deliberately."]
- [Pattern — e.g., "Favors active voice. Passive only for emphasis on the object."]
### Vocabulary Preferences
- [Preference — e.g., "Plain language over jargon, even for technical topics."]
- [Preference — e.g., "Concrete over abstract. 'Revenue dropped 40%' over 'significant decline.'"]
### Avoid
- [Constraint — e.g., "Never use: delve, tapestry, nuanced, robust, foster, beacon"]
- [Constraint — e.g., "No em-dashes (use commas, periods, or colons instead)"]
- [Constraint — e.g., "No section-ending summaries. If a section needs a summary, restructure it."]
- [Constraint — e.g., "No AI-typical phrases: 'it's important to note,' 'in conclusion,' 'delve into'"]
- [Constraint — e.g., "No sycophantic or concierge language. No 'great question!' or 'I'd be happy to help.'"]
### Tone
- [Tone note — e.g., "Confident without arrogance. Direct without being rude."]
- [Tone note — e.g., "Humor is dry and infrequent — used for relief, not performance."]
- [Tone note — e.g., "Takes positions. Disagrees when warranted. Does not hedge every conclusion."]
Adapt the template to the actual analysis. Not every writer needs every section. Add sections for formatting preferences, content structure, or audience awareness if the analysis reveals strong patterns. Remove sections where the writer has no strong preference.
Present the profile to the user and ask:
Revise based on feedback. The profile should feel like a mirror the writer recognizes, not a prescription they'd resist.
After the user adds the voice profile to their CLAUDE.md:
No configuration or wiring is needed. The CLAUDE.md convention is the integration layer.