Impeccable
bestofjs/bestofjs
A skill your agent uses when the user wants to design, redesign, shape, critique, audit, polish, clarify, distill, harden, optimize, adapt, animate, colorize, extract, or otherwise improve a…
A skill your agent uses when the user wants to extract a webpage's design language into a reusable HTML style reference file, including typography, colors, spacing, surfaces, components, states…
$ npx skills add LeoYeAI/openclaw-master-skills --skill extract-design -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills extract-design --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/extract-design .claude/skills/extract-design && rm -rf skills-srcUse ~/.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/
Install the "extract-design" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/extract-design into .claude/skills/extract-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "extract-design", 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.
$skill-installer install https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/extract-designType 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.
$ npx skills add LeoYeAI/openclaw-master-skills --skill extract-design -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills extract-design --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/extract-design .agents/skills/extract-design && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "extract-design" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/extract-design into .agents/skills/extract-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "extract-design", 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.
$ npx skills add LeoYeAI/openclaw-master-skills --skill extract-design -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills extract-design --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/extract-design .cursor/skills/extract-design && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "extract-design" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/extract-design into .cursor/skills/extract-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "extract-design", 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.
$ gemini skills install https://github.com/LeoYeAI/openclaw-master-skills.git --path skills/extract-design--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add LeoYeAI/openclaw-master-skills --skill extract-design -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills extract-design --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/extract-design .gemini/skills/extract-design && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "extract-design" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/extract-design into .gemini/skills/extract-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "extract-design", 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.
$ gh skill install LeoYeAI/openclaw-master-skills extract-designInstalls 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).
$ npx skills add LeoYeAI/openclaw-master-skills --skill extract-design -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/extract-design .github/skills/extract-design && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "extract-design" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/extract-design into .github/skills/extract-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "extract-design", 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.
$ npx skills add LeoYeAI/openclaw-master-skills --skill extract-design -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills extract-design --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/extract-design .opencode/skills/extract-design && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "extract-design" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/extract-design into .opencode/skills/extract-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "extract-design", 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.
extract-designA skill your agent uses when the user wants to extract a webpage's design language into a reusable HTML style reference file, including typography, colors, spacing, surfaces, components, states…
Extract Design is an agent skill from LeoYeAI/openclaw-master-skills. Use this skill when the user wants to extract a webpage's design language into a reusable HTML style reference file, including typography, colors, spacing, surfaces, components, states, themes, motion, code-block styles, background atmosphere, decorative motifs, and art direction. The output should be a universal style specimen HTML for future AI-generated pages, not a 1:1 copy of the original page. Extracted style files are saved to the skill's own assets/theme/ directory, never to the user's project.
Its SKILL.md is about 6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 18 other files, including scripts, reference files and assets (for example `README.md`, `_meta.json` and `assets/theme/ampcode-style-manifest.json`).
It sits in Frontend & Design, covering Typography. The repository describes itself as: 🧠 Curated collection of 1209+ best OpenClaw skills — weekly updated by MyClaw.ai. The licence is MIT.
12 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit e5199b5. It shows what the files ask for, not the result of running them.
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.
Ships 2 files in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
python3pipplaywrightFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use pip, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Extract Design loads about 6k tokens when it runs, and up to ~16k if it reads all its reference files. Until then it costs about 131 tokens; SKILL.md has 2,591 words of instructions outside code blocks.
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.
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.
The full file from LeoYeAI/openclaw-master-skills at commit e5199b5, republished under its MIT licence (© LeoYeAI). 2,591 words, ~5,998 tokens.
.claude/skills/extract-design/SKILL.md (or your agent's skills folder). This skill also uses 14 other files; get the full folder from GitHub.CRITICAL: All extracted style files MUST be saved to the skill's own assets/theme/ directory — never to the user's project directory, never to a relative path from the current working directory.
Before writing any output file, resolve the skill directory by running:
Glob pattern: **/skills/extract-design/SKILL.mdThe directory containing that SKILL.md file is SKILL_DIR. All output goes under SKILL_DIR/assets/theme/.
Output files use the source domain or project name as a prefix:
SKILL_DIR/assets/theme/
├── {name}-style-manifest.json # Structured style manifest
└── {name}-style-specimen.html # Universal style specimen HTMLExamples (where SKILL_DIR is whatever path the Glob resolved):
{SKILL_DIR}/assets/theme/ampcode-style-manifest.json{SKILL_DIR}/assets/theme/ampcode-style-specimen.html{SKILL_DIR}/assets/theme/vercel-style-manifest.json{SKILL_DIR}/assets/theme/vercel-style-specimen.htmlCreate the assets/theme/ directory if it does not exist before writing.
The references/ directory inside this skill contains two files you MUST use during every extraction. Both paths are relative to SKILL_DIR (resolved via Glob above):
{SKILL_DIR}/references/extraction-checklist.md — comprehensive checklist for all extraction dimensions. Work through every section; note why if a dimension is not applicable.{SKILL_DIR}/references/style-specimen.html — structural template for Output C. Your generated specimen must follow the same structure.WARNING: The template contains /* REPLACE */ placeholders for every CSS token value. You MUST replace ALL of them with values measured from the target site. Do NOT keep any placeholder value in the final output. A /* REPLACE */ in the output file means the extraction is incomplete.
Use this skill when the user wants to:
Do not use this skill if the user wants:
This skill is for style system extraction, not page cloning.
Your task is not to reproduce the page structure.
Your task is to extract the page's visual system and represent it as:
The final result must be a general-purpose reference file that another AI can read and use to generate new pages in the same style.
Think in terms of:
Do not think in terms of:
The goal is:
Preserve not only the component language, but also the page atmosphere, decorative motifs, and art direction. A faithful extraction must capture both system structure and visual mood.
When using this skill, produce three outputs:
A concise explanation of the extracted style system:
A required machine-readable JSON file saved to {SKILL_DIR}/assets/theme/{name}-style-manifest.json, describing:
A single HTML file containing:
<script type="application/json">This HTML file should be general and reusable.
You must extract the following categories.
Capture:
Extract:
Do not only report raw values. Abstract them into roles such as:
--font-family-sans--font-family-mono--font-size-body--font-size-heading-lg--line-height-body--font-weight-semiboldExtract:
Abstract colors into semantic roles, not just raw hex values.
Examples:
--color-bg-page--color-surface-card--color-text-primary--color-text-secondary--color-border-default--color-brand-primary--color-code-bgExtract:
Abstract into spacing and layout tokens.
Extract:
Examples:
--radius-sm--radius-card--shadow-sm--shadow-elevated--focus-ringExtract motion and animation tokens:
Transitions (via computed styles):
@keyframes animations (require direct stylesheet parsing):
@keyframes rule must be captured separately — extract-styles.py does NOT capture theseHow to extract @keyframes — run {SKILL_DIR}/scripts/extract-keyframes.py or this browser console snippet:
const keyframes = [];
for (const sheet of document.styleSheets) {
try {
for (const rule of sheet.cssRules) {
if (rule.type === CSSRule.KEYFRAMES_RULE) {
keyframes.push({ name: rule.name, cssText: rule.cssText });
}
}
} catch(e) { /* CORS restriction, skip */ }
}
console.log(JSON.stringify(keyframes, null, 2));Abstract into motion tokens:
--motion-duration-fast, --motion-duration-normal--motion-ease-standard, --motion-ease-emphasizedAnimation archetypes to look for:
Extract reusable component families rather than page-specific instances.
At minimum inspect:
For each component archetype record:
This is mandatory if code blocks exist or may matter later.
Extract:
Capture:
Extract the page-level and section-level visual atmosphere, not only flat background colors.
You must inspect and abstract:
::before, ::after)Do not flatten atmospheric styling into a single background-color.
Always model it as a distinct system.
Examples of useful semantic outputs:
--bg-page-base--bg-page-overlay--bg-page-pattern--bg-hero-gradient--bg-section-muted--pattern-stripe-color--pattern-grid-color--texture-noise-opacity--ambient-glow-primary--ambient-glow-blur--decorative-line-opacityExtract repeated visual motifs that may appear in only a few places but clearly shape the site’s identity.
You must inspect and abstract:
A motif may originate in one component but still represent page-level visual DNA. Elevate it when appropriate.
Useful outputs include:
motifs.diagonal-stripemotifs.gridlinemotifs.editorial-rulemotifs.noise-overlaymotifs.ambient-glowmotifs.scanlineUse the final rendered/computed result as the ground truth.
Prioritize:
Do not rely solely on authored CSS.
Mandatory computed style checks — before recording any token value, use browser tools to read the actual computed value. Do not infer from class names, design system conventions, or framework patterns. Specifically:
document.documentElement.getAttribute('data-theme') to confirm the actual default theme on page load. Never assume dark-first or light-first from visual appearance alone.getComputedStyle(document.documentElement).getPropertyValue('--var-name') to get exact values.getComputedStyle(el).backgroundColor, .color, .borderColor etc. — not from class names.getComputedStyle(el).transition to get the actual easing curve, not a generic approximation.background-image on all elements to detect patterns, gradients, and motifs.If a value cannot be read via computed style (e.g. cross-origin stylesheet blocked, canvas-only visuals), you must label it as "inferred" in the manifest's limitations field. Do not silently use an approximated value as if it were measured.
Do not emit a token for every distinct observed value.
Instead:
Example:
Bad:
--blue-1--blue-2--blue-3--text-gray-7Better:
--color-brand-primary--color-link-default--color-link-hover--color-text-secondaryA useful reference file must explain what a value does, not only what the value is.
Always try to map raw observations into roles.
Do not assume the static DOM shows all relevant UI states.
For every component archetype in the manifest, you must record all of the following states:
If a state cannot be reliably observed, you must explicitly record it as "inferred" or "unavailable" — do not omit it silently. A missing state entry is not the same as an unavailable state.
If you see 11 cards, do not export 11 card classes unless they are meaningfully distinct.
Instead compress them into a small set of archetypes, for example:
The specimen file should use neutral placeholder content.
Do not preserve source page copy unless the user explicitly asks.
If some styles are not reliably extractable, say so.
Never emit an empty object or empty array for a field you could not extract. Instead:
null and add a note to limitations."inferred: <reason>" or add it to limitations.Bad:
"shadow": {}
"surfaces": {}Good:
"shadow": null,
"limitations": ["Shadow styles not observed — site appears to use no box-shadow"]Typical limitations include:
A page may feel distinctive because of background treatment, not because of buttons or cards.
Always inspect atmosphere at 4 levels: page-level (html/body/main wrappers), section-level (hero, feature, CTA), decorative-layer (pseudo-elements, absolutely positioned ornaments, SVG art-direction layers), and motif system (stripes, grids, scan lines, grain, glows, repeated patterns).
When inspecting, always check: background, background-image, background-size/repeat/position/attachment, mask, mask-image, filter, backdrop-filter, opacity, mix-blend-mode, isolation, decorative SVGs, data URI / base64 backgrounds, and pseudo-element paint layers.
If an atmospheric pattern appears only in one component but clearly represents the site's broader visual language, elevate it into a motif token rather than leaving it inside that component.
In addition to CSS facts, summarize the visual mood in plain language.
Examples:
This mood description should align with the extracted tokens and motifs.
Do not attempt to extract styles by reading static HTML source or stylesheet files alone — computed styles, CSS variable resolution, and theme state require a live browser context.
This skill ships a self-contained Python/Playwright script. Before running it, resolve SKILL_DIR using the Glob pattern **/skills/extract-design/SKILL.md (as described in Output Location above), then substitute it into the path below.
Setup (one-time):
pip install playwright
playwright install chromiumUsage:
# Light mode only
python3 {SKILL_DIR}/scripts/extract-styles.py https://example.com
# Light + dark mode
python3 {SKILL_DIR}/scripts/extract-styles.py https://example.com --dark
# Save to file
python3 {SKILL_DIR}/scripts/extract-styles.py https://example.com --dark --out /tmp/styles.jsonFor @keyframes extraction (required for animation system):
python3 {SKILL_DIR}/scripts/extract-keyframes.py https://example.com --out /tmp/keyframes.jsonThe script outputs structured JSON with light and dark keys, each containing:
cssVars — all CSS custom properties (--*) from stylesheetscolors — computed backgroundColor, color on html/body/card elementsfonts — computed fontFamily, fontSize, fontWeight on body, h1, h2button — computed styles on the first <button>backgroundImages — all elements with background-image !== none (patterns, gradients)accentColors — computed colors on links and accent/brand-classed elementstypography — h1 size, weight, letter-spacing, line-height, colorBefore starting: Open {SKILL_DIR}/references/extraction-checklist.md and keep it open throughout. Check off each item as you complete it. Use {SKILL_DIR}/references/style-specimen.html as your structural template when building Output C.
Summarize:
Collect all observed values by reading computed styles directly, not by inferring from class names or source code.
Required checks (run these before proceeding to Step 3):
document.documentElement.getAttribute('data-theme') — record the actual value on page loadgetComputedStyle(document.body).backgroundColorgetComputedStyle(document.body).colorgetComputedStyle(document.body).fontFamilydocument.styleSheets to extract all -- variables with their actual values.color and .backgroundColorbackgroundImage !== 'none' — record the full value including gradient stops and background-sizegetComputedStyle(el).transition on buttons and interactive elements — record the exact easing functionbackgroundColor, borderColor, borderRadius, boxShadow on card elements@keyframes rules from stylesheets (see section 6b for method)Record raw values first. Do not skip to naming or abstracting until all raw values are collected.
Reduce noise and create primitive tokens.
Assign role-based names.
Identify:
Identify reusable component families.
Summarize state transitions and motion behavior. If the site uses @keyframes (backgrounds, modals, loading states, hover effects):
{SKILL_DIR}/scripts/extract-keyframes.py or extract via browser consolemotion.keyframes arrayCreate a general-purpose design reference page following the structure in {SKILL_DIR}/references/style-specimen.html. Save to {SKILL_DIR}/assets/theme/{name}-style-specimen.html.
The template uses /* REPLACE */ as placeholders for every CSS token value. You must replace every single one with a value measured from the target site. Search the output file for /* REPLACE */ before saving — if any remain, the step is not complete. Add or remove motif cards and background sample cards to match what was actually found.
Ask:
If not, revise.
Before saving, verify that the manifest and specimen HTML are consistent:
manifest.components must have a corresponding rendered section in the specimen HTML.manifest.components.{} or empty array [] — use null with a limitations note instead.If they are out of sync, fix both files before finishing.
The structured manifest should generally follow this shape:
{
"meta": {},
"style_character": {},
"primitives": {},
"semantic": {},
"background": {
"page": {},
"sections": [],
"layers": [],
"gradients": [],
"patterns": [],
"images": [],
"overlays": []
},
"motifs": [],
"themes": {},
"motion": {
"duration": {},
"easing": {},
"keyframes": [
{
"name": "animationName",
"description": "What the animation does",
"from": "opacity: 0; transform: scale(0.95)",
"to": "opacity: 1; transform: scale(1)"
}
]
},
"components": [],
"responsive_rules": [],
"accessibility_notes": [],
"limitations": []
}Note: If no @keyframes were found on the site, set motion.keyframes to null with a note in limitations.
© LeoYeAI, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 14 other files (scripts, references, assets) in skills/extract-design of LeoYeAI/openclaw-master-skills.
Open the folder on GitHubat commit e5199b5
Extract Design 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Extract Design this skillLeoYeAI/openclaw-master-skills | 2.2k | — | ~6k | Automated safety check: Pass | MIT | |
| Impeccablebestofjs/bestofjs | 3.1k | 27 repos | ~2.6k | Automated safety check: Pass | MIT | |
| Tailwindcss Developmentanonaddy/anonaddy | 4.9k | 10 repos | ~865 | Automated safety check: Pass | MIT | |
| Design SystemOhh-889/skyroc | 795 | 11 repos | ~1.7k | Automated safety check: Pass | MIT | |
| Make Interfaces Feel Bettersamuelclay/NewsBlur | 7.6k | 10 repos | ~1.5k | Automated safety check: Pass | MIT | |
| UI UX Pro Maxsaoudi-h/solar-icons | 186 | 18 repos | ~11k | Automated safety check: Notes | Custom licence |
bestofjs/bestofjs
A skill your agent uses when the user wants to design, redesign, shape, critique, audit, polish, clarify, distill, harden, optimize, adapt, animate, colorize, extract, or otherwise improve a…
anonaddy/anonaddy
Always invoke when the user's message includes 'tailwind' in any form.
Ohh-889/skyroc
Token architecture, component specifications, and slide generation.
samuelclay/NewsBlur
Design engineering principles for making interfaces feel polished.
saoudi-h/solar-icons
UI/UX design intelligence for web and mobile. An agent skill from saoudi-h/solar-icons.
ibelick/ui-skills
Applies a fixed set of UI rules for stack, components, interaction, animation, typography and layout, or reviews a file against them with concrete fixes.
LeoYeAI/openclaw-master-skills
Manages pipelines on a DevOps quality and efficiency platform through its OpenAPI: list workspaces and templates, create, update, run and cancel pipelines, and read run records.
LeoYeAI/openclaw-master-skills
Patches OpenClaw's Feishu extension so an edited document triggers an isolated agent session that reads the doc and replies inline, turning it into a live chat space.
LeoYeAI/openclaw-master-skills
Multi-context memory management system for OpenClaw agents with group-isolated storage, global shared memory, workspace organization, and group-specific skills isolation.
LeoYeAI/openclaw-master-skills
Runs a brand's AI-search visibility work end to end: diagnosing how AI platforms represent it, repositioning it, producing AI-optimized content and monitoring ongoing mentions.
LeoYeAI/openclaw-master-skills
Installs and authenticates the gws CLI, then automates Gmail, Drive, Sheets, Calendar, Docs, Chat and Tasks with ready-made recipes, persona bundles and security audits.
LeoYeAI/openclaw-master-skills
Runs four advisor roles, a fitness coach, nutritionist, data analyst and TCM practitioner, to build a health profile and track workouts, diet and wellness over time.
Categories
A skill your agent uses when the user wants to extract a webpage's design language into a reusable HTML style reference file, including typography, colors, spacing, surfaces, components, states…. Extract Design is an agent skill from LeoYeAI/openclaw-master-skills. Use this skill when the user wants to extract a webpage's design language into a reusable HTML style reference file, including typography, colors, spacing, surfaces, components, states, themes, motion, code-block styles, background atmosphere, decorative motifs, and art direction.
Extract Design fits situations like: the user wants to extract a webpages design language into a reusable HTML style reference file; including typography; code-block styles; background atmosphere.
Run `npx skills add LeoYeAI/openclaw-master-skills --skill extract-design -a claude-code`. Or copy the skill folder (skills/extract-design in LeoYeAI/openclaw-master-skills) into .claude/skills/extract-design in your project. Claude Code loads it when a task matches its description.
Run `npx skills add LeoYeAI/openclaw-master-skills --skill extract-design -a codex`. Or copy the skill folder (skills/extract-design in LeoYeAI/openclaw-master-skills) into .agents/skills/extract-design in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add LeoYeAI/openclaw-master-skills --skill extract-design -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, .gemini/skills/extract-design, .github/skills/extract-design and .opencode/skills/extract-design in your project.
Going by SKILL.md and its folder, Extract Design needs Python for the scripts in its folder and the command-line tools its instructions call (python3, pip and playwright). Our summary lists: Python 3.
SKILL.md contains no URLs. Its commands use pip, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
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.
Extract Design is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 6k tokens (SKILL.md is roughly 24k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 9.5k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Extract Design: Impeccable (bestofjs/bestofjs, 3.1k stars), Tailwindcss Development (anonaddy/anonaddy, 4.9k stars), Design System (Ohh-889/skyroc, 795 stars) and Make Interfaces Feel Better (samuelclay/NewsBlur, 7.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
LeoYeAI (a GitHub user) maintains it in LeoYeAI/openclaw-master-skills, which has 2,160 GitHub stars. The repository holds 1,235 skills in this directory. The repository was last updated on July 20, 2026.
Source: LeoYeAI/openclaw-master-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.