brand-voice — Claude Code skill: what it does, how to install
Extracts an author's writing style from real publications and turns it into a reusable profile for drafts and outreach. Useful when you need consistent tone without typical AI cliches.
npx skills add affaan-m/ECC --skill brand-voice -a claude-codeWhat brand-voice does
The skill studies real writing samples such as posts on X and launch notes. It extracts sentence rhythm, capitalization habits, and the way arguments use concrete proof. The result is a compact VOICE PROFILE block. Downstream skills like content-engine read this block directly.
The workflow strips away AI mannerisms. It deletes fake curiosity hooks and bait questions. If live platform access is available, the skill pulls recent posts through x-api. It keeps the resulting profile in session context and will not write personal voice files to the repo unless asked.
Install this if you write regular updates under a specific name. Skip it for quick one-off coding prompts.
What it helps with
- extract writing style from published posts and notes
- strip generic AI mannerisms from draft copy
- align tone across social updates and outbound emails
- feed a structured style profile into
content-engine
Example prompts for the agent
- Build a voice profile from my recent X posts
- Rewrite this announcement with brand-voice and cut the fluff
- Create a VOICE PROFILE block from the project README
How to install brand-voice
1Skills CLI (Vercel)
npx skills add affaan-m/ECC --skill brand-voice -a claude-code2Manually: put the files in place
~/.claude/skills/brand-voice/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/brand-voice/
1Skills CLI (Vercel)
npx skills add affaan-m/ECC --skill brand-voice -a codex2Manually: put the files in place
.agents/skills/brand-voice/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add affaan-m/ECC --skill brand-voice -a cursor2Manually: put the files in place
.cursor/skills/brand-voice/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install affaan-m/ECC brand-voice2Manually: put the files in place
.github/skills/brand-voice/SKILL.md1Skills CLI (Vercel)
npx skills add affaan-m/ECC --skill brand-voice -a gemini-cli2Platform CLI
gemini skills install https://github.com/affaan-m/ECC --path skills/brand-voiceManually: put the files in place
.devin/skills/brand-voice/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add affaan-m/ECC --skill brand-voice -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set146
The whole set →Similar
Questions about brand-voice
How do I install brand-voice in Claude Code?
Run npx skills add affaan-m/ECC --skill brand-voice -a claude-code in your terminal.
What does brand-voice do?
It analyzes real writing samples to identify sentence rhythm, phrasing habits, and tone. It then outputs a structured VOICE PROFILE that other skills can use.
Does brand-voice commit style data to the repository?
No, the profile stays in session memory. It will not create tracked files containing personal voice data without an explicit request.
Source text
SKILL.md · MIT
--- name: brand-voice description: Build a source-derived writing style profile from real posts, essays, launch notes, docs, or site copy, then reuse that profile across content, outreach, and social workflows. Use when the user wants voice consistency without generic AI writing tropes. metadata: origin: ECC --- # Brand Voice Build a durable voice profile from real source material, then use that profile everywhere instead of re-deriving style from scratch or defaulting to generic AI copy. ## When to Activate - the user wants content or outreach in a specific voice - writing for X, LinkedIn, email, launch posts, threads, or product updates - adapting a known author's tone across channels - the existing content lane needs a reusable style system instead of one-off mimicry ## Source Priority Use the strongest real source set available, in this order: 1. recent original X posts and threads 2. articles, essays, memos, launch notes, or newsletters 3. real outbound emails or DMs that worked 4. product docs, changelogs, README framing, and site copy Do not use generic platform exemplars as source material. ## Collection Workflow 1. Gather 5 to 20 representative samples when available. 2. Prefer recent material over old material unless the user says the older writing is more canonical. 3. Separate "public launch voice" from "private working voice" if the source set clearly splits. 4. If live X access is available, use `x-api` to pull recent original posts before drafting. 5. If site copy matters, include the current ECC landing page and repo/plugin framing. ## What to Extract - rhythm and sentence length - compression vs explanation - capitalization norms - parenthetical use - question frequency and purpose - how sharply claims are made - how often numbers, mechanisms, or receipts show up - how transitions work - what the author never does ## Output Contract Produce a reusable `VOICE PROFILE` block that downstream skills can consume directly. Use the schema in [references/voice-profile-schema.md](references/voice-profile-schema.md). Keep the profile structured and short enough to reuse in session context. The point is not literary criticism. The point is operational reuse. ## Affaan / ECC Defaults If the user wants Affaan / ECC voice and live sources are thin, start here unless newer source material overrides it: - direct, compressed, concrete - specifics, mechanisms, receipts, and numbers beat adjectives - parentheticals are for qualification, narrowing, or over-clarification - capitalization is conventional unless there is a real reason to break it - questions are rare and should not be used as bait - tone can be sharp, blunt, skeptical, or dry - transitions should feel earned, not smoothed over ## Hard Bans Delete and rewrite any of these: - fake curiosity hooks - "not X, just Y" - "no fluff" - forced lowercase - LinkedIn thought-leader cadence - bait questions - "Excited to share" - generic founder-journey filler - corny parentheticals ## Persistence Rules - Reuse the latest confirmed `VOICE PROFILE` across related tasks in the same session. - If the user asks for a durable artifact, save the profile in the requested workspace location or memory surface. - Do not create repo-tracked files that store personal voice fingerprints unless the user explicitly asks for that. ## Downstream Use Use this skill before or inside: - `content-engine` - `crosspost` - `lead-intelligence` - article or launch writing - cold or warm outbound across X, LinkedIn, and email If another skill already has a partial voice capture section, this skill is the canonical source of truth.
© affaan-m · MIT · affaan-m/ECC