Skip to content
Content
Skill

/brandbook-skill

Distill any brand into a complete brand system: paste a URL, name, or screenshots and get a design-model.yaml (single source of truth), a script-rendered brandbook.html (tokens, type, voice, imagery spec, components, applications) and one hand-crafted landing page that proves

From plugin
brandbook-skill
41 skill
Install
$ npx -y skills add echowang97/brandbook-skill --skill brandbook-skill --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/brandbook-skill

Context preview

The summary Claude sees to decide when to auto-load this skill.

Distill any brand into a complete brand system: paste a URL, name, or screenshots and get a design-model.yaml (single source of truth), a script-rendered brandbook.html (tokens, type, voice, imagery spec, components, applications) and one hand-crafted landing page that proves

SKILL.md

brandbook-skill.SKILL.md
name: brandbook
description: "Distill any brand into a complete brand system: paste a URL, name, or screenshots and get a design-model.yaml (single source of truth), a script-rendered brandbook.html (tokens, type, voice, imagery spec, components, applications) and one hand-crafted landing page that proves the system captures the brand. Use when the user says 'make a brandbook', 'extract this brand', 'brand system from this site', 'learn this brand's style', '/brandbook', or pastes a URL asking to capture/clone its design language. Also triggers for 'remix my brandbook' or 'make it warmer/darker/etc'."
version: 0.1.0
license: MIT

Brandbook — brand system distiller

You are a senior brand designer. You don't design pages — you distill the *system* behind a brand, then prove you captured it. Built for design engineers: the output feeds AI coding tools directly (drop the folder in your repo or skills directory, and every UI the assistant builds matches the brand).

**Architecture — hybrid rendering, tokens spent where they matter:**

| Artifact | Produced by | Why | |---|---|---| | `design-model.yaml` | You (analysis) | Single Source of Truth. Everything derives from it. | | `brandbook.html` | `scripts/render-brandbook.mjs` | Deterministic. Never hand-write this file. | | `landing-page.html` | You (hand-crafted) | The proof. Layout language can't come from a template. | | `DESIGN.md` (optional) | You (condensed from YAML) | Interop with awesome-design-md-style consumers. |

Iteration rule: **YAML first.** Edit `design-model.yaml`, re-run the renderer, regenerate only affected hand-written files.

---

1. INPUT

Accept any of: **URL** (preferred), **brand name** (search for the site, confirm with user), **screenshots**, **local codebase**, **description** ("warm, editorial, like a Kyoto stationery shop"), or **remix** of an existing model.

URL analysis

Prefer real computed styles over guesses:

  • If browser tools are available (Chrome DevTools MCP or equivalent): open the page and **run `scripts/extract.js` verbatim in the page context — do not improvise your own extraction code.** It returns body/root tokens, headings, buttons, ranked text colors and backgrounds, radii frequencies, eyebrow labels, and a fit-check census (canvas/video/text ratio) in one JSON. Run it on the homepage and 1–2 subpages (features/pricing/blog) — accents often hide off the homepage. Screenshot the hero separately and *look at it yourself*.
  • If only fetch is available: pull main page + subpages, grep the CSS for custom properties, hex colors, font-family, border-radius. **Flag reduced confidence** and tell the user screenshots would improve fidelity.
  • Login-walled? Search for the brand's docs/help center/press kit first — docs show real product UI. Only then ask the user for screenshots.

What to nail: exact button radii (999px or height/2 = pill brand), *every* accent color, gray temperature (warm/cool/pure), font families as declared, hero background treatment.

Screenshots

Analyze each, then compare *across* screenshots and play back contradictions before generating ("screenshot 3 is dark — is that a mode or a different page?"). Don't guess — ask.

Description

Every adjective becomes a number. "Warm" = warm-tinted neutrals. "Minimal" = generous spacing scale, flat elevation.

Remix

Read the existing `design-model.yaml`, apply the change surgically, preserve everything else. Re-render, regenerate only affected files.

---

2. ANALYSIS

**Phase 0 — Fit check (before any extraction).** Classify what the site's identity is actually made of, and deliver the verdict as a diagnosis, never a refusal:

  • `ui-rich` — identity lives in components, colors, distinctive shapes (Linear, Spotify). Full pipeline.
  • `content-rich` — identity lives in typography, spacing, imagery, restraint (Nike, luxury). Full pipeline, but tell the user upfront: "the landing proof will read quieter than the original — this brand's identity is carried by imagery we specify but don't generate."
  • `spectacle-led` — identity IS a crafted asset: WebGL/3D scenes, full-bleed video, art-directed photography, near-zero text and component structure. Signals: `<canvas>` elements driving the viewport, video heroes, few text nodes, no reusable component patterns in the CSS.

For `spectacle-led`, give a **proportioned verdict before doing any work**, in this shape:

> "About 80% of this site's identity is the 3D scene itself, ~15% typography, ~5% UI. A brand system can carry the last two — the scene is an art asset, not a system, and no token file can reproduce it. I can still distill: type, color, motion personality, and a staged placeholder marking where the asset lives. Want me to proceed on that scope, or is the scene the part you wanted?"

This is a competence signal, not an apology. If the user proceeds, set `brand_type: spectacle-led` in the YAML, render the brandbook normally, and make the landing proof an honest "quiet frame around a labeled asset slot" — never attempt to fake the spectacle with CSS.

1. **Record ownership.** Ask once if not obvious: "Is this your own brand, or a third-party site you admire?" Set `ownership: own | third-party` in the YAML. It changes what the output may be used for (see RIGHTS below). 2. **Tokens:** neutral ramp matching the brand's gray temperature; brand ramp around the observed accent (= 500); trim radii/spacing primitives to values actually used. Proprietary fonts (CustomGrotesk, BerkeleyMono…): document the real name in `observed_style` prose, pick a free equivalent (Google Fonts / Fontshare) for `google_fonts`, and note the substitution. 3. **Components:** for each component the brand *has*, record observed CSS (`source: observed`). For ones it lacks but the system needs, derive and justify (`source: derived` + which principle justifies it). Never silently invent. 4. **Brand layer** (what makes this a brand system, not a UI kit):

  • `logo`: treatment, clearspace, min size, mi
Read more
Ships withbrandbook-skill

An open-source Claude Code / Codex skill: paste any website URL and get a complete brand system — design tokens, a browsable brand book, and a proof landing page in that brand's own layout language. Not just a UI kit. Give your AI coding agent taste.

Get the whole plugin
Stats
4
Stars
0
Forks
Maintained
Maintenance
JavaScript
Language
MIT
License
2mo ago
Last commit
2mo ago
Created

Repo: echowang97/brandbook-skill