AI Skill Report Card
Generated Skill
Quick Start
Set up your Figma file structure for AI-friendly handoffs:
๐จ Design System
โโโ ๐ Tokens (colors, typography, spacing)
โโโ ๐งฉ Base Components (buttons, inputs, cards)
โโโ ๐๏ธ Composite Components (nav, forms, layouts)
โโโ ๐ฑ Templates (page layouts)
๐ Implementation
โโโ ๐ Ready for Code (design-approved)
โโโ โก In Development (being coded)
โโโ โ
Shipped (live components)
Recommendationโพ
Consider adding more specific examples
Workflow
Stage 1: Design Setup
- Create master design file with consistent artboard naming:
ComponentName/VariantName - Establish design tokens in Figma Variables (colors, typography, spacing grid)
- Build components using auto-layout exclusively (no absolute positioning)
- Apply semantic naming:
button-primary-largenotblue-big-btn
Stage 2: AI-Ready Handoff
- Use Figma MCP to extract component specs
- Generate implementation prompts with design tokens included
- Export assets in multiple formats (SVG for icons, optimized images)
- Create component documentation with states and props
Stage 3: Code Generation
- Feed Figma MCP output to Claude Code/Cursor with implementation target
- Generate component code with proper prop interfaces
- Include accessibility attributes and semantic HTML
- Implement responsive breakpoints from design
Stage 4: Quality Gates
- Visual regression testing against Figma designs
- Cross-browser compatibility check
- Accessibility audit (WCAG compliance)
- Performance metrics (bundle size, render time)
Recommendationโพ
Include edge cases
Component Naming Convention
Figma Layer Structure:
ComponentName
โโโ State=Default, Size=Medium, Variant=Primary
โโโ State=Hover, Size=Medium, Variant=Primary
โโโ State=Disabled, Size=Medium, Variant=Primary
Generated Code Mapping:
TypeScript// From: Button/State=Default,Size=Medium,Variant=Primary interface ButtonProps { state?: 'default' | 'hover' | 'disabled'; size?: 'small' | 'medium' | 'large'; variant?: 'primary' | 'secondary' | 'ghost'; }
Design Token Protocol
Figma Variables Setup:
Colors/
โโโ Brand/Primary/500 โ --color-brand-primary
โโโ Semantic/Success/500 โ --color-success
โโโ System/Gray/100 โ --color-gray-100
Typography/
โโโ Heading/Large โ --font-heading-lg
โโโ Body/Medium โ --font-body-md
Spacing/
โโโ 4px โ --space-1
โโโ 8px โ --space-2
โโโ 16px โ --space-4
Sync Command:
Bash# Extract tokens via Figma MCP figma-tokens extract --file-id="abc123" --output="tokens.json" # Transform to CSS custom properties tokens-transform --input="tokens.json" --format="css"
Examples
Example 1: Button Component Input: Figma button with variants (primary, secondary), states (default, hover), sizes (sm, md, lg) Output:
TypeScriptexport interface ButtonProps { variant: 'primary' | 'secondary'; size: 'sm' | 'md' | 'lg'; disabled?: boolean; onClick?: () => void; } export const Button: React.FC<ButtonProps> = ({ variant = 'primary', size = 'md', disabled, onClick, children }) => ( <button className={`btn btn--${variant} btn--${size} ${disabled ? 'btn--disabled' : ''}`} disabled={disabled} onClick={onClick} > {children} </button> );
Example 2: Card Component Input: Figma card with image, title, description, CTA button Output:
TypeScriptexport interface CardProps { image: string; imageAlt: string; title: string; description: string; ctaText: string; ctaHref: string; }
Implementation Standards
Auto-Layout Translation:
- Figma auto-layout direction โ CSS flexbox/grid direction
- Figma spacing โ CSS gap properties
- Figma padding โ CSS padding
- Figma fill container โ CSS width: 100%
Responsive Breakpoints:
CSS/* Mobile First - matches Figma frame widths */ @media (min-width: 768px) { /* Tablet */ } @media (min-width: 1024px) { /* Desktop */ } @media (min-width: 1440px) { /* Large Desktop */ }
Quality Checkpoints
Design Review:
- All components use design system tokens
- Consistent spacing grid (4px/8px base)
- Proper component variants and states
- Accessibility annotations included
Code Review:
- Generated code matches Figma visual output
- Semantic HTML structure
- Proper TypeScript interfaces
- CSS follows BEM or utility-first methodology
Implementation Review:
- Components render identically across browsers
- Responsive behavior matches Figma prototypes
- Loading states and error states included
- Performance budgets met
Best Practices
- Use Figma's component properties for AI-readable variants
- Maintain 1:1 component mapping between Figma and code
- Document component usage patterns in Figma descriptions
- Version control design files alongside code repositories
- Implement design tokens as single source of truth
- Use consistent file naming across Figma, code, and assets
Common Pitfalls
- Don't use absolute positioning in Figma (breaks responsive code generation)
- Don't mix design tokens with hard-coded values in components
- Don't create overly complex component variants (keep under 3 properties)
- Don't skip hover/focus states in Figma (AI needs all states to generate proper code)
- Don't forget to update both design and code when making changes
- Don't rely on Figma's dev mode alone - always validate generated code output