Install
$ agentstack add skill-plugin87-full-stack-design-skills-design-tokens-system ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ● Filesystem access Used
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
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
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 = () => (
{Object.entries(tokens.color).map(([name, value]) => (
{name}: {value}
))}
);
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 ✅
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: plugin87
- Source: plugin87/full-stack-design-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.