| name | claude-design-system-hooks |
| description | AI-powered design-to-code engine that generates production-ready UI components from natural language using Claude API |
| triggers | ["generate a design system with Claude","create UI components from description","build responsive layouts with AI","convert design mockups to code","use Claude for design automation","generate accessible components","create design tokens automatically","build component library with AI"] |
Claude Design System Hooks
Skill by ara.so — Design Skills collection.
What This Project Does
Claude Design System Hooks is a neuro-adaptive design orchestration engine that transforms natural language descriptions into production-ready UI code. It bridges Claude AI's cognitive capabilities with multi-framework code generation, allowing you to create entire design systems, component libraries, and responsive UI patterns through conversational prompts.
Key capabilities:
- Design-as-Dialogue: Describe UIs in natural language, get framework-specific code
- Multi-Framework Output: Generate identical designs in React, Vue, Angular, or vanilla HTML/CSS
- Design Token Extraction: Automatically parse color palettes, typography, spacing from specs
- Accessibility-First: Built-in WCAG 2.2 compliance checks during generation
- Plugin Ecosystem: Extend with Figma sync, Storybook integration, A11y auditing
Installation
Prerequisites
node --version
npm --version
Basic Installation
git clone https://github.com/BharathKumarSuresh/claude-design-system-hooks.git
cd claude-design-system-hooks
npm install @claude-design/core @claude-design/cli
claude-design configure --api-key $CLAUDE_API_KEY
claude-design --version
Docker Installation
docker pull claude-design-engine:2026-stable
docker run -p 3000:3000 \
-e CLAUDE_API_KEY=$CLAUDE_API_KEY \
claude-design-engine:2026-stable
Configuration
Profile Configuration File
Create .claude-design.json in your project root:
{
"profile": {
"name": "my-design-profile",
"version": "2026.3",
"preferences": {
"framework": "react",
"version": "18.x",
"styling": "tailwind",
"component_library": "shadcn-ui",
"responsive_breakpoints": ["sm", "md", "lg", "xl", "2xl"],
"accessibility_level": "wcag_22_aa",
"code_style": "typescript_strict"
},
"design_tokens": {
Environment Variables
export CLAUDE_API_KEY="your-claude-api-key"
export OPENAI_API_KEY="your-openai-api-key"
export CLAUDE_DESIGN_OUTPUT_DIR="./generated-components"
Key Commands
Interactive Mode
claude-design interact --profile my-design-profile
claude-design interact --framework vue --styling scss
claude-design interact --accessibility wcag-22-aaa
Batch Generation
claude-design generate \
--input ./design-specs/dashboard.yaml \
--output ./src/components \
--framework react \
--styling tailwind \
--include-tests \
--include-stories
claude-design generate \
--input ./figma-export.json \
--output ./components \
--framework angular \
--accessibility wcag-22-aa
claude-design generate \
--input ./design-system-spec.yaml \
--output ./design-system \
--framework react \
--include-tokens \
--include-docs \
--verbose
Component Generation
claude-design component create \
--name ProductCard \
--description "Card displaying product image, title, price, and add-to-cart button" \
--framework react \
--output ./src/components/ProductCard
claude-design component create \
--name DataTable \
--props-file ./specs/datatable-props.json \
--framework vue \
--with-types
Design Token Management
claude-design tokens extract \
--input ./mockups/homepage.png \
--output ./tokens/design-tokens.json
claude-design tokens generate \
--input ./tokens/design-tokens.json \
--format css-variables \
--output ./styles/tokens.css
claude-design tokens validate ./tokens/*.json
Plugin Management
claude-design plugins list
claude-design plugins install @claude-design/figma-sync
claude-design plugins configure figma-sync \
--token $FIGMA_TOKEN \
--sync-mode bidirectional
claude-design marketplace browse --category animation
claude-design marketplace install @community/lottie-animator
Usage Patterns
Pattern 1: Natural Language Component Generation
const { ClaudeDesign } = require('@claude-design/core');
const designer = new ClaudeDesign({
apiKey: process.env.CLAUDE_API_KEY,
framework: 'react',
styling: 'tailwind'
});
async function generateLoginForm() {
const result = await designer.generate({
prompt: `Create a modern login form with:
- Email and password fields
- Remember me checkbox
- Forgot password link
- Social login buttons (Google, GitHub)
- Dark theme with purple accent
- Fully accessible with keyboard navigation`,
options: {
includeTests: true,
includeStorybook: true,
accessibility: 'wcag-22-aa'
}
});
console.log('Generated files:', result.files);
await result.save('./src/components/LoginForm');
}
generateLoginForm();
Pattern 2: Design System Specification
system:
name: "Corporate Design System"
version: "1.0.0"
framework: "react"
styling: "tailwind"
tokens:
colors:
primary: "#0066cc"
secondary: "#6b7280"
accent: "#f59e0b"
success: "#10b981"
error: "#ef4444"
warning: "#f59e0b"
typography:
scale: "major-third"
base_size: 16
fonts:
heading: "Inter, sans-serif"
body: "Inter, sans-serif"
mono: "Fira Code, monospace"
spacing:
unit: 4
scale: [1, 2, 3, 4, 6, 8, 12, 16, 24, 32]
breakpoints:
sm: 640
md: 768
lg:
[, , , ]
[, , ]
[, , , ]
[, , ]
[, , ]
[, , ]
claude-design generate \
--input design-system-spec.yaml \
--output ./design-system \
--include-docs \
--include-storybook
Pattern 3: Programmatic API Usage
import { ClaudeDesign, DesignConfig } from '@claude-design/core';
import { FigmaSyncPlugin } from '@claude-design/figma-sync';
import { A11yAuditor } from '@claude-design/a11y-auditor';
const config: DesignConfig = {
apiKey: process.env.CLAUDE_API_KEY,
framework: 'react',
typescript: true,
styling: 'tailwind',
plugins: [
new FigmaSyncPlugin({
token: process.env.FIGMA_TOKEN,
fileKey: 'abc123def456'
}),
new A11yAuditor({
strictMode: true,
level: 'wcag-22-aaa'
})
]
};
const designer = new ClaudeDesign(config);
async function buildNavigationComponent() {
const nav = await designer.component.create({
: ,
: ,
: ,
: {
: ,
: ,
:
}
});
auditResults = designer..(nav.);
.(, auditResults.);
tests = designer..(nav., {
: ,
:
});
nav.(, {
: ,
: ,
:
});
}
();
Pattern 4: Design Token Extraction
const { TokenExtractor } = require('@claude-design/core');
async function extractFromMockup() {
const extractor = new TokenExtractor({
apiKey: process.env.CLAUDE_API_KEY
});
const tokens = await extractor.fromImage('./mockups/homepage.png', {
extractColors: true,
extractTypography: true,
extractSpacing: true,
extractBorderRadius: true
});
console.log('Extracted tokens:', tokens);
const css = await extractor.toCSS(tokens);
await fs.writeFile('./styles/tokens.css', css);
const tailwindConfig = await extractor.toTailwind(tokens);
fs.(, tailwindConfig);
}
();
Pattern 5: Multi-Framework Generation
const { ClaudeDesign } = require('@claude-design/core');
async function generateForAllFrameworks() {
const designer = new ClaudeDesign({
apiKey: process.env.CLAUDE_API_KEY
});
const description = `
Product card with image, title, price, rating stars,
and add-to-cart button. Include hover effects.
`;
const reactComponent = await designer.generate({
prompt: description,
framework: 'react',
styling: 'tailwind',
typescript: true
});
await reactComponent.save('./output/react/ProductCard');
const vueComponent = await designer.generate({
prompt: description,
framework: 'vue',
styling: 'scss',
composition: true
});
await vueComponent.save('./output/vue/ProductCard');
const angularComponent = await designer.generate({
: description,
: ,
: ,
:
});
angularComponent.();
vanillaComponent = designer.({
: description,
: ,
: ,
:
});
vanillaComponent.();
}
();
Common Workflows
Workflow 1: Rapid Prototyping
claude-design interact --framework react --styling tailwind
Workflow 2: Design System Migration
claude-design tokens extract \
--input ./current-app/styles \
--output ./tokens/legacy-tokens.json
claude-design generate \
--input ./specs/new-design-system.yaml \
--tokens ./tokens/legacy-tokens.json \
--output ./new-design-system
claude-design docs migration \
--from ./tokens/legacy-tokens.json \
--to ./new-design-system/tokens.json \
--output ./MIGRATION.md
Workflow 3: CI/CD Integration
name: Generate Design System
on:
push:
paths:
- 'design-specs/**'
jobs:
generate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: '18'
- name: Install Claude Design
run: |
npm install -g @claude-design/cli
claude-design configure --api-key ${{ secrets.CLAUDE_API_KEY }}
- name: Generate Components
run: |
claude-design generate \
--input ./design-specs/components.yaml \
--output ./src/components \
--framework react \
--include-tests \
--include-stories
- name: Audit Accessibility
run: |
claude-design audit a11y ./src/components \
--level wcag-22-aa \
--fail-on-warnings
- name:
Troubleshooting
Issue: API Rate Limiting
claude-design status --api-limits
claude-design configure \
--rate-limit 10 \
--rate-limit-window 60000
Issue: Generated Code Doesn't Match Framework Version
claude-design generate \
--framework react@18.2.0 \
--input ./spec.yaml
npm update @claude-design/react-adapter
Issue: Accessibility Audit Failures
const designer = new ClaudeDesign({
apiKey: process.env.CLAUDE_API_KEY,
plugins: [
new A11yAuditor({
autoFix: true,
strictMode: false
})
]
});
const component = await designer.generate({
prompt: 'Login form',
accessibility: {
level: 'wcag-22-aa',
requirements: [
'keyboard-navigation',
'screen-reader-labels',
'color-contrast-4.5:1',
'focus-indicators'
]
}
});
Issue: Design Tokens Not Applying
claude-design tokens validate ./tokens/design-tokens.json
claude-design tokens generate \
--input ./tokens/design-tokens.json \
--format css-variables \
--output ./styles/tokens.css \
--force
claude-design audit tokens ./src/components
Issue: Plugin Conflicts
claude-design plugins list --active
claude-design plugins disable @community/conflicting-plugin
claude-design plugins reset --all
npm install @claude-design/figma-sync@latest
Debug Mode
claude-design generate \
--input ./spec.yaml \
--verbose \
--debug \
--log-file ./debug.log
claude-design diagnostics --full
Advanced Configuration
Custom Subagents
{
"subagents": [
{
"id": "color-theorist",
"priority": 1,
"specialties": ["color_harmony", "contrast_ratios"],
"model": "claude-sonnet-4"
},
{
"id": "layout-architect",
"priority": 2,
"specialties": ["grid_systems", "responsive_design"],
"model": "claude-sonnet-4"
},
{
"id": "typography-curator",
"priority": 3,
Hybrid AI Configuration
claude-design configure \
--ai-provider hybrid \
--primary claude \
--claude-key $CLAUDE_API_KEY \
--openai-key $OPENAI_API_KEY \
--fallback-on-rate-limit true
This skill enables AI coding agents to leverage Claude's design capabilities for generating production-ready UI components, design systems, and accessible interfaces from natural language descriptions.