figma-integration
Automates the bridge between Figma designs and code by analyzing design metadata and generating specs.
Install
mkdir -p .claude/skills/figma-integration && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/259" && unzip -o skill.zip -d .claude/skills/figma-integration && rm skill.zipInstalls to .claude/skills/figma-integration
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Guides design-to-code workflow using Figma integration. Helps extract designs, analyze components, and generate implementation specs. Auto-activates when users mention Figma URLs, design implementation, component conversion, or design-to-code workflows. Works with /ccpm:plan, design-approve, design-refine, and /ccpm:figma-refresh commands.Key capabilities
- →Extracts tokens from Figma URLs
- →Caches design metadata for local analysis
- →Syncs design elements with issue trackers
- →Identifies frames and components for implementation specs
How it works
Analyzes design metadata and frame structure to generate component-ready code specifications via cached refresh cycles.
Inputs & outputs
When to use figma-integration
- →Extracting design tokens from Figma
- →Converting design files to components
- →Analyzing design specs for implementation
- →Synchronizing designs with Linear issues
About this skill
Figma Integration Skill
Transform Figma designs into implementation-ready specifications with CCPM's design-to-code workflow.
When This Skill Activates
This skill auto-activates when:
- User mentions "Figma" or "design" in implementation context
- User asks about "component", "design system", or "design tokens"
- Running
/ccpm:plan(starts design process) - Running
/ccpm:plan(refine designs) - Running
/ccpm:plan(generate specs) - Running
/ccpm:figma-refresh(refresh cached designs) - User mentions "design-to-code", "design file", or "Figma component"
The Figma Workflow
Phase 1: Design Phase
Command: /ccpm:plan ISSUE-ID
Start the design process by attaching Figma links to your Linear issue:
1. Create/update Linear issue with task description
2. Attach Figma design link in issue description
3. Run /ccpm:plan TASK-123
4. CCPM extracts design metadata and creates options
What happens:
- Detects Figma links from issue and related documents
- Analyzes design file metadata (frames, components, assets)
- Extracts design tokens (colors, typography, spacing)
- Creates visual options or wireframes
- Caches design data for instant access
Example:
/ccpm:plan PSN-123
✅ Detected Figma link: https://figma.com/file/ABC123/UserDashboard
📦 Design Analysis:
- 12 frames found
- 15 components detected
- Color palette: 8 colors
- Typography: 4 font families
- Spacing pattern: 4px, 8px, 16px grid
Ready for design review. Run: /ccpm:plan PSN-123
Phase 2: Refinement Phase
Command: /ccpm:plan ISSUE-ID [OPTION] [FEEDBACK]
Iterate on designs based on feedback:
1. Review design options from Phase 1
2. Provide feedback or request changes
3. Run /ccpm:plan TASK-123 "feedback"
4. CCPM creates refined design options
What happens:
- Analyzes your feedback
- Generates refined design variations
- Adjusts colors, layout, or components
- Updates design cache with new versions
- Shows side-by-side comparisons
Example:
/ccpm:plan PSN-123 1 "Make the buttons larger, use primary color"
🎨 Refining Design Option 1...
Changes applied:
- Button height: 36px → 44px
- Button color: #6366F1 → primary color
- Button spacing: 12px → 16px
Preview: [design-option-1-v2]
Ready for approval? Run: /ccpm:plan PSN-123 1
Phase 3: Approval & Spec Generation
Command: /ccpm:plan ISSUE-ID OPTION-NUMBER
Approve final design and generate implementation specifications:
1. Review refined design options
2. Choose best option
3. Run /ccpm:plan TASK-123 1
4. CCPM generates comprehensive specs
What happens:
- Locks design as final reference
- Extracts component specifications
- Generates implementation specs with:
- Component breakdown
- Props and state recommendations
- Styling specifications
- Accessibility guidelines
- Responsive design rules
- Creates Linear Document with specs
- Updates issue description with spec link
Example:
/ccpm:plan PSN-123 1
✅ Design Approved!
Generated Implementation Specs:
📄 Component Specifications
📄 Styling Guidelines
📄 Responsive Rules
📄 Accessibility Checklist
Specs saved to: https://linear.app/doc/ABC123
Ready for implementation!
Phase 4: Cache Management
Command: /ccpm:figma-refresh ISSUE-ID
Refresh cached design data when designs change:
1. Update Figma designs
2. Run /ccpm:figma-refresh TASK-123
3. CCPM re-extracts design data
4. Cache is updated with latest designs
When to refresh:
- Design significantly changed
- New components added to Figma
- Colors or typography updated
- Design tokens modified
- Last refresh was >1 hour ago (cache TTL)
Design Analysis Deep Dive
What CCPM Extracts From Figma
Component Structure:
Dashboard
├── Header
│ ├── Logo
│ ├── Navigation
│ └── UserMenu
├── Sidebar
│ ├── NavItems
│ └── UserProfile
└── MainContent
├── Cards
└── Charts
Design Tokens:
- Color palette with hex/RGB values
- Typography: font families, sizes, weights
- Spacing: margin, padding, gap values
- Shadows and effects
- Border radius patterns
Component Metadata:
- Frame dimensions (width, height)
- Layout type (flex, grid, auto)
- Constraints and responsive behavior
- Text content and styles
- Image assets and sizing
Component Detection
CCPM automatically identifies:
- UI Components: Buttons, inputs, cards, modals, etc.
- Layout Components: Headers, sidebars, grids, etc.
- Screens/Pages: Full page layouts with multiple components
- Variants: Different states (hover, active, disabled)
- Assets: Icons, images, and design patterns
Example detection:
Frame: "Button / Primary / Large"
├── Detection: UI Component (Button)
├── Style: Primary (blue)
├── Size: Large (44px height)
├── State: Default
└── Variations: [Hover, Active, Disabled]
Implementation Specification Generation
What Gets Generated
When you approve a design, CCPM creates specs including:
1. Component Definition
Component: PrimaryButton
Props:
- label: string (required)
- size: "sm" | "md" | "lg" (default: "md")
- disabled: boolean (default: false)
- onClick: () => void
- icon?: React.ReactNode
State:
- loading: boolean
- hover: boolean
- focus: boolean
2. Visual Specifications
Sizing:
- Small: 32px height
- Medium: 40px height
- Large: 44px height
Spacing:
- Horizontal padding: 16px
- Vertical padding: 8px
Typography:
- Font: Inter
- Weight: 600 (semibold)
- Size: 14px
Colors:
- Background: #6366F1
- Text: #FFFFFF
- Hover: #4F46E5
3. Responsive Rules
Breakpoints:
- Mobile (< 768px): Single column
- Tablet (768px - 1024px): Two columns
- Desktop (> 1024px): Three columns
Mobile adjustments:
- Button height: 40px → 36px
- Padding: 16px → 12px
- Font size: 14px → 12px
4. Accessibility Checklist
WCAG 2.1 AA Compliance:
- [ ] Color contrast ratio ≥ 4.5:1 for text
- [ ] Button hit target ≥ 44x44px
- [ ] Focus indicators visible
- [ ] ARIA labels for icons
- [ ] Keyboard navigation support
Practical Examples
Example 1: Simple Button Component
Start the workflow:
1. Create Linear issue: PSN-100 "Design primary button"
2. Add Figma link to issue description:
https://figma.com/file/ABC123/Components?node-id=15:2
3. Run: /ccpm:plan PSN-100
Design phase output:
✅ Design Analysis Complete
Component: Button / Primary
├── Size: 44px height
├── Color: #6366F1
├── Typography: Inter, 600, 14px
└── States: Default, Hover, Active, Disabled
Generated specs location: [Linear Document]
Ready for implementation.
Developer implements:
export function PrimaryButton({ label, onClick }) {
return (
<button
onClick={onClick}
className="h-11 px-4 bg-indigo-600 text-white font-semibold
rounded hover:bg-indigo-700 focus:outline-none
focus:ring-2 focus:ring-indigo-500"
>
{label}
</button>
);
}
Example 2: Dashboard Page
Complex multi-component design:
1. Create issue: PSN-200 "Design dashboard page"
2. Add Figma file: https://figma.com/file/XYZ789/Dashboard
3. Run: /ccpm:plan PSN-200
Analysis reveals:
✅ Design Analysis Complete
Components detected: 12
├── Header (1)
├── Sidebar (1)
├── Cards (5)
├── Charts (3)
└── Tables (2)
Color palette:
├── Primary: #6366F1
├── Secondary: #EC4899
├── Neutral: #F3F4F6 - #1F2937
└── Success: #10B981
Typography:
├── Display: Space Mono
├── Body: Inter
└── Code: Monaco
Generated breakdown: [Linear Document]
Recommended approach:
1. Build layout shell (Header + Sidebar)
2. Implement card components
3. Add data visualization
4. Connect to API
Design refinement:
/ccpm:plan PSN-200 1 "Increase sidebar width to 280px,
make cards taller"
✅ Refined Design Option 1
Adjustments:
- Sidebar width: 240px → 280px
- Card height: 220px → 280px
- Card padding: 16px → 20px
- Grid gap: 16px → 20px
Side-by-side comparison: [View]
Ready for approval!
Final approval:
/ccpm:plan PSN-200 1
✅ Dashboard Design Approved!
Implementation specs generated:
📄 Layout Specification (Header, Sidebar, Grid)
📄 Card Component Specs (5 variations)
📄 Chart Integration Guide
📄 Responsive Breakpoints
📄 Accessibility Requirements
Linear Document: [docs/specs/dashboard-implementation]
Next: Run /ccpm:work PSN-200
Example 3: Design Iteration Workflow
Scenario: Design changed mid-implementation
Situation:
- Approved design shows 3-column layout
- Designer changes it to 2-column layout
- Specs are now outdated
Solution:
1. Update Figma file with new layout
2. Run: /ccpm:figma-refresh PSN-300
3. Specs automatically update
Cache refresh process:
/ccpm:figma-refresh PSN-300
🔄 Refreshing Figma cache...
Changes detected:
- ✅ Layout changed: 3-column → 2-column
- ✅ Card sizes updated
- ✅ Color palette modified (1 color added)
- ✅ Typography updated
Updated specs: [Linear Document]
Notified: Design changes affect layout components
Action items:
- Review responsive breakpoints
- Update card widths
- Check new color usage
Best Practices
Do's ✅
-
Organize your Figma file
- Use clear, descriptive frame names
- Group related components
- Label variants (e.g., "Button / Primary / Large")
- Document component purpose in descriptions
-
Keep designs up-to-date
- Update Figma as designs change
- Use design tokens consistently
- Document color meanings (primary, success, error)
- Update component descriptions with specs
-
Use descriptive Figma links
- Link to specific components, not entire file
- Use node IDs for precise targeting
- Example:
/file/ABC123?node-id=15:2
-
Attach Figma links to Linear issues
- Always include design link in issue description
- Add to existing issues during pla
Content truncated.
When not to use it
- →Files without Figma URLs
- →Projects using non-Figma design sources
- →Low-fidelity wireframes lacking design tokens
Prerequisites
Limitations
- →Dependent on Figma API access and design file structure
- →Requires organized Figma files for token extraction
How it compares
Directly links design file properties to code generation contexts rather than requiring manual visual inspection.
Compared to similar skills
figma-integration side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| figma-integration (this skill) | 23 | 7mo | No flags | Intermediate |
| implementing-figma-designs | 6 | 4mo | No flags | Beginner |
| design-context | 1 | 7mo | No flags | Intermediate |
| frontend-design-zh | 0 | 5mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
implementing-figma-designs
OneKeyHQ
Implements Figma designs 1:1 using OneKey component library (还原设计稿).
design-context
WellApp-ai
Refresh UI/UX context from design system, Storybook, and codebase
frontend-design-zh
L-LesterYu
使用 React、Tailwind CSS 和 shadcn/ui 创建独特、生产级的静态网站——无需设计稿。从纯文本需求生成大胆、令人难忘的设计,具备反AI套路美学、移动优先响应式模式和单文件打包功能。适用于构建落地页、营销网站、作品集、仪表盘或任何静态Web界面。支持 Vite(纯静态)和 Next.js(Vercel部署)两种工作流。
web-artifacts-builder
anthropics
Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn/ui). Use for complex artifacts requiring state management, routing, or shadcn/ui components - not for simple single-file HTML/JSX artifacts.
radix-ui-design-system
sickn33
Build accessible design systems with Radix UI primitives. Headless component customization, theming strategies, and compound component patterns for production-grade UI libraries.
figma-implement-design
openai
Translate Figma nodes into production-ready code with 1:1 visual fidelity using the Figma MCP workflow (design context, screenshots, assets, and project-convention translation). Trigger when the user provides Figma URLs or node IDs, or asks to implement designs or components that must match Figma specs. Requires a working Figma MCP server connection.