Agent skill

Design System

by jezweb in jezweb/claude-skills

Extract a complete design system from an existing website or screenshot into a DESIGN.md file.

MITAuto-check: notesFrontend & Design

Install Design System

skills CLI
$ npx skills add jezweb/claude-skills --skill design-system -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install jezweb/claude-skills design-system --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/jezweb/claude-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/frontend/skills/design-system .claude/skills/design-system && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
design-system
GitHub stars
1.1k
Token cost
~2.2k tokens
SKILL.md length
935 words
Files
1
Skills in repo
52
Repo updated
First seen
Licence
MIT

At a glance

Extract a complete design system from an existing website or screenshot into a DESIGN.md file.

  • Works in 7 steps: Identify the Source → Extract Raw Design Data → Analyse Design Tokens → …
  • Tasks that involve Design systems
  • SKILL.md covers When to Use, Workflow, Handling Multiple Pages and Tips, plus 1 more section
  • Needs STITCH_API_KEY

What it does

Design System is an agent skill from jezweb/claude-skills. Extract a complete design system from an existing website or screenshot into a DESIGN.md file. Analyses colours, typography, component styles, spacing, and atmosphere through browser automation and HTML inspection. Produces a semantic design system document optimised for consistent page generation. Triggers: 'extract design system', 'design system', 'create DESIGN.md', 'analyse the design', 'what design does this site use', 'extract styles from', 'reverse engineer the design'.

Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: claude-code-only

It sits in Frontend & Design, covering Design systems, Design tokens and Typography. It works with Google Stitch and Playwright. The repository describes itself as: Skills for Claude Code CLI such as full stack dev Cloudflare, React, Tailwind v4, and AI integrations. The licence is MIT.

When your agent uses it

  • Tasks that involve Design systems
  • Tasks that involve Design tokens
  • Tasks that involve Typography

Example prompts

  • “extract design system”
  • “design system”
  • “create DESIGN.md”
  • “/design-system”

Requirements

  • A credential in STITCH_API_KEY
  • Compatibility (from SKILL.md): claude-code-only
  • Pre-approved tools (allowed-tools): Read, Write, Edit, Bash, Glob, Grep

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Identify the Source
  2. Extract Raw Design Data
  3. Analyse Design Tokens
  4. Synthesise into Natural Language
  5. Write DESIGN.md
  6. Verify Accuracy
  7. Report to User

What it can do on your machine

Read from SKILL.md and the folder at commit 64965d9. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Write
    • Edit
    • Bash
    • Glob
    • Grep

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are typescript and json).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • STITCH_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    claude-code-only

    From compatibility in the SKILL.md frontmatter.

Context cost

Design System loads about 2.2k tokens when it runs. Until then it costs about 124 tokens; SKILL.md has 935 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~124
When it runs · the whole SKILL.md, loaded when a task matches
~2.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Read, Write, Edit, Bash, Glob, Grep

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from jezweb/claude-skills at commit 64965d9, republished under its MIT licence (© jezweb). 935 words, ~2,202 tokens.

Download SKILL.mdSave it as .claude/skills/design-system/SKILL.md (or your agent's skills folder).
name
design-system
description
Extract a complete design system from an existing website or screenshot into a DESIGN.md file. Analyses colours, typography, component styles, spacing, and atmosphere through browser automation and HTML inspection. Produces a semantic design system document optimised for consistent page generation. Triggers: 'extract design system', 'design system', 'create DESIGN.md', 'analyse the design', 'what design does this site use', 'extract styles from', 'reverse engineer the design'.
allowed-tools
Read, Write, Edit, Bash, Glob, Grep
compatibility
claude-code-only

Design System Extractor

Analyse an existing website, HTML file, or screenshot and synthesise a semantic design system into a DESIGN.md file. The output is optimised for use with the design-loop skill and general page generation.

When to Use

  • Starting a new project based on an existing site's visual language
  • Documenting a site's design system that was never formally written down
  • Preparing .design/DESIGN.md before running the design loop
  • Extracting brand guidelines from a client's existing website
  • Creating consistency documentation for a multi-page project
  • Extracting design tokens from a Google Stitch project

Workflow

Step 1: Identify the Source

Ask the user for one of:

SourceMethod
Live URLBrowse via Playwright CLI or scraper, screenshot + extract HTML
Local HTML fileRead the file directly
Screenshot imageAnalyse visually (limited — no exact hex extraction)
Existing projectScan site/public/ for HTML files to analyse
Stitch projectUse @google/stitch-sdk to fetch screen HTML + design theme
Step 2: Extract Raw Design Data
From a Live URL
  1. Browse the site using Playwright CLI:

    playwright-cli -s=design open {url}
    playwright-cli -s=design screenshot --filename=.design/screenshots/source-desktop.png
  2. Extract the full HTML — either via scraper MCP or by reading the page source

  3. Resize and screenshot mobile (375px):

    playwright-cli -s=design resize 375 812
    playwright-cli -s=design screenshot --filename=.design/screenshots/source-mobile.png
  4. Close the session: playwright-cli -s=design close

From a Local HTML File

Read the file directly and extract design tokens from the source.

From a Screenshot Only

Analyse the image visually. Note: colour extraction will be approximate without HTML source. Flag this limitation in the output.

From a Google Stitch Project

If @google/stitch-sdk is installed and STITCH_API_KEY is set:

typescript
import { stitch } from "@google/stitch-sdk";

// List projects to find the target
const projects = await stitch.projects();

// Get project details (includes designTheme)
const project = stitch.project(projectId);
const screens = await project.screens();

// Get HTML from the main screen
const screen = screens[0]; // or find by title
const htmlUrl = await screen.getHtml();
const imageUrl = await screen.getImage();

The Stitch designTheme object provides structured tokens directly:

json
{
  "colorMode": "DARK",
  "font": "INTER",
  "roundness": "ROUND_EIGHT",
  "customColor": "#40baf7",
  "saturation": 3
}

Map these to DESIGN.md sections:

  • colorMode → Theme (Light/Dark)
  • font → Typography font family
  • roundness → Component border-radius (ROUND_EIGHT = 8px, ROUND_SIXTEEN = 16px, etc.)
  • customColor → Primary brand colour
  • saturation → Colour vibrancy (1-5 scale)

Then also download and analyse the HTML for the full palette (Stitch's theme object only has the primary colour — the full palette is in the generated CSS).

Step 3: Analyse Design Tokens

Extract these from the HTML/CSS source:

Colours

Look in these locations (priority order):

  1. CSS custom properties — :root { --primary: #hex; } or @theme blocks
  2. Tailwind config — <script> block with tailwind.config or @theme in <style>
  3. Inline styles — style="color: #hex" or style="background: #hex"
  4. Tailwind classes — bg-blue-600, text-gray-900 (map to palette)
  5. Computed from screenshot — last resort, approximate

For each colour found, determine its role:

RoleHow to identify
PrimaryButtons, links, active states, brand elements
Background<body> or <html> background
SurfaceCards, containers, elevated elements
Text Primary<h1>, <h2>, main body text
Text SecondaryCaptions, metadata, muted text
BorderDividers, input borders, card borders
AccentBadges, notifications, highlights
Typography

Extract:

TokenWhere to find
Font familiesGoogle Fonts <link>, @import, font-family in CSS
Heading weightsfont-bold, font-semibold, or explicit font-weight
Body sizeBase font-size on <body> or root
Line heightleading-* classes or line-height CSS
Letter spacingtracking-* classes or letter-spacing CSS
Components

Identify patterns for:

  • Buttons — shape (rounded-full, rounded-lg), colours, padding, hover states
  • Cards — background, border, shadow, border-radius, padding
  • Navigation — sticky/static, background treatment, active indicator
  • Forms — input style, focus ring, label positioning
  • Hero sections — layout pattern, overlay treatment, CTA placement
Spacing & Layout
  • Max content width — look for max-w-* or explicit max-width
  • Section padding — typical vertical padding between sections
  • Grid system — column count, gap values
  • Whitespace philosophy — tight, balanced, generous, or dramatic
Show full SKILL.md (397 more words)Show less
Step 4: Synthesise into Natural Language

Critical: The DESIGN.md should describe the design in semantic, natural language supported by exact values. This is not a CSS dump — it's a document a designer or AI can read to understand and reproduce the visual language.

Don't writeWrite instead
rounded-xl"Softly rounded corners (12px)"
shadow-md"Subtle elevation with diffused shadow"
#1E40AF"Deep Ocean Blue (#1E40AF) for primary actions"
py-16"Generous section spacing with breathing room"
Step 5: Write DESIGN.md

Output the file to .design/DESIGN.md (or user-specified path).

Follow the structure from the design-loop skill's references/site-template.md — specifically the DESIGN.md Template section. The key sections are:

  1. Visual Theme & Atmosphere — mood, vibe, philosophy
  2. Colour Palette & Roles — table with role, name, hex, usage
  3. Typography — font families, weights, sizes, line heights
  4. Component Styles — buttons, cards, nav, forms
  5. Layout Principles — max width, spacing, grid, whitespace
  6. Design System Notes for Generation — the copy-paste block for baton prompts
Step 6: Verify Accuracy

If browser automation is available:

  1. Generate a small test section (e.g. a card + button + heading) using the extracted design system
  2. Screenshot it alongside the original
  3. Compare visually — adjust any values that don't match
Step 7: Report to User

Present:

  • Summary of extracted tokens (colour count, fonts, component patterns)
  • The generated DESIGN.md location
  • Any tokens that were approximate (flagged with ⚠️)
  • Suggestions for manual review (colours from screenshots, ambiguous typography)

Handling Multiple Pages

If the site has multiple pages with different styles:

  1. Analyse the homepage first — it usually has the most complete design language
  2. Spot-check 2-3 inner pages for consistency
  3. Note any page-specific overrides in the Component Styles section
  4. If pages are wildly different, ask the user which page to use as the canonical source

Tips

  • Tailwind sites are easiest — the config block has everything
  • Google Fonts links are gold — they specify exact families and weights
  • CSS custom properties are reliable — they represent intentional design tokens
  • Inline Tailwind classes need interpretation — bg-slate-900 needs mapping to a role
  • Screenshots are last resort — accurate hex extraction from images is unreliable
  • Dark mode: Check for .dark class overrides or prefers-color-scheme media queries

Common Pitfalls

  • ❌ Listing raw CSS values without semantic description
  • ❌ Missing the dark mode palette (check for .dark class or media query)
  • ❌ Ignoring component patterns (just listing colours isn't enough)
  • ❌ Not including Section 6 (the copy-paste generation block)
  • ❌ Approximate colours from screenshots without flagging the uncertainty

© jezweb, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in plugins/frontend/skills/design-system of jezweb/claude-skills.

Open the folder on GitHubat commit 64965d9

Compare with similar skills

Design System next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Design System compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Design System this skilljezweb/claude-skills1.1k—~2.2kAutomated safety check: NotesMIT
Stitch Taste Design Systemgoogle-labs-code/stitch-skills8.4k15 repos~3.1kAutomated safety check: PassApache-2.0
Extract Design Systemespennilsen/pi122—~2kAutomated safety check: PassMIT
Oma Designfirst-fluke/oh-my-agent1.3k—~2.9kAutomated safety check: PassMIT
SkilluiCraftOS-dev/CraftBot392—~1.2kAutomated safety check: PassMIT
Design SystemOhh-889/skyroc79511 repos~1.7kAutomated safety check: PassMIT

Similar skills

  • Stitch Taste Design System

    google-labs-code/stitch-skills

    Official

    Generates a DESIGN.md design-language file for Google Stitch that encodes color, typography, layout, component behavior and motion rules to avoid generic AI-looking UI.

    8.4k GitHub starsUsed in 15 repos~3.1k tokens
    Frontend & DesignAuto-check passed
  • Extract Design System

    espennilsen/pi

    Reverse-engineer a design system from a live website (public URL or localhost).

    122 GitHub stars~2k tokensUpdated 16 days ago
    Frontend & DesignAuto-check passed
  • Oma Design

    first-fluke/oh-my-agent

    AI design specialist skill with DESIGN.md management, anti-pattern enforcement, optional Stitch MCP integration, and component library guidance.

    1.3k GitHub stars~2.9k tokensUpdated today
    Frontend & DesignAuto-check passed
  • Skillui

    CraftOS-dev/CraftBot

    Reverse-engineer any website's, repo's, or local project's design system into a Claude-ready skill via the SkillUI CLI.

    392 GitHub stars~1.2k tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • Design System

    Ohh-889/skyroc

    Token architecture, component specifications, and slide generation.

    795 GitHub starsUsed in 11 repos~1.7k tokens
    Frontend & DesignAuto-check passed
  • Scalar's design system — design tokens, theming (@scalar/themes), CSS variables, and the @scalar/components library.

    16k GitHub stars~2.7k tokensUpdated today
    Frontend & DesignAuto-check passed

More from jezweb/claude-skills

All 52 skills in this repo
  • Elevenlabs Agents

    jezweb/claude-skills

    Build conversational AI voice agents on the ElevenLabs platform.

    1.1k GitHub starsUsed in 1 repo~3.3k tokens
    Auto-check passed
  • Favicon Gen

    jezweb/claude-skills

    Generate custom favicons from logos, text, or brand colours.

    1.1k GitHub starsUsed in 1 repo~1k tokens
    Auto-check passed
  • Tailwind Theme Builder

    jezweb/claude-skills

    Set up Tailwind v4 + shadcn/ui themed UI with dark mode. An agent skill from jezweb/claude-skills.

    1.1k GitHub starsUsed in 1 repo~3.2k tokens
    Auto-check passed
  • Project Health

    jezweb/claude-skills

    All-in-one project configuration and health management. An agent skill from jezweb/claude-skills.

    1.1k GitHub starsUsed in 1 repo~3k tokens
    Auto-check passed
  • Responsiveness Check

    jezweb/claude-skills

    Test website responsiveness across viewport widths using browser automation.

    1.1k GitHub starsUsed in 1 repo~1.7k tokens
    Auto-check passed
  • MCP Builder

    jezweb/claude-skills

    Build MCP servers in Python with FastMCP. An agent skill from jezweb/claude-skills.

    1.1k GitHub stars~3.1k tokensUpdated 2 days ago
    Auto-check: notes

Questions about Design System

What does Design System do?

Extract a complete design system from an existing website or screenshot into a DESIGN.md file. Design System is an agent skill from jezweb/claude-skills.md file.

When should I use Design System?

Design System fits situations like: tasks that involve Design systems; tasks that involve Design tokens; tasks that involve Typography.

How do I install Design System in Claude Code?

Run `npx skills add jezweb/claude-skills --skill design-system -a claude-code`. Or copy the skill folder (plugins/frontend/skills/design-system in jezweb/claude-skills) into .claude/skills/design-system in your project. Claude Code loads it when a task matches its description.

How do I install Design System in Codex?

Run `npx skills add jezweb/claude-skills --skill design-system -a codex`. Or copy the skill folder (plugins/frontend/skills/design-system in jezweb/claude-skills) into .agents/skills/design-system in your project. Codex loads it when a task matches its description.

Can I use Design System in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jezweb/claude-skills --skill design-system -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/design-system, .gemini/skills/design-system, .github/skills/design-system and .opencode/skills/design-system in your project.

What does Design System need to run?

Going by SKILL.md and its folder, Design System needs credentials named STITCH_API_KEY. Our summary lists: A credential in STITCH_API_KEY. Its frontmatter pre-approves these tools: Read, Write, Edit, Bash, Glob, Grep. Compatibility (from SKILL.md): claude-code-only.

Does Design System access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Design System safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Design System use?

Design System is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Design System use?

About 2.2k tokens (SKILL.md is roughly 8.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Design System?

Skills that share tags, products or a category with Design System: Stitch Taste Design System (google-labs-code/stitch-skills, 8.4k stars), Extract Design System (espennilsen/pi, 122 stars), Oma Design (first-fluke/oh-my-agent, 1.3k stars) and Skillui (CraftOS-dev/CraftBot, 392 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Design System?

jezweb (a GitHub user) maintains it in jezweb/claude-skills, which has 1,051 GitHub stars. The repository holds 52 skills in this directory. The repository was last updated on October 5, 2026.

Source: jezweb/claude-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.