design-tokens
Generates foundational design tokens (CSS variables, Tailwind config, or theme files) for a project based on a chosen aesthetic philosophy, including color…
Community author
- Agents
- Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode, claude.ai and API
- License
- Apache-2.0 (permissive)
- Pin
- c259656pinned Oct 9, 2026
- Context cost
- about 1,700 tokenswhen the skill loads
- GitHub stars
- 577on julianoczkowski/designer-skills
- Scripts
- None found
What it does
“Generate a design tokens file (CSS variables or Tailwind config) based on a chosen aesthetic philosophy, with light and dark mode palettes, spacing scale, type ramp, and component-level tokens. Use when starting a new project, establishing a visual system, setting up tokens, or mentions "tokens" or "design system".”
Generated summary from the skill's own text
Generates foundational design tokens (CSS variables, Tailwind config, or theme files) for a project based on a chosen aesthetic philosophy, including color palettes for light and dark modes, spacing scales, typography ramps, and layout tokens. Checks for existing tokens and extends them rather than replacing, reads design briefs to inform decisions, and outputs tokens in the format matching the project's tech stack.
When to use it
- Starting a new project and need to establish a visual system
- Setting up color palettes, spacing scales, and typography before building components
- Extending or filling gaps in existing token definitions
- Project mentions design tokens or design system foundation
When not to
- Project already has complete, tested tokens in production
- Only need to adjust individual component styles, not global tokens
- Working with design systems that use external token management tools
Install
These commands install from the publisher's repository and need no account.
skills CLI
npx skills add julianoczkowski/designer-skills --skill design-tokensInstalls from the repository's default branch, which may have changed since the commit we checked.
GitHub CLI 2.90 or later
gh skill install julianoczkowski/designer-skills design-tokens@c259656c76d9758d7ead46b0d2f125cbe84f8665Installs the commit we checked (c259656).
Copy by hand
Download the folder at c259656 and put it in .claude/skills/design-tokens for Claude Code and in .agents/skills/design-tokens for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode.
Copy for your agent
A prompt for any coding agent. It installs this skill from GitHub at the pinned commit, copies the files as they are, and runs nothing unless you ask.
Prompt
Install the agent skill "design-tokens" by julianoczkowski. Source, pinned to commit c259656c76d9758d7ead46b0d2f125cbe84f8665: https://github.com/julianoczkowski/designer-skills/tree/c259656c76d9758d7ead46b0d2f125cbe84f8665/design-tokens 1. Download that folder at exactly this commit. Do not use the default branch. 2. Copy every file unchanged, keeping the folder structure, into .claude/skills/design-tokens/ for Claude Code and .agents/skills/design-tokens/ for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode. Create the folders if they do not exist. 3. Do not edit the files, and do not run any script in the folder unless I ask you to. 4. When you are done, list the files you copied and where you put them. Listing and checks: https://www.agentnative.dev/skills/julianoczkowski/design-tokens
SKILL.md at the pin
---
name: design-tokens
description: Generate a design tokens file (CSS variables or Tailwind config) based on a chosen aesthetic philosophy, with light and dark mode palettes, spacing scale, type ramp, and component-level tokens. Use when starting a new project, establishing a visual system, setting up tokens, or mentions "tokens" or "design system".
---
This skill generates the foundational design tokens for a project. Run this after the design brief and before building any components. Every component built after this references these tokens instead of hardcoding values.
## Example prompts
- "Set up design tokens for this project"
- "Generate a token system based on Dieter Rams"
- "I need a spacing scale and color palette before I start building"
- "Create tokens that match our brief"
## Process
1. **Check what already exists.** Before generating anything, scan the codebase for:
- CSS variable definitions (`:root`, `[data-theme]`, custom property files)
- Tailwind config (`tailwind.config.js`, `tailwind.config.ts`) and any theme extensions
- Theme provider files (Material UI `createTheme`, Chakra `extendTheme`, shadcn `globals.css`)
- Design token JSON files (Style Dictionary format, Figma token exports)
- Any `tokens.css`, `variables.css`, `theme.css`, or similarly named files
- `package.json` for UI framework dependencies (tailwindcss, @mui/material, @chakra-ui/react, etc.)
If tokens already exist, **extend them** rather than replacing. Identify gaps (missing dark mode, incomplete spacing scale, no motion tokens) and fill those.
2. **Read the brief.** Look for a design brief at `.design/*/DESIGN_BRIEF.md`. If multiple subfolders exist, use the most recently modified one, or ask the user which feature they are working on. If a philosophy is named, use the parameters from `/frontend-design` to derive token values. If no brief exists, ask the user what direction they want.
3. **Generate tokens** in the format that matches the project's tech stack:
- Tailwind project → extend `tailwind.config.js` and write to `globals.css`
- CSS/HTML project → write to a `tokens.css` file
- CSS-in-JS project → write to a `theme.ts` or `theme.js` file
- If unclear, default to CSS custom properties (most portable)
4. **Always generate both light and dark mode palettes.** Use `[data-theme="dark"]` or `prefers-color-scheme` media query. Both palettes should feel intentional for the chosen philosophy, not just inverted values.
## Token Categories
### Color
```css
/* Semantic color tokens, not raw values */
--color-bg-primary: /* Main background */
--color-bg-secondary: /* Secondary/card background */
--color-bg-tertiary: /* Subtle background (inputs, wells) */
--color-bg-inverse: /* Inverted background */
--color-text-primary: /* Main text */
--color-text-secondary: /* Subdued text */
--color-text-tertiary: /* Placeholder, disabled text */
--color-text-inverse: /* Text on inverse backgrounds */
--color-text-link: /* Link color */
--color-border-primary: /* Default borders */
--color-border-secondary: /* Subtle borders */
--color-border-focus: /* Focus ring color */
--color-accent-primary: /* Primary action color */
--color-accent-primary-hover:
--color-accent-primary-active:
--color-accent-secondary: /* Secondary action color */
--color-status-success:
--color-status-warning:
--color-status-error:
--color-status-info:
--color-surface-overlay: /* Modal/dropdown backdrop */
```
### Spacing
Generate a consistent scale. The base unit should match the philosophy:
- Tight philosophies (Brutalist, Swiss): 4px base
- Balanced philosophies (Rams, Scandinavian): 4px or 8px base
- Spacious philosophies (Japanese Minimalism, Editorial): 8px base with larger multipliers
```css
--space-0: 0;
--space-1: /* base * 0.25 */
--space-2: /* base * 0.5 */
--space-3: /* base * 0.75 */
--space-4: /* base * 1 */
--space-5: /* base * 1.5 */
--space-6: /* base * 2 */
--space-7: /* base * 3 */
--space-8: /* base * 4 */
--space-9: /* base * 6 */
--space-10: /* base * 8 */
--space-11: /* base * 12 */
--space-12: /* base * 16 */
```
### Typography
```css
--font-family-display: /* Headline/display font */
--font-family-body: /* Body text font */
--font-family-mono: /* Code/monospace font */
--font-size-xs:
--font-size-sm:
--font-size-base:
--font-size-md:
--font-size-lg:
--font-size-xl:
--font-size-2xl:
--font-size-3xl:
--font-size-4xl: /* Hero/display size */
--font-weight-normal:
--font-weight-medium:
--font-weight-semibold:
--font-weight-bold:
--line-height-tight: /* Headings: 1.1-1.3 */
--line-height-normal: /* Body: 1.4-1.6 */
--line-height-relaxed: /* Spacious body: 1.6-1.8 */
--letter-spacing-tight: /* Display type */
--letter-spacing-normal:
--letter-spacing-wide: /* All-caps, labels */
```
### Layout
```css
--max-width-content: /* Max reading width (65-75ch equivalent) */
--max-width-wide: /* Wide content area */
--max-width-page: /* Full page max width */
--border-radius-sm:
--border-radius-md:
--border-radius-lg:
--border-radius-full: /* Pill/circle */
--shadow-sm:
--shadow-md:
--shadow-lg:
--shadow-focus: /* Focus ring shadow */
```
### Motion
```css
--duration-instant: 50ms;
--duration-fast: 150ms;
--duration-normal: 250ms;
--duration-slow: 400ms;
--duration-slower: 600ms;
--easing-default: cubic-bezier(0.4, 0, 0.2, 1);
--easing-in: cubic-bezier(0.4, 0, 1, 1);
--easing-out: cubic-bezier(0, 0, 0.2, 1);
--easing-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
```
### Responsive Breakpoints
```css
--breakpoint-sm: 375px; /* Mobile */
--breakpoint-md: 768px; /* Tablet */
--breakpoint-lg: 1024px; /* Small desktop */
--breakpoint-xl: 1280px; /* Desktop */
--breakpoint-2xl: 1536px; /* Wide desktop */
```
## Dark Mode
Always generate dark mode tokens alongside light mode. Rules:
- Do not simply invert colors. Dark backgrounds should be warm or cool depending on the philosophy.
- Reduce contrast slightly in dark mode (pure white text on pure black is harsh).
- Shadows should use darker, more transparent values in dark mode, not the same shadows as light.
- Accent colors may need lightness adjustments to maintain contrast ratios.
- Include a `prefers-color-scheme` media query AND a `[data-theme="dark"]` attribute selector so the user can support both system preference and manual toggle.
```css
:root {
/* Light mode tokens */
}
[data-theme="dark"] {
/* Dark mode overrides */
}
@media (prefers-color-scheme: dark) {
:root:not([data-theme="light"]) {
/* System-preference dark mode, unless user explicitly chose light */
}
}
```
## Output
Save the tokens file in the appropriate location for the project's tech stack. State which philosophy the tokens are derived from and note any deviations or choices made.
From julianoczkowski/designer-skills at c259656, shown as plain text under its license: Apache-2.0 (permissive). The license text is in LICENSE.
View SKILL.md on GitHub at c259656Files
- SKILL.md7.1 KB · 951eb7680b1c
1 file, 7.1 KB in total. Each file has a sha256 in the pin's manifest; the first 12 characters are shown.
Skill folder on GitHub at c259656Related in Frontend and design
stitch::extract-design-md
Extracts a comprehensive design system document (DESIGN.md) by analyzing frontend source code including component files, stylesheets, Tailwind configs, and…
by GoogleOfficial publisher
Claude Code, Codex, Cursor +4 · about 3.3K tokens · pinned 6 days ago
web-artifacts-builder
This skill enables building complex React artifacts for Claude with React 18, TypeScript, Vite, Tailwind CSS, and shadcn/ui components.
by SnykOfficial publisher
Contains scripts
Claude Code, Codex, Cursor +3 · about 670 tokens · pinned 6 days ago
shadcn
This skill manages shadcn/ui component projects by adding, searching, updating, and composing components.
by shadcn-uiCommunity
Claude Code · about 4.7K tokens · pinned 6 days ago
extract-design
This skill extracts a complete design system from any website URL, analyzing colors, typography, spacing, and components.
by Manavarya09Community
Claude Code, Codex, Cursor +4 · about 660 tokens · pinned 6 days ago
crxjs
CRXJS is a Vite plugin for Chrome extension development that provides true hot-module reloading for popups, options pages, content scripts, and side panels.
by samberCommunity
Claude Code · about 2.3K tokens · pinned 6 days ago
absolute-ui
This skill provides a comprehensive design system and concrete CSS/Tailwind patterns for building polished, intentional UIs.
by maddhruvCommunity
Claude Code · about 5.8K tokens · pinned 6 days ago