AI Skill Report Card

Generated Skill

B-70ยทFeb 25, 2026ยทSource: Web

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

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-large not blue-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

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'; }

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"

Example 1: Button Component Input: Figma button with variants (primary, secondary), states (default, hover), sizes (sm, md, lg) Output:

TypeScript
export 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:

TypeScript
export interface CardProps { image: string; imageAlt: string; title: string; description: string; ctaText: string; ctaHref: string; }

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 */ }

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
  • 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
  • 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
0
Grade B-AI Skill Framework
Scorecard
Criteria Breakdown
Quick Start
11/15
Workflow
11/15
Examples
15/20
Completeness
15/20
Format
11/15
Conciseness
11/15