Audit your Design System and serve your Agent the rules that keep AI-written UI on-system.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
A free CLI tool (and Claude Code skill) that roasts your repo's design system with real data, then generates the rules that keep your AI agent on-system.
New in 5.10: it reads Tailwind v3 shadcn, and every colour space. shadcn on Tailwind v3 stores colour tokens as bare HSL channels, for the opacity trick. So a textbook shadcn repo used to scan as "2 colours, none defined as CSS variables". It now reads those tokens. It finds the greys (an oklch palette used to report 0). And it spots twins across notations: a token written as hsl and a hardcoded copy written as rgb are the same colour, and now count as a near-identical pair. Checked before and after on 6 real shadcn repos.
New in 5.9: the agent card knows which doors your rules actually reach. The report now states, as plain fact, which tools can read the rules files you have. Claude Code reads CLAUDE.md. Codex reads AGENTS.md. Cursor reads AGENTS.md and
.cursor/rules. Where a door is missing, the card shows the one-line fix: Claude Code skips AGENTS.md, and a CLAUDE.md containing the single line@AGENTS.mdcloses the gap. The scan also finds rules files nested in subfolders, which is how monorepos really do it (twenty carries 35 AGENTS.md files; a root-only look reported 1). It recognises GEMINI.md,.windsurf/rulesand.github/instructionstoo.
New in 5.8: every finding can explain itself. A "why this matters" toggle sits under each finding. It unfolds the calm story behind the brutal number. How the mess arrives innocently, what it costs later, how an agent multiplies it, and why the ideal sits where it sits, benchmark medians included. Written to a plain-language standard and reviewed word by word.
New in 5.0: it runs as a local MCP server. One command, and your agent asks the design system before writing UI, then gets the work checked after. Which Button is canonical? Which token holds that colour? Review my changes. Local, deterministic, nothing leaves your machine. See Live answers over MCP.
Run it on your codebase and get, in about a second:
packages/ui scores 80 while apps/web scores 40, and now you can see it.design-system-rules.md with canonical components, your token file, and known duplicates to avoid, so your AI agent follows your system instead of guessing at it. --apply injects them into every agent file you have: Claude, Cursor, GitHub Copilot, and Windsurf. Every scan also checks the rules you already have for stale references: paths that no longer exist, components named canonical that nothing imports anymore. And the agent card states which tools can actually read the rules you have (Claude Code, Codex, Cursor), with the one-line fix where a door is missing.Your AI agent (Claude, Cursor, Copilot) builds UI by imitating what's already in your repo. If your repo has 112 colours and 4 Button implementations, your agent guesses which one is canonical, and it picks wrong half the time. That's why AI-generated UI looks almost-but-not-quite right. The first step to fixing it is seeing the mess measured.
One scan powers all of it; the flags decide what lands on disk. Combine freely.
| CommandΒ Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β | What you get |
|---|---|
npxΒ roast-my-design-system@latest | The scan and design-system-roast.html, opened in your browser |
npxΒ roast-my-design-system@latestΒ <path> | Scan a different repo than the current directory |
... --apply | The generated agent rules injected straight into every agent file you have: CLAUDE.md, AGENTS.md, .cursorrules, .cursor/rules/, .windsurfrules and .github/copilot-instructions.md, inside a marked block. Re-running replaces only that block, never your own text. Windsurf and Copilot get a compact variant sized for their limits |
... --rules | The same rules written to design-system-rules.md instead, for pasting by hand |
... --card | roast-card.svg: a shareable 1200x630 card with the score and worst findings. Pure SVG, embeds in a README |
... --sarif | design-system-roast.sarif for GitHub code scanning: upload it in CI and findings appear in the Security tab, annotated on files |
... --mcp | The scan as a local MCP server: 5 tools your agent calls while writing UI, from "is there a Button already?" to "review my changes", plus the roast-fix prompt that serves the top fix from a fresh scan. See Live answers over MCP |
... --check | The working tree's changed files checked against the design system, in the terminal. Exits 1 on findings, so it slots into scripts |
...Β --byΒ "DwayneΒ Hicks" | A requester credit in the report header, next to the scan date |
...Β --notesΒ <file.md> | An agent-written analysis embedded in the report as "What the numbers mean": labelled as written by AI, kept apart from the measured numbers. The Claude Code skill writes and passes this automatically; the flag is here so any agent can |
...Β --sectionΒ "Title"Β <file.md> | An agent-written chapter appended after the notes, same styling, same written-by-AI label, with sub-headings allowed. Repeatable, so analysis that outgrows the notes still lives inside the report instead of a hand-built page |
...Β --excludeΒ lab/ | Leave a folder out of the scan (repeat the flag or comma-separate). Or list folders in a .roastignore file at the repo root. Either way the report says so in the header; see Scoping the scan |
... --json | The scan summary as JSON on stdout, for scripts and pipelines |
...Β --themeΒ lightΒ / --outΒ <file>Β / --no-open | Light report, custom report path, don't open the browser |
/roast-my-design-system (inΒ ClaudeΒ Code) | The full experience: the roast in chat and embedded in the report as "What the numbers mean", the rules offer, and the fix loop with Claude on your own numbers |
One scan writes rules for every agent: Claude, Cursor, GitHub Copilot, and Windsurf. Every scan also checks the agent rules you already have and flags stale references, no flag needed.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/roast-my-design-system)<a href="https://allmcps.com/mcp/roast-my-design-system"><img src="https://allmcps.com/api/badge/roast-my-design-system?style=directory" alt="Roast My Design System on AllMCPs" /></a>