design-extract
Extract any website's complete design system with one command. DTCG tokens, semantic+primitive+composite, MCP server for Claude Code/Cursor/Windsurf, multi-platform emitters (iOS SwiftUI, Android Compose, Flutter, WordPress), Tailwind v4, Figma variables, shadcn/ui, CSS health audit, WCAG remediatio…
Install / Use
claude mcp add Manavarya09 -- npx -y github:Manavarya09/design-extractIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
DesignSupported Platforms
Skill content
View source on GitHubSponsors
<p align="center"> <a href="https://www.atlascloud.ai/?utm_source=github&utm_medium=referral&utm_campaign=design-extract"> <img src="./assets/atlas-cloud-logo.svg" alt="Atlas Cloud" width="220"> </a> <a href="https://bloome.im/agent/join/XP8NQwFj?ref=9ZZRRy82"> <img src="./assets/bloome.png" alt="Bloome" width="360"> </a> </p> <p align="center"> <strong><a href="https://www.atlascloud.ai/?utm_source=github&utm_medium=referral&utm_campaign=design-extract">Atlas Cloud</a></strong> — powers OpenAI-compatible <code>--smart</code> classification. For AI coding workflows, try the <a href="https://www.atlascloud.ai/console/coding-plan?utm_source=github&utm_medium=referral&utm_campaign=design-extract">Atlas Cloud coding plan</a>. <br> <strong><a href="https://bloome.im/agent/join/XP8NQwFj?ref=9ZZRRy82">Bloome</a></strong> — deploys your AI clone to handle every audience conversation, running in the cloud, 24/7. <br> Try designlang on <a href="https://bloome.im/agent/join/XP8NQwFj?ref=9ZZRRy82">Bloome</a>. </p>designlang points a headless browser at any URL and reads the design system off the live DOM. One command emits 17+ files — DTCG tokens, Tailwind config, shadcn theme, Figma variables, motion tokens, typed component anatomy, brand voice, page-intent labels, and a paste-ready prompt pack for v0 / Lovable / Cursor / Claude Artifacts.
It also goes where extractors don't: layout patterns, responsive behavior across 4 breakpoints, hover / focus / active states, WCAG contrast scoring, multi-page consistency, drift checks against a live source-of-truth, visual-diffs, and a shareable graded report card.
Quick start
npx designlang https://stripe.com # extract everything
npx designlang site stripe.com # whole-site: one canonical system + consistency grade ← v12.23
npx designlang fidelity stripe.com --clone localhost:3000 # score a clone vs the original (visual + motion) ← v12.24
npx designlang gallery # static shareable gallery of measured clones ← v12.24
npx designlang studio # live token editor: edit, preview, export, share ← v12.19
npx designlang verify stripe.com # fidelity score: rebuild from tokens vs live ← v12.18
npx designlang pair stripe.com linear.app # fuse two designs (visuals A × voice B) ← v12.8
npx designlang brand stripe.com # full brand-guidelines book (13 chapters) ← v12.7
npx designlang theme-swap stripe.com --primary "#ff4800" # recolour around your brand ← v12.6
npx designlang pack stripe.com # one polished design-system directory ← v12.4
npx designlang remix stripe.com --as cyberpunk # restyle in another vocabulary ← v12.3
npx designlang remix stripe.com --all # emit all 6 vocabs at once ← v12.3
npx designlang grade https://stripe.com --badge # report card + SVG badge ← v12.2
npx designlang battle stripe.com vercel.com # head-to-head graded fight ← v12.2
npx designlang clone https://stripe.com # working Next.js starter
npx designlang --full https://stripe.com # screenshots + responsive + interactions
Drop a live design-score badge in any README:

Watch it read — live Extraction Theatre (v13)
Don't take the output on faith — watch it happen. On designlang.app/watch you paste a URL and a real headless Chromium opens the page and reads its entire design system in real time: a split stage with the live browser on the left and the design system — palette, type, spacing, motion — assembling itself on the right as each token lifts off the page.
It's driven by the actual extraction (the browser's CDP screencast streamed frame-by-frame alongside the real token events), recorded so a shared link replays the exact run. No install, no account. Every gallery card can be watched the same way, and the gallery now spans 37 real-graded design systems.
Whole-site design system (site)
Most extractors read a single URL. designlang site crawls a site's canonical
pages (home, pricing, docs, blog, about, product…) and synthesizes one
de-duplicated system. Every token is elected by coverage — the share of pages
that use it — so what's genuinely site-wide is separated from one-off,
page-local choices. Near-identical colours are merged in OKLab. It's fully
deterministic and free; no API key.
npx designlang site stripe.com --max-pages 8
You get, alongside the standard pack emitted from the canonical system:
| File | What it is |
|---|---|
| *-site-system.json | canonical unified tokens + coverage + drift |
| *-site-coverage.md | every token tagged 🟢 site-wide / 🟡 section / 🔴 page-local, with the pages using it |
| *-site-consistency.md | a 0–100 consistency grade, per-category breakdown, and the off-system outliers to consolidate |
Measured clone fidelity (fidelity + gallery)
Cloning tools all claim "pixel-perfect" — none of them measure it. designlang fidelity does. Point it at the original and your clone (often a local dev
server) and it returns one honest number, both halves of the clone:
- Visual — full-page screenshots of each, pixel-diffed.
- Motion —
extractMotion()on both, compared across feel, durations, easings, springs, keyframe kinds, scroll-linked motion, and choreography/ stagger. (Most clones reproduce static pixels and drop the motion entirely; this is where they lose.)
The two blend into a 0–100 score + letter grade, and — the part competitors don't ship — a ranked correction plan: the exact next edits that will raise the score, hardest-hitting first. Measure → fix → re-run until it converges.
npx designlang fidelity https://stripe.com --clone http://localhost:3000
npx designlang fidelity https://stripe.com --clone http://localhost:3000 --min 90 # CI gate
Generating the clone with designlang clone? Add --fidelity and it grades the
clone's token basis against the live site the moment it's built — writing
FIDELITY.md + a correction plan straight into the project, no separate step:
npx designlang clone https://stripe.com --fidelity
You get fidelity.md (score + motion table + correction plan), fidelity.json,
a shareable fidelity-card.svg (88% · B · stripe.com), and a fidelity-diff.png
loss heatmap.
Then publish them. designlang gallery scans your reports and builds a
deployable static site — an index of score cards plus a permalink page per clone
(each with an OG card, so a shared link unfurls the number).
npx designlang gallery --title "Our clones" --base-url https://clones.example.com
Install
npm i -g designlang # global
npx skills add Manavarya09/design-extract # as an agent skill (40+ agents)
Use in Claude Code (plugin)
designlang ships as a Claude Code plugin — eleven slash commands that wrap the CLI. Install it from inside Claude Code:
/plugin marketplace add Manavarya09/design-extract
/plugin install designlang@designlang
The first command registers this repo as a plugin marketplace; the second
installs the designlang plugin from it. Restart Claude Code if prompted, then
the commands are available:
| Command | What it does |
|---|---|
| /extract <url> | full design language → DTCG, Tailwind, Figma, motion, voice |
| /site <url> | crawl a whole site → one canonical design system + consistency grade |
| /grade <url> | shareable HTML report card + SVG badge |
| /battle <a> <b> | head-to-head graded comparison |
| /remix <url> --as <vocab> | restyle in 6 vocabularies (brutalist, swiss, art-deco, cyberpunk, soft-ui, editorial) |
| /pack <url> | one downloadable design-system bundle |
| /theme-swap <url> | OKLCH-correct recolour around a new brand primary |
| /brand <url> | full editorial brand-guidelines book (13 chapters) |
| /pair <a> <b> | fuse two designs across configurable axes |
| /studio | live token editor — preview, dark mode, export, share |
| /verify <url> | rebuild from tokens, pixel-diff vs live, fidelity score |
| /fidelity <url> --clone <url> | score a clone vs the original (visual + motion) + correction plan |
| /gallery [dir] | build a static shareable gallery of measured clones |
Prefer the raw MCP tools? The CLI also ships an MCP server — run
designlang mcp --output-dir ./design-extract-outputto serve the latest extraction's tokens to any MCP client.
Atlas Cloud for --smart
designlang --smart can now use Atlas Cloud through its OpenAI-compatible chat API, so low-confidence classifiers can stay zero-dependency while routing to Atlas-hosted models.
export ATLASCLOUD_API_KEY="<atlascloud-api-key>"
export ATLASCLOUD_MODEL="deepseek-ai/deepseek-v4-pro"
npx designlang https://stripe.com --smart
- Atlas Cloud envs:
ATLASCLOUD_API_KEY,ATLASCLOUD_MODEL, optionalATLASCLOUD_API_BASE - Alias envs also work:
ATLAS_CLOUD_API_KEY,ATLAS_CLOUD_MODEL,ATLAS_CLOUD_API_BASE - Existing
OPENAI_API_KEYandANTHROPIC_API_KEYflows keep working unchanged
What you get
Each run writes 17+ files to ./design-extract-output/. The headline outputs:
| File | What it is |
|---|---|
| *-design-language.md | 19-section markdown — feed any LLM to recreate the design |
| *-design-tokens.json | W3C DTCG tokens (primitive + semantic + composite layers) |
| *-tailwind.config.js | Drop-in Tailwind theme |
| *-shadcn-theme.css | shadcn/ui globals.css variables |
| *-figma-variables.json | Figma Variables import (light + dark) |
| *-variables.css | CSS custom properties |
| *-anatomy.tsx | Typed React stubs for every detected component + variants |
| *-motion-tokens.json | Durations, easings, springs, scroll-linked flag; with --motion-runtime also choreography (stagger) + scroll recipes + observed durations |
| *-voice.json | Brand voice — tone, pronoun posture, CTA verbs |
| *-prompts/ | Paste-ready prompts for v0, Lovable, Cursor, Claude Artifacts |
| *-mcp.json | Disk-backed MCP server payload |
| *-grade.html | v12.1 Shareable Design Report Card (letter grade + evidence) |
| *-grade.svg | v12.2 Shields.io-style design-score badge (drop into any README) |
| *-battle.html | v12.2 Head-to-head graded battle card from `desi
Truncated for display — read the full file on GitHub.
Related Skills
momen-cursurrules-prompt-file
40.6kCursor rules for building custom frontends with Momen.app as headless BaaS with GraphQL API, actionflows, AI agents, and Stripe integration.
semiotic-react-dataviz-cursorrules-prompt-file
40.6kCursor rules for Semiotic data visualization library with 30+ chart types, MCP server, and AI-assisted chart generation.
Agent-Reach
73.9kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
ruflo
68.6k🌊 The original agent meta-harness. Deploy intelligent multi-player swarms, coordinate autonomous workflows, and build conversational AI systems. Features adaptive memory, self-learning intelligence, RAG integration, and native Claude Code / Codex / Hermes and many more Integrated
