// execute

Brand Voice Governance

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.

ExecuteengineIntermediate
bash
$npx skills add sarojkjha/aaj-marketing-skills --skill brand-voice-governance

// when to use it

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.

// what you give

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

// what you get

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

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.

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.

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).

// see it run

agent · execute
$
view engine source

Examples

// prompt

node resources/voice-check.js --demo

// result

▸ DEMO 1 — profile mode (extract rules from a brief)

VOICE PROFILE — Northwind Analytics
════════════════════════════════════════════════════════
Words to avoid   synergy, leverage, robust, seamless, best-in-class
Words to prefer  short sentences, concrete examples
Don't            enterprise jargon; synergy; "leverage
Grade ceiling    9

Ready to check against. Pass this object as "profile" to check mode,
or pass the same brief and it will be re-parsed.


▸ DEMO 2 — check mode (content against those rules)

BRAND VOICE GOVERNANCE — Northwind Analytics
════════════════════════════════════════════════════════
VERDICT   REVISE

  Conformance     25%  ██████················   1/4 blocks clean
  Profile       brand profile
  Grade ceiling 9
  2 to revise · 1 with notes · 1 pass

BANNED TERMS FOUND
  "robust"              1×
  "best-in-class"       1×
  "synergy"             1×
  "leverage"            1×
  "seamless"            1×

BY BLOCK
  ✗ REVISE  #1   Northwind is a robust, best-in-class analytics platform.
        ✗ "robust" is on this brand's avoid list
        ✗ "best-in-class" is on this brand's avoid list

  ✗ REVISE  #2   We help you leverage seamless data synergy across your entire organization, unlocking a...
        ✗ "synergy" is on this brand's avoid list
        ✗ "leverage" is on this brand's avoid list
        ✗ "seamless" is on this brand's avoid list
        · reads at grade 19.2, ceiling is 9
        · 34-word sentence; consider splitting

  ✓ PASS    #3   Set up in an afternoon. No SQL, no data hire.

  ! NOTES   #4   Our platform is basically just the easiest way to actually see what your users really do.
        · hedge "really" weakens the claim
        · hedge "basically" weakens the claim
        · hedge "actually" weakens the claim
        · hedge "just" weakens the claim

AUDIT TRAIL
  11 finding(s) across 4 block(s). Each is quoted above with its
  block number, so an editor or a compliance log can trace every flag to its
  source. Blocking findings (✗) violate a stated brand rule; notes (·) are
  advisory and do not fail the check.

WHAT THIS MEANS
  Content violates the brand's own stated voice rules. These are not style
  opinions — they are the do/don't list the brand wrote for itself. Fix the
  ✗ blocks before publishing; the notes can wait.

(Demo data. Replace with a real brief and real content.)

// faq

// install

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

// run it

$node .agents/skills/brand-voice-governance/resources/voice-check.js --demo

// worked example

Get the worked example for brand-voice-governance

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

No spam. Unsubscribe anytime.

// sprint

Positioning & Message Sprint — $3,500, 10 business days

This skill is one of the engines behind the Positioning & Message Sprint — $3,500, ten business days.

Positioning, copy, and voice governance — every claim defensible.

See what's included.

// 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.