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.
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
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 tokensAlways available to the agent
SKILL.md
1,485 tokensWhen the skill is activated
Reference documents
45,556 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Role
- Two modes
- Token budget (applies to every step)
- Workflow
- Scripts
Scripts executed separately
examples/vercel-landing/claude-design-bundle/tailwind.config.tsscripts/build_tokens_json.pyscripts/capture_site.pyscripts/check_contrast.pyscripts/export_for_claude_design.pyscripts/extract_colors.pyscripts/extract_css_vars.pyscripts/lint_design_md.pyscripts/verify_design.py
Files
.gitignoreasset867 bytesCHANGELOG.mddoc22,248 bytesLICENSEasset1,078 bytesREADME.mddoc15,759 bytesSKILL.mdcore6,060 bytesSKILL.mdcore6,060 bytesSKILL.mdcore6,060 bytesexamples/README.mddoc6,914 bytesexamples/discord-hero-asset/element-3D-isolated.pngasset178,303 bytesexamples/discord-hero-asset/element-3D.pngasset491,917 bytesexamples/discord-hero-asset/element.mddoc9,089 bytesexamples/discord-hero-asset/element.pngasset266,673 bytesexamples/discord-hero-asset/source.mddoc2,986 bytesexamples/game-asset-pack/asset-character.pngasset257,297 bytesexamples/game-asset-pack/element.mddoc6,628 bytesexamples/game-asset-pack/element.pngasset693,062 bytesexamples/game-asset-pack/source.mddoc2,721 bytesexamples/landing-example/design-a11y.mddoc1,557 bytesexamples/landing-example/design-tokens.jsonasset5,946 bytesexamples/landing-example/design.mddoc16,746 bytesexamples/landing-example/source.mddoc1,484 bytesexamples/poolsuite-player-element/element.htmlasset20,127 bytesexamples/poolsuite-player-element/element.mddoc12,444 bytesexamples/poolsuite-player-element/element.pngasset87,689 bytesexamples/poolsuite-player-element/source.mddoc2,857 bytesexamples/poolsuite-player-element/v0-result.pngasset30,993 bytesexamples/v0-downstream-demo/README.mddoc1,753 bytesexamples/v0-downstream-demo/screenshot.pngasset182,531 bytesexamples/vercel-landing/capture.pngasset232,575 bytesexamples/vercel-landing/claude-design-bundle/README-claude-design.mddoc2,331 bytesexamples/vercel-landing/claude-design-bundle/brand-kit.pptxasset50,215 bytesexamples/vercel-landing/claude-design-bundle/brand-overview.docxasset50,865 bytesexamples/vercel-landing/claude-design-bundle/tailwind.config.tsruns5,303 bytesexamples/vercel-landing/claude-design-bundle/tokens.cssasset5,563 bytesexamples/vercel-landing/design-a11y.mddoc2,159 bytesexamples/vercel-landing/design-tokens.jsonasset16,359 bytesexamples/vercel-landing/design.mddoc33,293 bytesexamples/vercel-landing/source.mddoc3,353 bytesreferences/capture-flows.mddoc7,798 bytesreferences/design-md.mddoc11,216 bytesreferences/element-copy.mddoc13,495 bytesrequirements.txtdoc793 bytesscripts/build_tokens_json.pyruns11,392 bytesscripts/capture_site.pyruns18,268 bytesscripts/check_contrast.pyruns6,687 bytesscripts/export_for_claude_design.pyruns44,133 bytesscripts/extract_colors.pyruns4,836 bytesscripts/extract_css_vars.pyruns17,010 bytesscripts/lint_design_md.pyruns12,157 bytesscripts/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 GitHubSkills 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 scriptsAutomated 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:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedexamples/poolsuite-player-element/element.html:1Analysis incomplete: physical or joined line exceeds character limit
- No broad tool permissions
- No dangerous shell commands
- 157 network referencesin 24 files: README.md:11 scripts/capture_site.py:13 examples/poolsuite-player-element/source.md:5 and 21 more
- No hidden or obfuscated text
- No instruction overrides
- 9 executable scriptsin 9 files: examples/vercel-landing/claude-design-bundle/tailwind.config.ts:1 scripts/build_tokens_json.py:1 scripts/capture_site.py:1 and 6 more
- 1 reference to secretsin 1 file: .gitignore:52
- No requests to vote in Hot
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
[](https://opensource.org/licenses/MIT) - Network accessline 12
[](./CHANGELOG.md) - Network accessline 13
[](https://docs.claude.com/en/docs/agents-and-tools/agent-skills/overview) - Network accessline 14
[](https://www.designtokens.org/) - Network accessline 15
[](https://github.com/uxKero/anydesign/stargazers) - Network accessline 47
The skill analyzed [vercel.com](https://vercel.com) (808 CSS custom properties - Network accessline 50
[](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
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
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
examples/vercel-landing/claude-design-bundle/tailwind.config.ts
- Executable scriptline 1
Executable file
examples/vercel-landing/design-tokens.json
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
references/capture-flows.md
references/design-md.md
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
- Contacts fonts.googleapis.com, which SKILL.md, the README and the plugin manifest do not mentionscripts/export_for_claude_design.py:1135High confidence
Signal confidence: 159 facts
- Network access in prose of documentationCHANGELOG.md:5Low confidence
- Network access in prose of documentationCHANGELOG.md:6Low confidence
- Network access in prose of documentationCHANGELOG.md:138Low confidence
- Network access in prose of documentationCHANGELOG.md:139Low confidence
- Network access in prose of documentationCHANGELOG.md:140Low confidence
- Network access in prose of documentationCHANGELOG.md:157Low confidence
- Network access in prose of documentationCHANGELOG.md:158Low confidence
- Network access in prose of documentationCHANGELOG.md:159Low confidence
- Network access in prose of documentationCHANGELOG.md:283Low confidence
- Network access in prose of documentationCHANGELOG.md:284Low confidence
- Network access in prose of documentationCHANGELOG.md:285Low confidence
- Network access in prose of documentationREADME.md:11Low confidence
- Network access in prose of documentationREADME.md:12Low confidence
- Network access in prose of documentationREADME.md:13Low confidence
- Network access in prose of documentationREADME.md:14Low confidence
- Network access in prose of documentationREADME.md:15Low confidence
- Network access in prose of documentationREADME.md:47Low confidence
- Network access in prose of documentationREADME.md:50Low confidence
- Network access in prose of documentationREADME.md:52Low confidence
- Network access in prose of documentationREADME.md:56Low confidence
- Network access in prose of documentationREADME.md:57Low confidence
- Network access in prose of documentationREADME.md:65Low confidence
- Network access in code of documentationREADME.md:105Low confidence
- Network access in prose of documentationREADME.md:134Low confidence
- Network access in prose of documentationREADME.md:135Low confidence
- Network access in prose of documentationREADME.md:136Low confidence
- Network access in prose of documentationREADME.md:167Low confidence
- Network access in prose of documentationREADME.md:168Low confidence
- Network access in prose of documentationREADME.md:169Low confidence
- Network access in prose of documentationREADME.md:170Low confidence
- Network access in prose of documentationREADME.md:188Low confidence
- Network access in prose of documentationREADME.md:190Low confidence
- Network access in code of documentationREADME.md:196Low confidence
- Network access in code of documentationREADME.md:197Low confidence
- Network access in code of documentationREADME.md:199Low confidence
- Network access in code of documentationREADME.md:200Low confidence
- Network access in code of documentationREADME.md:202Low confidence
- Network access in code of documentationREADME.md:203Low confidence
- Network access in code of documentationREADME.md:212Low confidence
- Network access in code of documentationREADME.md:213Low confidence
- Network access in prose of documentationREADME.md:232Low confidence
- Network access in prose of documentationREADME.md:320Low confidence
- Network access in prose of documentationexamples/README.md:22Low confidence
- Network access in prose of documentationexamples/README.md:24Low confidence
- Network access in prose of documentationexamples/README.md:39Low confidence
- Network access in prose of documentationexamples/README.md:40Low confidence
- Network access in prose of documentationexamples/README.md:49Low confidence
- Network access in prose of documentationexamples/README.md:50Low confidence
- Network access in prose of documentationexamples/README.md:104Low confidence
- Network access in prose of documentationexamples/README.md:105Low confidence
and 109 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Compatible | Standard SKILL.md SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard 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.