ai.to.design is now free.No account needed.Install now →
A terminal showing a chat with Claude proposing colour, typography, and spacing tokens for a new design system.

Create a full design system just by chatting with Claude

2 min readAI To Design

title: "Create a full design system just by chatting with Claude" description: "A conversational flow for building a design system: Claude proposes tokens, you confirm per category, and the result becomes Figma styles and variables." publishedAt: "2026-04-16" author: name: "AI To Design" url: "https://ai-to-design.com" tags: [feature, design-system] coverImage: "/terminal.png" coverAlt: "A terminal showing a chat with Claude proposing colour, typography, and spacing tokens for a new design system." relatedSlugs: [figma-design-system-support]

Setting up a design system is one of those day-one tasks that often never happens. You know you should pick a palette, define a type scale, lock in spacing — but when you're trying to ship, it's always the thing that gets pushed to "next sprint". So projects keep accumulating one-off hex values and ad-hoc font sizes, and by the time someone finally sits down to consolidate, there's a month of cleanup to do.

What changed

Interactive Design System Creation turns that task into a short conversation. Ask Claude to set up a design system for your project and it sends a full proposal to the plugin: a curated palette organised by semantic role, a type scale, a spacing scale, radius and shadow tokens, and a list of foundational components with their variants.

The proposal lands in the Design System tab. Nothing has touched the canvas yet. You review each category with visual pickers — real swatches for colours, live font previews for typography, visual bars for spacing. Edit a value, add a token you want, remove one you don't. Every change stays local until you're happy.

When you click Confirm, the plugin creates the matching Figma shared styles and variables in a single transaction, persists the confirmed set to clientStorage scoped to your file, and from that point on every render_html call uses your tokens instead of auto-extracting new ones from the CSS.

The proposal shape looks like this:

interface DesignSystemProposal {
  colors: Array<{ name: string; value: string; role: ColorRole }>;
  typography: Array<{
    name: string;
    fontFamily: string;
    fontSize: number;
    lineHeight: number;
    fontWeight: number;
  }>;
  spacing: Array<{ name: string; value: number }>;
  radius: Array<{ name: string; value: number }>;
  shadows: Array<{ name: string; x: number; y: number; blur: number; spread: number; color: string }>;
  components: Array<{
    name: string;
    variants: Record<string, string[]>;
  }>;
}

Every token is editable before confirmation. Every token is namespaced under ai.to.design/ so it lives peacefully alongside anything you've hand-authored. Confirming twice is idempotent — existing styles are updated, not duplicated — so you can iterate without fear of polluting the file.

The value isn't the generation. Claude can propose tokens all day. The value is the curation step: you get to feel like the design system is yours, not the AI's, while keeping the time investment down to minutes.