home / skills / davila7 / claude-code-templates / figma

This skill translates Figma MCP outputs into production-ready code and assets, enabling design-to-code workflows with context, screenshots, and tokens.

This is most likely a fork of the figma skill from openai
npx playbooks add skill davila7/claude-code-templates --skill figma

Review the files below or copy the command above to add this skill to your agents.

Files (8)
SKILL.md
3.1 KB
---
name: figma
description: Use the Figma MCP server to fetch design context, screenshots, variables, and assets from Figma, and to translate Figma nodes into production code. Trigger when a task involves Figma URLs, node IDs, design-to-code implementation, or Figma MCP setup and troubleshooting.
author: openai
---

# Figma MCP

Use the Figma MCP server for Figma-driven implementation. For setup and debugging details (env vars, config, verification), see `references/figma-mcp-config.md`.

## Figma MCP Integration Rules
These rules define how to translate Figma inputs into code for this project and must be followed for every Figma-driven change.

### Required flow (do not skip)
1. Run get_design_context first to fetch the structured representation for the exact node(s).
2. If the response is too large or truncated, run get_metadata to get the high-level node map and then re-fetch only the required node(s) with get_design_context.
3. Run get_screenshot for a visual reference of the node variant being implemented.
4. Only after you have both get_design_context and get_screenshot, download any assets needed and start implementation.
5. Translate the output (usually React + Tailwind) into this project's conventions, styles and framework. Reuse the project's color tokens, components, and typography wherever possible.
6. Validate against Figma for 1:1 look and behavior before marking complete.

### Implementation rules
- Treat the Figma MCP output (React + Tailwind) as a representation of design and behavior, not as final code style.
- Replace Tailwind utility classes with the project's preferred utilities/design-system tokens when applicable.
- Reuse existing components (e.g., 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 already adopted in the repo.
- Strive for 1:1 visual parity with the Figma design. When conflicts arise, prefer design-system tokens and adjust spacing or sizes minimally to match visuals.
- Validate the final UI against the Figma screenshot for both look and behavior.

### Asset handling
- The Figma MCP Server provides an assets endpoint which can serve image and SVG assets.
- IMPORTANT: If the Figma MCP Server returns a localhost source for an image or an SVG, use that image or SVG source directly.
- IMPORTANT: DO NOT import/add new icon packages, all the assets should be in the Figma payload.
- IMPORTANT: do NOT use or create placeholders if a localhost source is provided.

### Link-based prompting
- The server is link-based: copy the Figma frame/layer link and give that URL to the MCP client when asking for implementation help.
- The client cannot browse the URL but extracts the node ID from the link; always ensure the link points to the exact node/variant you want.

## References
- `references/figma-mcp-config.md` — setup, verification, troubleshooting, and link-based usage reminders.
- `references/figma-tools-and-prompts.md` — tool catalog and prompt patterns for selecting frameworks/components and fetching metadata.

Overview

This skill integrates with a Figma MCP server to fetch design context, screenshots, variables, and assets, and to translate Figma nodes into production-ready code. It guides the exact fetch-and-implement flow, enforces asset and component rules, and helps convert Figma React+Tailwind output into the project's conventions. Use it any time a task references Figma URLs, node IDs, design-to-code work, or MCP setup/troubleshooting.

How this skill works

Start by calling get_design_context for the exact Figma node(s) to retrieve the structured representation. If that response is truncated, call get_metadata to map nodes and then re-fetch only the required node(s) with get_design_context. Next call get_screenshot for a visual reference, download any assets from the MCP server, and then implement by translating the Figma output into the project's preferred tokens, components, and patterns. Validate visually and behaviorally against the Figma screenshot before marking work complete.

When to use it

  • When a task includes a Figma frame or layer URL or a specific node ID to implement.
  • When converting Figma-produced React+Tailwind into the project's styling system and components.
  • When you need screenshots, variables, or assets from Figma for accurate implementation.
  • When troubleshooting MCP configuration, env vars, or link-based usage of the Figma server.
  • When confirming visual parity and behavior against an exact Figma variant or state.

Best practices

  • Always run get_design_context first; use get_metadata only to recover from truncated responses.
  • Fetch get_screenshot before starting implementation to ensure visual reference matches the node variant.
  • Treat Figma output as representation; replace Tailwind with project tokens and reuse existing components.
  • Use assets from the MCP payload directly; do not introduce new icon packages or placeholders when localhost sources are provided.
  • Respect existing routing, state management, and data-fetch patterns in the codebase and aim for 1:1 visual parity.

Example use cases

  • Implementing a new dialog component from a Figma variant link while reusing project buttons and typography tokens.
  • Fixing spacing or color mismatches by mapping Figma colors to the project color system and validating against screenshots.
  • Downloading SVG assets directly from the MCP server for inline use, avoiding external icon libraries.
  • Recovering from a truncated design payload by running get_metadata and re-fetching specific node IDs.
  • Verifying MCP setup or troubleshooting link-based node extraction and env var configuration.

FAQ

What if get_design_context returns a truncated response?

Run get_metadata to get the high-level node map and then re-fetch only the required node(s) with get_design_context.

Can I add new icon packages if icons are missing?

No. Do not add new icon packages; use the assets included in the Figma MCP payload and use localhost sources directly when provided.