Brand Setup — Interactive Brand Profiling skill
Set up or update the brand profile every skill reads: voice, audience, compliance.
by indranilbanerjee·MIT license·★ 866 Stars on the repo·GitHub ↗
npx degit indranilbanerjee/digital-marketing-pro/skills/brand-setup#main ~/.claude/skills/brand-setup-2Checked ·commit main
Inside this skill
SKILL.md · the author's own words# Brand Setup — Interactive Brand Profiling > **Script location.** If your host does not set `${CLAUDE_PLUGIN_ROOT}`, the scripts are in this plugin's `scripts/` folder, next to `skil… ## When to Use This Skill - User says "set up a new brand" or "create a brand profile" - User mentions a new client or project for marketing - User wants to switch between brands (agency use case) - User wants to update brand voice, audiences, or goals - First time using any marketing skill without an active brand ## Setup Modes ### Quick Setup (5 questions — recommended for getting started fast) If the user wants to get started quickly, or says "quick setup", ask only these 5 essential questions:
Word-for-word excerpt, not a result. Read the full SKILL.md ↓
Files of Brand Setup — Interactive Brand Profiling
Show the full text145 lines
Brand Setup — Interactive Brand Profiling
Script location. If your host does not set
${CLAUDE_PLUGIN_ROOT}, the scripts are in this plugin'sscripts/folder, next toskills/. Run them with Python 3.10 or newer:python, orpython3wherepythonis not found (macOS, many Linux systems).
When to Use This Skill
- User says "set up a new brand" or "create a brand profile"
- User mentions a new client or project for marketing
- User wants to switch between brands (agency use case)
- User wants to update brand voice, audiences, or goals
- First time using any marketing skill without an active brand
Setup Modes
Quick Setup (5 questions — recommended for getting started fast)
If the user wants to get started quickly, or says "quick setup", ask only these 5 essential questions:
- Brand name — "What's your brand or business name?"
- What you do — "In one sentence, what does [brand] do?" (extract industry, business model, USP)
- Target audience — "Who is your primary customer?" (extract B2B/B2C, demographics)
- Brand voice — "Pick 3 words that describe how your brand communicates" (map to formality/energy/humor/authority scales)
- Primary channel — "Where do you primarily market? (social media, email, SEO, paid ads, etc.)"
From these 5 answers, intelligently populate the full profile:
- Infer industry, business model type, and compliance requirements
- Map voice descriptors to the 1-10 scales (e.g., "professional" → formality: 8, "fun" → humor: 7)
- Set sensible defaults for everything else
- Tell the user: "Quick profile created! You can refine it anytime with /digital-marketing-pro:brand-setup --full"
Full Setup (17 questions — comprehensive profiling)
Use the full setup when:
- User explicitly asks for detailed/full/comprehensive setup
- User says "/digital-marketing-pro:brand-setup --full"
- User wants to update specific sections of an existing profile
Process (Full Setup)
Step 1: Brand Identity
Ask the user one question at a time (don't overwhelm):
- Brand name: "What's the brand/company name?"
- Elevator pitch: "In one sentence, what does [brand] do?"
- USP: "What makes [brand] different from competitors?"
- Mission/Values: "What's the brand's mission? What values drive it?"
Step 2: Business Model
Business type: Present options:
- B2B SaaS / Software
- B2C eCommerce / DTC
- B2B Services / Consulting
- Local Business
- Agency (managing multiple clients)
- Creator / Personal Brand
- Enterprise
- Non-Profit
- Marketplace
Revenue model: subscription, transactional, freemium, marketplace commission, donation, retainer, advertising
Price range and sales cycle: "What's your typical deal size and how long does it take to close?"
Step 3: Industry & Compliance
- Industry: "What industry are you in?" (match to industry-profiles.md)
- Regulated?: "Are you in a regulated industry? (healthcare, finance, legal, alcohol, cannabis, etc.)"
- Target markets: "What countries/regions do you sell to?" (triggers compliance rules)
Step 4: Brand Voice
Voice dimensions — Ask user to rate 1-10 or describe:
- Formality (1=very casual like a friend, 10=very formal like a law firm)
- Energy (1=calm and measured, 10=enthusiastic and bold)
- Humor (1=never use humor, 10=humor is core to the brand)
- Authority (1=peer-level, friendly guide, 10=expert thought leader)
Personality traits: "Pick 3-5 words that describe the brand's personality" (e.g., witty, empathetic, direct, bold, thoughtful, playful, authoritative, warm)
This-Not-That: "Give me examples of how you'd say something vs. how you wouldn't" (e.g., "We say 'Let's figure this out together' not 'Contact our support team'")
Sample content: "Share 2-3 URLs or text snippets of content you think nails your brand voice"
Step 5: Channels & Goals
Active channels: "Which marketing channels are you currently using?" (website, Instagram, LinkedIn, Twitter, TikTok, YouTube, Facebook, Pinterest, Email, Google Ads, Meta Ads, etc.)
Goals: "What's your #1 marketing goal right now?" + target KPIs + budget range + team size
Step 6: Competitors
- Competitors: "Name 3-5 competitors (direct or aspirational)"
- For each: name, URL, relationship (direct/indirect/aspirational), known strengths/weaknesses
Step 7: Save & Confirm
After collecting all information:
- Run:
python "${CLAUDE_PLUGIN_ROOT}/scripts/setup.py" --create-brand "[brand name]" - Update the created profile.json with all collected data
- Add the AI-assistance disclosure block (defaults unless the user chooses otherwise):
"ai_disclosure": {"mode": "claude-surfaces", "text": null, "author": null}. Modes:claude-surfaces(default — the disclosure attaches when content runs on a Claude surface or the surface is uncertain; skipped only on an affirmatively-detected non-Claude harness),always(every surface — safest for brands with their own AI-transparency obligations),off(never; the brand owns that choice).authoris OPTIONAL and may stay null — the default wording ("reviewed by our editorial team") needs no name. Customtextreplaces the default verbatim; note the default is vendor-neutral and claims only the review the pipeline performs - Confirm to user: "Brand profile created for [brand_name]. All marketing modules will now use this context. You can update it anytime by saying 'update my brand profile.'"
Switching Brands
When user says "switch to [brand name]":
- Run:
python "${CLAUDE_PLUGIN_ROOT}/scripts/setup.py" --list-brands - Find matching brand
- Update
~/.claude-marketing/brands/_active-brand.json - Confirm: "Switched to [brand_name]."
Updating a Brand
When user wants to update specific fields:
- Load current profile from
~/.claude-marketing/brands/{slug}/profile.json - Ask about the specific field(s) to update
- Write updated profile back
- Confirm changes
Profile Storage and Brand Isolation
Each brand lives under ~/.claude-marketing/brands/{slug}/: profile.json (full brand context), guidelines/ (imported style guides, restrictions, approved messaging), and templates/ (custom deliverable templates). Every skill loads these automatically. Agencies keep one profile per client; each brand gets isolated context with no cross-contamination, and /digital-marketing-pro:switch-brand <name> (or --list) changes the active one.
After Setup
After creating the profile, ask:
"Brand profile for [name] is ready. Would you like to:
- Import an existing style guide? (
/digital-marketing-pro:import-guidelines) - Run a competitive analysis? (
/digital-marketing-pro:competitor-analysis) - Plan your first campaign? (
/digital-marketing-pro:campaign-plan) - Audit your SEO? (
/digital-marketing-pro:seo-audit) - Check which connectors are active? (
/digital-marketing-pro:integrations)"
Important Notes
- NEVER skip the brand voice section — it's what makes all content outputs on-brand
- For agencies: each client should be a separate brand profile
- Store voice samples as markdown files in the brand's voice-samples/ directory
- Auto-detect industry compliance rules based on the industry and market selections
| 1 | |
| 2 | name brand-setup |
| 3 | description "Set up or update the brand profile every skill reads: voice, audience, compliance. \"set up a new brand\"" |
| 4 | argument-hint "[brand-name or --full]" |
| 5 | |
| 6 | |
| 7 | # Brand Setup — Interactive Brand Profiling |
| 8 | |
| 9 | > **Script location.** If your host does not set `${CLAUDE_PLUGIN_ROOT}`, the scripts are in this plugin's `scripts/` folder, next to `skills/`. Run them with Python 3.10 or newer: `python`, or `python3` where `python` is not found (macOS, many Linux systems). |
| 10 | |
| 11 | ## When to Use This Skill |
| 12 | |
| 13 | User says "set up a new brand" or "create a brand profile" |
| 14 | User mentions a new client or project for marketing |
| 15 | User wants to switch between brands (agency use case) |
| 16 | User wants to update brand voice, audiences, or goals |
| 17 | First time using any marketing skill without an active brand |
| 18 | |
| 19 | ## Setup Modes |
| 20 | |
| 21 | ### Quick Setup (5 questions — recommended for getting started fast) |
| 22 | If the user wants to get started quickly, or says "quick setup", ask only these 5 essential questions: |
| 23 | **Brand name** — "What's your brand or business name?" |
| 24 | **What you do** — "In one sentence, what does [brand] do?" (extract industry, business model, USP) |
| 25 | **Target audience** — "Who is your primary customer?" (extract B2B/B2C, demographics) |
| 26 | **Brand voice** — "Pick 3 words that describe how your brand communicates" (map to formality/energy/humor/authority scales) |
| 27 | **Primary channel** — "Where do you primarily market? (social media, email, SEO, paid ads, etc.)" |
| 28 | |
| 29 | From these 5 answers, intelligently populate the full profile: |
| 30 | Infer industry, business model type, and compliance requirements |
| 31 | Map voice descriptors to the 1-10 scales (e.g., "professional" → formality: 8, "fun" → humor: 7) |
| 32 | Set sensible defaults for everything else |
| 33 | Tell the user: "Quick profile created! You can refine it anytime with /digital-marketing-pro:brand-setup --full" |
| 34 | |
| 35 | ### Full Setup (17 questions — comprehensive profiling) |
| 36 | Use the full setup when: |
| 37 | User explicitly asks for detailed/full/comprehensive setup |
| 38 | User says "/digital-marketing-pro:brand-setup --full" |
| 39 | User wants to update specific sections of an existing profile |
| 40 | |
| 41 | ## Process (Full Setup) |
| 42 | |
| 43 | ### Step 1: Brand Identity |
| 44 | |
| 45 | Ask the user one question at a time (don't overwhelm): |
| 46 | |
| 47 | **Brand name**: "What's the brand/company name?" |
| 48 | **Elevator pitch**: "In one sentence, what does [brand] do?" |
| 49 | **USP**: "What makes [brand] different from competitors?" |
| 50 | **Mission/Values**: "What's the brand's mission? What values drive it?" |
| 51 | |
| 52 | ### Step 2: Business Model |
| 53 | |
| 54 | **Business type**: Present options: |
| 55 | B2B SaaS / Software |
| 56 | B2C eCommerce / DTC |
| 57 | B2B Services / Consulting |
| 58 | Local Business |
| 59 | Agency (managing multiple clients) |
| 60 | Creator / Personal Brand |
| 61 | Enterprise |
| 62 | Non-Profit |
| 63 | Marketplace |
| 64 | |
| 65 | **Revenue model**: subscription, transactional, freemium, marketplace commission, donation, retainer, advertising |
| 66 | **Price range and sales cycle**: "What's your typical deal size and how long does it take to close?" |
| 67 | |
| 68 | ### Step 3: Industry & Compliance |
| 69 | |
| 70 | **Industry**: "What industry are you in?" (match to industry-profiles.md) |
| 71 | **Regulated?**: "Are you in a regulated industry? (healthcare, finance, legal, alcohol, cannabis, etc.)" |
| 72 | **Target markets**: "What countries/regions do you sell to?" (triggers compliance rules) |
| 73 | |
| 74 | ### Step 4: Brand Voice |
| 75 | |
| 76 | **Voice dimensions** — Ask user to rate 1-10 or describe: |
| 77 | Formality (1=very casual like a friend, 10=very formal like a law firm) |
| 78 | Energy (1=calm and measured, 10=enthusiastic and bold) |
| 79 | Humor (1=never use humor, 10=humor is core to the brand) |
| 80 | Authority (1=peer-level, friendly guide, 10=expert thought leader) |
| 81 | |
| 82 | **Personality traits**: "Pick 3-5 words that describe the brand's personality" (e.g., witty, empathetic, direct, bold, thoughtful, playful, authoritative, warm) |
| 83 | |
| 84 | **This-Not-That**: "Give me examples of how you'd say something vs. how you wouldn't" (e.g., "We say 'Let's figure this out together' not 'Contact our support team'") |
| 85 | |
| 86 | **Sample content**: "Share 2-3 URLs or text snippets of content you think nails your brand voice" |
| 87 | |
| 88 | ### Step 5: Channels & Goals |
| 89 | |
| 90 | **Active channels**: "Which marketing channels are you currently using?" (website, Instagram, LinkedIn, Twitter, TikTok, YouTube, Facebook, Pinterest, Email, Google Ads, Meta Ads, etc.) |
| 91 | |
| 92 | **Goals**: "What's your #1 marketing goal right now?" + target KPIs + budget range + team size |
| 93 | |
| 94 | ### Step 6: Competitors |
| 95 | |
| 96 | **Competitors**: "Name 3-5 competitors (direct or aspirational)" |
| 97 | For each: name, URL, relationship (direct/indirect/aspirational), known strengths/weaknesses |
| 98 | |
| 99 | ### Step 7: Save & Confirm |
| 100 | |
| 101 | After collecting all information: |
| 102 | |
| 103 | Run: `python "${CLAUDE_PLUGIN_ROOT}/scripts/setup.py" --create-brand "[brand name]"` |
| 104 | Update the created profile.json with all collected data |
| 105 | Add the AI-assistance disclosure block (defaults unless the user chooses otherwise): `"ai_disclosure": {"mode": "claude-surfaces", "text": null, "author": null}`. Modes: `claude-surfaces` (default — the disclosure attaches when content runs on a Claude surface or the surface is uncertain; skipped only on an affirmatively-detected non-Claude harness), `always` (every surface — safest for brands with their own AI-transparency obligations), `off` (never; the brand owns that choice). `author` is OPTIONAL and may stay null — the default wording ("reviewed by our editorial team") needs no name. Custom `text` replaces the default verbatim; note the default is vendor-neutral and claims only the review the pipeline performs |
| 106 | Confirm to user: "Brand profile created for [brand_name]. All marketing modules will now use this context. You can update it anytime by saying 'update my brand profile.'" |
| 107 | |
| 108 | ## Switching Brands |
| 109 | |
| 110 | When user says "switch to [brand name]": |
| 111 | Run: `python "${CLAUDE_PLUGIN_ROOT}/scripts/setup.py" --list-brands` |
| 112 | Find matching brand |
| 113 | Update `~/.claude-marketing/brands/_active-brand.json` |
| 114 | Confirm: "Switched to [brand_name]." |
| 115 | |
| 116 | ## Updating a Brand |
| 117 | |
| 118 | When user wants to update specific fields: |
| 119 | Load current profile from `~/.claude-marketing/brands/{slug}/profile.json` |
| 120 | Ask about the specific field(s) to update |
| 121 | Write updated profile back |
| 122 | Confirm changes |
| 123 | |
| 124 | ## Profile Storage and Brand Isolation |
| 125 | |
| 126 | Each brand lives under `~/.claude-marketing/brands/{slug}/`: `profile.json` (full brand context), `guidelines/` (imported style guides, restrictions, approved messaging), and `templates/` (custom deliverable templates). Every skill loads these automatically. Agencies keep one profile per client; each brand gets isolated context with no cross-contamination, and `/digital-marketing-pro:switch-brand <name>` (or `--list`) changes the active one. |
| 127 | |
| 128 | ## After Setup |
| 129 | |
| 130 | After creating the profile, ask: |
| 131 | |
| 132 | "Brand profile for [name] is ready. Would you like to: |
| 133 | Import an existing style guide? (`/digital-marketing-pro:import-guidelines`) |
| 134 | Run a competitive analysis? (`/digital-marketing-pro:competitor-analysis`) |
| 135 | Plan your first campaign? (`/digital-marketing-pro:campaign-plan`) |
| 136 | Audit your SEO? (`/digital-marketing-pro:seo-audit`) |
| 137 | Check which connectors are active? (`/digital-marketing-pro:integrations`)" |
| 138 | |
| 139 | ## Important Notes |
| 140 | |
| 141 | NEVER skip the brand voice section — it's what makes all content outputs on-brand |
| 142 | For agencies: each client should be a separate brand profile |
| 143 | Store voice samples as markdown files in the brand's voice-samples/ directory |
| 144 | Auto-detect industry compliance rules based on the industry and market selections |
| 145 |
Discussion
Alternatives
Browse more free Claude skills or everything in Development.