Analyze writing samples to create a comprehensive voice DNA profile. Use when the user wants to capture their unique writing voice, needs to create a voice profile for AI content, or is setting up a new writing system. 트리거: "내 글체 분석해줘", "보이스 DNA", "내 스타일로 써줘", "/voice-dna-creator". 산출물이 Claude용 글쓰기 스타일 '스킬'이면 cw-style-skill-creator 사용.
npx skills add https://github.com/bam-bam-2/solo-skills --skill voice-dna-creator
Analyze writing samples to extract and codify a unique voice profile that AI can use to replicate your authentic writing style.
The user must provide:
Ask: "Please share 3-10 writing samples that represent your authentic voice. These can be:
Paste them here or point me to files."
For each sample, analyze:
Personality Markers
Emotional Range
Communication Style
Language Patterns
What They Avoid
Formatting Habits
Combine analysis across all samples to identify:
Create the profile following this structure:
{
"voice_dna": {
"version": "1.0",
"last_updated": "YYYY-MM-DD",
"core_essence": {
"identity": "",
"primary_role": "",
"unique_angle": ""
},
"personality_traits": {
"primary": [],
"how_it_shows": {}
},
"emotional_palette": {
"dominant_emotions": [],
"emotional_range": {},
"energy_level": ""
},
"communication_style": {
"formality": "",
"complexity": "",
"sentence_structure": {},
"paragraph_style": ""
},
"language_patterns": {
"signature_phrases": [],
"power_words": [],
"words_to_avoid": [],
"transitions": []
},
"never_say": {
"phrases": [],
"tones": [],
"approaches": []
},
"formatting_preferences": {},
"content_philosophy": {},
"voice_examples": {
"opening_lines": [],
"closing_lines": [],
"transitional_phrases": []
}
}
}
/context/voice-dna.json (or suggest saving location)After creating the profile, write a short paragraph on any topic using ONLY the voice DNA as guidance. Ask the user: "Does this sound like you?"
If not, iterate on the profile based on feedback.
Take bam-bam-2/voice-dna-creator 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.