Figma mastery and design-to-code workflows. Auto Layout, component architecture, variable modes, Dev Mode, Figma MCP integration, Code Connect, design token pipelines, visual regression testing, and AI-assisted design-to-code flywheel.
From ux-ui-masterynpx claudepluginhub phazurlabs/ux-ui-mastery --plugin ux-ui-masteryThis skill uses the workspace's default tool permissions.
references/design-to-code-pipeline.mdreferences/figma-mastery-workflows.mdreferences/figma-mcp-ai-flywheel.mdDesigns and optimizes AI agent action spaces, tool definitions, observation formats, error recovery, and context for higher task completion rates.
Enables AI agents to execute x402 payments with per-task budgets, spending controls, and non-custodial wallets via MCP tools. Use when agents pay for APIs, services, or other agents.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
Figma is not a drawing tool. It is the single source of truth for design intent, component architecture, token definitions, interaction specifications, and handoff documentation. When used properly, a Figma file becomes a living specification that machines can read, humans can interpret, and CI/CD pipelines can validate against.
The shift in thinking is fundamental: every layer name, every component property, every variable definition in Figma is data. That data flows downstream into code generation, token pipelines, accessibility audits, and visual regression testing. A sloppy Figma file produces sloppy code. A well-architected Figma file produces components that are correct on the first pass.
This skill covers the full Figma workflow from component architecture through AI-assisted code generation and automated validation.
Figma components support four property types that map directly to code component APIs:
showIcon boolean maps to a React showIcon?: boolean prop. The icon layer is present or absent based on this toggle, which means the generated code conditionally renders the icon.label text property maps to a children: string or label: string prop. The designer controls the default, the developer overrides at the call site.icon instance swap maps to an icon?: ReactNode prop. The slot accepts any icon component from the icon library, and the generated code renders the passed component.Use variants when a component has visually distinct states that change multiple properties simultaneously. A Button component might have variants across two axes: variant (primary, secondary, ghost, danger) and size (small, medium, large). Each combination is a distinct visual design within the same component set.
Use component properties (booleans, text, instance swaps) when a single property toggles independently. Whether a button shows an icon is independent of its variant and size. Making this a boolean property rather than doubling the variant count keeps the component manageable.
Use separate components when two patterns share no structural DNA. A Button and a Card are separate components, not variants of each other.
Production-grade Figma components use nested sub-components to create composition points. A Card component contains a CardHeader sub-component, a CardBody sub-component, and a CardFooter sub-component. Each sub-component is a separate Figma component that the Card references via instance swap slots. This mirrors the compound component pattern in React (<Card><Card.Header /><Card.Body /><Card.Footer /></Card>).
Follow a Category/Type/State naming hierarchy:
Button/Primary/DefaultButton/Primary/HoverButton/Secondary/DisabledInput/Text/DefaultInput/Text/ErrorCard/Elevated/DefaultThis naming convention creates automatic grouping in the Figma assets panel and maps cleanly to code organization: the Button directory contains Primary and Secondary variant files, each handling their own states.
Figma variables replace static styles with dynamic, mode-switchable tokens. Variables organize into collections with multiple modes.
Structure variable collections in three tiers:
blue-500: #3b82f6, spacing-4: 16, radius-md: 8. A single mode; these values never change.color-bg-primary resolves to white in light mode and neutral-900 in dark mode. color-text-primary resolves to neutral-900 in light mode and neutral-50 in dark mode.button-primary-bg references color-action-primary, which references blue-500 in the primitive layer. Modes here handle density (compact/default/comfortable) or brand switching (brand-a/brand-b).Variable modes enable designers to preview every combination without duplicating frames. A single button component, bound to semantic variables, previews as light primary, dark primary, high-contrast primary, light compact, dark comfortable, and every other permutation — all by switching the mode on the enclosing frame.
This is the design equivalent of CSS custom property theming. The structure must match: Figma variable names should correspond directly to CSS custom property names or token identifiers in the codebase.
Auto Layout is the mechanism that makes Figma components developer-friendly. A component without Auto Layout is a static drawing. A component with proper Auto Layout is a responsive specification that communicates padding, spacing, alignment, and resize behavior to developers.
Key principles:
flex: 1 behavior.width: auto behavior.position: absolute within a position: relative container.Figma Dev Mode is the bridge between design and development. When a developer inspects a component in Dev Mode, they see:
Dev Mode effectiveness depends entirely on how well the designer structured the component. Proper naming, variable binding, and Auto Layout produce clean Dev Mode output. Poor structure produces noise.
The Figma Model Context Protocol (MCP) server allows AI assistants like Claude to read Figma design files programmatically. This is the single most impactful development in design-to-code workflow since component libraries.
With Figma MCP, Claude can:
This means a designer can build a component in Figma, and Claude can read that component's specification, generate production-quality code (React, SwiftUI, CSS), and produce accompanying tests — all without a human translating the design spec into a ticket.
The flywheel operates in six steps:
Each cycle gets faster. The first pass through the flywheel for a new component might save 50% of development time compared to manual implementation. Subsequent iterations on existing components save 70-80% because the structure, tests, and stories already exist and only need updating.
component-patterns-code for React, SwiftUI, and CSS component architecture, compound components, render props, and polymorphic patterns that Figma MCP-generated code should follow.design-systems-architecture for token hierarchy (primitive, semantic, component), versioning strategy, contribution models, and change management processes that govern the Figma library.ui-visual-design-system for color theory, typography scale, spacing system, and elevation definitions that underpin Figma variable collections.accessibility-inclusive-design for Figma accessibility plugins (Stark, A11y Annotation Kit), color contrast checking, focus order annotation, and screen reader text specification within design files.interaction-motion-design for Figma prototyping best practices, smart animate specifications, and motion token definitions that map to CSS transitions and animations.