← all projects
AI Dev Tool

Design System Clawd Agent

A Claude Code agent ("Studio") that designs a complete design system from a one-paragraph idea — interviews you, proposes stances from a 25-style catalog, shows side-by-side variations, builds the whole system as static HTML, and a second agent ships it into your real React app.

A two-agent Claude Code system: a designer agent turns a prompt into a full HTML design system on a gallery, and an implementer agent reads your existing React repo's conventions and translates the design into matching .tsx — never inventing design, always showing diffs first.

Problem Statement

Design systems are slow and expensive to start, and AI tools that 'generate UI' usually produce generic, incoherent output — and worse, when you ask an AI to add the design to your codebase it invents new styles and ignores your conventions. The two real problems: (1) get from a vague idea to a coherent, opinionated system fast, and (2) translate that system into a real React app without the AI hallucinating new design or trampling your repo's patterns.

Proposed Solution

Studio is a Claude Code playground with two cooperating agents. The designer agent (/design-system-agent) interviews you (8–10 questions: what, who, the moment, a reference product, a color), proposes three 'stances' from a 25-style catalog, shows three side-by-side variations of the signature components so you lock the look, then builds the entire system into projects/<name>/ as static HTML and registers it on a visual gallery. The implementer agent (/ship-design-system <slug> --to ../app) reads your existing React repo first — Tailwind config, path aliases, component layout, export style, class util — then translates the HTML system into real .tsx that matches your codebase, showing diffs before any change.

Full Solution Details

  • Intake → stances → variations → build. A guided flow that ends in a complete, coherent HTML design system (not a one-shot blob), with a calibrated reference project (Medcord, "Surgical paper" stance) as the quality bar.
  • Gallery. index.html renders every system as a framed plate with a signature-component thumbnail; click to enter the full system. Zero build — pure static HTML.
  • One-liner mode. /design-system-agent design a fintech app for retail traders skips already-answered questions.
  • Ship agent guardrails. Reads the target repo before writing; asks discovery questions; never invents design, only translates; show-the-diff before touching package.json/config; never runs pnpm install without permission.
  • Persistent memory. Every session the agent reads CLAUDE.md (operating manual), notes/preferences.md (durable cross-project preferences), notes/rejected.md (things you've said no to), projects/projects.json (the shelf), and styles/STYLE-CATALOG.md (the 25 stances).

Technical Documentation

The deliverable is not code-as-app but agent design: a CLAUDE.md operating manual governing two roles, a 25-entry style catalog, a memory/preferences system (preferences + rejected lists so the agent learns your taste and doesn't repeat mistakes), and a static-HTML output format that doubles as the canonical visual spec. The implementer agent is explicitly conservative: it inspects the existing repo's conventions and confirms them before generating, treats the Studio HTML as the source of truth ("why a component looks the way it does"), and gates all destructive/install actions behind diffs and permission. The whole playground is dependency-free static HTML — no Node, no build, no server.

Tech Stack

Claude Code (custom slash-command agents), Anthropic Claude, static HTML/CSS (output + gallery), a markdown-driven memory system (CLAUDE.md, preferences, rejected, style catalog).

System Design

/design-system-agent  (designer)
   intake (8-10 Qs) → propose 3 stances (from 25-style catalog)
   → 3 side-by-side signature-component variations → lock look
   → build full system → projects/<name>/*.html → register on gallery
        │  reads each session: CLAUDE.md · preferences.md · rejected.md
        │                       projects.json · STYLE-CATALOG.md
        ▼
   Studio HTML = canonical visual spec
        │
/ship-design-system <slug> --to ../react-app  (implementer)
   read repo (tailwind, aliases, exports, class util) → confirm conventions
   → translate HTML → matching .tsx  (never invents design)
   → show diffs · ask before install/config changes

Smart Architectural Decisions

  • Two specialized agents, not one. Separating design (creative, divergent) from implementation (conservative, convention-matching) lets each be tuned correctly — the designer explores, the implementer never invents. That role split is the key insight.
  • "Never invent design, only translate." Constraining the implementer to read the repo and translate the locked HTML spec directly solves the core failure mode of AI-codegen (hallucinated, inconsistent UI) and respects existing conventions.
  • HTML as the canonical spec. Keeping the system as static HTML means it's both the deliverable and the living documentation devs reference — design decisions don't get lost in translation.
  • Memory system (preferences + rejected). Persisting taste and prior 'no's across sessions makes the agent improve over time and stop re-proposing rejected ideas — real agent UX design.
  • Permission-gated mutations (diffs, no auto-install) make the implementer safe to point at a real repo.

Impacts

Compresses 'idea → coherent design system → shipped in your React app' into a guided, opinionated workflow — while structurally preventing the two things that make AI UI tools fail (incoherence and convention-trampling). A meta-tool that productizes the author's own design-engineering process.

Demonstrated Skills

Agent/LLM workflow design (multi-agent role separation, guardrails, permission gating); prompt-system + memory engineering (CLAUDE.md operating manual, preferences/rejected learning, style catalog); design-systems expertise (25 stances, signature-component thinking, calibrated reference bar); code-generation safety (read-before-write, translate-not-invent, show-the-diff); Claude Code customization (slash commands).

Notes

  • Meta-level sophistication: building a two-agent system with a clean designer/implementer role split (explore vs. conservatively translate) shows unusually mature thinking about how to make LLMs reliable — a hot, hard area.
  • Names and solves the real AI-codegen failure mode: 'never invent design, only translate' + read-the-repo-first + show-the-diff is exactly the discipline that separates a useful agent from a dangerous one.
  • Agent UX/memory design: persistent preferences + a 'rejected' list so the agent learns taste and stops repeating mistakes is genuinely advanced prompt-system engineering.
  • Design-systems depth: a 25-stance catalog and signature-component variation flow prove real design fluency, not just code.
  • Very current and demonstrates he's pushing the frontier of how engineers actually work with Claude Code.
Ask me anything