brandkit · plugin87 — Claude Code skill: design system and installation
Build a token-based design foundation from a product brief, with separate light and dark themes and contrast checks. Use it to establish shared visual rules before designing screens.
npx skills add plugin87/ux-ui-agent-skills --skill brandkit -a claude-codeWhat brandkit does
brandkit turns a brief into a three-layer token system: primitives, semantic roles, and component values. It covers color, typography, spacing, radius, shadows, and motion. Colors use OKLCH, and the dark theme gets its own overrides rather than an inverted light palette.
The skill emits DTCG JSON files and one shared theme.css. It checks token JSON, aliases, component variable references, and WCAG AA contrast in both themes. The token kit files must be present for the skill to work; if they are missing, the instructions point to npx ux-ui-agent-skills init or a plugin installation. You can run npm run verify for the verification pipeline. A person still needs to judge whether the resulting brand feel fits the brief.
What it helps with
- derive a brand and neutral color scale from a product brief
- assign primitive values to semantic design roles
- create tokens for light and dark themes
- check contrast and resolve component theme variables
Example prompts for the agent
- Build a design system from this brief, with light and dark themes.
- Create an OKLCH palette and organize the values into DTCG layers.
- Validate the tokens and check contrast in both themes against WCAG AA.
How to install brandkit
1Skills CLI (Vercel)
npx skills add plugin87/ux-ui-agent-skills --skill brandkit -a claude-code2Manually: put the files in place
~/.claude/skills/brandkit/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/brandkit/
1Skills CLI (Vercel)
npx skills add plugin87/ux-ui-agent-skills --skill brandkit -a codex2Manually: put the files in place
.agents/skills/brandkit/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add plugin87/ux-ui-agent-skills --skill brandkit -a cursor2Manually: put the files in place
.cursor/skills/brandkit/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install plugin87/ux-ui-agent-skills brandkit2Manually: put the files in place
.github/skills/brandkit/SKILL.md1Skills CLI (Vercel)
npx skills add plugin87/ux-ui-agent-skills --skill brandkit -a gemini-cli2Platform CLI
gemini skills install https://github.com/plugin87/ux-ui-agent-skills --path .claude/skills/brandkitManually: put the files in place
.devin/skills/brandkit/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add plugin87/ux-ui-agent-skills --skill brandkit -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about brandkit
How do I install brandkit in Claude Code?
Run npx skills add plugin87/ux-ui-agent-skills --skill brandkit -a claude-code. The skill file is at ~/.claude/skills/brandkit/SKILL.md.
What does brandkit do?
It generates a three-layer design token system from a brief, along with a shared CSS theme and separate light and dark values. It also checks token references and contrast.
What does brandkit verify?
It checks JSON validity and aliases, WCAG AA contrast in both themes, and whether component variables resolve to the theme. Run npm run verify for the verification pipeline.
Source text
SKILL.md · MIT
---
name: brandkit
description: Generate a complete, accessible brand design system from a brief, as primitive → semantic → component DTCG tokens (color, type, spacing, radius, shadow, motion), light + dark, plus a single theme.css, verified for WCAG. Use when the user wants a from-scratch brand/design foundation, a new palette + type system, or a themeable token kit for a product.
# `invocation:` was not a field Claude Code reads - unknown frontmatter keys are
# ignored without an error, so these six were auto-invocable the whole time they
# were marked user-only. This is the field that actually does it.
disable-model-invocation: true
---
# Skill: Brand Kit
> **Step 0: is the kit here?** This skill reads files from the kit. Check once:
> `ls ${CLAUDE_SKILL_DIR}/../../../tokens >/dev/null 2>&1 && echo KIT_OK || echo KIT_MISSING`
> On `KIT_MISSING` only the skill folders were installed, which is what
> `npx skills add` does. Say so plainly, point the user at
> `npx ux-ui-agent-skills init` or the plugin install, and stop. Do not guess the
> contents of a file you could not open.
Stand up the *foundation* (one token system everything renders from) before any screen. Get this right and every page stays consistent and themeable from one place.
## Steps
1. **Brief Inference (mandatory)**: name the industry, audience, the one mood adjective, and motion depth (`${CLAUDE_SKILL_DIR}/../../../taste/design-taste.md` → Brief Inference). Pick an anchoring archetype from `${CLAUDE_SKILL_DIR}/../../../taste/aesthetic-systems.md`.
2. **Primitives**: generate the brand color ramp in **OKLCH** (11 shades, consistent chroma) + a neutral ramp; verify the 500 shade ≥ 4.5:1 on white (text) and 600 ≥ 3:1 (UI) per `${CLAUDE_SKILL_DIR}/../../../.claude/rules/tokens-and-color.md` → Color Generation.
3. **Semantic layer**: map roles to primitives (`action.primary`/`-hover`/`destructive`, `text.{primary,secondary,on-action,link}`, `surface.{page,card,raised}`, `border.{default,strong}`, `feedback.{success,warning,error,info}`), and the **dark** overrides (designed, not inverted).
4. **Scales**: Major Third type scale + composite text styles, 4px spacing scale, radius tiers, elevation, and `${CLAUDE_SKILL_DIR}/../../../tokens/motion.json`-style durations/easings.
5. **Emit** the DTCG `${CLAUDE_SKILL_DIR}/../../../tokens/*.json` (3-tier) + a single `theme.css` (the one shared source, `[data-theme="dark"]` overrides). Optionally feed the token-build pipeline (`token-build` skill) for other platforms.
## Verification (definition of done)
- `python3 ${CLAUDE_SKILL_DIR}/../../../scripts/validate_tokens.py`: valid JSON, all aliases resolve.
- `python3 ${CLAUDE_SKILL_DIR}/../../../scripts/validate_contrast.py`: required text/action/border pairs pass WCAG AA in **light AND dark**; `border.strong` ≥ 3:1.
- `python3 ${CLAUDE_SKILL_DIR}/../../../scripts/validate_theme_refs.py`: every component `var(--…)` resolves to the theme.
- One theme, no per-page palettes; destructive = danger token (not primary); zero hardcoded values.
> Output is a verified token foundation: the measurable part is provable (run `npm run verify`). Brand "feel" still benefits from a human review against `${CLAUDE_SKILL_DIR}/../../../taste/design-taste.md`.
© plugin87 · MIT · plugin87/ux-ui-agent-skills
Similar skills
Everything for Design →brandkit by other authors comes first.