Your voice guidelines probably live in a Google Doc somewhere. Nice paragraphs, good intentions, and zero effect on what your AI tools produce, because AI doesn't read your doc before every draft. A Brand Voice JSON fixes that: it packs your entire voice system into one structured block of text you paste at the top of any AI conversation. Machines parse structure better than prose. Give them structure. This guide is the deliverable behind the Cohesion pillar; once your file is built, the ChatGPT Voice Prompts pack shows you exactly where to paste it.
What goes in the file
Seven sections. Each one answers a question AI would otherwise guess at.
| Key | What it holds | Why AI needs it |
|---|---|---|
voice_charter |
Your 25-word "who we are" statement | Anchors every output to one identity |
personality |
Sliders from 0 to 10 (formal, playful, direct, warm) | Numbers beat adjectives. "Playful: 6" is repeatable. "Kinda fun" is not |
banned_words |
Words you never use | The single highest-impact field. AI defaults to these words constantly |
approved_phrases |
Phrases that sound like you | Gives AI raw material instead of making it invent your style |
emoji_policy |
Which, where, how often | Prevents the confetti problem |
cta_styles |
How you ask people to act | CTAs are where generic voice shows first |
channels |
Per-channel overrides | Your LinkedIn self and your email self differ. Say how |
The annotated schema
Copy this skeleton and replace every value.
{
"voice_charter": "25 words max. Who you are, who you serve, how you sound.",
"personality": {
"formal": 3,
"playful": 6,
"direct": 8,
"warm": 7
},
"banned_words": ["list", "every", "word", "you", "refuse", "to", "use"],
"approved_phrases": ["phrases you actually say", "your recurring expressions"],
"emoji_policy": {
"allowed": [],
"max_per_post": 0,
"notes": "Where emoji are acceptable, if anywhere."
},
"cta_styles": {
"default": "How you normally ask for action.",
"soft": "The low-pressure version.",
"never": "CTA constructions you refuse to use."
},
"channels": {
"email": { "tone_shift": "", "length": "", "notes": "" },
"linkedin": { "tone_shift": "", "length": "", "notes": "" },
"instagram": { "tone_shift": "", "length": "", "notes": "" }
}
}
Sliders: 0 means the trait is absent, 10 means it dominates. Most brands sit between 3 and 8 on everything. If you score yourself 10 on anything, you are probably performing, not describing.
A complete worked example
Meet Rosa, a fictional solo operations consultant for small restaurants. Here is her finished file.
{
"voice_charter": "I help independent restaurant owners fix their back-of-house chaos. Practical, unfussy, a little blunt. I talk like a line cook who read the P&L.",
"personality": {
"formal": 2,
"playful": 4,
"direct": 9,
"warm": 6
},
"banned_words": ["synergy", "streamline", "solutions", "elevate", "journey", "unlock", "passionate", "foodie"],
"approved_phrases": [
"here's what that costs you",
"fix the schedule first",
"your walk-in is lying to you",
"run the numbers, then decide"
],
"emoji_policy": {
"allowed": [],
"max_per_post": 0,
"notes": "No emoji anywhere. Reads as trying too hard for this audience."
},
"cta_styles": {
"default": "Book a 20-minute kitchen audit. Bring your last two weeks of invoices.",
"soft": "Reply with your biggest back-of-house headache. I read everything.",
"never": "Don't miss out. Limited spots. Act now."
},
"channels": {
"email": { "tone_shift": "warmer, first-name basis", "length": "under 200 words", "notes": "One idea per email. One CTA." },
"linkedin": { "tone_shift": "same directness, slightly more context", "length": "under 150 words", "notes": "Open with a specific number or scenario, never a platitude." },
"instagram": { "tone_shift": "most casual", "length": "caption under 100 words", "notes": "Kitchen photos only, no stock imagery language." }
}
}
Notice what makes this work: every field is specific enough to argue with. If a draft violates "under 200 words" or uses "elevate," you can point to the line it broke.
How to use it
ChatGPT. Open Settings, then Personalization, then Custom Instructions. Paste the JSON into "How would you like ChatGPT to respond?" with one line above it: "Write all content following this brand voice specification." For a single project, paste it as the first message instead.
Claude. Create a Project and paste the JSON into the project instructions. Every conversation in that project inherits it. For one-off chats, paste it as your first message with the same instruction line.
Notion AI. Notion has no persistent instruction field, so keep the JSON in a page called "Brand Voice JSON" and paste it into your prompt each time: "Following the JSON below, write..."
Anywhere else. The pattern is always the same. Structured spec first, task second: "Using this brand voice JSON, write a LinkedIn post about [topic]."
Build yours in 45 minutes
- Write your voice charter. 25 words, spoken language, no mission-statement cosplay. (10 min)
- Set your four personality sliders. Ask: would a client who knows me agree with these numbers? (5 min)
- List 8 to 15 banned words. Start with every word you delete when editing AI drafts. (10 min)
- Capture 4 to 8 approved phrases. Pull them from your actual emails and posts, not your imagination. (10 min)
- Fill in emoji policy, CTA styles, and your top three channels. (10 min)
- Test it. Paste the JSON into ChatGPT or Claude, request a post on a topic you know well, and compare it against something you wrote yourself. Adjust the file, not the draft.
Your JSON is a living file. When you catch AI making the same mistake twice, add a rule. That is the whole maintenance plan.