Install the "extract-design-system" agent skill from https://github.com/espennilsen/pi/tree/main/skills/extract-design-system into .claude/skills/extract-design-system/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "extract-design-system", then confirm the skill loads.
Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Type this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
skills CLI
$ npx skills add espennilsen/pi --skill extract-design-system -a codex
Project install goes to .agents/skills/; add -g for ~/.codex/skills/.
Install the "extract-design-system" agent skill from https://github.com/espennilsen/pi/tree/main/skills/extract-design-system into .agents/skills/extract-design-system/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "extract-design-system", then confirm the skill loads.
Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add espennilsen/pi --skill extract-design-system -a cursor
Project install goes to .agents/skills/; add -g for ~/.cursor/skills/.
Install the "extract-design-system" agent skill from https://github.com/espennilsen/pi/tree/main/skills/extract-design-system into .cursor/skills/extract-design-system/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "extract-design-system", then confirm the skill loads.
Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
skills CLI
$ npx skills add espennilsen/pi --skill extract-design-system -a gemini-cli
Project install goes to .agents/skills/; add -g for ~/.gemini/skills/.
Install the "extract-design-system" agent skill from https://github.com/espennilsen/pi/tree/main/skills/extract-design-system into .gemini/skills/extract-design-system/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "extract-design-system", then confirm the skill loads.
Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Installs for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
skills CLI
$ npx skills add espennilsen/pi --skill extract-design-system -a github-copilot
Project install goes to .agents/skills/; add -g for ~/.copilot/skills/.
Install the "extract-design-system" agent skill from https://github.com/espennilsen/pi/tree/main/skills/extract-design-system into .github/skills/extract-design-system/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "extract-design-system", then confirm the skill loads.
GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add espennilsen/pi --skill extract-design-system -a opencode
OpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
Install the "extract-design-system" agent skill from https://github.com/espennilsen/pi/tree/main/skills/extract-design-system into .opencode/skills/extract-design-system/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "extract-design-system", then confirm the skill loads.
OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Facts
Skill name
extract-design-system
GitHub stars
122
Token cost
~2k tokens
SKILL.md length
592 words
Files
2 (incl. scripts)
Skills in repo
36
Repo updated
First seen
Licence
MIT
At a glance
Reverse-engineer a design system from a live website (public URL or localhost).
Works in 6 steps: Run the Extraction Script → CSS Source Analysis (supplementary) → Organize Raw Data into Tokens → …
Tasks that involve Design systems
SKILL.md covers Prerequisites, Quick Start, Output Structure and Workflow, plus 1 more section
Runs JavaScript scripts from its folder; calls node and npx
What it does
Extract Design System is an agent skill from espennilsen/pi. Reverse-engineer a design system from a live website (public URL or localhost). Extracts colors, typography, spacing, shadows, radii, breakpoints, and component patterns using a headed Playwright browser. Captures screenshots of pages, components, and interactive states at real device resolutions. Produces structured design tokens and optionally seeds a Penpot project. Triggers — use this skill when: - User says "extract design system from [url]" - User asks to "reverse-engineer the styles from [site]" - User…
Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts.
It sits in Frontend & Design, covering Design systems, Design tokens and Typography. It works with Playwright. 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 from [url]”
“reverse-engineer the styles from [site]”
“build a design system based on [website]”
“/extract-design-system”
Requirements
Node.js
Workflow steps
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 79d019b. It shows what the files ask for, not the result of running them.
Tool permissions
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Runs code
Ships 1 file in scripts/ (JavaScript), which the agent can run.
Shell commands in SKILL.md call:
node
npx
From the folder's file list and the shell code blocks in SKILL.md.
Network
No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Credentials
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Context cost
Extract Design System loads about 2k tokens when it runs. Until then it costs about 205 tokens; SKILL.md has 592 words of instructions outside code blocks.
Always· name and description, kept in context so the agent knows when to use it
~205
When it runs· the whole SKILL.md, loaded when a task matches
~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 passed
The automated check found no risky patterns in SKILL.md.
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); the scripts in this folder are not scanned.
Download SKILL.mdSave it as .claude/skills/extract-design-system/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
extract-design-system
description
Reverse-engineer a design system from a live website (public URL or localhost). Extracts colors, typography, spacing, shadows, radii, breakpoints, and component patterns using a headed Playwright browser. Captures screenshots of pages, components, and interactive states at real device resolutions. Produces structured design tokens and optionally seeds a Penpot project.
**Triggers — use this skill when:** - User says "extract design system from [url]" - User asks to "reverse-engineer the styles from [site]" - User says "build a design system based on [website]" - User asks to "pull the design tokens from [url]" - User says "analyze the design of [site]" - User asks to "import styles from [website] into Penpot" - User points at a URL and asks about its colors, fonts, spacing, or components
Extract Design System from Website
Reverse-engineer a complete design system from a live website using two passes:
CSS source analysis — fetch and parse stylesheets for declared values
Headed Playwright extraction — visually browse the site, interact with elements,
extract computed styles, and capture screenshots at real device resolutions
Prerequisites
Playwright installed (npx playwright install chromium if not set up)
Extracts CSS custom properties and computed colors from 800 sampled elements
Captures typography from all semantic elements (h1-h6, p, a, button, etc.)
Measures spacing, radii, shadows, and borders
Screenshots every page at 4 breakpoints with real device contexts
Isolates and screenshots 17 common component types
Captures hover and focus states on interactive elements
Tests mobile nav by clicking hamburger-like buttons at iPhone viewport
Detects dark mode via prefers-color-scheme emulation and toggle sniffing
Step 2: CSS Source Analysis (supplementary)
The script captures computed values. This step catches declared values from CSS
source that may not be active on the current page:
bash
# Fetch stylesheets identified in the HTML
web_fetch <stylesheet-url>
# Look for things the computed pass might miss:
# - Media query breakpoints
# - Keyframe animations
# - CSS custom property definitions with fallbacks
# - Commented-out or unused styles that reveal design intent
Step 3: Organize Raw Data into Tokens
Review raw/colors.json, raw/typography.json, raw/spacing.json and the
screenshots. Then organize into a structured token file.
Colors → Palette
Group extracted colors into categories:
Category
What to look for
Primary
Brand color, CTA buttons, most prominent accent
Secondary
Supporting accent, secondary buttons
Neutral
Backgrounds, text, borders — the gray scale
Success
Green tones (confirmations, checkmarks)
Warning
Yellow/amber tones (alerts)
Error
Red tones (errors, delete actions)
Info
Blue tones (informational messages)
Deduplicate near-identical colors (ΔE < 3 in OKLCH space). A site with 47
slightly different grays probably intended 5-8.
Show full SKILL.md (242 more words)Show less
Typography → Scale
Map extracted font sizes to a named scale:
Name
Size range
caption
≤12px
small
13-14px
body (base)
15-16px
large
17-18px
h6-h1
18-48px
display
48px+
Spacing → Grid
Snap raw pixel values to the nearest standard grid:
Extract 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.
Extract Design System compared with similar skills
Provides comprehensive knowledge of the OUDS Web library (Orange Unified Design System for Web), a Bootstrap-based CSS/JS framework for building Orange-branded web interfaces.
Audits already-rendered UI and Markdown/Obsidian image layout — web app, deck/slide, dashboard, design-system, or Electron/native app — via real-browser/native-app journeys and a Playwright sweep.
Reverse-engineer a design system from a live website (public URL or localhost). Extract Design System is an agent skill from espennilsen/pi. Reverse-engineer a design system from a live website (public URL or localhost).
When should I use Extract Design System?
Extract Design System fits situations like: tasks that involve Design systems; tasks that involve Design tokens; tasks that involve Typography.
How do I install Extract Design System in Claude Code?
Run `npx skills add espennilsen/pi --skill extract-design-system -a claude-code`. Or copy the skill folder (skills/extract-design-system in espennilsen/pi) into .claude/skills/extract-design-system in your project. Claude Code loads it when a task matches its description.
How do I install Extract Design System in Codex?
Run `npx skills add espennilsen/pi --skill extract-design-system -a codex`. Or copy the skill folder (skills/extract-design-system in espennilsen/pi) into .agents/skills/extract-design-system in your project. Codex loads it when a task matches its description.
Can I use Extract 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 espennilsen/pi --skill extract-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/extract-design-system, .gemini/skills/extract-design-system, .github/skills/extract-design-system and .opencode/skills/extract-design-system in your project.
What does Extract Design System need to run?
Going by SKILL.md and its folder, Extract Design System needs JavaScript for the scripts in its folder and the command-line tools its instructions call (node and npx). Our summary lists: Node.js.
Does Extract Design System access the network?
SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Is Extract Design System safe to install?
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
What licence does Extract Design System use?
Extract 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 Extract Design System use?
About 2k tokens (SKILL.md is roughly 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 Extract Design System?
Skills that share tags, products or a category with Extract Design System: Using Ouds Web Version Major Minor (Orange-OpenSource/Orange-Boosted-Bootstrap, 222 stars), Design System (jezweb/claude-skills, 1.1k stars), Website Design System (macalbert/envilder, 138 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 Extract Design System?
espennilsen (a GitHub user) maintains it in espennilsen/pi, which has 122 GitHub stars. The repository holds 36 skills in this directory. The repository was last updated on September 21, 2026.
Source: espennilsen/pi on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.