design-system

Build and maintain design token systems with roles, scales, dark mode, and DESIGN.md documentation.

Updated Aug 12, 2026
One-click install
npx skills add https://github.com/brunoolf/frontend-craft --skill design-system-brunoolf
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: design-system
Source: https://github.com/brunoolf/frontend-craft/tree/main/skills/design-system
Command: npx skills add https://github.com/brunoolf/frontend-craft --skill design-system-brunoolf

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Design decisions scattered across a codebase become inconsistent and get re-litigated every session. This Skill extracts the implicit system from existing code, names it by role, and records decisions with their reasons so future work stays coherent. ## Core Features & Use Cases - Token extraction and consolidation: Inventory real values in use, group near-duplicates, and migrate deviations into named scales for color, spacing, typography, radius, shadow, and motion. - Role-based color and dark mode: Define colors by role (surface, text, accent, focus) instead of hex lists, with a three-state dark mode strategy that redefines values without redeclaring structure. - Fluid scales and DESIGN.md: Use clamp()-based fluid typography and spacing, and maintain a DESIGN.md file capturing direction, tokens, decisions with reasons, and out-of-scope items. - Use Case: When a codebase has 14px, 15px, and 0.9rem scattered everywhere, use this Skill to consolidate them into a named type scale and document why each step exists. ## Quick Start Ask the AI to extract the design tokens from this codebase and create a DESIGN.md documenting the scales, colors, and the reasons behind each decision.

Frequently Asked Questions about design-system

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a design token system from an existing codebase?▼

Inventory the actual values in use, count their frequency, group near-identical values like 14px and 15px into one step, then name tokens by role and migrate deviations. The dominant existing value is usually the correct one.

How do I implement dark mode with CSS custom properties?▼

Define the full light palette in base tokens, then redefine only values in the dark theme without redeclaring structure. Support three states: explicit light, explicit dark, and system default, and avoid pure black with pure white.

What is a fluid typography scale with clamp()?▼

A fluid scale gives each type step a floor and ceiling interpolated with clamp(), such as clamp(1rem, 0.95rem + 0.25vw, 1.125rem). The rem component preserves browser zoom for accessibility while eliminating most breakpoint jumps.

Why should design tokens be named by role instead of color?▼

Role names like --accent survive palette changes because the role stays constant while the value changes. Appearance names like --blue-500 force renames across the codebase whenever the visual direction shifts.

What should a DESIGN.md file contain?▼

Four sections: Direction (one concrete sentence with the why), Tokens (values grouped by type), Decisions (each non-obvious choice with its reason), and Out of scope (what was deliberately rejected). The Decisions section prevents re-opening settled questions.