$npx -y skills add MoizIbnYousaf/marketing-cli --skill brand-voiceDefine or extract a consistent brand voice that other skills can use. Three modes: Extract (analyze existing content), Build (interview-based), Auto-Scrape (from URL). Use when copy sounds generic, when starting any new project, when voice feels inconsistent across channels, when
| 1 | # /brand-voice -- Brand Voice Engine |
| 2 | |
| 3 | Generic copy converts worse than copy with a distinct voice. Not because the |
| 4 | words are different -- because the reader feels like they're hearing from a |
| 5 | PERSON, not a marketing team. |
| 6 | |
| 7 | This skill defines that voice. Either by extracting it from existing content, |
| 8 | building it strategically from scratch, or auto-scraping a URL to analyze a |
| 9 | brand's public presence. |
| 10 | |
| 11 | For output formatting, see /cmo [rules/output-format.md](../cmo/rules/output-format.md). |
| 12 | |
| 13 | --- |
| 14 | |
| 15 | ## On Activation |
| 16 | |
| 17 | 1. Read `brand/` context: |
| 18 | - **positioning.md** — If available, use market angles to inform voice differentiation. A brand positioned as "the anti-course course" needs a different voice than one positioned as "enterprise-grade." |
| 19 | - **audience.md** — If available, tailor vocabulary and tone to the target reader. Technical builders get different language than busy executives. |
| 20 | - If neither exists, proceed with defaults. Ask the user about their market and audience during the question sequence. |
| 21 | 2. Check if `./brand/voice-profile.md` already exists: |
| 22 | - **Exists** → Update mode: show current profile summary, ask what to change. |
| 23 | - **Does not exist** → Proceed to Mode Selection below. |
| 24 | 3. Assess the user's request to determine which mode to use (Extract, Build, or Auto-Scrape). |
| 25 | |
| 26 | ## Three Modes |
| 27 | |
| 28 | ### Mode 1: Extract (analyze existing content) |
| 29 | |
| 30 | User provides 3-5 pieces of existing content (blog posts, emails, social posts, about page, etc). |
| 31 | |
| 32 | **The analysis process:** |
| 33 | |
| 34 | 1. **Read all provided content** -- look for patterns, not individual word choices |
| 35 | 2. **Identify the voice DNA:** |
| 36 | - Sentence structure (short/punchy vs. flowing/complex) |
| 37 | - Vocabulary level (everyday vs. technical vs. academic) |
| 38 | - Emotional register (warm/friendly vs. authoritative vs. irreverent) |
| 39 | - Perspective (first-person storytelling vs. objective analysis) |
| 40 | - Rhythm (varies sentence length? staccato? musical?) |
| 41 | 3. **Map the personality axes** (see Voice DNA Framework below) |
| 42 | 4. **Generate the voice profile** |
| 43 | 5. **Write to ./brand/voice-profile.md** |
| 44 | |
| 45 | ### Mode 2: Build (construct from scratch) |
| 46 | |
| 47 | No existing content. Build voice strategically through guided questions. |
| 48 | |
| 49 | **The question sequence:** |
| 50 | |
| 51 | 1. "If your brand were a person at a dinner party, how would they talk?" |
| 52 | 2. "Who is your audience? Technical builders, creative professionals, busy executives, everyday consumers, or a mix?" |
| 53 | 3. "Name 2-3 brands whose tone you admire (not their product -- their VOICE)." |
| 54 | 4. "What words should NEVER appear in your marketing? What feels off-brand?" |
| 55 | 5. "Show me something you've written that felt 'right' -- even a Slack message or email." |
| 56 | |
| 57 | ### Mode 3: Auto-Scrape (URL analysis) |
| 58 | |
| 59 | User provides a URL. Skill uses Exa MCP to research the brand's public presence. |
| 60 | |
| 61 | 1. Use Exa MCP to search for the brand's website content, social profiles, and public-facing copy |
| 62 | 2. Analyze homepage, about page, social bios, recent posts |
| 63 | 3. Extract voice patterns using the same DNA framework as Mode 1 |
| 64 | 4. Present findings and ask user to confirm/adjust |
| 65 | 5. Generate voice profile |
| 66 | |
| 67 | ## Mode Selection |
| 68 | |
| 69 | Not sure which mode? Here's the decision tree: |
| 70 | - **Have 3+ pieces of existing content** (blog posts, emails, landing pages) → Mode 1: Extract |
| 71 | - **Starting fresh with no content** → Mode 2: Build via interview |
| 72 | - **Have a live website URL** → Mode 3: Auto-Scrape |
| 73 | |
| 74 | If the brand has both a website AND existing content, prefer Mode 1 (Extract) — it captures the voice the brand already uses, which is more authentic than what a URL scan reveals. |
| 75 | |
| 76 | --- |
| 77 | |
| 78 | ## Voice DNA Framework |
| 79 | |
| 80 | Every voice maps across these axes: |
| 81 | |
| 82 | ### Personality Spectrum |
| 83 | |
| 84 | Rate each 1-10 with brief justification: |
| 85 | - Formal / Casual |
| 86 | - Reserved / Expressive |
| 87 | - Serious / Playful |
| 88 | - Traditional / Progressive |
| 89 | - Complex / Simple |
| 90 | - Cautious / Bold |
| 91 | |
| 92 | ### Voice Markers |
| 93 | |
| 94 | **Sentence patterns:** Average length, variation, structure (simple/compo |