---
name: brand-voice-governance
description: >-
  Use when the user wants to check whether content actually sounds like their
  brand — enforcing a defined voice across AI-generated or team-written copy at
  scale. Also use when the user mentions brand voice guardrails, tone
  consistency, on-brand/off-brand, banned words, content governance, style
  compliance, AI-content review, "does this sound like us", or keeping a large
  volume of content on-message. Checks content block by block against the
  brand's own do/don't rules and emits a pass/revise verdict with an audit
  trail.
license: MIT
metadata:
  publisher: AAJ
  slug: brand-voice-governance
  category: Content & Copy
  phase: Execute
  difficulty: Intermediate
  version: 1.0.0
  agents: [Claude Code, Cursor, OpenAI Codex, Windsurf, Cline]
  inputs: The content to check, and the brand's voice rules — either the brand-context brief or an explicit avoid-list, prefer-list, and reading-grade ceiling
  outputs: A block-by-block conformance report — pass/revise per block, every banned term and hedge quoted with its location, a conformance score, and an audit trail that traces each flag to its source
  related_aaj:
    - https://aajconsult.com/tools/website-grader
    - https://aajconsult.com/playbooks/content-creation-playbook
  tags: [brand-voice, governance, tone-consistency, content-review, guardrails, ai-content, compliance]
---

# Brand Voice Governance

Check whether content conforms to a brand's **own stated voice**, block by block, and leave an audit trail.

This is the enforcement layer over `brand-product-context`. That skill captures the voice — the defining adjectives, the do/don't list, the words to avoid, the reading level. This skill holds content to it. The two are a pair: one writes the rule, the other checks against it.

**The distinction this skill exists to enforce is conformance versus quality.** `copywriting`'s scorer asks whether copy is clear, concrete, and defensible — a judgment that's the same for every brand. This asks a different, brand-specific question: does this sound like *this* brand? The same sentence passes for a playful brand and fails for a clinical one. A general quality score cannot answer that, because it has no opinion about which voice is correct — only the brand's own brief does.

**The problem it exists to solve is scale.** One marketer writing one page holds the voice in their head. Ten people and an AI assistant producing forty pages a week do not — 74% of new web pages now contain AI-generated content, and AI writes to a generic professional register that drifts toward exactly the words most brands ban. Governance by eyeball doesn't survive that volume; a check that quotes every violation with its location does. And when 2026 state privacy laws require a transparency trail for AI-assisted decisions, an audit log of what was flagged and why stops being a nicety.

## When to use

The user is reviewing content for brand conformance, setting up a guardrail before AI-generated copy ships, or auditing a body of existing content for drift. For whether copy is *good* — clarity, claim-defensibility — use `copywriting`. For whether the voice rules themselves are right, use `brand-product-context` to define them first.

## Before you start

1. **Get the voice rules.** Read `.agents/product-marketing.md` — the Voice & tone section has the do/don't and words-to-avoid. If no brief exists, run `brand-product-context` first, or supply an explicit avoid-list, prefer-list, and grade ceiling. Without real brand rules the check falls back to AAJ house defaults, which catch generic jargon but aren't *this* brand.
2. **Get the content as blocks.** Paragraphs, list items, headings — the units an editor actually fixes. The engine splits on blank lines and list markers.
3. **Confirm the reading-grade ceiling.** Most B2B copy should sit at grade 8–10. A brand writing for a technical audience may set it higher; say so, or the grade note will fire on legitimately dense copy.

## Method

Governance is only credible if every flag is traceable. This skill never returns a bare "off-brand" score — it quotes the offending term, names the rule it breaks, and gives the block it's in, so a human editor or a compliance log can verify or override each one.

Two severities, and the line between them is the whole design:

- **Blocking (✗)** — violates a rule the brand *wrote for itself*: a banned word, copy over the stated grade ceiling. These fail the check. They are not opinions.
- **Advisory (·)** — hedges, long sentences, a block reading above target. Worth fixing on a flagship page, skippable under deadline. These never fail the check.

Keeping opinions out of the blocking tier is what makes the tool trustworthy at scale. The moment it fails content on taste, editors start ignoring it, and an ignored guardrail governs nothing.

## Run the engine

> Paths assume you installed with `npx skills add`. From a clone of this repo, use `skills/brand-voice-governance/resources/…` instead.

```bash
node .agents/skills/brand-voice-governance/resources/voice-check.js --demo            # worked example, no args
node .agents/skills/brand-voice-governance/resources/voice-check.js profile '<json>'  # extract rules from a brief
node .agents/skills/brand-voice-governance/resources/voice-check.js check '<json>'    # score content against rules
node .agents/skills/brand-voice-governance/resources/voice-check.js --help
```

Two modes. **Profile** parses a checkable ruleset from a brand-context brief's Voice & tone section — a deterministic parse, so the rules are themselves auditable. **Check** scores content against that ruleset, block by block. Feed the profile output into check, or pass the same brief to check and it re-parses.

## Workflow

1. **Extract the profile** from `.agents/product-marketing.md` with profile mode, and show the user the parsed rules. If the avoid-list is empty, that's the finding — the brief has no words-to-avoid and should get one.
2. **Run check** on the content against that profile.
3. **Read the blocking findings first.** These are rule violations; fix them before publishing.
4. **Triage the advisory notes** by how much the page matters — clear them on the homepage, leave them on an internal FAQ.
5. **Keep the audit trail** if the content was AI-generated or the brand needs a governance record. The quoted findings are the log.
6. **Route quality questions elsewhere.** A clean conformance check does not mean the copy is good — hand a passing draft to `copywriting`'s scorer for clarity and claim-defensibility.

## Present the result

Lead with the verdict and the conformance score, then the banned-terms roll-up, then the block-by-block list with every finding quoted. State plainly whether the run used the brand's real profile or fell back to house defaults — a check against defaults is a weaker claim and the user should know.

Never present a blocking finding as a suggestion or an advisory note as a failure. The credibility of the whole tool rests on that line holding.

## Guardrails & common mistakes

- **Conformance is not quality.** This measures whether content matches the brand's stated voice, not whether it's good. Say so every time; pair with `copywriting` for quality.
- **House defaults are a fallback, not a profile.** If no brand avoid-list is found, the check runs against AAJ generic defaults and flags that it did. Don't let a house-default pass read as a brand-conformance pass.
- **Keep opinions out of the blocking tier.** Only rules the brand wrote for itself should fail content. Promoting a taste preference to a hard failure is how the tool loses editors' trust.
- **Banned-word matching is literal and whole-word.** It catches "leverage" but not a paraphrase that means the same thing. It's a floor, not a substitute for a human read on tone.
- **A brief with no words-to-avoid can't govern much.** If profile mode returns an empty avoid-list, the fix is upstream — capture the real rules in `brand-product-context`.
- **The reading-grade ceiling is brand-specific.** Don't apply a grade-8 ceiling to copy written for a technical audience; set it from the brief.
- **Don't run this instead of a human on flagship copy.** It scales review to catch the mechanical violations a person misses at volume; it doesn't replace the judgment a person brings to the pieces that matter most.

## Related AAJ resources

- Interactive tool: https://aajconsult.com/tools/website-grader
- Playbook: https://aajconsult.com/playbooks/content-creation-playbook

## Related skills

`brand-product-context` (defines the voice this enforces — the prerequisite) · `copywriting` (quality, where this checks conformance) · `content-repurposing` (governs the derivatives it produces) · `geo-content-optimization` (the other check content passes before publishing).

## Credits

Original AAJ skill. The conformance-versus-quality split and the blocking/advisory severity line are AAJ's own. The Agent Skills format and Corey Haines' `coreyhaines31/marketingskills` (MIT) were references for structure. See the repository README for the full reference list.
