Unified design token automation for Northcote Curio. Build, validate, and sync design tokens across CSS, Tailwind, and theme systems. Ensures compliance with Northcote palette and Victorian aesthetic principles.
Scanned 2/12/2026
Install via CLI
openskills install majiayu000/claude-skill-registry---
name: design-token-orchestrator
description: Unified design token automation for Northcote Curio. Build, validate, and sync design tokens across CSS, Tailwind, and theme systems. Ensures compliance with Northcote palette and Victorian aesthetic principles.
---
# Design Token Orchestrator Skill
## Overview
One-stop automation for the complete design token lifecycle: generation → validation → synchronization. Eliminates manual script execution and ensures Northcote Curio color palette compliance.
This skill integrates three previously standalone scripts into a cohesive workflow that maintains design system integrity.
## When to Use This Skill
Use this skill when you need to:
- **Build design tokens** from a source JSON into CSS variables and Tailwind config
- **Validate token compliance** against Northcote Curio palette rules
- **Sync theme files** to keep tokens aligned across systems
- **Audit color usage** to detect forbidden colors (blues, purples, neons)
- **Generate token reports** showing coverage and compliance scores
## How It Works
The orchestrator provides three core operations:
### 1. Build Tokens (`build`)
**Input**: `design-system/tokens.json`
**Output**:
- `frontend/src/styles/design-tokens.css` (CSS variables)
- `design-system/tailwind-token-patch.js` (Tailwind config)
**What it does**:
- Parses token JSON
- Generates CSS custom properties (`--sys-color-*`, `--sys-shape-*`, etc.)
- Creates Tailwind theme extensions
- Validates structure
**Usage**:
```bash
python .claude/skills/design-token-orchestrator/scripts/build_tokens.py
```
---
### 2. Validate Tokens (`validate`)
**Input**: `design-system/tokens.json`
**Output**: Compliance report (JSON)
**What it does**:
- Checks required token categories (color, typography, spacing, elevation, shape)
- Validates WCAG AA contrast ratios
- Detects forbidden colors (blues, purples, neons)
- Compares against Northcote reference palette
- Scores compliance 0-100
**Usage**:
```bash
python .claude/skills/design-token-orchestrator/scripts/validate_tokens.py
```
**Validation Rules**:
1. ✅ **Palette Compliance**: Colors must be from Northcote botanical palette
2. ❌ **Forbidden Colors**: Electric blue (#0080FF), neon purple (#9D4EDD), cyan
3. ✅ **Contrast Requirements**: Text/background pairs must meet WCAG AA (4.5:1)
4. ✅ **Token Structure**: Must include color, typography, spacing, elevation, shape
---
### 3. Sync Tokens (`sync`)
**Input**: Current theme files
**Output**: Synchronized token definitions
**What it does**:
- Reads theme configuration
- Extracts design values
- Writes to canonical token JSON
- Ensures single source of truth
**Usage**:
```bash
python .claude/skills/design-token-orchestrator/scripts/sync_tokens.py
```
---
## Skill Workflow Examples
### Example 1: Fresh Token Build
**Scenario**: You've updated `design-system/tokens.json` with new colors.
**Steps**:
1. "Build tokens from the updated JSON"
2. "Validate the new tokens against Northcote compliance"
3. If validation passes → tokens are ready to use
4. If validation fails → review flagged colors and fix
**Expected Output**:
```
✅ Generated 78 color tokens
✅ Generated 7 shape tokens
✅ Tailwind config patched
✅ Validation: 94/100 (1 contrast warning)
```
---
### Example 2: Audit Existing Tokens
**Scenario**: You want to verify current tokens are Northcote-compliant.
**Steps**:
1. "Validate existing design tokens"
2. Review compliance report
3. Identify violations (e.g., forbidden blue detected)
4. Fix violations in source JSON
5. Rebuild tokens
**Expected Output**:
```json
{
"compliance_score": 87,
"violations": [
{
"category": "forbidden_color",
"token": "color.accent.blue",
"value": "#0080FF",
"rule": "Electric blue forbidden in Northcote palette"
}
]
}
```
---
### Example 3: Full Token Lifecycle
**Scenario**: Complete token system update.
**Workflow**:
```
1. Sync theme → tokens.json
2. Validate compliance
3. Fix violations
4. Build CSS + Tailwind
5. Verify output
```
**Commands**:
```bash
# Step 1: Sync
python scripts/sync_tokens.py
# Step 2: Validate
python scripts/validate_tokens.py
# Step 3: Build (if validation passes)
python scripts/build_tokens.py
```
---
## Integration with Other Skills
### With `northcote-visual-audit`
Visual audit validates rendered components. Token orchestrator validates source tokens. Together, they ensure design → implementation fidelity.
### With `northcote-typography-strategy`
Typography strategy defines font choices. Token orchestrator ensures those fonts are correctly defined as CSS variables.
### With `brand-brief-optimizer`
Brief optimizer establishes design direction. Token orchestrator implements that direction as executable tokens.
---
## Technical Specifications
### Required Token Structure
```json
{
"color": {
"primary": "#C45C4B",
"secondary": "#D4A84B",
"tertiary": "#8A9A7A"
},
"typography": {
"fontFamilyBase": "'Crimson Text', serif",
"fontFamilyHeading": "'Lora', serif"
},
"spacing": {
"scale": {
"space1": "4px",
"space2": "8px"
}
},
"shape": {
"corner_small": "8px",
"corner_medium": "12px"
},
"elevation": {
"level_0": "none",
"level_1": "0 1px 2px rgba(0,0,0,0.05)"
}
}
```
### Generated CSS Variables
```css
:root {
--sys-color-primary: #c45c4b;
--sys-color-secondary: #d4a84b;
--sys-font-base: "Crimson Text", serif;
--sys-shape-corner-small: 8px;
--sys-elevation-level-1: 0 1px 2px rgba(0, 0, 0, 0.05);
}
```
---
## Northcote Palette Reference
The skill includes a reference palette at `resources/northcote-palette.json`:
```json
{
"waratahCrimson": "#C45C4B",
"wattleGold": "#D4A84B",
"eucalyptusSage": "#8A9A7A",
"ochreEarth": "#CC8B4A",
"coralRed": "#D05D5D",
"specimenNight": "#1A1714",
"parchmentCream": "#F5F1E8"
}
```
**Forbidden Colors**:
- Electric blue (#0080FF)
- Neon purple (#9D4EDD)
- Cyan (#00FFFF)
---
## Dependencies
```bash
# Python dependencies
pip install wcag-contrast-ratio
# All scripts are Python 3.8+ compatible
```
---
## Error Handling
All scripts return:
- **Exit code 0**: Success
- **Exit code 1**: Validation failure or build error
- **Logs**: Written to console (redirect to file if needed)
---
## Limitations
This skill:
✅ Automates token generation and validation
✅ Ensures Northcote palette compliance
✅ Detects forbidden colors
✅ Validates WCAG contrast ratios
❌ Does not modify component code (use other skills for that)
❌ Does not generate tokens from scratch (requires source JSON)
❌ Does not handle runtime theme switching
---
## Key Principle
**Design tokens are the single source of truth.** Everything else—CSS, Tailwind, component styles—derives from tokens. This skill ensures that source of truth remains pure, compliant, and synchronized.
---
_Unified token automation. Northcote compliance guaranteed. Victorian precision in every variable._
No comments yet. Be the first to comment!