Not in the top 1,000 by GitHub stars

uxKero/anydesign

Claude skill that analyzes images, websites, and Figma files and generates a structured design.md with token system, component inventory, and reconstruction notes.

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → d81bd8957a21

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit d81bd8957a21c2d7fba8d2a8f4f60050d09368b5

239GitHub stars
3stars in 7 days
1skill in this repository
0commits in 30 days

Heat

4.8
  • Star growth, last 7 daysNot available
  • Star growth, last 24 hoursNot available
  • Rank movement, last 7 daysNot available
  • Commits, last 30 daysNot available
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekNot available

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Oct 25, 2026Nov 6, 2026239

30-day change not yet available: not enough history.

Individual skills in this repository

How it works

anydesign

When your agent uses it

Extract the design of a screenshot, website URL or Figma file into a design.md with tokens, components, layout and brand rules, or copy one element (navbar, card, illustration) into an element.md with a rebuild or image-generation prompt. Use when the user wants to document, replicate, audit or reverse-engineer a visual design: its design system, palette, typography or style.

What it loads into context

Frontmatter

87 tokens

Always available to the agent

SKILL.md

1,485 tokens

When the skill is activated

Reference documents

45,556 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. Role
  2. Two modes
  3. Token budget (applies to every step)
  4. Workflow
  5. Scripts

Scripts executed separately

  • examples/vercel-landing/claude-design-bundle/tailwind.config.ts
  • scripts/build_tokens_json.py
  • scripts/capture_site.py
  • scripts/check_contrast.py
  • scripts/export_for_claude_design.py
  • scripts/extract_colors.py
  • scripts/extract_css_vars.py
  • scripts/lint_design_md.py
  • scripts/verify_design.py

Files

  • .gitignoreasset867 bytes
  • CHANGELOG.mddoc22,248 bytes
  • LICENSEasset1,078 bytes
  • README.mddoc15,759 bytes
  • SKILL.mdcore6,060 bytes
  • SKILL.mdcore6,060 bytes
  • SKILL.mdcore6,060 bytes
  • examples/README.mddoc6,914 bytes
  • examples/discord-hero-asset/element-3D-isolated.pngasset178,303 bytes
  • examples/discord-hero-asset/element-3D.pngasset491,917 bytes
  • examples/discord-hero-asset/element.mddoc9,089 bytes
  • examples/discord-hero-asset/element.pngasset266,673 bytes
  • examples/discord-hero-asset/source.mddoc2,986 bytes
  • examples/game-asset-pack/asset-character.pngasset257,297 bytes
  • examples/game-asset-pack/element.mddoc6,628 bytes
  • examples/game-asset-pack/element.pngasset693,062 bytes
  • examples/game-asset-pack/source.mddoc2,721 bytes
  • examples/landing-example/design-a11y.mddoc1,557 bytes
  • examples/landing-example/design-tokens.jsonasset5,946 bytes
  • examples/landing-example/design.mddoc16,746 bytes
  • examples/landing-example/source.mddoc1,484 bytes
  • examples/poolsuite-player-element/element.htmlasset20,127 bytes
  • examples/poolsuite-player-element/element.mddoc12,444 bytes
  • examples/poolsuite-player-element/element.pngasset87,689 bytes
  • examples/poolsuite-player-element/source.mddoc2,857 bytes
  • examples/poolsuite-player-element/v0-result.pngasset30,993 bytes
  • examples/v0-downstream-demo/README.mddoc1,753 bytes
  • examples/v0-downstream-demo/screenshot.pngasset182,531 bytes
  • examples/vercel-landing/capture.pngasset232,575 bytes
  • examples/vercel-landing/claude-design-bundle/README-claude-design.mddoc2,331 bytes
  • examples/vercel-landing/claude-design-bundle/brand-kit.pptxasset50,215 bytes
  • examples/vercel-landing/claude-design-bundle/brand-overview.docxasset50,865 bytes
  • examples/vercel-landing/claude-design-bundle/tailwind.config.tsruns5,303 bytes
  • examples/vercel-landing/claude-design-bundle/tokens.cssasset5,563 bytes
  • examples/vercel-landing/design-a11y.mddoc2,159 bytes
  • examples/vercel-landing/design-tokens.jsonasset16,359 bytes
  • examples/vercel-landing/design.mddoc33,293 bytes
  • examples/vercel-landing/source.mddoc3,353 bytes
  • references/capture-flows.mddoc7,798 bytes
  • references/design-md.mddoc11,216 bytes
  • references/element-copy.mddoc13,495 bytes
  • requirements.txtdoc793 bytes
  • scripts/build_tokens_json.pyruns11,392 bytes
  • scripts/capture_site.pyruns18,268 bytes
  • scripts/check_contrast.pyruns6,687 bytes
  • scripts/export_for_claude_design.pyruns44,133 bytes
  • scripts/extract_colors.pyruns4,836 bytes
  • scripts/extract_css_vars.pyruns17,010 bytes
  • scripts/lint_design_md.pyruns12,157 bytes
  • scripts/verify_design.pyruns12,595 bytes
Read SKILL.md

# AnyDesign: design analysis and documentation

## Role

You are a **Design Systems Analyst**: part visual detective, part systems designer, part
frontend engineer. Don't describe what you see; **diagnose the design**: which decisions
were deliberate, which patterns repeat, which tokens operate under the surface, and what it
would take to rebuild it. The reader is a designer or another AI that will reconstruct the
design from your file. Work in the user's language.

## Two modes

- **Full mode** (default): the design of a page, file or system → the workflow below,
  output `design.md`.
View the complete source on GitHub

Skills included

  • anydesign

Repository facts

License
MIT
Created
May 18, 2026
Last pushed
Sep 15, 2026
Forks
15
Open issues
0
Project activity
Active

Before you install

Local scripts

Automated signals, not a guarantee

Checked Nov 6, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 3 notes
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • examples/poolsuite-player-element/element.html:1 Analysis incomplete: physical or joined line exceeds character limit
Show all 167 signals by file

.gitignore

  • Access to secretsline 52
    [Credential-related source omitted]

CHANGELOG.md

  • Network accessline 5
    The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
  • Network accessline 6
    and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
  • Network accessline 138
    token-grounded VHS-still image prompt. Downstream proof: the prompt pasted into   v0 produced a live rebuild at   [retro-radio-player-zz.vercel.app](https://retro-radio-player-zz.vercel.app/)
  • Network accessline 139
    v0 produced a live rebuild at   [retro-radio-player-zz.vercel.app](https://retro-radio-player-zz.vercel.app/)   in two iterations — the second fixing typographic case discipline, a lesson
  • Network accessline 140
    [retro-radio-player-zz.vercel.app](https://retro-radio-player-zz.vercel.app/)
  • Network accessline 157
    - **`scripts/export_for_claude_design.py`** — packages a `design.md` (+ optional   `design-tokens.json`) into a multi-format bundle ready to upload as "brand and product   assets" in [claude.ai/design](https://claude.ai/design). Emits:
  • Network accessline 158
    `design-tokens.json`) into a multi-format bundle ready to upload as "brand and product   assets" in [claude.ai/design](https://claude.ai/design). Emits:   - `brand-kit.pptx` — cover, atmosphere, color swatches (paginated), typography sample
  • Network accessline 159
    assets" in [claude.ai/design](https://claude.ai/design). Emits:
  • Network accessline 283
    - Downstream-consumption demo: `examples/v0-downstream-demo/` — screenshot of a   v0-generated app built from a `design.md` produced by this skill, with live URL   ([v0-anydesignexample.vercel.app](https://v0-anydesignexample.vercel.app/)).
  • Network accessline 284
    v0-generated app built from a `design.md` produced by this skill, with live URL   ([v0-anydesignexample.vercel.app](https://v0-anydesignexample.vercel.app/)). Proves   the output is portable across AI builders.
  • Network accessline 285
    ([v0-anydesignexample.vercel.app](https://v0-anydesignexample.vercel.app/)). Proves

README.md

  • Network accessline 11
    [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
  • Network accessline 12
    [![Skill Version](https://img.shields.io/badge/version-0.6.0-blue.svg)](./CHANGELOG.md)
  • Network accessline 13
    [![Claude Skill](https://img.shields.io/badge/Claude-Skill-purple.svg)](https://docs.claude.com/en/docs/agents-and-tools/agent-skills/overview)
  • Network accessline 14
    [![DTCG](https://img.shields.io/badge/Design%20Tokens-DTCG-green.svg)](https://www.designtokens.org/)
  • Network accessline 15
    [![GitHub stars](https://img.shields.io/github/stars/uxKero/anydesign?style=flat&color=orange)](https://github.com/uxKero/anydesign/stargazers)
  • Network accessline 47
    The skill analyzed [vercel.com](https://vercel.com) (808 CSS custom properties
  • Network accessline 50
    [![A running app generated by v0 from a design.md this skill produced](./examples/v0-downstream-demo/screenshot.png)](https://v0-anydesignexample.vercel.app/)
  • Network accessline 52
    <div align="center"><sup>Live at <a href="https://v0-anydesignexample.vercel.app/">v0-anydesignexample.vercel.app</a> · full run in <a href="./examples/vercel-landing"><code>examples/vercel-landing/</code></a></sup></div>
  • Network accessline 56
    Element mode pointed at the retro Mac OS player of [poolsuite.net](https://poolsuite.net): DOM-precise capture, pixel-sampled palette,
  • Network accessline 57
    [poolsuite.net](https://poolsuite.net): DOM-precise capture, pixel-sampled palette,
  • Network accessline 65
    <div align="center"><sup>Live at <a href="https://retro-radio-player-zz.vercel.app/">retro-radio-player-zz.vercel.app</a> · run details in <a href="./examples/poolsuite-player-element"><code>examples/poolsuite-player-element/</code></a></su
  • Network accessline 105
    git clone https://github.com/uxKero/anydesign.git
  • Network accessline 134
    |---|---| | **`design.md`** | 7-section spec: TL;DR → visual identity (incl. brand voice + the "ONE brand thing") → tokens → components → layout → reconstruction notes → Do's/Don'ts → open questions. YAML frontmatter + `{token.refs}` make i
  • Network accessline 135
    | **`design.md`** | 7-section spec: TL;DR → visual identity (incl. brand voice + the "ONE brand thing") → tokens → components → layout → reconstruction notes → Do's/Don'ts → open questions. YAML frontmatter + `{token.refs}` make it machine-
  • Network accessline 136
    | **`design-tokens.json`** | [W3C DTCG](https://www.designtokens.org/) format (`$value`/`$type`) — drops into Style Dictionary, Figma Variables, Tokens Studio. |
  • Network accessline 167
    | Tool | How | |---|---| | **[v0](https://v0.dev)** / **[Bolt](https://bolt.new)** / **[Lovable](https://lovable.dev)** | Paste `design.md` as the brief — see both [live](https://v0-anydesignexample.vercel.app/) [demos](https://retro-radio-
  • Network accessline 168
    |---|---| | **[v0](https://v0.dev)** / **[Bolt](https://bolt.new)** / **[Lovable](https://lovable.dev)** | Paste `design.md` as the brief — see both [live](https://v0-anydesignexample.vercel.app/) [demos](https://retro-radio-player-zz.verce
  • Network accessline 169
    | **[v0](https://v0.dev)** / **[Bolt](https://bolt.new)** / **[Lovable](https://lovable.dev)** | Paste `design.md` as the brief — see both [live](https://v0-anydesignexample.vercel.app/) [demos](https://retro-radio-player-zz.vercel.app/) |
  • Network accessline 170
    | **[Claude Code](https://claude.com/claude-code)** / **[Cursor](https://cursor.sh)** / **[Windsurf](https://codeium.com/windsurf)** | Drop `design.md` + `design-tokens.json` into context, ask for the build |
  • Network accessline 188
    | `build_tokens_json.py` | Generate `design-tokens.json` (DTCG) from a `design.md` | stdlib | | `verify_design.py` | **Drift audit**: compare a `design-tokens.json` against the live URL — is your spec still true? | stdlib | | `export_for_cl
  • Network accessline 190
    | `export_for_claude_design.py` | Bundle tokens into PPTX/DOCX/CSS/Tailwind for [claude.ai/design](https://claude.ai/design) | `pyyaml`, `python-pptx`, `python-docx` |
  • Network accessline 196
    # Pull design tokens from any URL — no Claude needed python scripts/extract_css_vars.py https://vercel.com/
  • Network accessline 197
    python scripts/extract_css_vars.py https://vercel.com/
  • Network accessline 199
    # Computed styles + readable frames, desktop and mobile python scripts/capture_site.py https://your-site.com --viewports desktop,mobile
  • Network accessline 200
    python scripts/capture_site.py https://your-site.com --viewports desktop,mobile
  • Network accessline 202
    # Capture a single element (screenshot + outerHTML) python scripts/capture_site.py https://your-site.com --selector "header.navbar" -o element.png
  • Network accessline 203
    python scripts/capture_site.py https://your-site.com --selector "header.navbar" -o element.png
  • Network accessline 212
    # Audit declared tokens vs live site (the drift tool) python scripts/verify_design.py path/to/design-tokens.json https://vercel.com/
  • Network accessline 213
    python scripts/verify_design.py path/to/design-tokens.json https://vercel.com/
  • Network accessline 232
    [**Claude Design**](https://claude.ai/design) (Anthropic Labs) builds a persistent
  • Network accessline 320
    Made something with anydesign? **[Open an issue and show it](https://github.com/uxKero/anydesign/issues)** ✨

examples/README.md

  • Network accessline 22
    - [`design-a11y.md`](./vercel-landing/design-a11y.md) — WCAG 2.1 contrast report - [`capture.png`](./vercel-landing/capture.png) — desktop screenshot (1440×900, downsized) - [`claude-design-bundle/`](./vercel-landing/claude-design-bundle) —
  • Network accessline 24
    - [`claude-design-bundle/`](./vercel-landing/claude-design-bundle) — ready-to-upload bundle for [claude.ai/design](https://claude.ai/design), generated by `scripts/export_for_claude_design.py` from the two files above. Includes `brand-kit.p
  • Network accessline 39
    First real-world run of **element mode** (v0.5.0). Targets the signature component of [poolsuite.net](https://poolsuite.net) — the retro Mac OS player window — via DOM-precise
  • Network accessline 40
    [poolsuite.net](https://poolsuite.net) — the retro Mac OS player window — via DOM-precise
  • Network accessline 49
    Downstream proof included: the reconstruction prompt pasted into v0 produced [retro-radio-player-zz.vercel.app](https://retro-radio-player-zz.vercel.app/) in two
  • Network accessline 50
    [retro-radio-player-zz.vercel.app](https://retro-radio-player-zz.vercel.app/) in two
  • Network accessline 104
    A screenshot of a running app at [v0-anydesignexample.vercel.app](https://v0-anydesignexample.vercel.app/) generated by
  • Network accessline 105
    [v0-anydesignexample.vercel.app](https://v0-anydesignexample.vercel.app/) generated by
  • Network accessline 106
    [v0](https://v0.dev) from a `design.md` this skill produced. Demonstrates that the
  • Network accessline 111
    - All `design-tokens.json` files follow the   [W3C Design Tokens Community Group](https://www.designtokens.org/) format
  • Network accessline 112
    [W3C Design Tokens Community Group](https://www.designtokens.org/) format

examples/discord-hero-asset/element.md

  • Network accessline 2
    version: anydesign-element-1 name: "Discord homepage hero — 3D clay scene" source: https://discord.com
  • Network accessline 3
    name: "Discord homepage hero — 3D clay scene" source: https://discord.com captured_at: 2026-06-10
  • Network accessline 4
    source: https://discord.com
  • Network accessline 30
    - **Source**: <https://discord.com> (desktop viewport 1440×900)

examples/discord-hero-asset/source.md

  • Network accessline 7
    - **Source**: <https://discord.com> — homepage hero, desktop viewport 1440×900
  • Network accessline 16
    # 1. Scout the full page python scripts/capture_site.py https://discord.com --scroll-capture \
  • Network accessline 17
    python scripts/capture_site.py https://discord.com --scroll-capture \
  • Network accessline 20
    # 2. Element capture of the composed hero scene python scripts/capture_site.py https://discord.com \
  • Network accessline 21
    python scripts/capture_site.py https://discord.com \

examples/game-asset-pack/element.md

  • Network accessline 2
    version: anydesign-element-1 name: "Toon battle-royale key art — game asset pack" source: https://supercell.com/en/games/brawlstars/
  • Network accessline 3
    name: "Toon battle-royale key art — game asset pack" source: https://supercell.com/en/games/brawlstars/ captured_at: 2026-06-11
  • Network accessline 4
    source: https://supercell.com/en/games/brawlstars/
  • Network accessline 30
    - **Source**: <https://supercell.com/en/games/brawlstars/> (desktop 1440×900)

examples/game-asset-pack/source.md

  • Network accessline 9
    - **Source**: <https://supercell.com/en/games/brawlstars/> — the hero key art
  • Network accessline 19
    # 1. Scout the full page python scripts/capture_site.py https://supercell.com/en/games/brawlstars/ \
  • Network accessline 20
    python scripts/capture_site.py https://supercell.com/en/games/brawlstars/ \
  • Network accessline 23
    # 2. Element capture of the key art python scripts/capture_site.py https://supercell.com/en/games/brawlstars/ \
  • Network accessline 24
    python scripts/capture_site.py https://supercell.com/en/games/brawlstars/ \

examples/landing-example/design-tokens.json

  • Network accessline 60
    "$extensions": {     "anydesign": {       "source":       "https://lumen.example/",
  • Network accessline 61
    "anydesign": {       "source":       "https://lumen.example/",       "captured_at":  "2026-05-18",
  • Network accessline 62
    "source":       "https://lumen.example/",

examples/landing-example/design.md

  • Network accessline 2
    version: anydesign-1 name: Lumen Notes (fictional) source: https://lumen.example/
  • Network accessline 3
    name: Lumen Notes (fictional) source: https://lumen.example/ captured_at: 2026-05-18
  • Network accessline 4
    source: https://lumen.example/
  • Network accessline 86
    - **Source type**: URL - **Path / URL**: `https://lumen.example/` *(fictional, for documentation purposes)*
  • Network accessline 87
    - **Path / URL**: `https://lumen.example/` *(fictional, for documentation purposes)*
  • Network accessline 313
    python scripts/capture_site.py https://lumen.example/ \

examples/landing-example/source.md

  • Network accessline 18
    1. `WebFetch https://lumen.example/` → HTML had real content (no Playwright needed).
  • Network accessline 19
    2. `python scripts/extract_css_vars.py https://lumen.example/ --pretty` →

examples/poolsuite-player-element/element.html

  • Network accessline 1
    <div class="draggable resizable vdr allow-drag flex flex-col pointer-events-auto border bg-secondary border-black rounded-md h-full p-1.5 shadow-is-component min-w-[var(--minWidth)] min-h-[var(--minHeight)]" id="component-is-fm" style="tran

examples/poolsuite-player-element/element.md

  • Network accessline 2
    version: anydesign-element-1 name: "Poolsuite FM player window" source: https://poolsuite.net
  • Network accessline 3
    name: "Poolsuite FM player window" source: https://poolsuite.net captured_at: 2026-06-10
  • Network accessline 4
    source: https://poolsuite.net
  • Network accessline 54
    - **Source**: <https://poolsuite.net> (desktop-only experience, 1440×900 capture)

examples/poolsuite-player-element/source.md

  • Network accessline 5
    - **Source**: <https://poolsuite.net> — the cult desktop-only "summer internet radio"
  • Network accessline 16
    # 1. Scout the full page to locate the element python scripts/capture_site.py https://poolsuite.net --scroll-capture \
  • Network accessline 17
    python scripts/capture_site.py https://poolsuite.net --scroll-capture \
  • Network accessline 20
    # 2. Element capture — screenshot + outerHTML of the player window only python scripts/capture_site.py https://poolsuite.net \
  • Network accessline 21
    python scripts/capture_site.py https://poolsuite.net \
  • Network accessline 27
    # 4. Explicit tokens from the live CSS (shadow system, font declarations) python scripts/extract_css_vars.py https://poolsuite.net --pretty
  • Network accessline 28
    python scripts/extract_css_vars.py https://poolsuite.net --pretty
  • Network accessline 36
    The reconstruction prompt (Section 3 of `element.md`) was pasted into [v0](https://v0.dev) verbatim. The live result:
  • Network accessline 37
    [v0](https://v0.dev) verbatim. The live result:
  • Network accessline 39
    **<https://retro-radio-player-zz.vercel.app/>** — see
  • Network accessline 61
    `--selector` - [`v0-result.png`](./v0-result.png) — the v0 rebuild, live at   [retro-radio-player-zz.vercel.app](https://retro-radio-player-zz.vercel.app/)
  • Network accessline 63
    [retro-radio-player-zz.vercel.app](https://retro-radio-player-zz.vercel.app/)

examples/v0-downstream-demo/README.md

  • Network accessline 9
    `screenshot.png` — a screenshot of a running app at **https://v0-anydesignexample.vercel.app/**, generated by [v0](https://v0.dev) from a
  • Network accessline 10
    **https://v0-anydesignexample.vercel.app/**, generated by [v0](https://v0.dev) from a
  • Network accessline 20
    │                                               ▼                                        https://v0-anydesignexample.vercel.app/
  • Network accessline 22
    https://v0-anydesignexample.vercel.app/

examples/vercel-landing/claude-design-bundle/README-claude-design.md

  • Network accessline 30
    <link href="https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;700&display=swap" rel="stylesheet">
  • Network accessline 37
    *Generated by [anydesign](https://github.com/uxKero/anydesign) · `scripts/export_for_claude_design.py`*

examples/vercel-landing/claude-design-bundle/tailwind.config.ts

  • Executable scriptline 1
    Executable file

examples/vercel-landing/design-tokens.json

  • Network accessline 205
    "$extensions": {     "anydesign": {       "source":              "https://vercel.com/",
  • Network accessline 206
    "anydesign": {       "source":              "https://vercel.com/",       "captured_at":         "2026-05-18",
  • Network accessline 207
    "source":              "https://vercel.com/",

examples/vercel-landing/design.md

  • Network accessline 2
    version: anydesign-1 name: Vercel landing (vercel.com) source: https://vercel.com/
  • Network accessline 3
    name: Vercel landing (vercel.com) source: https://vercel.com/ captured_at: 2026-05-18
  • Network accessline 4
    source: https://vercel.com/
  • Network accessline 113
    - **Source type**: URL - **Path / URL**: `https://vercel.com/`
  • Network accessline 114
    - **Path / URL**: `https://vercel.com/`
  • Network accessline 559
    python scripts/capture_site.py https://vercel.com/ \

examples/vercel-landing/source.md

  • Network accessline 9
    - **URL**: `https://vercel.com/`
  • Network accessline 23
    python scripts/capture_site.py https://vercel.com/ \
  • Network accessline 40
    python scripts/extract_css_vars.py https://vercel.com/ \

references/capture-flows.md

  • Network accessline 109
    **Typical input:** a URL like `https://www.figma.com/file/<key>/...` or
  • Network accessline 110
    `https://www.figma.com/design/<key>/...` or a specific node with `?node-id=...`.

references/design-md.md

  • Network accessline 54
    version: anydesign-1 name: Example source: https://example.com
  • Network accessline 55
    name: Example source: https://example.com captured_at: YYYY-MM-DD
  • Network accessline 56
    source: https://example.com

scripts/build_tokens_json.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/capture_site.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 13
    Basic usage:     python capture_site.py https://example.com
  • Network accessline 14
    python capture_site.py https://example.com
  • Network accessline 16
    Multi-viewport capture (for responsive analysis):     python capture_site.py https://example.com \\
  • Network accessline 17
    python capture_site.py https://example.com \\
  • Network accessline 21
    Scroll capture (for lazy-loaded content):     python capture_site.py https://example.com --scroll-capture
  • Network accessline 22
    python capture_site.py https://example.com --scroll-capture
  • Network accessline 24
    Element capture (for element mode — screenshots one element only):     python capture_site.py https://example.com \\
  • Network accessline 25
    python capture_site.py https://example.com \\
  • Network accessline 32
    More or fewer frames, or the old single full-page PNG:     python capture_site.py https://example.com --frames 2
  • Network accessline 33
    python capture_site.py https://example.com --frames 2
  • Network accessline 34
    python capture_site.py https://example.com --full-page
  • Network accessline 36
    Also keep the post-JS rendered HTML (large; grep it, never read it whole):     python capture_site.py https://example.com --save-html
  • Network accessline 37
    python capture_site.py https://example.com --save-html

scripts/check_contrast.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/export_for_claude_design.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 1133
    "",         "  ```html",         '  <link href="https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;700&display=swap" rel="stylesheet">',
  • Network accessline 1134
    "  ```html",         '  <link href="https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;700&display=swap" rel="stylesheet">',         "  ```",
  • Network accessline 1135
    '  <link href="https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;700&display=swap" rel="stylesheet">',
  • Network accessline 1140
    "---",         "",         "*Generated by [anydesign](https://github.com/uxKero/anydesign) · `scripts/export_for_claude_design.py`*",
  • Network accessline 1141
    "",         "*Generated by [anydesign](https://github.com/uxKero/anydesign) · `scripts/export_for_claude_design.py`*",         "",
  • Network accessline 1142
    "*Generated by [anydesign](https://github.com/uxKero/anydesign) · `scripts/export_for_claude_design.py`*",

scripts/extract_colors.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/extract_css_vars.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 18
    Usage:     python extract_css_vars.py https://example.com
  • Network accessline 19
    python extract_css_vars.py https://example.com
  • Network accessline 20
    python extract_css_vars.py https://example.com --output ./tokens.json
  • Network accessline 21
    python extract_css_vars.py https://example.com --budget 3000
  • Network accessline 22
    python extract_css_vars.py --grep 'border|radius'   # search the saved JSON     python extract_css_vars.py https://example.com --json   # full JSON to stdout """
  • Network accessline 23
    python extract_css_vars.py https://example.com --json   # full JSON to stdout
  • Network accessline 404
    parsed = urlparse(args.url)     if not parsed.scheme:         print("URL must include scheme (http:// or https://)", file=sys.stderr)
  • Network accessline 405
    if not parsed.scheme:         print("URL must include scheme (http:// or https://)", file=sys.stderr)         sys.exit(2)
  • Network accessline 406
    print("URL must include scheme (http:// or https://)", file=sys.stderr)

scripts/lint_design_md.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/verify_design.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 18
    Usage:     python verify_design.py design-tokens.json https://vercel.com/
  • Network accessline 19
    python verify_design.py design-tokens.json https://vercel.com/
  • Network accessline 20
    python verify_design.py design-tokens.json https://vercel.com/ --output ./drift.md
  • Network accessline 21
    python verify_design.py design-tokens.json https://vercel.com/ --json
  • Network accessline 282
    parsed = urlparse(args.url)     if not parsed.scheme:         print("URL must include scheme (http:// or https://)", file=sys.stderr)
  • Network accessline 283
    if not parsed.scheme:         print("URL must include scheme (http:// or https://)", file=sys.stderr)         sys.exit(2)
  • Network accessline 284
    print("URL must include scheme (http:// or https://)", file=sys.stderr)

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Declared and executed: 1 fact
Signal confidence: 159 facts

and 109 more

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeCompatibleStandard SKILL.md SKILL.md.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.