Guide
Cursor + Figma Workflow: Design System In, Components Out
Install Figma's plugin from the Cursor Marketplace and paste a Figma file link into your prompt. Its MCP server pulls your tokens, type and variables into your code. Edit the running app with Design Mode in the Agents Window browser. Then select a finished component and ask Cursor to publish it back to Figma as layered design.

On this page
- What is the Cursor + Figma round trip?
- What is the Figma plugin in Cursor's marketplace?
- How do you read a Figma design system into a prototype?
- How do you stop Cursor from drifting off the design system?
- How do you build and edit a prototype against the design system?
- Can the agent test the prototype in the browser?
- How do you publish a component back to Figma?
- How does handoff work once a component is back in Figma?
- How do designers version prototypes without Git commands?
What is the Cursor + Figma round trip?
It is a two-way loop between Figma and Cursor. Inbound, you paste a Figma file link into a prompt. The Figma MCPModel Context Protocol. A standard that lets an AI agent pull in context from outside the repo, like Jira tickets or internal docs. Press Enter for the full definition. reads the design system (tokens, typography, colors and variable definitions) and applies it to the code you are building. Outbound, you select a component you built in Cursor and publish it back to Figma as proper, layered design. Figma stays the source of truth, and Cursor is the fast place to prototype against it.
I'm able to get context from Figma into Cursor, and then I'm able to get anything that I prototype or I build in Cursor back to Figma. And so, it's this beautiful dance.
Interactive diagram. Step through it with the Next and Previous controls below, or Tab to a region to read its detail.
Inbound: a Figma link feeds tokens and type into live code. Outbound: a built component publishes back as layered Figma design.
This is covered hands-on in Cursor First Hour — 4 short Units, free to read.
Rather do it than read about it? Run 11 interactive Cursor walkthroughs in a simulated editor. Free, no account needed.
What is the Figma plugin in Cursor's marketplace?
It is Figma's own pluginA Cursor marketplace package that bundles MCP servers and skills (sometimes sub-agents and hooks); one click installs all of it into your Cursor instance. Press Enter for the full definition. for Cursor. Its Cursor Marketplace listing says it was created by Figma and verified by Cursor, and describes it as a way to turn designs into code and push UI back to Figma. Install it from the marketplace, or search for Figma in the marketplace panel inside Cursor. A Cursor field engineer said in the workshop that the Figma team approached Cursor and built the skills for people who use Figma inside Cursor.
The field engineer's mental model: a Cursor pluginA Cursor marketplace package that bundles MCP servers and skills (sometimes sub-agents and hooks); one click installs all of it into your Cursor instance. Press Enter for the full definition. is MCPModel Context Protocol. A standard that lets an AI agent pull in context from outside the repo, like Jira tickets or internal docs. Press Enter for the full definition. servers and skills packaged together and published on the platform. Some plugins also bundle subagents and hooks, but for the most part a plugin is MCPs plus skills. The Figma plugin fits that model: one MCP server that reads your files, and skills built around design work.
Three of the pluginA Cursor marketplace package that bundles MCP servers and skills (sometimes sub-agents and hooks); one click installs all of it into your Cursor instance. Press Enter for the full definition.'s skills map onto the round trip. figma-design-to-code turns a Figma design into code. figma-generate-design builds or updates a page or view in Figma from your code. figma-generate-library builds or updates a design system in Figma from a codebase, including variables, component libraries, theming and documented foundations.
How do you read a Figma design system into a prototype?
Paste the Figma file link into your prompt and tell Cursor what to do with it.
In the workshop the prompt was roughly: "use the design system at this link to inform the design of my dashboard, make any relevant color and typography changes." The Figma MCPModel Context Protocol. A standard that lets an AI agent pull in context from outside the repo, like Jira tickets or internal docs. Press Enter for the full definition. then reads the tokens, typography, colors and variable definitions, takes screenshots of the file and applies all of that to your live code.
- 1Open your design system in Figma and copy the file URL.
- 2Paste it into the prompt, and ask Cursor to use the design system at that link and make the color and typography changes it implies.
- 3Let the Figma MCPModel Context Protocol. A standard that lets an AI agent pull in context from outside the repo, like Jira tickets or internal docs. Press Enter for the full definition. read the tokens, type, colors and variables. It also takes screenshots of the file for visual context.
- 4Open the running app with @browserA prompt invocation that runs your built app in a browser pane inside Cursor; the agent can then take control of it to click, scroll and test the UI itself. Press Enter for the full definition. and compare the rendered result with the source design.
Cursor has web access, so a design source can also be a live site or a brand-guidelines page. Paste the URL, and Cursor visits it, reads its visual structure and typography, and applies those tokens to your prototype. You can also drag in a brand-guidelines PDF. Figma is the most detailed source, because the MCPModel Context Protocol. A standard that lets an AI agent pull in context from outside the repo, like Jira tickets or internal docs. Press Enter for the full definition. reads structured variables.
How do you stop Cursor from drifting off the design system?
Use a stronger model and give the agent persistent context. When output in the workshop drifted from the Figma file, with wrong spacing or invented icons, the field engineer's first fix was a more capable model. In that engineer's experience, stronger models stick closer to an exact spec. The suggested split was ComposerCursor's own fast coding model, tuned for the editor and priced well below frontier models; the recommended day-to-day model for executing a plan. Press Enter for the full definition. for fast iteration and a model such as GPT-5.x when fidelity to the file matters most. GPT-5.x needs a plan that includes third-party models.
The durable fix is a skill. A skill is a SKILL.md Markdown file, in a folder of its own, that tells the agent how to do a task. It can reference other files. The workshop noted that Cursor supports a design.md file, but advised wrapping that file in a skill so the agent sees and uses it.
A design skill can say: on every change, check the Figma design system referenced here and adhere to it. After any design change, open the browser and test the result.
When Cursor remakes your icons, kerning or padding instead of using yours, it is missing context. Give it your icons, spacing and type as a skill or a linked Figma file, so it follows your system instead of inventing its own.
How do you build and edit a prototype against the design system?
Build in the Agents WindowCursor's surface listing your agent runs; open a run to read its diff and search transcripts from the command palette. Press Enter for the full definition., with your app running in its built-in browser. Mention @browserA prompt invocation that runs your built app in a browser pane inside Cursor; the agent can then take control of it to click, scroll and test the UI itself. Press Enter for the full definition. in a prompt and ask the agent to open the app, and it runs in a pane inside the window.
Design ModeA way to point at an element in Cursor's built-in browser and change it directly, instead of describing it in words. Press Enter for the full definition. lives in that browser. Click Annotate in the browser toolbar to turn it on. Older versions show a pen icon labeled Design Mode instead.
Click any element to select it and open a note. Describe the change in plain language, such as "make this font three times bigger" or "use muted chart colors." The note sends the agent your text, the element's details (tag, classes, selector, size and key computed styles) and a cropped screenshot. Click Send note, and if your dev server hot reloads, the change appears in the running app when the agent finishes.
To change several elements together, hold Shift and click them into the same note. To collect a round of notes first, turn on Batch edits, and one Send delivers them all as a single message. Cursor finds the code behind each element, so you don't hunt for the div and edit the CSS by hand.
- Move
- @browserA prompt invocation that runs your built app in a browser pane inside Cursor; the agent can then take control of it to click, scroll and test the UI itself. Press Enter for the full definition. in a prompt
- What it does
- Has the agent open your app in a browser pane inside the Agents WindowCursor's surface listing your agent runs; open a run to read its diff and search transcripts from the command palette. Press Enter for the full definition.
- Move
- Annotate, then click an element
- What it does
- Opens a note; the agent gets the element's details and a cropped screenshot
- Move
- Shift-click more elements
- What it does
- Adds them to the same note, for changes that depend on how elements relate
- Move
- Batch edits switch
- What it does
- Holds notes as numbered pins until one Send delivers them as a single message
| Move | What it does |
|---|---|
| @browserA prompt invocation that runs your built app in a browser pane inside Cursor; the agent can then take control of it to click, scroll and test the UI itself. Press Enter for the full definition. in a prompt | Has the agent open your app in a browser pane inside the Agents WindowCursor's surface listing your agent runs; open a run to read its diff and search transcripts from the command palette. Press Enter for the full definition. |
| Annotate, then click an element | Opens a note; the agent gets the element's details and a cropped screenshot |
| Shift-click more elements | Adds them to the same note, for changes that depend on how elements relate |
| Batch edits switch | Holds notes as numbered pins until one Send delivers them as a single message |
The in-browser editing loop: see the rendered UI, click what you want to change, describe the change.
Composer 2.5The current Composer release, better at long-running tasks and at judging when a job needs a light touch versus deep work. Press Enter for the full definition., Cursor's own model, comes in a standard and a Fast variant, and Cursor's Design ModeA way to point at an element in Cursor's built-in browser and change it directly, instead of describing it in words. Press Enter for the full definition. docs recommend it for this flow. In the workshop, the field engineer kept ComposerCursor's own fast coding model, tuned for the editor and priced well below frontier models; the recommended day-to-day model for executing a plan. Press Enter for the full definition. for execution and planned with a more capable model. Cursor's own designers also reached for Gemini and GPT-5.x on design work. Those are third-party models, which the Free and Plus plans don't include. Auto can also pick the model per task on plans that include it, and Plus doesn't.
Can the agent test the prototype in the browser?
Yes, the agent can drive the same browser pane it renders into. Ask it to take control and test an interaction, such as "make sure the category slider works." Cursor then scrolls, clicks and moves the slider to verify the behavior. By default, each browser action waits for your approval. The field engineer said this in-browser agent QA is how a lot of people at Cursor check their own work.
In the workshop, Cursor couldn't review a screen recording because the file was too large to parse. Cursor's release notes now describe a video review subagent that reviews a video attached to the chat. If your setup can't take the recording, write reproduction steps instead, and Cursor can reproduce the behavior in your app on its own.
How do you publish a component back to Figma?
Get the rendered component into the chat, then ask Cursor to publish it to Figma. In Design ModeA way to point at an element in Cursor's built-in browser and change it directly, instead of describing it in words. Press Enter for the full definition., click the component to open its note, and press ⌘L to put the note in the chat input.
Paste the target Figma file link with your request so Cursor knows where to put it. If you leave the link out, it will usually ask.
The workshop's component came back in Figma with the same colors, fonts, width and size, split into proper layers. Components published back from Cursor showed up in purple, and even fairly complex pieces came across with their layers intact.
Interactive diagram. Step through it with the Next and Previous controls below, or Tab to a region to read its detail.
Select, add to chat, publish with the target link. The component lands in Figma as layered design your team can work on.
Push it back because a Figma file is easy to share and work on together. You can prototype freely in Cursor, then hand colleagues a real Figma artifact for feedback. They see exactly which colors and fonts you used, and they can build on it.
How does handoff work once a component is back in Figma?
Treat the Figma file as the spec. According to the workshop, designers at Cursor keep brand colors and typography in Figma and prototype freely in Cursor with those design systems as guidelines. Anything that needs collaboration goes back to Figma, where engineers pick it up and build from the file. Designers and PMs align earlier, in a shared plan or PRDProduct Requirements Document. The spec describing what to build, for whom and why, before implementation starts. Increasingly the artifact you hand an AI agent as the source of truth for a feature. Press Enter for the full definition., and a plan written in Cursor can serve as that paper trail.
At the time of the workshop, there was no built-in way to send a live Cursor-built prototype to a client who doesn't use Cursor. The field engineer named two workarounds. Deploy the prototype to a host like Vercel or GitHub Pages and share the link, or publish the component back to Figma and let the Figma file be the shareable artifact. Better sharing was described as "coming soon."
How do designers version prototypes without Git commands?
Ask in plain English. The workshop recommended Git for versioning prototypes, and you don't need to learn any commands, because the agent runs them for you. For example, say "save this version of my codebase," or "push what I have to a branch so I can get back to it later." If you are used to Figma's built-in version history, Git does the same job for the part of your work that now lives in code.
Frequently asked questions
Who publishes the Figma plugin for Cursor?
Figma. The plugin's Cursor Marketplace listing says it was created by Figma, and a Cursor field engineer said the Figma team approached Cursor to build it. The plugin bundles the Figma MCP server with skills such as figma-design-to-code, figma-generate-design and figma-generate-library.
What does the Figma MCP read from a file?
When you paste a Figma file link, the Figma MCP reads the design system's tokens, typography, colors and variable definitions, and takes screenshots of the file for visual context. Cursor then applies that to the live code you are building.
How do I publish a component from Cursor back to Figma?
In Design Mode in the Agents Window browser, click the component, press ⌘L to put its note in the chat input, and ask Cursor to publish it to Figma with the target file link. In the workshop, the component arrived with the same colors, fonts and layers, and published layers showed in purple.
Which model is best for design work in Cursor?
Cursor's Design Mode docs recommend Composer 2.5 for quick interface work. In the workshop, Cursor's own designers also reached for Gemini and GPT-5.x, and a stronger model held closer to an exact Figma spec. Those are third-party models, which the Free and Plus plans don't include.
Why does Cursor sometimes drift from my Figma design system?
Usually it is missing context. Give it your icons, spacing and type in a skill or a linked Figma file, and add a design skill that checks the Figma file on every change and tests the result in the browser. If drift continues, move up to a more capable model.
Can I share a Cursor prototype with someone who doesn't use Cursor?
At the time of the workshop there was no built-in way, and better sharing was described as coming soon. The workarounds were to deploy the prototype to a host like Vercel or GitHub Pages and share the link, or to publish the component back to Figma and share the Figma file.
Sources & last verified
- Cursor: Figma plugin and marketplace
- Cursor: MCP
- Cursor Marketplace: Figma plugin
- Cursor: Design Mode docs
- Cursor: release notes
- Cursor: Browser tool docs
Cursor ships frequently. Last updated October 28, 2026.