// design

Brand Voice Definition

Use when the user wants to define or document their brand voice - write a voice guide, agree tone-of-voice rules, or work out why some copy sounds like them and some does not - from writing that already exists. Also use when the user mentions brand voice guide, tone of voice, voice and tone, style guide, "what does our voice actually sound like", or wants rules an AI or a new writer can follow. Measures on-brand samples for reading grade, sentence length, person, contractions, hedges and buzzwords, checks they agree with each other, contrasts them with off-brand writing, and emits a checkable profile for the brand-voice-governance engine.

DesignengineStarter
bash
$npx skills add sarojkjha/aaj-marketing-skills --skill brand-voice-definition
Or run it in Claude or ChatGPT through the AAJ engines connector

Claude Code

/plugin marketplace add sarojkjha/aaj-marketing-skills
/plugin install aaj-marketing-skills@aaj

OpenAI Codex

codex plugin marketplace add sarojkjha/aaj-marketing-skills
codex plugin add aaj-marketing-skills@aaj

Claude or ChatGPT — no install

Add this as a custom connector:

https://aaj-engines-mcp.sarojkjha10.workers.dev/mcp
Recipes: vendor data in, a verdict out

// when to use it

Use when the user wants to define or document their brand voice - write a voice guide, agree tone-of-voice rules, or work out why some copy sounds like them and some does not - from writing that already exists. Also use when the user mentions brand voice guide, tone of voice, voice and tone, style guide, "what does our voice actually sound like", or wants rules an AI or a new writer can follow. Measures on-brand samples for reading grade, sentence length, person, contractions, hedges and buzzwords, checks they agree with each other, contrasts them with off-brand writing, and emits a checkable profile for the brand-voice-governance engine.

// what you give

Three or more pieces of writing of 100+ words that the team agrees sound like the brand, optionally pieces that do not, and any words already known to be off-limits

// what you get

Per-sample measurements, the on-brand medians and whether the samples agree, the contrast with off-brand writing, the written rules for reading level, sentence length, person, contractions, exclamation marks, hedges and words to avoid, and a profile object - avoid, prefer, maxGrade - that brand-voice-governance checks new content against

Engine spec

// decision it supports

What are the measurable rules of our brand voice, taken from writing we already agree sounds like us?

// inputs

Three or more pieces of writing of 100+ words that the team agrees sound like the brand, optionally pieces that do not, and any words already known to be off-limits

// output

Per-sample measurements, the on-brand medians and whether the samples agree, the contrast with off-brand writing, the written rules for reading level, sentence length, person, contractions, exclamation marks, hedges and words to avoid, and a profile object - avoid, prefer, maxGrade - that brand-voice-governance checks new content against

// acts or analyzes

Analyzes only

Makes no network calls, writes no files and changes nothing in your tools.

// where your information goes

How you run itWhere your inputs go
Skill installed in your agent, or the local MCP serverThe engine runs on your machine and AAJ receives nothing. Your AI agent still sends what you give it to its model provider (Anthropic, OpenAI and so on), under your own account's terms.
Hosted MCP serverYour agent's model provider, as above, plus AAJ's server on Cloudflare, which receives the engine inputs over HTTPS, runs them in memory and keeps no copy. Cloudflare keeps error logs (no inputs) for up to 7 days.

No engine needs customer names, emails or other personal data; leave them out.

// limitations

  • It applies rules to the text you paste: reading grade, sentence length, person, contractions, hedges and buzzwords. It can't capture character or tone, and can't see how readers respond.
  • The rules are only as good as the samples. One writer's favourites, or off-brand pieces marked on-brand, give rules for the wrong voice. Samples under 100 words are not counted.
  • The agreement limits (three grades, eight words of sentence length), the grade-plus-one ceiling and the house buzzword list are AAJ engine rules, not standards.
  • A word the on-brand samples use is flagged, not banned, and someone has to decide. The passive-voice figure is an estimate.

// review before acting

Whoever owns the brand confirms the team agrees the on-brand samples sound right and decides on every flagged word before the profile goes to brand-voice-governance. The adjectives, do/don't list and examples are still written by hand.

// setup

install
$npx skills add sarojkjha/aaj-marketing-skills --skill brand-voice-definition
hosted mcp
$https://aaj-engines-mcp.sarojkjha10.workers.dev/mcp

Agents listed: Claude Code, Cursor, OpenAI Codex, Windsurf, Cline. Tested and recorded: Claude Code.

Full spec on GitHub

Brand Voice Definition

Most voice guides are a list of adjectives - "confident, warm, clear" - that describe every brand and constrain none. A writer cannot check a draft against "warm", and neither can an AI. What they can check is a reading level, a sentence length, whether the reader is "you", whether contractions are used, and which words never appear.

This skill gets those rules from the writing you already agree sounds right, rather than from a workshop. Give it three or more on-brand pieces and it measures them, checks that they agree with each other (if they do not, you do not have one voice yet), contrasts them with anything you mark off-brand, and writes the measurable half of the guide. The output includes a profile the brand-voice-governance engine checks new content against, so the guide is enforced from the day it is written. The adjectives, the do/don't list and the examples are still yours to write; this gives them a spine.

When to use

The user is writing a voice guide for the first time, rewriting one nobody uses, briefing an AI tool or an agency on how the brand sounds, or trying to explain why one piece of copy is "off".

Do not use it to check content; brand-voice-governance does that with the profile this produces. Do not use it to decide what the brand stands for; positioning-statement and brand-product-context come first.

Before you start

  1. Pick three to six pieces the team agrees sound like you, each 100 words or more: a homepage section, an email a customer replied to, an FAQ, a post the founder is proud of. Agreement matters more than volume.
  2. Pick one or two pieces you do not want to sound like, if you have them: the old press release, the agency draft that got rejected.
  3. List any words already off-limits. The engine adds AAJ's house list of buzzwords unless your on-brand writing uses them.

Method

Measure, do not describe. Per sample: Flesch-Kincaid grade, average and longest sentence, "you" / "we" / "I" per 100 words, contractions per 100 words, exclamation and question marks as a share of sentences, hedges per 100 words (very, really, just, perhaps...), buzzwords per 100 words, adverbs, and a passive-voice estimate. Samples under 100 words are shown but not counted.

Check the samples agree. On-brand samples more than three grades apart, or more than eight words apart in average sentence length, are not one voice (engine rules). The verdict is "not one voice" until you decide which end is the brand and drop the rest.

Write the rules from the medians. Reading level: the on-brand median grade plus one of headroom (an engine rule). Sentences: the median average, with the longest kept under twice it. Person: whichever of you / we / I the samples use most, if they use one at all. Contractions: used or not, from the rate. Exclamation marks: none if fewer than 2% of sentences. Hedges: at or below the on-brand rate. Passive voice is called out if it passes 15% of sentences.

Build the avoid list honestly. The house buzzwords and your candidates go on the list unless the on-brand samples use them; a word the brand uses is flagged for a decision, not banned behind your back. Buzzwords that appear only in off-brand samples are added.

Contrast with off-brand. The metrics where off-brand writing differs most are the rules worth writing down first. If it differs in none of them, what makes it off-brand is not measurable here, and belongs in the do/don't list in words.

Workflow

Step 1 - Collect. Three to six on-brand pieces, one or two off-brand, the off-limits words.

Step 2 - Run. If the verdict is "not one voice", argue about which samples stay, then re-run.

Step 3 - Write the guide. The rules go in as they come out; add the do/don't list, the adjectives and two example rewrites beside them. The Brand Voice Guide template has the structure.

Step 4 - Wire it in. Pass the profile to brand-voice-governance and check the next ten pieces the team or an AI produces.

Step 5 - Re-derive yearly, or when the on-brand pile changes.

Run the tool

node resources/voice-derive.js --demo

run({ brand, samples, avoidCandidates }) returns each sample's measurements, the on-brand and off-brand medians, the spread and whether it is consistent, the person, the written rules, the profile object for governance, findings and a verdict.

Present the result

  1. The verdict: profile ready, not one voice, or too thin.
  2. The rules, as written, ready to paste into the guide.
  3. The contrast with off-brand writing in one line: where it differs most.
  4. The profile object, and the instruction to run the next drafts through governance.

Guardrails & common mistakes

  • Never derive a voice from one writer's favourite piece. Three samples the team agrees on, minimum.
  • Never ban a word the brand actually uses without deciding to. The engine flags it; you decide.
  • Do not mistake the measurable rules for the whole guide. They are the spine; the do/don't list and the examples carry the character.
  • Do not include off-brand samples as on-brand to "balance" the voice. That is how you get a grade-9 rule nobody follows.
  • Reading grade is a ceiling, not a target. Simpler than the ceiling is always allowed.
  • brand-voice-governance - checks content against the profile this produces
  • brand-product-context - where the voice section of the brief lives
  • aaj-copywriting - writing inside the rules
  • positioning-statement - what the voice is in service of

// faq

// install

$npx skills add sarojkjha/aaj-marketing-skills --skill brand-voice-definition

// worked example

Get the worked example for Brand Voice Definition

One email. The filled-in config, the output, and how to read it.

No spam. Unsubscribe anytime.

// human in the loop

Need a human in the loop?

AAJ builds the strategies, tools, and playbooks these skills are made of — with engagements for growth-stage and enterprise teams.