xiaohongshu
xiaohongshu
design-token-extractor
Extracts design tokens from images and generates CSS custom properties, atomic utility classes (Tailwind-style), and platform-specific formats following W3C standards and modern CSS best practices.
Full skill instructions
This skill automates the extraction of design tokens from images and mockups, converting them into standards-compliant formats including W3C DTCG JSON, CSS custom properties, SCSS variables, and comprehensive atomic utility classes (Tailwind-style). It generates modern, accessible design systems with cascade layers, container queries, responsive variants, and state management.
New in v0.2.0: Comprehensive atomic utility class generation with Tailwind-style naming, including color, spacing (with logical properties), typography, and layout utilities, plus full support for container query variants, state variants (hover/focus/active), and dark mode.
Invoke this skill when you need to:
Action: When the user provides an image or design mockup, analyze and identify token categories.
Token Categories:
Action: Extract tokens following W3C Design Tokens Community Group standards.
Extraction Process:
@layer reset, tokens, components, utilities)Prompt for Output Format:
Ask the user which format to generate (if not specified):
New Utility Formats:
utilities - Comprehensive Tailwind-style atomic utilities (standalone file)css-layers-full - Complete design system with tokens AND generated utilitiesBoth utility formats include:
Action: Generate output using appropriate templates with variable substitution.
Default Output Location: src/styles/ (unless the user specifies a different path)
Templates Available:
templates/w3c-tokens.template.json - W3C DTCG formattemplates/css-variables.template.css - CSS custom propertiestemplates/css-layers.template.css - Cascade layers implementationtemplates/documentation.template.md - Token documentationVariable Substitution:
{{TOKEN_NAME}} - Token identifier{{TOKEN_VALUE}} - Token value{{TOKEN_TYPE}} - Token type (color, dimension, etc.){{TOKEN_DESCRIPTION}} - Token description{{COLOR_PRIMARY_500}}, {{SPACING_MD}}, etc. - Specific token valuesAction: Validate generated tokens against W3C DTCG specification.
Execute Validation Script:
python scripts/validate_tokens.py --input tokens.json [--strict]
Validation Checks:
$value, $type) presentError Handling:
Action: Load reference documentation only when detailed specifications are needed.
When to Load:
references/w3c-dtcg-spec.mdreferences/css-standards.mdreferences/accessibility-guidelines.mdFollow W3C token categories:
Structure using cascade layers (@layer reset, tokens, components, utilities).
For detailed CSS standards, load references/css-standards.md.
clamp(1rem, 2.5cqi, 1.5rem)Ensure WCAG 2.2 compliance:
prefers-reduced-motionFor details, load references/accessibility-guidelines.md.
Execute Python scripts for deterministic tasks. All output defaults to src/styles/ unless otherwise specified.
extract_tokens.py - Extract tokens from image analysis
# Default output to src/styles/tokens.json
python scripts/extract_tokens.py --input-image <path> --output src/styles/tokens.json
transform_tokens.py - Transform between formats (JSON → CSS/SCSS/iOS/Android/Utilities)
# Generate CSS custom properties (default to src/styles/)
python scripts/transform_tokens.py --input tokens.json --format css --output src/styles/tokens.css
# Generate standalone atomic utilities (default to src/styles/)
python scripts/transform_tokens.py --input tokens.json --format utilities --output src/styles/utilities.css
# Generate complete design system (tokens + utilities, default to src/styles/)
python scripts/transform_tokens.py --input tokens.json --format css-layers-full --output src/styles/design-system.css
generate_utilities.py - Generate atomic utility classes from tokens
# Generate utilities with default configuration (default to src/styles/)
python scripts/generate_utilities.py --input tokens.json --output src/styles/utilities.css
# Generate utilities with custom configuration
python scripts/generate_utilities.py --input tokens.json --output src/styles/utilities.css --config config.json
validate_tokens.py - Validate against W3C DTCG specification
python scripts/validate_tokens.py --input tokens.json [--strict]
Generate consistent output using templates with {{VARIABLE}} substitution:
templates/w3c-tokens.template.json - W3C DTCG formattemplates/css-variables.template.css - CSS custom propertiestemplates/css-layers.template.css - Cascade layers implementationtemplates/documentation.template.md - Token documentationCommon variables: {{TOKEN_NAME}}, {{TOKEN_VALUE}}, {{TOKEN_TYPE}}, {{TOKEN_DESCRIPTION}}, {{COLOR_PRIMARY_500}}, {{SPACING_MD}}, etc.
Load reference files when detailed information is needed:
references/w3c-dtcg-spec.md - W3C Design Tokens specification (~1k words)
$value, $type, composite tokens, alias tokensreferences/css-standards.md - Modern CSS features (~1.3k words)
@layer, @container, logical properties, cascade layersreferences/accessibility-guidelines.md - WCAG 2.2 compliance (~1.3k words)
contrast ratio, focus indicators, prefers-reduced-motionWhen to load references:
w3c-dtcg-spec.mdcss-standards.mdaccessibility-guidelines.mdThe skill generates comprehensive Tailwind-style atomic utility classes from extracted design tokens. These utilities enable rapid prototyping and utility-first development with full support for responsive variants, state management, and accessibility.
Text Colors:
.text-primary-500 { color: var(--color-primary-500); }
.text-neutral-900 { color: var(--color-neutral-900); }
Background Colors:
.bg-surface-elevated { background-color: var(--color-surface-elevated); }
.bg-primary-500 { background-color: var(--color-primary-500); }
Border Colors:
.border-accent-600 { border-color: var(--color-accent-600); }
SVG Colors:
.fill-primary-500 { fill: var(--color-primary-500); }
.stroke-neutral-900 { stroke: var(--color-neutral-900); }
Padding:
.p-md { padding: var(--spacing-scale-md); }
.px-lg { padding-inline: var(--spacing-scale-lg); } /* horizontal */
.py-sm { padding-block: var(--spacing-scale-sm); } /* vertical */
.pt-xs { padding-block-start: var(--spacing-scale-xs); } /* top */
Margin:
.m-md { margin: var(--spacing-scale-md); }
.mx-auto { margin-inline: auto; } /* center horizontally */
.my-lg { margin-block: var(--spacing-scale-lg); }
Gap (for Grid/Flexbox):
.gap-md { gap: var(--spacing-scale-md); }
.gap-x-sm { column-gap: var(--spacing-scale-sm); }
.gap-y-lg { row-gap: var(--spacing-scale-lg); }
Font Family:
.font-display { font-family: var(--font-family-display); }
.font-body { font-family: var(--font-family-body); }
Font Size:
.text-xl { font-size: var(--font-size-xl); }
.text-base { font-size: var(--font-size-base); }
Font Weight:
.font-bold { font-weight: var(--font-weight-bold); }
.font-medium { font-weight: var(--font-weight-medium); }
Line Height:
.leading-tight { line-height: var(--line-height-tight); }
.leading-relaxed { line-height: var(--line-height-relaxed); }
Border Radius:
.rounded-md { border-radius: var(--border-radius-md); }
.rounded-full { border-radius: var(--border-radius-full); }
Shadows:
.shadow-md { box-shadow: var(--shadow-md); }
.shadow-elevated { box-shadow: var(--shadow-elevated); }
Apply utilities at specific container sizes (responsive design):
<div class="text-base md:text-lg lg:text-xl">
Text that grows with container size
</div>
<div class="p-sm md:p-md lg:p-lg">
Padding that increases at larger container sizes
</div>
Breakpoints:
sm: - 640pxmd: - 768pxlg: - 1024pxxl: - 1280pxHover:
<button class="bg-primary-500 hover:bg-primary-600">
Button with hover state
</button>
<a class="text-neutral-700 hover:text-primary-500">
Link with hover color
</a>
Focus:
<input class="outline-neutral-300 focus:outline-primary-500">
<button class="focus:bg-primary-700">
Button with focus state
</button>
Active:
<button class="bg-primary-500 active:bg-primary-700">
Button with active/pressed state
</button>
<div class="bg-white dark:bg-neutral-900
text-neutral-900 dark:text-neutral-100">
Content that adapts to dark mode
</div>
<p class="text-neutral-700 dark:text-neutral-300">
Body text with dark mode support
</p>
<article class="bg-white dark:bg-neutral-800
p-lg rounded-lg shadow-md
border border-neutral-200 dark:border-neutral-700">
<h2 class="font-display text-2xl font-bold
text-neutral-900 dark:text-white
mb-md">
Card Title
</h2>
<p class="text-base leading-relaxed
text-neutral-700 dark:text-neutral-300
mb-lg">
Card content with proper spacing and typography.
</p>
<button class="px-lg py-md
bg-primary-600 hover:bg-primary-700 active:scale-95
text-white rounded-sm font-semibold
focus:outline-accent-500">
Action Button
</button>
</article>
<div class="grid gap-md md:gap-lg
grid-cols-1 md:grid-cols-2 lg:grid-cols-3">
<div class="p-md bg-neutral-50 dark:bg-neutral-800 rounded-md">
Grid Item 1
</div>
<div class="p-md bg-neutral-50 dark:bg-neutral-800 rounded-md">
Grid Item 2
</div>
<div class="p-md bg-neutral-50 dark:bg-neutral-800 rounded-md">
Grid Item 3
</div>
</div>
Customize utility generation with a config JSON file:
{
"categories": ["colors", "spacing", "typography", "layout"],
"variants": ["container", "state", "dark-mode"],
"prefix": ""
}
Configuration Properties:
categories - Which utility types to generate (array)variants - Which variants to include (array)prefix - Optional prefix for all utilities (string, e.g., "tw-")Example with custom configuration:
python scripts/generate_utilities.py \
--input tokens.json \
--output utilities.css \
--config custom-config.json
All generated utilities include automatic accessibility support:
prefers-reduced-motion preferenceprefers-color-scheme: darkGenerated utilities leverage modern CSS:
@layer utilities.colors, etc.padding-inline, margin-block for better i18nTarget Browsers:
Progressive Enhancement:
User provides image/mockup
↓
Extract tokens (colors, typography, spacing, dimensions, motion)
↓
Format specified?
├─ No → Ask: W3C JSON, CSS, CSS (Full), Utilities, SCSS, iOS, Android?
└─ Yes → Continue
↓
Utility generation requested?
├─ Yes → Generate utilities (standalone or with tokens)
│ ├─ Format: utilities → Standalone atomic utilities
│ └─ Format: css-layers-full → Tokens + utilities
└─ No → Standard token transformation
↓
Select template and generate output to src/styles/ (or user-specified path)
↓
Validate with validate_tokens.py (if JSON format)
↓
Validation passes?
├─ Yes → Deliver output with documentation
└─ No → Fix errors, re-validate
Use semantic, hierarchical naming with kebab-case:
--color-{role}-{variant} → --color-primary-500, --color-text-primary--font-{property}-{size} → --font-size-lg, --font-weight-bold--spacing-{scale}-{size} → --spacing-scale-md, --spacing-fluid-sm--{element}-{property} → --border-radius-sm, --shadow-mdGenerate modern, standards-compliant tokens that balance cutting-edge CSS features with cross-platform compatibility and accessibility.
xiaohongshu
technical spec
product ux expert
database patterns
Conduct multi-agent task orchestration and workflow coordination.
Initialize project with Conductor artifacts (product definition,
Expert in web animations, transitions, and motion design using Framer Motion and CSS
Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...
PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.
Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...
Display project status, active tracks, and next actions
Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.
Generate, edit, and beat-sync AI video with leading models in one workspace.
The world's fastest calendar for remote work
Transform Your Design with AI Designer by ImgCreator.ai
Revolutionizing Video Production with AI-Powered Creativity
Extend an image past the frame and let AI fill the new aspect ratio.
Discover your celebrity doppelgänger with StarByFace!
ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.
Opus.ai: Revolutionize Your Web Experience