brand-voice
affaan-m/ecc
Extract and reuse a consistent writing voice from real source material across all content and outreach.
What is brand-voice?
Build a durable voice profile by analyzing real posts, essays, emails, or docs—then apply that profile consistently to content, outreach, and social workflows. Use this when you need authentic voice consistency without generic AI writing patterns.
- Extract rhythm, sentence length, compression style, and tone patterns from 5–20 representative source samples
- Identify hard rules: capitalization norms, parenthetical use, question frequency, claim sharpness, and what the author never does
- Produce a reusable VOICE PROFILE block that downstream skills can consume directly in the same session
- Separate public launch voice from private working voice when source material clearly splits
- Pull live X posts via x-api if available to ensure recent, authentic material
How to install brand-voice
npx skills add null --skill brand-voice- 5–20 representative source samples (posts, essays, emails, docs, or site copy)
- Optional: live X API access to pull recent original posts
- Optional: access to product docs, changelogs, or landing page copy if brand voice matters
How to use brand-voice
- 1.Gather 5–20 representative samples from the strongest available sources (recent X posts, articles, emails, or product docs)
- 2.Prefer recent material unless the user indicates older writing is more canonical
- 3.Separate public launch voice from private working voice if the source set clearly splits
- 4.Extract patterns: rhythm, sentence length, compression, capitalization, parenthetical use, question frequency, claim sharpness, and what the author never does
- 5.Generate a reusable VOICE PROFILE block and reuse it across related tasks in the same session
- 6.Feed the profile into downstream skills like content-engine, crosspost, or lead-intelligence
Use cases
- Write product launch posts, threads, or announcements in a founder's authentic voice instead of generic AI tone
- Generate outbound cold or warm emails and LinkedIn messages that match a known author's style
- Adapt a team member's communication patterns across multiple channels (X, email, product docs) without re-deriving style each time
- Build a reusable voice system for content-engine or crosspost skills to consume in downstream workflows
- Create consistent brand voice for a company or personal brand across disparate content types
- Founders and creators who want authentic voice consistency across channels
- Content teams building multi-channel campaigns with a specific tone
- Marketing and outreach professionals adapting known voices at scale
- Product teams documenting or communicating in a consistent house style
brand-voice FAQ
Start with whatever you have. Even 2–3 strong pieces can establish baseline patterns. The skill includes Affaan/ECC defaults if live sources are thin.
Prefer recent material unless the user explicitly says older writing is more canonical or representative of the voice they want.
Real original posts, articles, essays, memos, launch notes, newsletters, working emails, product docs, changelogs, README framing, and site copy. Do not use generic platform exemplars.
Yes. Reuse the latest confirmed VOICE PROFILE across related tasks in the same session. If you need a durable artifact, save it in your requested workspace location or memory surface.
Remove fake curiosity hooks, 'not X, just Y' framing, 'no fluff' claims, forced lowercase, LinkedIn thought-leader cadence, bait questions, 'Excited to share,' generic founder-journey filler, and corny parentheticals.
Full instructions (SKILL.md)
Source of truth, from affaan-m/ecc.
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:
- recent original X posts and threads
- articles, essays, memos, launch notes, or newsletters
- real outbound emails or DMs that worked
- product docs, changelogs, README framing, and site copy
Do not use generic platform exemplars as source material.
Collection Workflow
- Gather 5 to 20 representative samples when available.
- Prefer recent material over old material unless the user says the older writing is more canonical.
- Separate "public launch voice" from "private working voice" if the source set clearly splits.
- If live X access is available, use
x-apito pull recent original posts before drafting. - 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.
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 PROFILEacross 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-enginecrosspostlead-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.
Related skills
More from affaan-m/ecc and the wider catalog.
browser-qa
Automate visual testing and UI interaction verification using browser automation after deploying features.
bun-runtime
Fast all-in-one JavaScript runtime with built-in package manager, bundler, and test runner.
canary-watch
Monitor deployed URLs for regressions—checks endpoints, assets, performance, and console errors after releases.
carrier-relationship-management
Manage carrier portfolios, negotiate rates, and track performance with transportation expertise frameworks.
cisco-ios-patterns
Cisco IOS/IOS-XE review patterns for config, ACLs, wildcard masks, and safe change verification.
ck
Persistent per-project memory for Claude Code with auto-loaded context and git-aware session tracking.