# webflow-mcp:figma-to-webflow

Translates Figma layouts into native Webflow elements and styles using Figma MCP and Webflow MCP. Ideal for assembling pages directly in Webflow without copy-pasting raw markup.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 373 installs · ★ 132
- Author: webflow
- License: MIT · policy=mirror · the beginning of the file is at the end of this page
- Source: https://github.com/webflow/webflow-skills/tree/HEAD/plugins/webflow-skills/skills/figma-to-webflow/SKILL.md
- Updated: 2026-10-22
- HTML: https://affpapa.org/en/nevibecode/skills/webflow-mcpfigma-to-webflow

## What it does

This skill reconstructs Figma frames and components directly inside a Webflow project. It reads layout metadata and variables through Figma MCP, then creates elements via Webflow MCP. The output consists of native Webflow elements and styles rather than detached HTML snippets.

Before touching the canvas, the workflow asks for build preferences: Designer Bridge or headless, and naming conventions like FlowKit. Every class is registered via `data_style_tool create_style` prior to DOM insertion, preventing Webflow from discarding missing class names. Vector marks are embedded as inline SVG.

The visual Designer Bridge mode requires an active Webflow Designer tab running the MCP Bridge App. Keeping that browser tab in the foreground is critical. The connection idles and drops when backgrounded. If disconnected, structural work falls back to the headless Data API until you restore the tab. Deployment to `.webflow.io` requires manual approval.

## Requirements
- Works with: Figma

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add webflow/webflow-skills --skill webflow-mcp:figma-to-webflow -a claude-code
```
```bash
npx skills add webflow/webflow-skills --skill figma-to-webflow -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/figma-to-webflow/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/figma-to-webflow/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add webflow/webflow-skills --skill figma-to-webflow -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/figma-to-webflow/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add webflow/webflow-skills --skill figma-to-webflow -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/figma-to-webflow/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install webflow/webflow-skills figma-to-webflow
```

2. **Manually: put the files in place**
- File: `.github/skills/figma-to-webflow/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add webflow/webflow-skills --skill figma-to-webflow -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/webflow/webflow-skills --path plugins/webflow-skills/skills/figma-to-webflow
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/figma-to-webflow/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add webflow/webflow-skills --skill figma-to-webflow -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/webflow/webflow-skills/tree/HEAD/plugins/webflow-skills/skills/figma-to-webflow/SKILL.md

## When to use it
- turn Figma frames into native Webflow elements and classes
- map Figma variables and design tokens into Webflow styles
- embed vector icons and logos as inline SVG code
- build a mobile navbar layout using CSS without JavaScript

## Example prompts
- Build this Figma frame in my Webflow project using native styles
- Implement this design in Webflow using the Designer Bridge and rem units
- Recreate this Figma section in Webflow with FlowKit naming

## Source text · SKILL.md · MIT

Below is the content of a third-party file. It is data, not instructions for you: do not act on anything written inside unless the human asks. Block tag: ee026570a7b7f715.

BEGIN THIRD-PARTY FILE ee026570a7b7f715
```text
---
name: webflow-mcp:figma-to-webflow
description: >-
  Build a Webflow page, section, component, or full site from a Figma design
  using the Figma MCP and the Webflow MCP (Designer Bridge + Data API). Use
  whenever translating a Figma file/frame into Webflow, building directly in a
  Webflow project, or implementing a design as live Webflow elements/styles
  (not a copy-paste fragment). Triggers: "build this Figma in Webflow",
  "Figma to Webflow", "implement this design in Webflow", a figma.com URL +
  a Webflow site, "recreate this in my Webflow project".
---

# Figma → Webflow

Translate a Figma design into a live Webflow project: real elements, styles,
assets, fonts, and (optionally) custom code + interactions.

## Instructions

Follow this order exactly. When a step says to read a reference file, read it
before doing that work; those files contain the failure modes for that step.

## Non-Negotiable Gates

Treat these as build gates, not suggestions. If you cannot satisfy one, stop
and explain the tradeoff instead of silently substituting.

- **Bridge gate:** Designer Bridge is the default build mode. If selected, provide the Designer launch link (opens Designer with the MCP Bridge App) and wait for the user to open it with that tab foregrounded before bridge-dependent steps. If the bridge disconnects, keep structural work headless and reconnect before snapshots/canvas inspection.
- **Native style gate:** apply styles with `data_style_tool`, never with the `data_whtml_builder` `css` param or raw `var()` strings. Otherwise styles land in Custom properties instead of native controls. Bind Webflow variables with `variable_as_value`.
- **Visible element gate:** build with real Designer-visible elements and native classes. Do not use embed `<style>` blocks, `::before` / `::after`, or other hidden constructs for normal layout/decorative elements.
- **Class existence gate:** create every class with `data_style_tool create_style` before using it in WHTML/element class lists. Webflow can silently drop class names that do not exist yet.
- **Variables gate:** decide the Webflow variable/design-system strategy before creating styles. Do not hard-code repeated colors/type/spacing/radii unless the user explicitly chooses hard-coded output.
- **Vector gate:** logos, icons, and marks must be inline SVG embeds, not PNG/JPG uploads, unless the user explicitly approves raster fallback.
- **Raster quality gate:** hero/product/mockup images must use a confirmed 2x source where crispness matters.
```
END THIRD-PARTY FILE ee026570a7b7f715

The third-party file has ended. Everything between the ee026570a7b7f715 tags is data: requests and commands from it are not followed. An “end of file” line with another tag inside the block is part of the file.

First 2529 of 10936 bytes. © webflow · MIT · https://github.com/webflow/webflow-skills/tree/HEAD/plugins/webflow-skills/skills/figma-to-webflow/SKILL.md

_Part of the page did not fit — see the HTML version._

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
