Extract Design System
espennilsen/pi
Reverse-engineer a design system from a live website (public URL or localhost).
Extract structured data from any web page using Playwright — screenshots, design tokens, page text as Markdown, interactive element maps, and full page data packs.
The automated check flagged lines worth reading first. See the safety section below.
$ npx skills add lintendo/Axhub-Skills --skill extract-page-data -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install lintendo/Axhub-Skills extract-page-data --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/lintendo/Axhub-Skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/extract-page-data .claude/skills/extract-page-data && 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-page-data" agent skill from https://github.com/lintendo/Axhub-Skills/tree/main/skills/extract-page-data into .claude/skills/extract-page-data/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "extract-page-data", 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/lintendo/Axhub-Skills/tree/main/skills/extract-page-dataType 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 lintendo/Axhub-Skills --skill extract-page-data -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install lintendo/Axhub-Skills extract-page-data --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/lintendo/Axhub-Skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/extract-page-data .agents/skills/extract-page-data && 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-page-data" agent skill from https://github.com/lintendo/Axhub-Skills/tree/main/skills/extract-page-data into .agents/skills/extract-page-data/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "extract-page-data", 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 lintendo/Axhub-Skills --skill extract-page-data -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install lintendo/Axhub-Skills extract-page-data --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/lintendo/Axhub-Skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/extract-page-data .cursor/skills/extract-page-data && 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-page-data" agent skill from https://github.com/lintendo/Axhub-Skills/tree/main/skills/extract-page-data into .cursor/skills/extract-page-data/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "extract-page-data", 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/lintendo/Axhub-Skills.git --path skills/extract-page-data--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 lintendo/Axhub-Skills --skill extract-page-data -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install lintendo/Axhub-Skills extract-page-data --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/lintendo/Axhub-Skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/extract-page-data .gemini/skills/extract-page-data && 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-page-data" agent skill from https://github.com/lintendo/Axhub-Skills/tree/main/skills/extract-page-data into .gemini/skills/extract-page-data/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "extract-page-data", 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 lintendo/Axhub-Skills extract-page-dataInstalls 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 lintendo/Axhub-Skills --skill extract-page-data -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/lintendo/Axhub-Skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/extract-page-data .github/skills/extract-page-data && 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-page-data" agent skill from https://github.com/lintendo/Axhub-Skills/tree/main/skills/extract-page-data into .github/skills/extract-page-data/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "extract-page-data", 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 lintendo/Axhub-Skills --skill extract-page-data -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install lintendo/Axhub-Skills extract-page-data --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/lintendo/Axhub-Skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/extract-page-data .opencode/skills/extract-page-data && 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-page-data" agent skill from https://github.com/lintendo/Axhub-Skills/tree/main/skills/extract-page-data into .opencode/skills/extract-page-data/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "extract-page-data", 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-page-dataExtract structured data from any web page using Playwright — screenshots, design tokens, page text as Markdown, interactive element maps, and full page data packs.
Extract Page Data is an agent skill from lintendo/Axhub-Skills. Extract structured data from any web page using Playwright — screenshots, design tokens, page text as Markdown, interactive element maps, and full page data packs. Use this skill whenever the user wants to capture a web page screenshot (full page or element), extract CSS design tokens or theme information, convert page content to Markdown, collect links and interactive elements from a page, or export a complete page analysis package. Triggers on any URL that isn't an Axure prototype — for Axure URLs use…
Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 14 other files, including scripts (for example `scripts/inject/README.md`, `scripts/inject/extract-links.js` and `scripts/inject/extract-markdown.js`).
It sits in Frontend & Design, covering Design tokens, Schema markup and Browser testing. It works with Playwright. The licence is MIT.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 1e1c5bc. 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 11 files in scripts/ (JavaScript), which the agent can run.
Shell commands in SKILL.md call:
nodenpxnpmFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
npmmirror.comAlso links to:
github.comFrom 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 Page Data loads about 2.7k tokens when it runs. Until then it costs about 139 tokens; SKILL.md has 657 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 patterns that need a careful read before installing.
**Connect to an existing Chrome session** (recommended — reuses cookies):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 lintendo/Axhub-Skills at commit 1e1c5bc, republished under its MIT licence (© lintendo). 657 words, ~2,701 tokens.
.claude/skills/extract-page-data/SKILL.md (or your agent's skills folder). This skill also uses 11 other files; get the full folder from GitHub.Extract structured data from any web page for design analysis, page reconstruction, or content review. The script handles dependency installation automatically — just point it at a URL.
--selector)Do NOT use for Axure prototypes — use extract-axure-data instead.
Run the extraction script from scripts/extract.mjs relative to this skill directory.
# Full page screenshot
node scripts/extract.mjs https://example.com --screenshot
# Screenshot of a specific element
node scripts/extract.mjs https://example.com --screenshot --selector "#hero"
# Extract design tokens (colors, typography, spacing, etc.)
node scripts/extract.mjs https://example.com --theme
# Extract page content as Markdown
node scripts/extract.mjs https://example.com --markdown
# Collect all links and interactive elements
node scripts/extract.mjs https://example.com --links
# Extract everything
node scripts/extract.mjs https://example.com --all
# Export full data pack (screenshot + theme + markdown + links as zip)
node scripts/extract.mjs https://example.com --packFirst run auto-installs Playwright + Chromium to ~/.cache/page-extractor/. This takes 1-2 minutes and happens once.
| Flag | What it does | Default |
|---|---|---|
<url> | Web page URL (required) | — |
--screenshot | Capture page screenshot | off |
--theme | Extract design tokens | off |
--markdown | Convert page to Markdown | off |
--links | Collect interactive elements | off |
--pack | Export full data pack (zip) | off |
--all | Run all extractions | off |
--selector SEL | CSS selector to scope extraction | whole page |
-o DIR | Output directory | ./page-export |
--viewport WxH | Viewport size | 1280x720 |
--wait MS | Extra wait after page load (ms) | 0 |
--scroll | Scroll page to trigger lazy content | off |
--scroll-step PX | Pixels per scroll step | 800 |
--scroll-delay MS | Delay between scroll steps (ms) | 200 |
--no-headless | Show browser window | headless |
--connect-cdp URL | Attach to running Chrome (for auth) | — |
--format FMT | Screenshot format: png or jpeg | png |
--verbose | Detailed logging | off |
page-export/
├── screenshot.png # Page or element screenshot (--screenshot)
├── theme.json # Design tokens (--theme)
├── content.md # Page text as Markdown (--markdown)
├── links.json # Links and interactive elements (--links)
└── page-data.zip # Full data pack (--pack)
├── screenshot.png
├── theme.json
├── content.md
├── links.json
└── meta.json # Page metadata (title, url, viewport)All extraction modes support --selector to scope to a specific element:
# Screenshot only the header
node scripts/extract.mjs https://example.com --screenshot --selector "header"
# Extract design tokens from a card component
node scripts/extract.mjs https://example.com --theme --selector ".card"
# Get Markdown from the main content area
node scripts/extract.mjs https://example.com --markdown --selector "main"
# Collect links from the navigation
node scripts/extract.mjs https://example.com --links --selector "nav"Some pages require login. Two approaches:
Connect to an existing Chrome session (recommended — reuses cookies):
macOS:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222Windows:
start chrome --remote-debugging-port=9222Then log in via that Chrome window and run:
node scripts/extract.mjs https://example.com --all --connect-cdp http://localhost:9222Show the browser window (manual login during extraction):
node scripts/extract.mjs https://example.com --all --no-headlessThe script auto-installs on first run. If it fails:
# Manual install
cd ~/.cache/page-extractor
npm install playwright
npx playwright install chromium
# If Chromium download is slow (e.g. behind GFW):
PLAYWRIGHT_DOWNLOAD_HOST=https://npmmirror.com/mirrors/playwright npx playwright install chromiumDesign system tokens extracted from computed CSS styles:
{
"colors": {
"background": [{"value": "rgb(255,255,255)", "count": 42, "tags": ["div"]}],
"text": [{"value": "rgb(51,51,51)", "count": 28, "tags": ["p","span"]}],
"border": [{"value": "rgb(221,221,221)", "count": 12}]
},
"typography": {
"families": [{"value": "\"Inter\", sans-serif", "count": 56}],
"textStyles": [{"size": "14px", "lineHeight": "22px", "weight": "400", "count": 20}]
},
"spacing": [{"value": "16px", "count": 15}],
"radius": [{"value": "4px", "count": 8}],
"lineWidth": [{"value": "1px", "count": 10}],
"shadow": {
"box": [{"value": "0 2px 8px rgba(0,0,0,0.1)", "count": 5}],
"text": []
},
"transitions": [{"value": "all 0.2s ease", "count": 38, "tags": ["button","a"]}],
"animations": [{"value": "fadeIn|0.3s|ease", "count": 5, "tags": ["div"]}],
"cssVariables": {
"--color-primary": "#6366f1",
"--radius": "0.5rem",
"--font-sans": "Inter, sans-serif"
},
"assets": {
"backgroundImages": [{"value": "url(hero.webp)", "count": 1, "tags": ["section"]}],
"images": [
{"src": "https://example.com/logo.svg", "alt": "Logo", "position": "static", "zIndex": "auto", "siblingImgCount": 1},
{"src": "https://example.com/hero.png", "alt": "", "position": "absolute", "zIndex": "2", "siblingImgCount": 2}
],
"svgCount": 12
}
}Interactive elements on the page:
{
"pageUrl": "https://example.com",
"pageTitle": "Example",
"links": [
{"type": "a", "text": "Home", "href": "https://example.com/", "visible": true},
{"type": "button", "text": "Sign Up", "visible": true},
{"type": "form", "href": "https://example.com/login", "visible": true}
],
"totalLinks": 3,
"visibleLinks": 3
}The extraction logic is modular. Each feature lives in its own file under scripts/:
| File | Purpose | Customization |
|---|---|---|
lib/browser.mjs | Playwright browser management | Change browser launch args, proxy |
lib/screenshot.mjs | Screenshot capture | Modify scroll behavior, format |
lib/theme.mjs | Design token extraction | Adjust token categories, limits |
lib/markdown.mjs | HTML → Markdown | Change conversion rules |
lib/links.mjs | Element collection | Add new element types |
lib/pack.mjs | Zip packaging | Change pack contents |
inject/extract-theme.js | Browser-injected theme logic | Edit CSS properties to extract |
inject/extract-markdown.js | Browser-injected markdown logic | Customize text extraction |
inject/extract-links.js | Browser-injected links logic | Add custom selectors |
When the user wants to clone or replicate a website's design language, run in this order:
node extract.mjs <url> --all --scroll --viewport 1440x900| Field | Maps to | CSS Variable |
|---|---|---|
colors.background[0] | Primary surface | --color-bg |
colors.text[0] | Body text | --color-text |
colors.text[1] | Accent / brand | --color-primary |
typography.families[0] | Main font | Google Fonts import |
spacing (top 5) | Spacing scale | --spacing-1 … |
radius[0] | Default radius | --radius-base |
transitions[0] | Hover timing | apply to .card, a, button |
cssVariables | Design tokens (if :root vars exist) | use names directly |
:root {
--color-bg: <colors.background[0].value>;
--color-text: <colors.text[0].value>;
--color-primary: <colors.text[1].value>;
--font-sans: <typography.families[0].value>;
--radius-base: <radius[0].value>;
--transition: <transitions[0].value>;
}If cssVariables is non-empty, prefer those names — they reflect the original design system's intent.
transitions[0].value → apply as transition: <value> on interactive elementsanimations → reconstruct @keyframes blocks by animation name; apply to entry elementsImages with position: absolute and zIndex > 0 in assets.images are overlay layers.
Reconstruct with CSS position: relative on the parent and position: absolute on overlays.
导出数据是 best-effort 快照,有时需要回到原始页面补充信息(hover 态样式、懒加载内容、动画效果等)。可使用 Playwright CLI 进行交互式补充采集。
# 打开页面并获取快照
playwright-cli open https://example.com
playwright-cli snapshot
# 交互后采集(如 hover 态)
playwright-cli hover e15
playwright-cli screenshot --filename=hover-state.png
# 获取元素属性
playwright-cli eval "el => getComputedStyle(el).backdropFilter" e5
playwright-cli close完整命令参考: Playwright CLI 官方技能文档
| 场景 | Playwright 做什么 |
|---|---|
| 截图模糊/不完整 | 对指定元素高分辨率截图 |
| 样式数据缺失 | 获取完整 computedStyle |
| hover/focus/active 态 | 触发交互后采集样式 |
| 懒加载内容 | 滚动触发后截图 |
| 动画/过渡效果 | 定时截图或录屏 |
| 响应式断点校验 | 设置 viewport 后截图 |
| Problem | Fix |
|---|---|
| Blank screenshot | Page needs time to render — add --wait 2000 |
| Missing lazy content | Use --scroll to trigger lazy loading |
| Need login | Use --connect-cdp (see Authenticated pages above) |
| Playwright install fails | Manual install, or set PLAYWRIGHT_DOWNLOAD_HOST |
| Wrong element selected | Check selector with browser DevTools first |
© lintendo, 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 11 other files (scripts) in skills/extract-page-data of lintendo/Axhub-Skills.
Open the folder on GitHubat commit 1e1c5bc
Extract Page Data 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 Page Data this skilllintendo/Axhub-Skills | 127 | — | ~2.7k | Automated safety check: Warn | MIT | |
| Extract Design Systemespennilsen/pi | 122 | — | ~2k | Automated safety check: Pass | MIT | |
| Building With Lobe UIlobehub/lobe-ui | 2.2k | — | ~2k | Automated safety check: Pass | MIT | |
| Web Designxiaopu-ai/web-design | 783 | — | ~3k | Automated safety check: Pass | MIT | |
| Extract Design Systemarvindrk/extract-design-system | 236 | 1 repos | ~514 | Automated safety check: Pass | MIT | |
| Website Design Taste Extractorsenlindesign/taste-skill | 381 | — | ~5.3k | Automated safety check: Pass | None |
espennilsen/pi
Reverse-engineer a design system from a live website (public URL or localhost).
lobehub/lobe-ui
Build UI with the LobeHub design ecosystem — @lobehub/ui (plus its base-ui, chat, mobile, awesome, brand, mdx, i18n namespaces), @lobehub/icons, @lobehub/charts, @lobehub/fluent-emoji and…
xiaopu-ai/web-design
Web 视觉设计 SKILL。输入 PRD / 参考 URL / 截图 / 关键词(任意组合),先产出一份标准化 DESIGN.md 设计规范,用户确认后据此生成 UI/UX、视觉、动效、响应式全部达标的 web 代码。专攻 web 端:Landing Page、Portfolio、产品页、博客、个人站、SaaS 介绍页等。当用户说"帮我做个网站""设计一个页面""参考 XX…
arvindrk/extract-design-system
Extract design primitives from a public website and generate starter token files for your project.
senlindesign/taste-skill
Reverse-engineers a website's design from its URL into a Markdown and JSON pair holding concrete tokens and the trade-offs behind the look.
elvisun/newsjack
Turn an eval study's numbers into on-brand, publish-ready figures using the Newsjack chart room (the eval design system), then validate them with Playwright.
lintendo/Axhub-Skills
A skill your agent uses when 需要把现有 React、Vite、Next.js、V0 或 AI Studio 页面转换为 Figma Make 可导入的 .fig 资产,或补齐、更新、验证已有 Figma Make 导出壳和 canvas.fig。
lintendo/Axhub-Skills
A skill your agent uses when selecting an existing design system or theme for a product, page, prototype, or implementation through Axhub design knowledge indexes; not when creating or updating a…
lintendo/Axhub-Skills
A skill your agent uses when an annotated prototype URL exposes PRD, directory, annotation, or source context that an AI Agent needs for review, implementation planning, production work, source…
lintendo/Axhub-Skills
Extract structured data from Axure prototypes using Playwright — screenshots, design tokens, interaction maps, annotations, and page text.
lintendo/Axhub-Skills
高精度克隆网页。使用 Playwright 渐进式采集页面数据(DOM 结构、样式、截图、资源), 然后分阶段构建完整的 HTML/CSS 还原。支持快速还原和高精度还原两种模式。
lintendo/Axhub-Skills
用于处理涉及检查、读取、创建、编辑、导出或代码映射的 Figma 内容任务,也用于将 HTML/React/Vue 等网页复制到 Figma,尤其适用于当前选区、设计系统、Figma MCP、Drafito、Figwright 或需要避免 MCP 工具污染上下文的场景。当用户需要可批注 Figma 链接或要求同时绑定工作目录时,也应与 axhub-commentary 组合。
Works with
Categories
Extract structured data from any web page using Playwright — screenshots, design tokens, page text as Markdown, interactive element maps, and full page data packs. Extract Page Data is an agent skill from lintendo/Axhub-Skills. Extract structured data from any web page using Playwright — screenshots, design tokens, page text as Markdown, interactive element maps, and full page data packs.
Extract Page Data fits situations like: the user wants to capture a web page screenshot (full page; extract CSS design tokens; theme information; convert page content to Markdown.
Run `npx skills add lintendo/Axhub-Skills --skill extract-page-data -a claude-code`. Or copy the skill folder (skills/extract-page-data in lintendo/Axhub-Skills) into .claude/skills/extract-page-data in your project. Claude Code loads it when a task matches its description.
Run `npx skills add lintendo/Axhub-Skills --skill extract-page-data -a codex`. Or copy the skill folder (skills/extract-page-data in lintendo/Axhub-Skills) into .agents/skills/extract-page-data 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 lintendo/Axhub-Skills --skill extract-page-data -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-page-data, .gemini/skills/extract-page-data, .github/skills/extract-page-data and .opencode/skills/extract-page-data in your project.
Going by SKILL.md and its folder, Extract Page Data needs JavaScript for the scripts in its folder and the command-line tools its instructions call (node, npx and npm). Our summary lists: Node.js.
SKILL.md names 2 domains. In commands or code: npmmirror.com; the agent is likely to contact it when it follows the instructions. As links in the text: github.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md flagged 1 warning(s): mentions a credentials file (ssh keys, cloud or package-manager tokens). Read the flagged lines before installing; the check is not a guarantee either way. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Extract Page Data is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Extract Page Data: Extract Design System (espennilsen/pi, 122 stars), Building With Lobe UI (lobehub/lobe-ui, 2.2k stars), Web Design (xiaopu-ai/web-design, 783 stars) and Extract Design System (arvindrk/extract-design-system, 236 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
lintendo (a GitHub user) maintains it in lintendo/Axhub-Skills, which has 127 GitHub stars. The repository holds 13 skills in this directory. The repository was last updated on August 21, 2026.
Source: lintendo/Axhub-Skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.