- name
- define-brand-guidelines
- description
- Create a BRAND_GUIDELINES.md that defines how to communicate with your customer. Requires CUSTOMER.md to exist first. Covers voice, tone, language rules, messaging framework, and copy patterns.
# Brand Guidelines Skill
Create the BRAND_GUIDELINES.md document that defines HOW to communicate with your customer. This document drives all copy and messaging: app UI, marketing, support, emails, everything.
> **Prerequisite**: CUSTOMER.md must exist. Brand guidelines without customer definition is just aesthetic preference. The voice must resonate with WHO you're talking to.
## Overview
This skill supports both **creating new brand guidelines** and **refining existing ones**.
This skill guides you through:
0. **Prerequisite Check** - Verify CUSTOMER.md exists; stop if not
1. **Discovery** - Questions about brand personality, voice, language preferences
2. **Draft Generation** - Create BRAND_GUIDELINES.md based on inputs
3. **Refinement** - Test with sample copy, iterate until voice feels right
## Workflow
### Phase 0: Prerequisite Check
**CRITICAL**: Before anything else, check for CUSTOMER.md:
1. Use Glob to search for `**/CUSTOMER.md` in the current directory
2. **If NOT found**: Stop immediately and inform the user:
```
"I can't create brand guidelines without knowing WHO you're talking to.
Please create your CUSTOMER.md first using /define-customer.
Brand voice without customer definition is just aesthetic preference - it won't resonate with anyone specific."
```
Do NOT proceed. End the workflow here.
3. **If found**: Read the CUSTOMER.md and extract key context:
- ICP definition (who they are)
- Pain points (what problems they have)
- What they value (in a solution)
- Anti-personas (who they're NOT)
- Any language/communication hints
**IMPORTANT - Pre-fill Recommendations**: Use CUSTOMER.md to infer recommended options for all questions. Examples:
| If CUSTOMER.md says... | Recommend... |
|------------------------|--------------|
| ICP values "speed", "efficiency", "no patience" | Direct communication, short copy |
| ICP is technical (developers, engineers) | Technical language okay, precision matters |
| ICP values "data", "statistics", "proof" | Data-driven persuasion style |
| Anti-persona is "purists" or "academics" | Avoid being preachy or condescending |
| ICP is "fun-seekers", "casual players" | More playful tone, casual formality |
| ICP is "executives", "professionals" | More formal, authoritative personality |
The goal: **User should be able to accept all recommended defaults** and get a solid brand guide. Only ask them to deviate where CUSTOMER.md doesn't provide clear signals.
Then check for existing BRAND_GUIDELINES.md:
```
header: "Existing Brand Guidelines Found"
question: "I found existing BRAND_GUIDELINES.md. What would you like to do?"
options:
- "Refine it - update based on new insights"
- "Start fresh - create new brand guidelines"
- "Review it - just read through what's there"
```
### Phase 1: Discovery
Use AskUserQuestion for all questions. **Put the recommended option FIRST** with "(Recommended)" suffix. Infer recommendations from CUSTOMER.md.
**Question 1: Brand Personality**
Infer from CUSTOMER.md:
- Data-driven ICP → "Authoritative expert"
- Beginners/learners → "Friendly mentor"
- Contrarian/challengers → "Provocative challenger"
- Enterprise/professional → "Calm professional"
- Fun-seekers/enthusiasts → "Energetic enthusiast" or "Witty companion"
```
header: "Brand Personality"
question: "If your brand was a person speaking to your customer, who would they be?"
options:
- "[Inferred from CUSTOMER.md] (Recommended)"
- "Authoritative expert - confident, definitive, data-driven"
- "Friendly mentor - approachable, helpful, encouraging"
- "Provocative challenger - bold, contrarian, challenges assumptions"
- "Calm professional - measured, trustworthy, understated"
- "Energetic enthusiast - excited, passionate, motivating"
- "Witty companion - clever, playful, personality-forward"
```
**Question 2: Voice Dimensions**
Infer each dimension from CUSTOMER.md. Put recommended first.
```
header: "Formality"
question: "How formal is your brand's voice?"
options:
- "[Inferred] (Recommended)" # e.g., "Casual" if ICP is blitz players
- "Very formal - professional, polished, no contractions"
- "Somewhat formal - professional but approachable"
- "Neutral - depends on context"
- "Casual - relaxed, contractions okay, conversational"
- "Very casual - informal, slang okay, like texting a friend"
```
Inference rules for formality:
- Enterprise/executives → Very formal or Somewhat formal
- Developers → Casual or Neutral
- Consumers/players → Casual or Very casual
- Default → Casual (most approachable)
```
header: "Tone Weight"
question: "How serious vs playful is your brand?"
options:
- "[Inferred] (Recommended)" # e.g., "Mostly serious" if data-driven
- "Very serious - no humor, all business"
- "Mostly serious - occasional lightness"
- "Balanced - serious when needed, light when appropriate"
- "Mostly playful - humor is part of the brand"
- "Very playful - fun and entertainment are core"
```
Inference rules for tone:
- ICP values "fun", "enjoyment" → Mostly playful or Balanced
- ICP values "data", "precision" → Mostly serious
- B2B/professional → Balanced or Mostly serious
- Default → Balanced
```
header: "Technical Level"
question: "How technical is your language?"
options:
- "[Inferred] (Recommended)"
- "Highly technical - jargon expected, precision matters"
- "Somewhat technical - domain terms with explanation"
- "Accessible - simple language, avoid jargon"
- "Very simple - anyone should understand"
```
Inference rules:
- ICP is developers/engineers → Highly technical or Somewhat technical
- ICP values "plain language", "accessible" → Accessible
- General consumers → Very simple or Accessible
- Default → Somewhat technical
```
header: "Directness"
question: "How direct is your communication?"
options:
- "[Inferred] (Recommended)"
- "Very direct - commands, no hedging, get to the point"
- "Direct - clear and straightforward"
- "Balanced - direct but diplomatic"
- "Soft - suggestive, options-focused"
- "Very soft - gentle, lots of qualifiers"
```
Inference rules:
- ICP values "speed", "efficiency", "no patience" → Very direct
- ICP is time-constrained → Very direct or Direct
- ICP is beginners/learners → Balanced or Soft
- Default → Direct
**Question 3: Writing Style**
```
header: "Copy Style"
question: "What does your ideal copy look like?"
options:
- "[Inferred options pre-selected] (Recommended)"
- "Short and punchy - minimal words, maximum impact"
- "Concise but complete - efficient, no fluff"
- "Conversational flow - natural, like talking"
- "Rich and detailed - thorough explanations"
multiSelect: true
```
Inference: If ICP values speed → "Short and punchy". If ICP is technical → "Concise but complete".
```
header: "Persuasion Style"
question: "How do you persuade?"
options:
- "[Inferred options pre-selected] (Recommended)"
- "Data and evidence - stats, proof, numbers"
- "Benefits and outcomes - what they'll achieve"
- "Emotional resonance - how they'll feel"
- "Social proof - others trust us"
- "Authority - we're the experts"
multiSelect: true
```
Inference: Match to "What the ICP Values" from CUSTOMER.md.
**Question 4: Language Preferences**
```
header: "Language Rules"
question: "Select your language preferences:"
options:
- "[Inferred bundle] (Recommended)" # Pre-select compatible options
- "Use contractions (we're, you'll, it's)"
- "Avoid contractions (we are, you will, it is)"
- "Emoji okay in appropriate contexts"
- "No emoji ever"
- "Exclamation marks okay (sparingly)"
- "No exclamation marks"
- "Industry jargon okay for our audience"
- "Avoid all jargon"
multiSelect: true
```
Default recommendation: "Use contractions" + "No emoji" + "Industry jargon okay" (professional but approachable)
**Question 5: Anti-Patterns**
```
header: "Voice Anti-Patterns"
question: "What should your brand NEVER sound like?"
options:
- "[Inferred from anti-personas] (Recommended)"
- "Corporate buzzwords (synergy, leverage, ideate)"
- "Overly salesy (ACT NOW! LIMITED TIME!)"
- "Condescending or preachy"
- "Wishy-washy or uncertain"
- "Generic AI-speak (I hope this helps!)"
- "Robotic or cold"
- "Overly casual or unprofessional"
- "Boring or dry"
multiSelect: true
```
Inference: Map anti-persona traits to voice anti-patterns. E.g., if anti-persona is "purists who debate principles" → recommend "Condescending or preachy".
**Question 6: Core Value Propositions**
```
header: "Value Props"
question: "What are the 2-3 main arguments/benefits your brand communicates?"
freeText: true
placeholder: "e.g., '1. Faster than alternatives 2. Data-driven decisions 3. Built for experts'"
```
**Question 7: The Hook**
```
header: "The Hook"
question: "What's the single most compelling thing you can say to grab attention?"
freeText: true
placeholder: "The one sentence that makes your ICP say 'tell me more'"
```
**Question 8: Existing Copy** (Optional)
```
header: "Examples"
question: "Do you have any existing copy you love or hate? (Paste examples or describe)"
freeText: true
placeholder: "Optional - helps calibrate the voice. e.g., 'I love Stripe's docs - clear, technical, no fluff'"
```
**Question 9+: Gap-Filling**
After core questions, verify you have clarity on:
- Brand personality (clear, specific)
- Voice dimensions (where on each spectrum)
- What to avoid (anti-patterns)
- Core messages (value props)
Keep asking until confident.
### Phase 2: Draft Generation
Generate BRAND_GUIDELINES.md using this structure:
```markdown
# [Product Name] Brand Guidelines
> **The Single Rule**: [One sentence that captures how every piece of copy should feel]
---
## Voice Identity
[One paragraph describing the brand's personality - who it would be if it were a person talking to the ICP]
### Voice Characteristics
| Characteristic | What This Means | Example |
|----------------|-----------------|---------|
| [Trait 1] | [How it manifests in copy] | "[Sample phrase]" |
| [Trait 2] | [How it manifests in copy] | "[Sample phrase]" |
| [Trait 3] | [How it manifests in copy] | "[Sample phrase]" |
### We Are / We Are NOT
| We Are... | We Are NOT... |
|-----------|---------------|
| [Positive trait] | [Opposite to avoid] |
| [Positive trait] | [Opposite to avoid] |
| [Positive trait] | [Opposite to avoid] |
| [Positive trait] | [Opposite to avoid] |
---
## Tone by Context
Voice is constant. Tone flexes based on context.
| Context | Tone Shift | Example |
|---------|------------|---------|
| **Marketing/Landing** | [How tone adjusts] | "[Sample]" |
| **In-App UI** | [How tone adjusts] | "[Sample]" |
| **Error Messages** | [How tone adjusts] | "[Sample]" |
| **Success States** | [How tone adjusts] | "[Sample]" |
| **Email/Notifications** | [How tone adjusts] | "[Sample]" |
| **Help/Support** | [How tone adjusts] | "[Sample]" |
---
## Language Rules
### USE These Words/Phrases
| Word/Phrase | When to Use | Instead of |
|-------------|-------------|------------|
| [Term] | [Context] | [Generic alternative] |
| [Term] | [Context] | [Generic alternative] |
| [Term] | [Context] | [Generic alternative] |
### AVOID These Words/Phrases
| Word/Phrase | Why | Use Instead |
|-------------|-----|-------------|
| [Term] | [Reason it's off-brand] | [Better alternative] |
| [Term] | [Reason it's off-brand] | [Better alternative] |
| [Term] | [Reason it's off-brand] | [Better alternative] |
### Product Terminology
| Term | Definition | Usage |
|------|------------|-------|
| [Product-specific term] | [What it means] | [How to use in copy] |
| [Product-specific term] | [What it means] | [How to use in copy] |
### Style Rules
- **Contractions**: [Yes/No/When]
- **Sentence length**: [Preference]
- **Paragraph length**: [Preference]
- **Emoji**: [Yes/No/When]
- **Exclamation marks**: [Yes/No/When]
- **Oxford comma**: [Yes/No]
Ver no GitHub