Filed under Design · Intelligence Apache-2.0 · Made on Earth
Agent · Cursor

Cursor for designers.

Cursor is the AI code editor, now with a visual Design Mode. Designers use it to edit UI by pointing and drawing, and to turn Figma into code. Open Design plugs Cursor Agent into an open-source design workflow that keeps your files local.

Cursor design convergence: editor on the left, a curated skill and design-system hub in the middle with the Cursor mark at center, and a rendered UI on the right

Open Design turns Cursor into a local-first, open-source design agent — your Cursor account or model keys, your files, a curated skill and design-system library around it.

Cursor is the AI-first code editor that made “build it and watch it render” the default way to ship UI. With Agent mode, inline edits, an in-editor preview, and Figma over MCP, it has become a genuine design tool — once you give it the right references, rules, and a verification loop. This is a practical, end-to-end guide to using Cursor for UI, frontend, and design-system work, and to wiring it into a structured design workflow with Open Design.

It covers what Cursor actually is, why its tight iterate-and-watch loop is good for design, how to set it up from zero, the screenshot-and-preview-to-UI loop, the Figma round-trip over MCP, how it compares to Codex and Claude Code, the pitfalls that make AI output look generic, and how Open Design closes the gap as an open, local-first design layer.

What Cursor actually is

Cursor is an AI-first code editor built by Anysphere. It is a fork of VS Code, so it keeps the familiar editor, extensions, and keybindings, but rebuilds the workflow around an AI agent that can read your whole project, edit multiple files, run commands, and iterate with you in the loop.

For design work the important surfaces are Agent mode (you describe an outcome and Cursor plans and edits across files), inline edits and Tab completions for fast tweaks, an in-editor preview / browser so you can see the running UI without leaving the window, and MCP support that lets it pull in external context like a live Figma file.

  • Project rules: Cursor reads project instruction files — versioned `.mdc` rules under `.cursor/rules`, and a plain `AGENTS.md` — so you can encode your design conventions where the agent reads them every run.
  • Models: Cursor is model-flexible: it ships with frontier models through your subscription and also supports bringing your own model keys, so you choose the engine behind the same editor workflow.
  • MCP: It speaks the Model Context Protocol, so external servers — most relevantly the Figma MCP server — become first-class context for the agent.
  • Vendor: Anysphere
  • Credential: Cursor account / subscription (Hobby / Pro / Business) or your own model keys (BYOK)
  • Form: AI-first code editor (VS Code fork) with an in-editor agent and preview

Why Cursor is good at design

Cursor’s design edge is not a single feature — it is the tightness of the build-and-see loop. Three things make it feel like a design tool rather than a generic code generator.

  • A tight iterate-and-watch loop: You prompt, Cursor edits across files, and the in-editor preview renders the result immediately — so you adjust spacing, hierarchy, and motion in seconds instead of round-tripping through a separate terminal and browser.
  • Direct visual editing: Beyond chat, Cursor lets you select elements in the preview and nudge styles, so small visual corrections feel like design edits rather than code archaeology.
  • Project rules and MCP context: With `.cursor/rules` (or `AGENTS.md`) and the Figma MCP server, the agent works against your tokens, components, and real design specs instead of guessing.
Diagram showing design system, skill, and reference image converging into good design output
Taste comes from three inputs you provide: a design system, a skill, and real reference images.

The lesson is the same one every agent teaches: Cursor does not have taste by default. It produces good design when you give it constraints — a design system, an aesthetic skill, and concrete references. Open Design packages exactly those inputs, which is why the two fit together (more below).

Set up Cursor for design work, from zero

Here is the full path from a clean machine to a Cursor that can build, preview, and verify UI against your design system.

  1. Install Cursor from cursor.com and sign in with your Cursor account, or configure your own model keys (BYOK) in Settings.
  2. Open your project and pick a model in the chat / Agent panel.
  3. Add project rules: create `.cursor/rules/*.mdc` for structured, glob-scoped conventions, or a plain `AGENTS.md` for simple, readable instructions.
  4. Connect the Figma MCP server (optional) so the agent can read live design context.
  5. Run your dev server and use the in-editor preview to see and verify the UI as you iterate.
Five-step setup flow: install, authenticate, configure rules, add skill, verify
The setup sequence: install → authenticate → configure project rules → add a skill → enable preview verification.

A minimal project-rules file makes the agent design to a brand instead of defaulting to a generic look. Put it where Cursor reads it every run:

# .cursor/rules/design.mdc
---
description: Project design conventions
alwaysApply: true
---

- Reuse existing design-system tokens and components; never hardcode hex or spacing.
- At most two typefaces and one accent color.
- Brand-first hierarchy; restrained motion. No hero cards, no oversized rounded corners.
- Build responsive by default; verify desktop and mobile in the preview before finishing.
  • Encode your design rules: Put your tokens, primitives, and conventions in `.cursor/rules` or `AGENTS.md` and point Cursor at them, so output matches a brand instead of defaulting to a generic look.
  • Keep prompts small: Cursor’s tight loop rewards focused asks — iterate one component or state at a time and watch the preview between passes.

The preview-to-UI workflow

The highest-leverage design loop with Cursor is turning a reference into working, responsive UI and iterating in the editor until it matches — watching the live preview the whole time instead of guessing.

  1. Start from the clearest visual references you have — and include multiple states (desktop and mobile, hover, empty, loading), not just one hero shot.
  2. Be specific in the prompt; vague prompts produce generic UI.
  3. Prepare a design system and tell Cursor where the tokens and canonical primitives live.
  4. Keep the in-editor preview open and your dev server running so each edit renders immediately at the breakpoints you care about.
  5. Iterate by comparing the rendered UI back to the references — and use direct element selection in the preview for small visual corrections.

Feed references by attaching an image to the chat, then prompt with concrete constraints:

Implement this design in React + Vite + Tailwind + TypeScript.
Reuse my existing design-system components and tokens.
Match spacing, layout, and hierarchy; make it responsive.
Keep the preview open — verify desktop and mobile match the
references and iterate until they do.

Commit good iterations and revert bad ones (telling Cursor when you revert) so each pass builds on a clean base — the same discipline that keeps any agent loop from drifting.

Cursor + Figma: design ↔ code over MCP

Cursor connects to Figma through the official Figma MCP server, which gives the agent structured access to a live Figma file instead of a flat screenshot. That removes the guesswork from handoff.

  • Design → Code: Copy a frame’s link in Figma, paste it into Cursor, and ask it to implement the design. The MCP server exposes real design context — components, variables, layout data, tokens — so the generated code matches the source instead of approximating it.
  • Stay aligned: With design tokens, styles, and components used consistently in Figma (and Code Connect where available), Cursor’s output stays mapped to your real design system rather than re-inventing primitives.

Set the remote Figma MCP server up once and it is available to Cursor as first-class context. Because MCP is an open standard, the same server is reusable across Cursor, Claude Code, Codex, and VS Code — exactly the kind of portable, multi-agent capability Open Design is built to orchestrate.

Cursor vs Codex vs Claude Code for design

There is no single winner for design work — each agent has a different strength, and experienced teams stack them. A fair summary:

AgentDesign strengthBest for
CursorVisual build-and-see loop with live in-editor preview and direct element editingTight iterate-and-watch UI work inside an IDE
CodexStrong visual polish with a frontend skill; image understanding and sandboxed runsDelegated async builds and portable AGENTS.md rules
Claude CodeSpecific design decisions (hex, spacing, type) and codebase-aware UXFrontend reasoning and large-context refactors

The recurring community verdict is that taste comes from humans: all three default to a generic aesthetic without skills, references, and constraints. That is the real problem to solve — and it is design-tool-shaped, not model-shaped.

Pitfalls, and how to avoid the “AI slop” look

The most common complaint about Cursor-generated design is that it looks generic — soft gradients, floating panels, oversized rounded corners, dramatic shadows, an Inter-and-purple vibe that “screams an AI made this.” Other reported issues include layouts that break on mobile and instructions leaking into UI copy.

  • Add a design skill: A curated aesthetic skill forces Cursor to commit to a real direction instead of the default look.
  • Use the preview to verify: Render and self-check across breakpoints in the in-editor preview so layouts do not silently break on mobile.
  • Supply tokens and references: Real design tokens and reference screenshots are the single biggest lever on output quality.
  • Encode rules in `.cursor/rules`: Put “no hero cards, max two typefaces, brand-first hierarchy” style rules where the agent reads them every run.

Notice that every mitigation is about giving the agent a curated design context. Maintaining that context by hand, per project, is the toil Open Design removes.

Designing with Cursor inside Open Design

Open Design is the open-source design layer the workflow above keeps asking for. It treats Cursor as a first-party adapter and wraps it in a curated skill and design-system library, a structured render pipeline, and a local desktop UI — so the design context that makes Cursor good is there from the first run, not assembled by hand each time.

  1. Install Open Design and select Cursor as your agent.
  2. Authenticate with your Cursor account or your own model keys (BYOK) — credentials stay on your machine and are never proxied through us.
  3. Pick a design system and a skill, then generate decks, prototypes, and landing pages with consistent taste.
  4. Every artifact and DESIGN.md file lives in your own repo, not a hosted cloud.

Same Cursor agent, same key — plus a real, portable, open-source design workflow around it. It is local-first and Apache-2.0, so nothing about your work or your credentials leaves your machine.

Frequently asked questions

  1. 01 Can Cursor really do design work?

    Yes — with a design skill, a design system, and real reference images in context, Cursor produces production-quality, responsive UI, and its in-editor preview lets you verify and refine it visually. Without that context it tends to default to a generic look, which is the gap Open Design fills.

  2. 02 Is this an official Cursor product?

    No. Open Design is an independent open-source project that integrates Cursor as an agent. It complements Cursor with a local-first, open skill and design-system library.

  3. 03 Do I need a Cursor subscription to design with Cursor?

    You can use a Cursor account / subscription or bring your own model keys (BYOK). Open Design never proxies your credentials either way — they are used directly by your agent.

  4. 04 Cursor or Claude Code for frontend design?

    Both are strong. Claude Code is known for specific, codebase-aware design decisions; Cursor’s edge is its tight build-and-see loop with a live preview inside the editor. Many teams use both — Open Design lets you switch agents without changing your design workflow.

  5. 05 How do I connect Cursor to Figma?

    Add the official Figma MCP server in Cursor, then paste a Figma frame link into the chat and ask Cursor to implement it. The server exposes real components, variables, and layout data so the generated code matches the source design.

  6. 06 How do I avoid the generic “AI slop” aesthetic?

    Add a design skill, supply real design tokens and reference screenshots, encode brand rules in `.cursor/rules` or `AGENTS.md`, and verify across breakpoints in the preview. Open Design ships these as a curated library so you skip the per-project setup.

  7. 07 Is Open Design affiliated with Cursor or Anysphere?

    No. Cursor is a product of Anysphere; Open Design is an independent open-source project that supports it as a first-party adapter. Cursor and Anysphere are trademarks of Anysphere, Inc.

  8. 08 Are my files and credentials safe?

    Yes — Open Design is local-first. Your files, artifacts, and DESIGN.md stay in your own repo, and your Cursor or model credentials are used directly by your agent, never routed through Open Design servers.

Design with Cursor, the open way.

Bring your own Cursor account or model keys, keep every file local, and get a curated design library around the agent you already use.

● Apache-2.0 Local-first · BYOK See all supported agents