align-grid
Build editorial/magazine/report webpages on a GENUINE Müller-Brockmann modular grid (International Typographic Style) — not a…
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
$ npx -y skills add danielvm-git/bigpowers --skill extract-design --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/extract-designContext preview
The summary Claude sees to decide when to auto-load this skill.
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
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
> **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.
# 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
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.
| Parameter | Required | Description | |-----------|----------|-------------| | `--source <file\|url>` | First run: yes. Update: optional | HTML prototype path or URL | | `--name <string>` | No | Design system name (defaults to `<title>` or directory name) | | `--lint-only` | No | Validate existing DESIGN.md without re-extraction |
| Tier | Condition | Response | |------|-----------|----------| | Fatal | No Chrome, page load timeout after retries | Exit non-zero, suggest fixes | | Degraded | Zero colors, zero typography, SPA shell | Write DESIGN.md with degradation warning | | Warned | Lint errors, uncertain decisions | Write DESIGN.md, flag in terminal, hand off to grill-me |
node extract-design/tests/test-extraction.js
See [REFERENCE.md](REFERENCE.md) for extraction algorithms and heuristics.
Agent skills synthesizing 17 years of software engineering discipline — from Clean Code to AI-native architecture — into a single, prescriptive methodology for solo developers.
Build editorial/magazine/report webpages on a GENUINE Müller-Brockmann modular grid (International Typographic Style) — not a…
Analyze the blast radius of a proposed change before any code is written. Maps dependents, affected stories, and test coverage.…
Self-review checklist for the coding agent to run before dispatching a reviewer. Checks CONVENTIONS.md compliance, Boy Scout…
Evaluate an incoming project plan against bigpowers principles and conventions, surface gaps, and produce a READY/NOT READY…
Eight-step epic build cycle — reads state.yaml, execution-status.yaml, and one epic capsule; updates status via bp-yaml-set or…
Add a new requirement or reorder epics by WSJF against specs/release-plan.yaml and epic capsule directories. Modes Add and…