How this skill is triggered — by the user, by Claude, or both
Slash command
/coppermind-cmo:cmo-voice-setupThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Help the user establish their writing voice profile so Coppermind can draft emails that sound like them.
Help the user establish their writing voice profile so Coppermind can draft emails that sound like them.
Ask for samples: "To learn your writing voice, paste 2-3 recent client-facing emails you've sent. These help me match your tone, style, and structure when drafting follow-ups."
Analyze the emails. Extract:
Find or create the personal mind: Call ensure_personal_mind() — this returns the personal mind's mind_id, name, and slug, creating it automatically if it doesn't exist (with the correct deterministic slug derived from the customer's account ID). Then switch to it using the slug (not the name, which may be "My Notes" and collide with other minds): switch_client("<returned slug>").
Store the voice profile: Use set_brand_voice on the personal mind to store the structured voice data (tone, avoid patterns, examples). This is the same brand DNA format used by client minds, so get_brand_voice(mind_id=...) retrieves it consistently. Additionally, store the detailed profile as a preference memory:
store_memory(
content="CMO Writing Voice Profile: [structured JSON of extracted voice data]",
memory_type="preference",
tags=["cmo_voice", "writing_style"]
)
Show the extracted profile to the user and ask: "Does this capture your voice? Want me to adjust anything?"
Switch back to the previous client mind (if one was active before).
Confirm: "Voice profile saved. I'll use this when drafting client emails via /cmo-followup and other output commands."
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub benfinklea/coppermind-marketplace --plugin coppermind-cmo