Agent skill

Extract Design

by danielvm-git in danielvm-git/bigpowers

Extract a Google DESIGN.md file from an HTML prototype (claude.ai/design or any styled page) using Puppeteer, producing machine-readable tokens and AI-generated prose.

MITAuto-check passedFrontend & Design

Install Extract Design

skills CLI
$ npx skills add danielvm-git/bigpowers --skill extract-design -a claude-code

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

GitHub CLI
$ gh skill install danielvm-git/bigpowers extract-design --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/danielvm-git/bigpowers.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/extract-design .claude/skills/extract-design && 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
extract-design
GitHub stars
256
Token cost
~1k tokens
SKILL.md length
327 words
Files
30 (incl. scripts)
Skills in repo
39
Repo updated
First seen
Licence
MIT

At a glance

Extract a Google DESIGN.md file from an HTML prototype (claude.ai/design or any styled page) using Puppeteer, producing machine-readable tokens and AI-generated prose.

  • Works in 6 steps: Launch Puppeteer — dual-pass (light +… → Collect styles — page.evaluate()… → Classify tokens — modular pipeline:… → …
  • The user has an HTML prototype and wants a DESIGN.md to anchor their projects visual identity
  • SKILL.md covers Quick Start, Flow, Inputs and Output, plus 3 more sections
  • Runs JavaScript scripts from its folder; calls node and npx

What it does

Extract Design is an agent skill from danielvm-git/bigpowers. Extract a Google DESIGN.md file from an HTML prototype (claude.ai/design or any styled page) using Puppeteer, producing machine-readable tokens and AI-generated prose. Use when the user has an HTML prototype and wants a DESIGN.md to anchor their project's visual identity, or when seed-conventions has just scaffolded a new project.

Its SKILL.md is about 1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 31 other files, including scripts (for example `REFERENCE.md`, `scripts/classify-colors.js` and `scripts/classify-rounded.js`).

It sits in Frontend & Design, covering Design tokens, Project scaffolding and Logo and visual identity. It works with Puppeteer. The repository describes itself as: Agent skills synthesizing years of software engineering discipline into a prescriptive methodology for solo developers. The licence is MIT.

When your agent uses it

  • The user has an HTML prototype and wants a DESIGN.md to anchor their projects visual identity
  • Seed-conventions has just scaffolded a new project

Example prompts

  • “/extract-design”

Requirements

  • Node.js

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Launch Puppeteer — dual-pass (light + dark) with retry + timeout. CI flags: --headless=new --no-sandbox --disable-gpu --disable-dbus…
  2. Collect styles — page.evaluate() collects computed styles from every element. Returns raw JSON to Node.js. Browser = sensor; Node = brain.
  3. Classify tokens — modular pipeline: colors (Material 3 roles), typography (scale detection), spacing (tolerance GCD), rounded…
  4. Generate prose — AI heuristics produce all 8 DESIGN.md sections. Overview and Do's/Don'ts flagged with agent notes.
  5. Write + validate — serialize to specs/tech-architecture/DESIGN_LATEST.md, run npx @google/design.md lint, report to terminal.
  6. Handoff — writes handoff.next_skill: grill-me to specs/state.yaml with uncertain decisions context.

What it can do on your machine

Read from SKILL.md and the folder at commit 812d57a. 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 15 files in scripts/ (JavaScript, from the files we listed), 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 loads about 1k tokens when it runs. Until then it costs about 87 tokens; SKILL.md has 327 words of instructions outside code blocks.

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

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.

SKILL.md

The full file from danielvm-git/bigpowers at commit 812d57a, republished under its MIT licence (© danielvm-git). 327 words, ~1,017 tokens.

Download SKILL.mdSave it as .claude/skills/extract-design/SKILL.md (or your agent's skills folder). This skill also uses 29 other files; get the full folder from GitHub.
name
extract-design
description
Extract a Google DESIGN.md file from an HTML prototype (claude.ai/design or any styled page) using Puppeteer, producing machine-readable tokens and AI-generated prose. Use when the user has an HTML prototype and wants a DESIGN.md to anchor their project's visual identity, or when seed-conventions has just scaffolded a new project.
model
sonnet
effort
standard

Extract DESIGN.md from HTML

HARD GATE — Do NOT write DESIGN.md without Puppeteer dual-pass extraction. Tokens from static HTML (Cheerio, regex, string scanning) are invalid — they miss cascade, custom properties, and Tailwind resolution.

HARD GATE — Do NOT claim certainty where evidence is thin. Low-confidence color roles, component classifications, and prose assertions MUST be flagged with <!-- AGENT NOTE: uncertain — validate during grill-me. Evidence: [what was observed] -->.

HARD GATE — Do NOT ship DESIGN.md without running npx @google/design.md lint. Unvalidated output is unverified output. If lint is unavailable (offline), flag prominently in terminal and in DESIGN.md prose.

Quick Start

bash
# First run — extract from HTML prototype
node extract-design/scripts/extract.js --source ./prototype.html

# From a published URL
node extract-design/scripts/extract.js --source https://my-prototype.example.com

# With a custom name
node extract-design/scripts/extract.js --source ./proto.html --name "My Design System"

# Update — re-extract from new HTML, diff against existing
node extract-design/scripts/extract.js --source ./proto-v2.html

# Lint-only — validate existing DESIGN.md without re-extraction
node extract-design/scripts/extract.js --lint-only

Flow

  1. Launch Puppeteer — dual-pass (light + dark) with retry + timeout. CI flags: --headless=new --no-sandbox --disable-gpu --disable-dbus --use-gl=angle --use-angle=swiftshader.
  2. Collect styles — page.evaluate() collects computed styles from every element. Returns raw JSON to Node.js. Browser = sensor; Node = brain.
  3. Classify tokens — modular pipeline: colors (Material 3 roles), typography (scale detection), spacing (tolerance GCD), rounded (clustering), components (visual signature + pseudo-state variants).
  4. Generate prose — AI heuristics produce all 8 DESIGN.md sections. Overview and Do's/Don'ts flagged with agent notes.
  5. Write + validate — serialize to specs/tech-architecture/DESIGN_LATEST.md, run npx @google/design.md lint, report to terminal.
  6. Handoff — writes handoff.next_skill: grill-me to specs/state.yaml with uncertain decisions context.

Inputs

ParameterRequiredDescription
--source <file|url>First run: yes. Update: optionalHTML prototype path or URL
--name <string>NoDesign system name (defaults to <title> or directory name)
--lint-onlyNoValidate existing DESIGN.md without re-extraction

Output

  • specs/tech-architecture/DESIGN_LATEST.md — replaces DESIGN_PLAN_LATEST.md as the canonical design artifact
  • Terminal summary: token counts, component count, lint result, uncertain decisions
  • Structured JSON log to stderr: extraction events, timing, counts
  • specs/state.yaml → handoff.next_skill: grill-me with context

Error Tiers

TierConditionResponse
FatalNo Chrome, page load timeout after retriesExit non-zero, suggest fixes
DegradedZero colors, zero typography, SPA shellWrite DESIGN.md with degradation warning
WarnedLint errors, uncertain decisionsWrite DESIGN.md, flag in terminal, hand off to grill-me

Dependencies

  • Puppeteer (Chrome binary) — wrapped behind BrowserExtractor interface for testability
  • @google/design.md (soft, via npx) — wrapped behind DesignValidator interface. Warns and skips if offline.

verify

bash
node extract-design/tests/test-extraction.js

See REFERENCE.md for extraction algorithms and heuristics.

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

Files

SKILL.md and 29 other files (scripts) in skills/extract-design of danielvm-git/bigpowers.

  • SKILL.md
  • REFERENCE.md
  • extract-design.feature
  • scripts/classify-colors.js
  • scripts/classify-rounded.js
  • scripts/classify-spacing.js
  • scripts/classify-typography.js
  • scripts/collect-styles.js
  • scripts/detect-components.js
  • scripts/extract.js
  • scripts/generate-prose.js
  • scripts/lib/browser.js
  • scripts/lib/constants.js
  • scripts/lib/logging.js
  • scripts/lib/retry.js
  • scripts/lib/state.js
  • scripts/lib/validator.js
  • scripts/write-designd.js
  • tests
  • … and 11 more

Open the folder on GitHubat commit 812d57a

Compare with similar skills

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.

Extract Design compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Extract Design this skilldanielvm-git/bigpowers256—~1kAutomated safety check: PassMIT
DesignOhh-889/skyroc7959 repos~3.1kAutomated safety check: PassMIT
Cavekit Design SystemJuliusBrussee/caveman-code940—~4.5kAutomated safety check: PassMIT
Figma Codegenawdr74100/figwright977—~4.2kAutomated safety check: PassMIT
Replica DesignJakeschincariol/replica-skill734—~994Automated safety check: PassMIT
Frontend UI Foundryjiushiwon/wg-skills110—~1.4kAutomated safety check: PassApache-2.0

Similar skills

  • Design

    Ohh-889/skyroc

    Comprehensive design skill: brand identity, design tokens, UI styling, logo generation (55 styles, Gemini AI), corporate identity program (50 deliverables, CIP mockups), HTML presentations…

    795 GitHub starsUsed in 9 repos~3.1k tokens
    Frontend & DesignAuto-check passed
  • Cavekit Design System

    JuliusBrussee/caveman-code

    How to write and maintain DESIGN.md as the visual specification layer for Cavekit projects.

    940 GitHub stars~4.5k tokensUpdated 1 mo ago
    Frontend & DesignAuto-check passed
  • Figma Codegen

    awdr74100/figwright

    Generate framework-aware code from a Figma design. An agent skill from awdr74100/figwright.

    977 GitHub stars~4.2k tokensUpdated today
    Frontend & DesignAuto-check passed
  • Replica Design

    Jakeschincariol/replica-skill

    Rebuilds an app's design system for a clone: colour roles, type scale, spacing, radius, shadows and every component with its states, as design tokens plus component specs, with original assets…

    734 GitHub stars~994 tokensUpdated 4 days ago
    Frontend & DesignAuto-check passed
  • Frontend UI Foundry

    jiushiwon/wg-skills

    A skill your agent uses when generating UI for a specific scenario (mobile/PC/官网/管理端/营销页/文档/金融/原生/3D), when refactoring an existing HTML/Vue/React project to a unified design system, when extracting…

    110 GitHub stars~1.4k tokensUpdated 3 days ago
    Frontend & DesignAuto-check passed
  • Shadcn Tailwind UI

    LiarMTTT/TavernWeave

    Build, restyle, or review accessible React interfaces that use shadcn/ui, Radix UI primitives, and Tailwind CSS.

    148 GitHub stars~1.7k tokensUpdated 3 days ago
    Frontend & DesignAuto-check passed

More from danielvm-git/bigpowers

All 39 skills in this repo
  • Align Grid

    danielvm-git/bigpowers

    Build editorial/magazine/report webpages on a GENUINE Müller-Brockmann modular grid (International Typographic Style) — not a decorative one.

    256 GitHub stars~3k tokensUpdated 16 days ago
    Auto-check passed
  • Assess Impact

    danielvm-git/bigpowers

    Analyze the blast radius of a proposed change before any code is written.

    256 GitHub stars~766 tokensUpdated 16 days ago
    Auto-check passed
  • Audit Code

    danielvm-git/bigpowers

    Self-review checklist for the coding agent to run before dispatching a reviewer.

    256 GitHub stars~1.6k tokensUpdated 16 days ago
    Auto-check: notes
  • Audit Plan

    danielvm-git/bigpowers

    Evaluate an incoming project plan against bigpowers principles and conventions, surface gaps, and produce a READY/NOT READY verdict before engagement begins.

    256 GitHub stars~880 tokensUpdated 16 days ago
    Auto-check passed
  • Compose Workflow

    danielvm-git/bigpowers

    Chain multiple bigpowers skills into a custom workflow recipe saved in specs/.

    256 GitHub stars~723 tokensUpdated 16 days ago
    Auto-check passed
  • Context7 MCP

    danielvm-git/bigpowers

    Fetch current library docs via Context7 MCP instead of training data.

    256 GitHub stars~603 tokensUpdated 16 days ago
    Auto-check passed

Works with

Questions about Extract Design

What does Extract Design do?

Extract a Google DESIGN.md file from an HTML prototype (claude.ai/design or any styled page) using Puppeteer, producing machine-readable tokens and AI-generated prose. Extract Design is an agent skill from danielvm-git/bigpowers.ai/design or any styled page) using Puppeteer, producing machine-readable tokens and AI-generated prose.

When should I use Extract Design?

Extract Design fits situations like: the user has an HTML prototype and wants a DESIGN.md to anchor their projects visual identity; seed-conventions has just scaffolded a new project.

How do I install Extract Design in Claude Code?

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

How do I install Extract Design in Codex?

Run `npx skills add danielvm-git/bigpowers --skill extract-design -a codex`. Or copy the skill folder (skills/extract-design in danielvm-git/bigpowers) into .agents/skills/extract-design in your project. Codex loads it when a task matches its description.

Can I use Extract Design 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 danielvm-git/bigpowers --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.

What does Extract Design need to run?

Going by SKILL.md and its folder, Extract Design 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 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 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 use?

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.

How many tokens does Extract Design use?

About 1k tokens (SKILL.md is roughly 4.1k 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?

Skills that share tags, products or a category with Extract Design: Design (Ohh-889/skyroc, 795 stars), Cavekit Design System (JuliusBrussee/caveman-code, 940 stars), Figma Codegen (awdr74100/figwright, 977 stars) and Replica Design (Jakeschincariol/replica-skill, 734 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Extract Design?

danielvm-git (a GitHub user) maintains it in danielvm-git/bigpowers, which has 256 GitHub stars. The repository holds 39 skills in this directory. The repository was last updated on September 21, 2026.

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