| name | design-ops |
| description | Design Operations: Figma file organization standards, design-to-dev handoff workflow, design QA checklist, design token sync pipeline (Figma Variables → Style Dictionary → CSS/Tailwind), design system versioning and governance, component audit methodology, and design-dev collaboration patterns. Bridges the gap between design tools and production code. |
Design Ops Skill
When to Activate
- Figma files are chaotic (no naming convention, no organization)
- Handoff from design to engineering is slow or error-prone
- Design tokens are maintained manually in two places (Figma + code)
- Multiple designers working on the same component inconsistently
- Need to establish a design system governance process
- Auditing whether UI matches the design spec
Figma File Organization
File structure standard
Organization structure:
└── [Team] Workspace
├── 🎨 Brand & Foundations
│ ├── Color Styles
│ ├── Typography Styles
│ ├── Spacing & Grid
│ └── Icons
├── 🧩 Component Library
│ ├── Primitives (Button, Input, Badge…)
│ ├── Composites (SearchBar, UserCard…)
│ └── Patterns (DataTable, PageHeader…)
├── 📱 [Product] Designs
│ ├── [Feature] — Active
│ ├── [Feature] — Review
│ └── Archive
└── 🔬 Exploration / Scratch
└── (personal workspace, not canonical)
Page naming within a file
Pages:
├── Cover — Thumbnail, last updated date, status
├── 🎯 [Feature] v2 — Current working design (version in name)
├── 🔍 Specs — Redline specs, measurements, behavior notes
├── ↩️ Archive — Previous versions (do not delete — reference history)
└── 🧪 Exploration — Experiments (not for handoff)
Layer naming convention
Rules:
- Use descriptive names, not "Frame 12" or "Group"
- Format: [component] / [variant] / [state]
- Examples:
Button / Primary / Default
Button / Primary / Hover
Card / Compact / With Image
Navigation / Mobile / Open
Sections:
- Group related layers in frames with clear names
- Capitalize section names: "Hero Section", "Feature Grid"
Icons:
- Name: icon / [name] (e.g., icon / arrow-right)
Design Token Sync Pipeline
Tokens defined in Figma should not be manually re-typed in code.
Tool chain
Figma Variables → Tokens Studio plugin → tokens.json → Style Dictionary → CSS/JS/Tailwind
Step 1: Figma Variables setup
Organize Figma Variables into collections:
Collections:
├── Primitives — raw values (color, spacing, radius)
├── Semantic — named by purpose (color-brand-primary, spacing-component)
└── Component — component-specific (button-padding, card-radius)
Step 2: Tokens Studio export (tokens.json)
{
"color": {
"brand": {
"primary": { "value": "oklch(55% 0.20 270)", "type": "color" },
"muted": { "value": "oklch(80% 0.08 270)", "type": "color" }
},
"semantic": {
"success": { "value": "oklch(60% 0.18 142)", "type": "color" },
"error": { "value": "oklch(55% 0.22 15)", "type": "color" }
Step 3: Style Dictionary config (sd.config.js)
module.exports = {
source: ['tokens.json'],
platforms: {
css: {
transformGroup: 'css',
prefix: 'clarc',
buildPath: 'src/styles/tokens/',
files: [{ destination: 'tokens.css', format: 'css/variables' }],
},
js: {
transformGroup: 'js',
buildPath: 'src/tokens/',
files: [{ destination: 'tokens.js', format: 'javascript/es6' }],
},
tailwind: {
transformGroup: 'js',
buildPath: 'src/tokens/',
files: [{ destination: 'tailwind-tokens.js', format: 'javascript/es6' }],
},
},
};
Step 4: CI automation
name: Sync Design Tokens
on:
push:
paths: ['tokens.json']
jobs:
build-tokens:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm ci
- run: npx style-dictionary build
- run: |
git config user.email "bot@example.com"
git config user.name "Token Bot"
git add src/styles/tokens/ src/tokens/
git diff --staged --quiet || git commit -m "chore: sync design tokens from Figma"
git push
Handoff Workflow
Design → Engineering handoff checklist
Before marking a design as "Ready for Dev":
Completeness
- All states designed: default, hover, focus, active, disabled, loading, error, empty
- All breakpoints designed: mobile (375px), tablet (768px), desktop (1280px)
- Edge cases designed: long text overflow, no data state, max items state
Specs
Assets
Developer notes
Handoff format
Use Figma's Dev Mode or include a dedicated "Specs" page:
Specs page structure:
├── 1. Component overview (name, variants, states)
├── 2. Anatomy (labeled parts)
├── 3. Spacing diagram (padding, margin, gap values)
├── 4. Behavior (interaction specs, transitions)
├── 5. Accessibility notes (keyboard, ARIA, contrast)
└── 6. Do / Don't examples
Design QA Process
After engineering implements a design, run a QA review.
Visual QA checklist
Spacing:
- [ ] Padding matches spec (use browser DevTools ruler)
- [ ] Component gap matches spec
- [ ] Section margin matches spec
Typography:
- [ ] Font size matches (zoom browser to 100% before checking)
- [ ] Line height matches
- [ ] Font weight matches
- [ ] Letter spacing matches
Color:
- [ ] Background color matches
- [ ] Text color matches
- [ ] Border color and width match
- [ ] Interactive states (hover, focus) match
Layout:
- [ ] Breakpoint behavior matches (check 375, 768, 1280, 1440)
- [ ] Overflow behavior handled (test with long text)
- [ ] Empty state matches design
Animation:
- [ ] Transition timing matches
- [ ] Easing matches
QA severity levels
P0 — Blocking: Wrong component rendered, broken layout, missing content
P1 — Major: Color, spacing, or typography obviously wrong (>4px off)
P2 — Minor: Subtle spacing (1-2px), minor color variance within WCAG
P3 — Polish: Animation timing slightly off, micro-interaction missing
Component Audit Methodology
Use when auditing an existing UI for design system compliance.
Audit steps
- Inventory — Capture all unique UI patterns (screenshot every component variant)
- Categorize — Group by function (buttons, inputs, cards, navigation, etc.)
- Score each — For each category:
- Token compliance: are design tokens used? (0-5 scale)
- Consistency: do all instances match? (0-5 scale)
- Accessibility: does it meet WCAG AA? (pass/fail)
- Prioritize — Fix by frequency of use × severity of deviation
- Document — Create canonical versions of all components in Figma
- Deprecation plan — Timeline and migration path for non-compliant variants
Audit output format
## Component Audit — [Date]
### Summary
- Components audited: N
- Token-compliant: N (X%)
- Consistent across uses: N (X%)
- WCAG passing: N (X%)
### Critical findings
| Component | Issue | Instances | Severity |
|-----------|-------|-----------|----------|
| Button | 3 different border-radius values | 47 | P1 |
| Input | Hardcoded color #3B82F6 (not token) | 23 | P1 |
### Recommended actions
1. [Action with owner and timeline]
Design System Governance
Contribution model
Tier 1 — Core team only
Primitive components (Button, Input, Modal)
Design tokens
Typography system
Tier 2 — With core team review
Composite components (SearchBar, DataTable)
New icons
Layout patterns
Tier 3 — Open contribution
Page templates
Experimental patterns
Proof of concepts
RFC process for component changes
## RFC: [Component Change Title]
### Motivation
[Why this change is needed]
### Proposal
[What changes, before/after]
### Breaking changes
[List any breaking changes and migration path]
### Alternatives considered
[Other approaches evaluated]
### Open questions
[Unresolved decisions]
Review window: 5 business days. Merge requires sign-off from 1 designer + 1 engineer.
Checklist