webflow/webflow-mcp:figma-to-webflow
>- 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 "Figma to Webflow", "implement this design in Webflow", a figma.com URL + a Webflow site, "recreate this in my Webflow project".
npx skills add https://github.com/webflow/webflow-skills --skill webflow-mcp:figma-to-webflow
Translate a Figma design into a live Webflow project: real elements, styles,
assets, fonts, and (optionally) custom code + interactions.
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.
Treat these as build gates, not suggestions. If you cannot satisfy one, stop
and explain the tradeoff instead of silently substituting.
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.<style> blocks, ::before / ::after, or other hidden constructs for normal layout/decorative elements.data_style_tool create_style before using it in WHTML/element class lists. Webflow can silently drop class names that do not exist yet.repeating-linear-gradient, not border-style:dashed, unless the user explicitly accepts browser-default dash rhythm.references/navbar.md..webflow.io publish only after build/review, and only proceed on explicit user confirmation.| Surface | Examples | Needs Designer open? |
|---|---|---|
| Data API (headless) | data_whtml_builder, data_element_builder, data_element_tool, data_style_tool, data_fonts_tool, data_pages_tool, data_scripts_tool, data_assets_tool, publish | No |
| Designer Bridge | element_snapshot_tool, designer_tool canvas/selection/navigation, asset_tool upload_image_by_url | Yes — Designer tab open AND foregrounded |
webflow_guide_tool once before other Webflow tools. Confirm auth/site with whoami + get_site.data_* tools for DOM, classes/styles, text, semantic tags, responsive overrides, fonts, scripts, pages, and asset records.query_styles, get_all_elements, and query_elements; reconnect the bridge for snapshots, canvas inspection, and any still-required bridge-gated image processing fallback.status:false or "Unable to connect to Webflow Designer," provide the Designer launch link (opens Designer with the MCP Bridge App) and ask the user to open it and keep that browser tab in the foreground — it idles/disconnects when backgrounded. Retry before assuming anything broke.get_metadata for structure.get_design_context for major frames/sections.get_variable_defs for colors, type, spacing, radii.webflow_guide_tool first.Before creating Webflow variables, classes, or CSS, ask these four questions:
webflow-mcp:flowkit-naming), existing Webflow design-system naming, or clear semantic kebab-case names.px (default), rem, or em. Keep units consistent; only mix when there is a clear reason.If the user does not choose, use the defaults above. For a blank site, recommend creating a new design system from scratch and explain why.
Before creating variables/classes/styles, read CSS rules.
data_style_tool create_style before referencing them in WHTML/element class lists.data_whtml_builder for DOM/structure only: one root section per action, semantic tags, nesting, text, and existing class names.data_style_tool update_style. Repeat: do not use the WHTML css param or embed <style> blocks for normal styling.query_elements, then filter by exact class/type before acting.query_elements / query_styles between visual checks.Before handling images or vectors, read Assets and SVG.
data_assets_tool create_asset for raster assets. Download source bytes locally, compute MD5, POST to presigned S3, then verify nonzero size/variants before placement.set_image_asset; never rely on raw <img src="...">.HtmlEmbed SVGs and set embed code with data_element_tool set_settings.data_fonts_tool; never add Google Fonts <link> tags to head.If the build includes a navbar, read Navbar before building it.
Before responsive/final verification, read Verification.
data_style_tool update_style with breakpoint ids (main, medium, small, tiny). Desktop-first: set base, override downward.data_style_tool (native controls), variables bound with variable_as_value, and only truly non-native CSS (backdrop-filter, aspect-ratio, repeating-linear-gradient, etc.) left as custom properties.<style> blocks or ::before / ::after pseudo-elements used for normal layout/decorative elements.<img src>); 2× source confirmed where crispness matters.repeating-linear-gradient, not border-style:dashed, unless user explicitly approved browser-default dashes.<head> link removed.Take webflow/webflow-mcp:figma-to-webflow from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.