CtrlK
BlogDocsLog inGet started
Tessl Logo

figma-design

Figma design-to-code workflows, design token extraction, component inspection, and asset export. Use when translating Figma designs into code, extracting design tokens, or referencing component specs.

73

Quality

90%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Figma Design

Project design system: the frontend-design skill. Docs: https://developers.figma.com/docs/figma-mcp-server/

MCP tools

Figma's own remote server (https://mcp.figma.com/mcp), signed in with OAuth. It works from a link: pass the Figma URL of the frame or layer, including its node-id. It does not see what is selected in the desktop app — that is the desktop server's feature.

ToolUse it for
figma/get_metadataA sparse outline of a large frame — layer IDs, names, positions, sizes. Start here on anything big, then narrow
figma/get_design_contextDesign context for one layer: structure, styles, layout, as a starting point for code
figma/get_variable_defsThe variables and styles a layer uses — colors, spacing, typography — for token mapping
figma/get_screenshotA PNG of the layer, to compare against what you built
figma/search_design_systemComponents, variables and styles in the team's libraries — reuse before rebuilding
figma/get_code_connect_mapWhich code component a Figma component already maps to
figma/download_assetsImage and vector exports

On a large frame, get the outline with get_metadata first, then ask get_design_context for the frames you need.

Workflow

  1. get_metadata on the frame's link; pick the node IDs you need.
  2. get_design_context and get_variable_defs for those nodes. Check get_code_connect_map and search_design_system first — a mapped component is imported, not rebuilt.
  3. Map variables into the token files (src/styles/tokens.css or token JSON). Do not inline raw hex values into components; the returned code is a starting point, not the answer — translate it into the project's components and tokens.
  4. Build the component with a data-testid so the result can be verified programmatically.
  5. Verify with get_screenshot side by side, and compare DOM bounding boxes against the node metrics. Acceptance: spacing within 4px, token colors exact, font family and weight exact.
  6. Outside threshold → fix the token mapping or ask design; re-run from step 2.

Figma → CSS, the non-obvious mappings

FigmaCSS
Hug contentswidth: fit-content
Fill containerflex: 1 (or width: 100%)
Fixedwidth: Npx
Auto Layout gapgap (not margins)
Drop shadowbox-shadow: x y blur spread color

Auto Layout horizontal/vertical is just flex-direction: row/column.

Repository
monkilabs/opencastle
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.