About brandkit
brandkit is a skill for establishing a shared design-token foundation before building screens. It guides color, semantic roles, scales, dark-theme overrides, and token output, with validation for contrast and references.
Key features
- 01Infer audience, industry, and visual direction
- 02Generate OKLCH color and neutral ramps
- 03Define semantic tokens and dark overrides
- 04Create type, spacing, radius, and motion scales
- 05Emit DTCG token files and theme.css
- 06Validate tokens and contrast
Use cases
- 01Creating a shared token foundation for a project
- 02Setting up light and dark theme values
- 03Generating reusable design scales before screen work
- 04Checking token references and WCAG contrast
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ plugin87/ ux-ui-agent-skills --skill brandkitAfter installing, type/brandkitin Claude Code to confirm it loaded.
Details
From the project READMESkill: 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_MISSINGOnKIT_MISSINGonly the skill folders were installed, which is whatnpx skills adddoes. Say so plainly, point the user atnpx ux-ui-agent-skills initor 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
- 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. - 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. - 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). - Scales: Major Third type scale + composite text styles, 4px spacing scale, radius tiers, elevation, and
${CLAUDE_SKILL_DIR}/../../../tokens/motion.json-style durations/easings. - Emit the DTCG
${CLAUDE_SKILL_DIR}/../../../tokens/*.json(3-tier) + a singletheme.css(the one shared source,[data-theme="dark"]overrides). Optionally feed the token-build pipeline (token-buildskill) 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 componentvar(--…)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.