# Brand Kit Extractor

> Use before generating any creative for a firm — extracts their brand identity (colors, fonts, logo, imagery style, tone of voice) from their website so new ads and content look on-brand. Triggers include "what are my brand colors", "extract my brand", "build a brand kit", "make it match my site", or any request to create visuals/creative where brand consistency matters. Output feeds ad-creative-studio. Requires ranql-recon (for the firm's domain).

- Skill: `redwoodmeridian/brand-kit-extractor` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add redwoodmeridian/brand-kit-extractor`
- Raw SKILL.md: https://api.skillmd.com/api/skills/redwoodmeridian/brand-kit-extractor/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Design & Media
- Author: redwoodmeridian (https://skillmd.com/u/redwoodmeridian)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/redwoodmeridian/brand-kit-extractor

---


# Brand Kit Extractor

Before Claude makes creative, it needs to know what the firm *looks and sounds like*. This skill builds a reusable brand kit from the firm's own website. Do this once per firm; reuse the kit for every creative.

## Step 1 — Get the site

Use the firm's `domain` from `get_my_profile`. Fetch the homepage (and, if useful, an "About" or "Practice Areas" page) with WebFetch. Prefer the raw HTML/CSS so you can pull exact values, not just rendered text.

## Step 2 — Extract the visual identity

- **Colors** — pull exact hex codes. Look in the CSS for the recurring brand colors (header/nav background, button/CTA color, link color, accent). Identify:
  - **Primary** (the dominant brand color)
  - **Secondary** (supporting)
  - **Accent / CTA** (the color on buttons — this is what makes a "click here" pop)
  - **Neutrals** (text, background)
  Capture 4–6 hex values. If the logo is an image, note its dominant colors too.
- **Fonts** — the heading font and body font (from `font-family` declarations or Google Fonts links). Note the personality (serif = traditional/authoritative; sans = modern/approachable).
- **Logo** — the logo image URL(s). Note orientation (horizontal/stacked), whether there's a mark/icon, and light/dark variants.
- **Imagery style** — look at the photos on the site: real attorney photos vs stock, office vs courtroom vs lifestyle, warm vs corporate, faces vs scenes. Ads should match this register so they feel like the same firm.
- **Visual motifs** — recurring shapes, iconography (scales of justice, shields), badges (Super Lawyers, Avvo, BBB), trust signals.

## Step 3 — Extract the voice

Read the copy (hero, about, practice descriptions) and capture:
- **Tone** — aggressive/fighter vs compassionate/counselor vs premium/white-glove vs approachable/local.
- **Person** — do they say "we/our firm" or "I" (solo) — match it.
- **Signature phrases** — taglines, repeated promises ("we fight for you", "no fee unless we win", "trusted since 1998").
- **Proof points** — years in practice, case results, awards, community ties. These are your ad credibility assets.
- **Reading level & formality** — plain and punchy vs formal legalese. Ads should sit slightly punchier than the site.

## Step 4 — Save the kit

Write the brand kit to `.agents/brand-kit.md` (or the project root) so every future creative reuses it — see `references/brand-kit-template.md`. Confirm the extracted colors/fonts with the user if anything's ambiguous (screenshots or a quick "is your brand blue #1A3E5C?" beats guessing).

## Notes
- If the site is thin or the CSS is obfuscated, ask the user for their logo file and 2–3 brand hex codes directly — faster and exact.
- Cross-check colors against their **existing ads** (from `competitor-ad-teardown` run on their own page) — a firm's real ad creative is the truest source of their live brand palette.
- Canva may already hold the firm's Brand Kit — if the Canva MCP is connected, check `list-brand-kits` first; the saved kit beats extraction.

Next: **`ad-creative-studio`** uses this kit to generate on-brand ads.

