brand-dna
Brand DNA — Brand Identity Extractor
Extracts brand identity from a website and produces a structured brand-profile.json that other skills can consume for brand-consistent output.
Install
git clone https://github.com/thatrebeccarae/claude-marketing.git && cp -r claude-marketing/skills/brand-dna ~/.claude/skills/
Quick Reference
| Command | What It Does |
|---|---|
| "Extract brand DNA from https://example.com" | Full extraction → brand-profile.json |
| "Quick brand profile for https://example.com" | Homepage-only extraction (faster, lower confidence) |
Zero Dependencies
This skill uses only the WebFetch tool — no Python scripts, no Playwright, no external APIs. It works anywhere Claude Code runs.
Extraction Process
Step 1: Collect URL
If the user hasn't provided a URL, ask:
"What website URL should I analyze? (e.g., https://yoursite.com)"
Step 2: Fetch Pages
Use the WebFetch tool to retrieve page content. For each URL, request:
- All visible text content
- Full contents of
<style>blocks - Inline
style=attributes <meta>tags (especiallyog:image,description)- Google Fonts
@importURLs - Any
<link>tags referencing external stylesheets
Fetch order:
- Homepage (
<url>) - About page — try
<url>/about, then/about-us, then/our-story - Product/Services page — try
<url>/products, then/product, then/services
Quick mode: If the user requests a quick extraction, fetch homepage only — skip pages 2 and 3.
If a secondary page returns 404 or redirects to homepage, continue with fewer pages and note reduced confidence.
Step 3: Extract Brand Elements
Colors
- Primary color: Most prominent brand color from CSS
background-coloron.hero,.btn-primary,header, orog:imagedominant color - Secondary colors: Supporting palette from CTAs, accents, borders
- Background/text:
bodybackground-color and color - Forbidden: Infer from brand positioning (e.g., competitor colors if identifiable)
- Dark mode detection: If body background is #333 or darker, swap background/text values
CSS targets: background-color, color, border-color on body, header, .hero, .btn, .cta, h1, h2
Typography
- Google Fonts: Extract from
@import url(https://fonts.googleapis.com/css2?family=...)— parse font name from URL - CSS font-family: Check
h1,h2,body,.headlinedeclarations - Fallback: If no Google Fonts detected, set heading_font to
nulland body_font to"system-ui"
Voice (1-10 scale per axis)
Analyze hero headline, subheadline, about page intro, and CTA button text:
| Signal | Axis | Direction |
|---|---|---|
| Uses "you/your" frequently | formal_casual | +2 toward casual |
| Technical jargon, industry terms | expert_accessible | -2 toward expert |
| Short punchy sentences (≤8 words) | bold_subtle | +2 toward bold |
| Data, stats, percentages in hero | rational_emotional | -2 toward rational |
| "Transform", "revolutionize", "disrupt" | traditional_innovative | +2 toward innovative |
| Customer testimonials lead | rational_emotional | +2 toward emotional |
| "Trusted by X companies", awards | traditional_innovative | -1 toward traditional |
| Humor, wordplay, casual phrasing | playful_serious | +2 toward playful |
| Formal language, third person | playful_serious | -2 toward serious |
Start each axis at 5 (neutral) and adjust based on signals found.
Descriptors: Choose 3-5 adjectives that capture the overall voice tone. These should complement the numerical scores, not repeat them.
Imagery
- Style: Professional photography, illustration, flat design, 3D renders, or mixed
- Subjects: What appears in hero images and product shots (people, products, abstract, data)
- Composition: Clean/minimal, busy/editorial, dark/dramatic, light/airy
- Forbidden elements: Infer from industry (healthcare → no unqualified medical claims imagery; B2B → no cheesy stock photos)
Aesthetic
- Mood keywords: 3 adjectives describing the visual mood (e.g., "trustworthy", "modern", "premium")
- Texture: minimal, textured, or mixed
- Negative space: generous, moderate, or dense
Brand Values
Extract from about page, mission statement, or footer. Look for repeated themes. Choose 3-5 core values.
Target Audience
Infer from copy, pricing signals, and positioning:
- Age range: Estimate from visual design, language complexity, and product type
- Profession: Who the product/service is for
- Pain points: What problems the brand addresses (from hero copy and feature descriptions)
- Aspirations: What the audience wants to achieve (from benefit-oriented copy)
Step 4: Build brand-profile.json
Construct the JSON following the schema in REFERENCE.md precisely. Use null for any field that cannot be confidently extracted — never guess.
Step 5: Write and Confirm
Write brand-profile.json to the current working directory.
Display a summary:
Brand DNA extracted → brand-profile.json
Brand: [brand_name]
Voice: [descriptor 1], [descriptor 2], [descriptor 3]
Primary Color: [hex]
Typography: [heading_font] / [body_font]
Audience: [age_range], [profession]
This profile can be consumed by:
- seo-content-writer (voice matching)
- email-composer (tone calibration)
- frontend-design (visual identity)
- pro-deck-builder (brand colors/fonts)
- cross-platform-audit (brand consistency checks)
Limitations
- Sparse sites: <200 words of body text produce lower-confidence profiles. Note this in output.
- SPA/React sites: JavaScript-rendered content may not be fully captured by WebFetch. Note this if detected.
- Multi-brand enterprises: Creates one profile per URL. Run separately for each brand.
- CSS-in-JS: Modern React/Next.js sites may not have extractable CSS. Use og:image analysis as fallback.
How to Use This Skill
Ask questions like:
- "Extract the brand DNA from https://example.com"
- "Build a brand profile for my client's website"
- "Analyze the brand voice and colors of https://competitor.com"
- "Quick brand profile — homepage only — for https://example.com"
- "What's the brand identity of this website?"
More from thatrebeccarae/claude-marketing
facebook-ads
Meta Ads (Facebook & Instagram) platform expertise. Audit campaigns, audiences, creative strategy, pixel tracking, and CAPI. Use when the user asks about Facebook Ads, Instagram Ads, Meta Ads, social media advertising, Advantage+ campaigns, or Meta pixel/CAPI setup.
14content-creator
Comprehensive content marketing toolkit with brand voice analysis, SEO optimization scripts, content frameworks, social media strategy, and content calendar planning. Use when writing blog posts, creating social media content, analyzing brand voice, optimizing SEO, planning content calendars, or developing content strategy. For deep SEO writing optimization, see the seo-content-writer skill.
13content-pipeline
End-to-end content creation workflow that orchestrates research, editorial review, and social distribution agents in sequence. Use when the user wants to create, review, and distribute content through a multi-stage pipeline, or says "/content-pipeline".
12icp-research
Build detailed ideal customer profiles with pain points, objections, buying triggers, and messaging angles. Includes community research to find where ICPs gather online and extract their exact language. Use when researching audiences, creating buyer personas, or developing targeted messaging.
12brand-voice-guidelines
Develop brand voice, tone matrices, messaging frameworks, and brand book documentation. Use when the user asks about brand voice, tone of voice, brand guidelines, messaging framework, or brand consistency.
12content-workflow
End-to-end content creation pipeline from research through editorial review to social distribution. Orchestrates a 3-stage workflow: research, draft/edit, and distribute. Supports blog posts, LinkedIn, Twitter threads, newsletters, and essays.
12