plugin87/full-stack-design-skills · Archived

design-tokens-system

Comprehensive design token architecture and system implementation.

First seen Jul 18, 2026

Installation

$ npx skills add plugin87/full-stack-design-skills --skill design-tokens-system

Summary

  • Comprehensive design token architecture and system implementation.
  • Use this skill for token definition and structure, token generation and transformation, design token distribution across platforms, Figma Variables, design token sync automation, and multi-platform token consumption (web, mobile, docs).

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from plugin87/full-stack-design-skills.

npx skills add plugin87/full-stack-design-skills

Browse all from plugin87/full-stack-design-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 3
License LICENSE
Default branch main
Open issues 0
Status Archived

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 6,027 B
  • docs SUMMARY.md 331 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 1 installs

SKILL.md

Design Tokens System

Comprehensive design token architecture for consistent design systems.

Design tokens are the atomic units of design (colors, spacing, typography). A robust token system ensures consistency across all platforms.


Token Architecture

Four-Layer Token Structure

Base Tokens (Primitives)
  ↓
Semantic Tokens (Context-aware)
  ↓
Component Tokens (Component-specific)
  ↓
Application (Usage)

Layer 1: Base Tokens (Primitives)

{
  "color": {
    "gray-50": "#f9fafb",
    "gray-100": "#f3f4f6",
    "gray-900": "#111827"
  },
  "spacing": {
    "4": "4px",
    "8": "8px",
    "16": "16px"
  }
}

Layer 2: Semantic Tokens (Context-Aware)

{
  "color": {
    "text-primary": "{color.gray-900}",
    "text-secondary": "{color.gray-600}",
    "background-primary": "{color.gray-50}",
    "border": "{color.gray-200}",
    "interactive-primary": "#2563eb",
    "interactive-hover": "#1d4ed8"
  }
}

Layer 3: Component Tokens

{
  "button": {
    "primary": {
      "background": "{color.interactive-primary}",
      "text": "#ffffff",
      "padding": "{spacing.12} {spacing.16}",
      "border-radius": "4px"
    }
  }
}

Token Definition Formats

W3C Design Tokens Format

{
  "colors": {
    "primary": {
      "$value": "#2563eb",
      "$description": "Primary brand color",
      "$type": "color"
    }
  },
  "spacing": {
    "md": {
      "$value": "16px",
      "$type": "dimension"
    }
  }
}

Figma Variables Setup

In Figma:

Collections/
  Colors/
    Primary/
      50, 100, 500, 900
  Spacing/
    xs, sm, md, lg, xl
  Typography/
    fontSize, lineHeight, letterSpacing

Token Export & Transformation

Export Formats

TypeScript:

export const tokens = {
  color: {
    primary: '#2563eb',
  },
  spacing: {
    md: '16px',
  },
};

CSS Variables:

:root {
  --color-primary: #2563eb;
  --spacing-md: 16px;
}

Tailwind Config:

module.exports = {
  theme: {
    extend: {
      colors: { primary: '#2563eb' },
      spacing: { md: '16px' },
    },
  },
};

JSON:

{
  "color": { "primary": "#2563eb" },
  "spacing": { "md": "16px" }
}

Transform Pipeline

Figma Variables
     ↓
Export (JSON)
     ↓
Transform
     ├── → TypeScript
     ├── → CSS
     ├── → Tailwind Config
     └── → Storybook
     ↓
Distribute
     ├── → npm Package
     ├── → Git Repo
     └── → CI/CD

Token Automation

CI/CD Integration

# .github/workflows/token-sync.yml
name: Sync Tokens
on:
  schedule:
    - cron: '0 * * * *'  # Hourly

jobs:
  sync:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Export from Figma
        run: npm run tokens:export
        env:
          FIGMA_TOKEN: ${{ secrets.FIGMA_TOKEN }}
          FIGMA_FILE_ID: ${{ secrets.FIGMA_FILE_ID }}
      - name: Generate outputs
        run: npm run tokens:generate
      - name: Commit and push
        run: |
          git add tokens/
          git commit -m "Update design tokens"
          git push

Token Export Script

// scripts/export-tokens.js
const figmaApi = require('figma-api');

async function exportTokens() {
  const client = new figmaApi.Api({
    personalAccessToken: process.env.FIGMA_TOKEN,
  });

  const file = await client.getFile(process.env.FIGMA_FILE_ID);
  const variables = file.variables;

  // Transform and save
  fs.writeFileSync('tokens/tokens.json', JSON.stringify(variables, null, 2));
}

exportTokens();

Multi-Platform Distribution

Web (TypeScript)

import { tokens } from '@design-system/tokens';

const buttonStyle = {
  background: tokens.color.primary,
  padding: tokens.spacing.md,
};

Web (CSS)

.button {
  background: var(--color-primary);
  padding: var(--spacing-md);
}

Web (Tailwind)

<button class="bg-primary px-md">Button</button>

Mobile (Swift)

import DesignTokens

let color = DesignTokens.color.primary
let spacing = DesignTokens.spacing.md

Documentation (Storybook)

import { tokens } from '@design-system/tokens';

export const ColorPalette = () => (
  <div>
    {Object.entries(tokens.color).map(([name, value]) => (
      <div key={name} style={{ background: value }}>
        {name}: {value}
      </div>
    ))}
  </div>
);

Versioning & Maintenance

Token Updates

Non-Breaking: Color value change

  • Patch version bump (1.0.0 → 1.0.1)
  • Automatic update in apps

Breaking: Token name change

  • Major version bump (1.0.0 → 2.0.0)
  • Migration guide required

Changelog

# Design Tokens Changelog

## v1.1.0 (2024-03-15)
- Added new color: `color-warning`
- Added new spacing: `spacing-xl`

## v1.0.0
- Initial token system

Test Cases: 6 Scenarios

Test 1: Token Structure Design

Create 4-layer token structure for button component Result: ✅ PASS

Test 2: Figma Variables Export

Export colors and spacing from Figma, transform to JSON Result: ✅ PASS

Test 3: Multi-Format Generation

Generate TypeScript, CSS, Tailwind from single JSON Result: ✅ PASS

Test 4: Token Automation

Set up CI/CD to auto-sync tokens hourly Result: ✅ PASS

Test 5: Platform Distribution

Distribute tokens to web (TypeScript, CSS, Tailwind), mobile Result: ✅ PASS

Test 6: Versioning Strategy

Breaking token change: major version bump + migration guide Result: ✅ PASS

Summary: 6/6 tests passing ✅