Flat 30% off for Singapore 🇸🇬
← All posts

Design Systems AI Agents Can Build With (2026 Guide)

The five layers that let Claude Code, Cursor and Codex build on your design system instead of guessing: tokens, components, rules, the Figma MCP server and a registry.

Enter to send
Shaheer Malik

Shaheer Malik

Framer Designer & Developer

October 29, 20268 min read

Quick answer

Write the system down where agents can read it: tokens in a machine-readable file with descriptions, components in code with typed props and the same names as Figma, usage rules in AGENTS.md or CLAUDE.md, and a live link to the design source through the Figma MCP server and Code Connect.

Last updated: 29 October 2026

An AI agent builds with a design system when the system is written down where the agent can read it: tokens in a machine-readable file, components in code with clear names and typed props, the usage rules in a file the agent loads every session, and a live connection to the design source. Agents fill every gap by guessing. An agent-ready design system is one that leaves them fewer gaps.

Coding agents such as Claude Code, Cursor and Codex write interface code from a prompt. Give one a screenshot and a vague prompt and it produces something plausible: a new button that is almost like your button, a hex value that is almost your brand blue, spacing that is almost on your scale. Each "almost" is small. Fifty of them are a product that no longer looks like one product.

The fix is not a better prompt. It is a design system built to be read by machines as well as people. This guide covers the five layers that matter, with the standards and tools behind each one checked on 29 October 2026.

The five layers at a glance

LayerWhat the agent needsWhere it lives
TokensEvery colour, size, radius and duration as a named value with a purposeA token file, ideally in the DTCG format, built into CSS variables
ComponentsOne component per job, with typed props and the same names as the design fileYour codebase, in one folder the agent is told about
RulesWhat to use, what never to do, and how to check the workAGENTS.md or CLAUDE.md at the root of the repository
Design sourceThe frame, its variables and the code component behind each design componentThe Figma MCP server, with Code Connect
DistributionA way to find and install approved components instead of inventing new onesA component registry the agent can search

1. Tokens an agent can read

Design tokens turn design decisions into named values. For an agent, the name is the point: color.text.muted says where to use a value, while #6B7280 says nothing.

Tokens now have a standard. The Design Tokens Community Group, a W3C community group, published the first stable version of its format, 2025.10, on 28 October 2025. The essentials:

  • A token is a JSON object, and $value is its only required property
  • $type says what the value is: color, dimension, font family, duration, shadow, typography and more
  • $description explains the token's purpose in plain text, which is exactly what an agent needs
  • Aliases point one token at another with curly brackets, so {color.brand.primary} can feed a button's background
  • The recommended file extensions are .tokens and .tokens.json

A token written for agents as well as people looks like this:

{
  "color": {
    "text": {
      "muted": {
        "$type": "color",
        "$value": "{color.gray.500}",
        "$description": "Secondary text: captions, helper text, timestamps. Never for body copy or links."
      }
    }
  }
}

The description does the work. It tells the agent when to use the token and, just as useful, when not to. The group's site lists Figma, Framer, Penpot, Sketch, Style Dictionary and Tokens Studio among the tools adopting or taking part in the format. If your tokens live in Figma variables today, how to set up design tokens in Figma covers the structure.

In code, build the token file into CSS variables or a Tailwind theme, and then make raw values the exception. An agent that sees var(--color-text-muted) used everywhere will copy the pattern. An agent that sees a mix of variables and hex codes will copy the mix.

2. Components with one name each

Agents reuse what they can find and understand. Three habits make a component library easy to reuse:

  • One component per job. Two buttons that do the same thing in slightly different ways invite the agent to pick the wrong one. Merge them.
  • Typed props with honest names. variant="destructive" and size="sm" describe themselves. A prop called type2 does not.
  • The same names in design and code. If Figma calls it "Button / Secondary" and the code calls it GhostButton, nobody, human or machine, can match them reliably.

Keep the components in one folder and say where it is in the rules file. Short comments on each component's purpose, and a story or example per variant, give an agent the same help they give a new developer.

3. Rules the agent reads every session

Every coding agent starts each session with a blank memory. A rules file in the repository is how a design system survives that.

  • AGENTS.md is an open format, described by its maintainers as a README for agents, and its site says over 60,000 open source projects use it. It lists Codex, Jules, VS Code, Zed and Devin among the tools that read it.
  • Claude Code reads a CLAUDE.md file at the project root, and its documentation says it can also read a repository's AGENTS.md. A CLAUDE.md can import other files with @path syntax, so the design rules can live in their own file.

The design section of a rules file should be short, specific and checkable:

## Design system
- Components live in src/components/ui. Use them before writing new UI.
- Colours, spacing, radii and shadows come from tokens (CSS variables).
  Never write a hex code, px spacing or a new shadow by hand.
- Buttons: one primary action per screen. Destructive actions use
  variant="destructive" and ask for confirmation.
- Every list and table has an empty, loading and error state.
- Text contrast meets WCAG 2.1 AA (4.5:1 for body text).
- New component? Add it to src/components/ui with typed props,
  then tell me what you added and why.

Rules work best when they can be checked. "Make it look nice" cannot. "No hex codes outside the token file" can, by the agent, by a reviewer, or by a lint rule.

4. A live line to the design source

The Figma MCP server uses the Model Context Protocol to give an agent the design context it needs, on Figma's Starter, Professional, Education, Organization, Government and Enterprise plans. Paste a link to a frame into a connected client and the agent can pull its layout, variables and components into code. Figma lists Claude Code, Cursor, Codex, VS Code and others among the supported clients, and recommends its remote server, hosted by Figma, for most users.

Two parts make this a design system tool rather than a screenshot tool:

  • Code Connect links each Figma component to the component in your repository, so the agent is pointed at your real Button instead of writing a new one. It needs a Professional, Organization, Government or Enterprise plan and a Full or Dev seat.
  • Writing to the canvas lets agents build and update frames, components and variables in Figma, using your design system as the source of truth. Figma says this is free during its beta and will later become a usage-based paid feature.

The quality of what comes out still depends on the file. A Figma file built from components and variables gives the agent structure to follow. A file of loose, detached frames gives it pictures to imitate.

When an agent needs a component that does not exist yet, the next best thing to inventing one is installing an approved one. The shadcn MCP server lets an agent browse, search and install components from registries configured in a project's components.json: the public shadcn registry, third-party registries, or a private registry for your own company's components. The shadcn docs give setup steps for Claude Code, Cursor, VS Code, Codex and OpenCode.

A private registry turns "build me a pricing table" from an invention into a lookup: the agent installs your team's pricing table, already on your tokens.

Is your design system agent-ready?

  1. Every colour, spacing step, radius, shadow and duration is a token
  2. Tokens have descriptions that say when to use them, and when not to
  3. Code uses tokens, not raw values, almost everywhere
  4. One component per job, with typed props
  5. Component names match between Figma and code
  6. A rules file at the repository root says where components live and what never to do
  7. The rules are specific enough to check
  8. The Figma file is built from components and variables, not detached frames
  9. Figma components are linked to code with Code Connect, if your plan allows it
  10. Empty, loading and error states are designed, so the agent is not left to improvise them

Every unchecked line is a place where the agent will guess.

What agents still cannot decide for you

A well-built system lets an agent assemble screens quickly and consistently. It does not let it decide what the screen is for. Which action matters most, what a first-time user sees, what happens when a payment fails, what the empty state says: those are design decisions. An agent asked to make them anyway will make the most average choice available.

That is why the work divides cleanly. Decide the product, the states and the system first, as a designer. Then let agents build against it, with the rules file keeping them honest. More on briefing agents that way is in brief a cloud agent like a design engineer, and the protocol underneath is explained in what an MCP server is.

How I can help

My product design sprint is $1,999 fixed for 14 days: every screen of your product designed, including empty, loading and error states, with a component library your developers build against, a clickable prototype and the decisions written down beside the screens, in a Figma file you own. It is design only, for teams that already have developers to build it. Retrofitting a design system across a large, mature product is its own project and does not fit the sprint.

If an agent has already built a prototype and it needs to become a real product, the vibe-coded prototype to production sprint starts from $1,999. For inspiration on what a mature system looks like, see these design system examples.

FAQ

Frequently asked questions

Being written down where the agent can read it: tokens in a machine-readable file with descriptions, components in code with typed props and the same names as the design file, usage rules in a file such as AGENTS.md or CLAUDE.md, and a connection to the design source.

Want it done for you? I offer product design on a fixed price, from $700. See pricing.

Enter to send