Agent skill

Figma Design to Code

by warpdotdev in warpdotdev/warp

Turns a Figma frame or component into production code that matches the design, using the Figma MCP server and the project's own design system.

AGPL-3.0Auto-check passedFrontend & Design

Install Figma Design to Code

skills CLI
$ npx skills add warpdotdev/warp --skill figma-implement-design -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install warpdotdev/warp figma-implement-design --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/warpdotdev/warp.git skills-src && mkdir -p .claude/skills && cp -r skills-src/resources/bundled/mcp_skills/figma/figma-implement-design .claude/skills/figma-implement-design && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
figma-implement-design
GitHub stars
65k
Used in
4 other repos
Token cost
~2.9k tokens
SKILL.md length
1,400 words
Files
1
Skills in repo
46
Repo updated
First seen
Licence
AGPL-3.0

At a glance

Turns a Figma frame or component into production code that matches the design, using the Figma MCP server and the project's own design system.

  • Works in 7 steps: Get Node ID → Fetch Design Context → Capture Visual Reference → …
  • Building a UI component from a Figma link
  • SKILL.md covers Overview, Skill Boundaries, Prerequisites and Required Workflow, plus 4 more sections
  • Reaches figma.com

What it does

The skill gives the agent a fixed, ordered workflow for implementing a design in your repository with 1:1 visual parity and proper use of design tokens. It needs the Figma MCP server connected and a Figma design URL, from which the file key and the node ID in the `node-id` parameter are extracted. With the local `figma-desktop` MCP you can instead select a node in the Figma desktop app, and the file key is not passed at all. An established design system or component library in the project is preferred.

Boundaries keep it focused on code: creating or editing nodes inside Figma goes to `figma-use`, building a full-page screen in Figma from code goes to `figma-generate-design`, Code Connect mappings alone go to `figma-code-connect-components`, and reusable agent rules go to `figma-create-design-system-rules`. The visible workflow begins with getting the node ID, either by parsing the URL or from the current desktop selection.

When your agent uses it

  • Building a UI component from a Figma link
  • Implementing a frame selected in the Figma desktop app
  • Matching a design to an existing component library and its tokens

Example prompts

  • “Implement the Figma node I have selected in the desktop app as a React component.”
  • “Build the navigation bar from the linked Figma design using our existing component library.”
  • “Generate code for the login screen frame in Figma and keep spacing and colors faithful to the design.”

Requirements

  • The Figma MCP server connected
  • A Figma URL with a node ID, or a node selected in the Figma desktop app

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Get Node ID
  2. Fetch Design Context
  3. Capture Visual Reference
  4. Download Required Assets
  5. Translate to Project Conventions
  6. Achieve 1:1 Visual Parity
  7. Validate Against Figma

What it can do on your machine

Read from SKILL.md and the folder at commit f571865. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • figma.com

    Also links to:

    • developers.figma.com
    • help.figma.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Figma Design to Code loads about 2.9k tokens when it runs. Until then it costs about 92 tokens; SKILL.md has 1,400 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~92
When it runs · the whole SKILL.md, loaded when a task matches
~2.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from warpdotdev/warp at commit f571865, republished under its AGPL-3.0 licence (© warpdotdev). 1,400 words, ~2,914 tokens.

Download SKILL.mdSave it as .claude/skills/figma-implement-design/SKILL.md (or your agent's skills folder).
name
figma-implement-design
description
Translates Figma designs into production-ready application code with 1:1 visual fidelity. Use when implementing UI code from Figma files, when user mentions "implement design", "generate code", "implement component", provides Figma URLs, or asks to build components matching Figma specs. For Figma canvas writes via `use_figma`, use `figma-use`.
disable-model-invocation
false

Implement Design

Overview

This skill provides a structured workflow for translating Figma designs into production-ready code with pixel-perfect accuracy. It ensures consistent integration with the Figma MCP server, proper use of design tokens, and 1:1 visual parity with designs.

Skill Boundaries

  • Use this skill when the deliverable is code in the user's repository.
  • If the user asks to create/edit/delete nodes inside Figma itself, switch to figma-use.
  • If the user asks to build or update a full-page screen in Figma from code or a description, switch to figma-generate-design.
  • If the user asks only for Code Connect mappings, switch to figma-code-connect-components.
  • If the user asks to author reusable agent rules (CLAUDE.md/AGENTS.md), switch to figma-create-design-system-rules.

Prerequisites

  • Figma MCP server must be connected and accessible
  • User must provide a Figma URL in the format: https://figma.com/design/:fileKey/:fileName?node-id=1-2
    • :fileKey is the file key
    • 1-2 is the node ID (the specific component or frame to implement)
  • OR when using figma-desktop MCP: User can select a node directly in the Figma desktop app (no URL required)
  • Project should have an established design system or component library (preferred)

Required Workflow

Follow these steps in order. Do not skip steps.

Step 1: Get Node ID
Option A: Parse from Figma URL

When the user provides a Figma URL, extract the file key and node ID to pass as arguments to MCP tools.

URL format: https://figma.com/design/:fileKey/:fileName?node-id=1-2

Extract:

  • File key: :fileKey (the segment after /design/)
  • Node ID: 1-2 (the value of the node-id query parameter)

Note: When using the local desktop MCP (figma-desktop), fileKey is not passed as a parameter to tool calls. The server automatically uses the currently open file, so only nodeId is needed.

Example:

  • URL: https://figma.com/design/kL9xQn2VwM8pYrTb4ZcHjF/DesignSystem?node-id=42-15
  • File key: kL9xQn2VwM8pYrTb4ZcHjF
  • Node ID: 42-15
Option B: Use Current Selection from Figma Desktop App (figma-desktop MCP only)

When using the figma-desktop MCP and the user has NOT provided a URL, the tools automatically use the currently selected node from the open Figma file in the desktop app.

Note: Selection-based prompting only works with the figma-desktop MCP server. The remote server requires a link to a frame or layer to extract context. The user must have the Figma desktop app open with a node selected.

Step 2: Fetch Design Context

Run get_design_context with the extracted file key and node ID.

get_design_context(fileKey=":fileKey", nodeId="1-2")

This provides the structured data including:

  • Layout properties (Auto Layout, constraints, sizing)
  • Typography specifications
  • Color values and design tokens
  • Component structure and variants
  • Spacing and padding values

If the response is too large or truncated:

  1. Run get_metadata(fileKey=":fileKey", nodeId="1-2") to get the high-level node map
  2. Identify the specific child nodes needed from the metadata
  3. Fetch individual child nodes with get_design_context(fileKey=":fileKey", nodeId=":childNodeId")
Step 3: Capture Visual Reference

Run get_screenshot with the same file key and node ID for a visual reference.

get_screenshot(fileKey=":fileKey", nodeId="1-2")

This screenshot serves as the source of truth for visual validation. Keep it accessible throughout implementation.

Step 4: Download Required Assets

Download any assets (images, icons, SVGs) returned by the Figma MCP server.

IMPORTANT: Follow these asset rules:

  • If the Figma MCP server returns a localhost source for an image or SVG, use that source directly
  • DO NOT import or add new icon packages - all assets should come from the Figma payload
  • DO NOT use or create placeholders if a localhost source is provided
  • Assets are served through the Figma MCP server's built-in assets endpoint
Step 5: Translate to Project Conventions

Translate the Figma output into this project's framework, styles, and conventions.

Key principles:

  • Treat the Figma MCP output (typically React + Tailwind) as a representation of design and behavior, not as final code style
  • Replace Tailwind utility classes with the project's preferred utilities or design system tokens
  • Reuse existing components (buttons, inputs, typography, icon wrappers) instead of duplicating functionality
  • Use the project's color system, typography scale, and spacing tokens consistently
  • Respect existing routing, state management, and data-fetch patterns
Step 6: Achieve 1:1 Visual Parity

Strive for pixel-perfect visual parity with the Figma design.

Guidelines:

  • Prioritize Figma fidelity to match designs exactly
  • Avoid hardcoded values - use design tokens from Figma where available
  • When conflicts arise between design system tokens and Figma specs, prefer design system tokens but adjust spacing or sizes minimally to match visuals
  • Follow WCAG requirements for accessibility
  • Add component documentation as needed
Step 7: Validate Against Figma

Before marking complete, validate the final UI against the Figma screenshot.

Validation checklist:

  • Layout matches (spacing, alignment, sizing)
  • Typography matches (font, size, weight, line height)
  • Colors match exactly
  • Interactive states work as designed (hover, active, disabled)
  • Responsive behavior follows Figma constraints
  • Assets render correctly
  • Accessibility standards met

Implementation Rules

Component Organization
  • Place UI components in the project's designated design system directory
  • Follow the project's component naming conventions
  • Avoid inline styles unless truly necessary for dynamic values
Design System Integration
  • ALWAYS use components from the project's design system when possible
  • Map Figma design tokens to project design tokens
  • When a matching component exists, extend it rather than creating a new one
  • Document any new components added to the design system
Show full SKILL.md (574 more words)Show less
Code Quality
  • Avoid hardcoded values - extract to constants or design tokens
  • Keep components composable and reusable
  • Add TypeScript types for component props
  • Include JSDoc comments for exported components

Examples

Example 1: Implementing a Button Component

User says: "Implement this Figma button component: https://figma.com/design/kL9xQn2VwM8pYrTb4ZcHjF/DesignSystem?node-id=42-15"

Actions:

  1. Parse URL to extract fileKey=kL9xQn2VwM8pYrTb4ZcHjF and nodeId=42-15
  2. Run get_design_context(fileKey="kL9xQn2VwM8pYrTb4ZcHjF", nodeId="42-15")
  3. Run get_screenshot(fileKey="kL9xQn2VwM8pYrTb4ZcHjF", nodeId="42-15") for visual reference
  4. Download any button icons from the assets endpoint
  5. Check if project has existing button component
  6. If yes, extend it with new variant; if no, create new component using project conventions
  7. Map Figma colors to project design tokens (e.g., primary-500, primary-hover)
  8. Validate against screenshot for padding, border radius, typography

Result: Button component matching Figma design, integrated with project design system.

Example 2: Building a Dashboard Layout

User says: "Build this dashboard: https://figma.com/design/pR8mNv5KqXzGwY2JtCfL4D/Dashboard?node-id=10-5"

Actions:

  1. Parse URL to extract fileKey=pR8mNv5KqXzGwY2JtCfL4D and nodeId=10-5
  2. Run get_metadata(fileKey="pR8mNv5KqXzGwY2JtCfL4D", nodeId="10-5") to understand the page structure
  3. Identify main sections from metadata (header, sidebar, content area, cards) and their child node IDs
  4. Run get_design_context(fileKey="pR8mNv5KqXzGwY2JtCfL4D", nodeId=":childNodeId") for each major section
  5. Run get_screenshot(fileKey="pR8mNv5KqXzGwY2JtCfL4D", nodeId="10-5") for the full page
  6. Download all assets (logos, icons, charts)
  7. Build layout using project's layout primitives
  8. Implement each section using existing components where possible
  9. Validate responsive behavior against Figma constraints

Result: Complete dashboard matching Figma design with responsive layout.

Best Practices

Always Start with Context

Never implement based on assumptions. Always fetch get_design_context and get_screenshot first.

Incremental Validation

Validate frequently during implementation, not just at the end. This catches issues early.

Document Deviations

If you must deviate from the Figma design (e.g., for accessibility or technical constraints), document why in code comments.

Reuse Over Recreation

Always check for existing components before creating new ones. Consistency across the codebase is more important than exact Figma replication.

Design System First

When in doubt, prefer the project's design system patterns over literal Figma translation.

Common Issues and Solutions

Issue: Figma output is truncated

Cause: The design is too complex or has too many nested layers to return in a single response. Solution: Use get_metadata to get the node structure, then fetch specific nodes individually with get_design_context.

Issue: Design doesn't match after implementation

Cause: Visual discrepancies between the implemented code and the original Figma design. Solution: Compare side-by-side with the screenshot from Step 3. Check spacing, colors, and typography values in the design context data.

Issue: Assets not loading

Cause: The Figma MCP server's assets endpoint is not accessible or the URLs are being modified. Solution: Verify the Figma MCP server's assets endpoint is accessible. The server serves assets at localhost URLs. Use these directly without modification.

Issue: Design token values differ from Figma

Cause: The project's design system tokens have different values than those specified in the Figma design. Solution: When project tokens differ from Figma values, prefer project tokens for consistency but adjust spacing/sizing to maintain visual fidelity.

Understanding Design Implementation

The Figma implementation workflow establishes a reliable process for translating designs to code:

For designers: Confidence that implementations will match their designs with pixel-perfect accuracy. For developers: A structured approach that eliminates guesswork and reduces back-and-forth revisions. For teams: Consistent, high-quality implementations that maintain design system integrity.

By following this workflow, you ensure that every Figma design is implemented with the same level of care and attention to detail.

Additional Resources

© warpdotdev, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in resources/bundled/mcp_skills/figma/figma-implement-design of warpdotdev/warp.

Open the folder on GitHubat commit f571865

Used in 4 other repositories

We found 4 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 4 other GitHub owners. This page covers the copy in warpdotdev/warp, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Figma Design to Code next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Figma Design to Code compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Figma Design to Code this skillwarpdotdev/warp65k4 repos~2.9kAutomated safety check: PassAGPL-3.0
Build Figmacursor/plugins10k—~961Automated safety check: PassNone
Figma Codegenawdr74100/figwright977—~4.2kAutomated safety check: PassMIT
Figma Design Inspectorasgeirtj/system_prompts_leaks69k—~936Automated safety check: PassCC0-1.0
Omk StitchKaimingWan/oh-my-kiro107—~2.2kAutomated safety check: PassMIT
Website Design Taste Extractorsenlindesign/taste-skill381—~5.3kAutomated safety check: PassNone

Similar skills

  • Build Figma

    cursor/plugins

    Official

    Guides an agent through turning a Figma node into production UI with the repo's own components, then checks the result visually before finishing.

    10k GitHub stars~961 tokensUpdated today
    Frontend & DesignAuto-check passed
  • Figma Codegen

    awdr74100/figwright

    Generate framework-aware code from a Figma design. An agent skill from awdr74100/figwright.

    977 GitHub stars~4.2k tokensUpdated today
    Frontend & DesignAuto-check passed
  • Figma Design Inspector

    asgeirtj/system_prompts_leaks

    Inspects Figma designs through the figma CLI and Figma's MCP server to read variants, spacing, tokens and layouts and to extract assets for implementation.

    69k GitHub stars~936 tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • Omk Stitch

    KaimingWan/oh-my-kiro

    Google Stitch design-to-code workflow with design system management.

    107 GitHub stars~2.2k tokensUpdated 6 mo ago
    Frontend & DesignAuto-check passed
  • Website Design Taste Extractor

    senlindesign/taste-skill

    Reverse-engineers a website's design from its URL into a Markdown and JSON pair holding concrete tokens and the trade-offs behind the look.

    381 GitHub stars~5.3k tokensUpdated 3 mo ago
    Frontend & DesignAuto-check passed
  • AnyDesign

    uxKero/anydesign

    Extracts the design of a screenshot, website URL or Figma file into a design.md of tokens, components, layout and brand rules, or copies one element into element.md.

    215 GitHub stars~1.5k tokensUpdated 22 days ago
    Frontend & DesignAuto-check passed

More from warpdotdev/warp

All 46 skills in this repo
  • Builds or updates a design system in Figma from a codebase in ordered phases: discovery, variables and tokens, components, theming and documentation, with checkpoints.

    65k GitHub starsUsed in 2 repos~4.4k tokens
    Auto-check passed
  • Required groundwork before any use_figma call: the rules and reference files for running JavaScript in a Figma file through the Plugin API without common failures.

    65k GitHub starsUsed in 4 repos~4.4k tokens
    Auto-check passed
  • Warp Factory Files

    warpdotdev/warp

    Authors and edits file-based Warp software factory definitions rooted at factory.yaml, covering agents, automations, scorers and webhooks, and validates them before a pull request.

    65k GitHub starsUsed in 1 repo~2.5k tokens
    Auto-check passed
  • Migrates the compatible subset of settings and global file-based MCP servers from the Warp desktop app into Warp Agent CLI without exposing credentials or state.

    65k GitHub starsUsed in 1 repo~2.1k tokens
    Auto-check passed
  • Creates project-specific design system rules from your codebase so coding agents implement Figma designs with your components, naming and tokens.

    65k GitHub starsUsed in 3 repos~4.6k tokens
    Auto-check passed
  • Maps published Figma components to their code implementations with Code Connect, using the Figma MCP suggestion and mapping tools.

    65k GitHub starsUsed in 2 repos~4.2k tokens
    Auto-check passed

Questions about Figma Design to Code

What does Figma Design to Code do?

Turns a Figma frame or component into production code that matches the design, using the Figma MCP server and the project's own design system. The skill gives the agent a fixed, ordered workflow for implementing a design in your repository with 1:1 visual parity and proper use of design tokens. It needs the Figma MCP server connected and a Figma design URL, from which the file key and the node ID in the `node-id` parameter are extracted.

When should I use Figma Design to Code?

Figma Design to Code fits situations like: building a UI component from a Figma link; implementing a frame selected in the Figma desktop app; matching a design to an existing component library and its tokens.

How do I install Figma Design to Code in Claude Code?

Run `npx skills add warpdotdev/warp --skill figma-implement-design -a claude-code`. Or copy the skill folder (resources/bundled/mcp_skills/figma/figma-implement-design in warpdotdev/warp) into .claude/skills/figma-implement-design in your project. Claude Code loads it when a task matches its description.

How do I install Figma Design to Code in Codex?

Run `npx skills add warpdotdev/warp --skill figma-implement-design -a codex`. Or copy the skill folder (resources/bundled/mcp_skills/figma/figma-implement-design in warpdotdev/warp) into .agents/skills/figma-implement-design in your project. Codex loads it when a task matches its description.

Can I use Figma Design to Code in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add warpdotdev/warp --skill figma-implement-design -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/figma-implement-design, .gemini/skills/figma-implement-design, .github/skills/figma-implement-design and .opencode/skills/figma-implement-design in your project.

What does Figma Design to Code need to run?

SKILL.md names no scripts, command-line tools or credentials: Figma Design to Code is instructions for the agent only. Our summary lists: The Figma MCP server connected; A Figma URL with a node ID, or a node selected in the Figma desktop app.

Does Figma Design to Code access the network?

SKILL.md names 3 domains. In commands or code: figma.com; the agent is likely to contact it when it follows the instructions. As links in the text: developers.figma.com and help.figma.com. This is read from the text; nothing was executed.

Is Figma Design to Code safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Figma Design to Code use?

Figma Design to Code is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Figma Design to Code use?

About 2.9k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Figma Design to Code?

Skills that share tags, products or a category with Figma Design to Code: Build Figma (cursor/plugins, 10k stars), Figma Codegen (awdr74100/figwright, 977 stars), Figma Design Inspector (asgeirtj/system_prompts_leaks, 69k stars) and Omk Stitch (KaimingWan/oh-my-kiro, 107 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Figma Design to Code?

warpdotdev (a GitHub organization) maintains it in warpdotdev/warp, which has 65,380 GitHub stars. The repository holds 46 skills in this directory. The repository was last updated on October 7, 2026.

Source: warpdotdev/warp on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.