npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

extract-design-system

v0.1.8

Published

Agent skill and bundled CLI for extracting design primitives from public websites into starter token files.

Readme

extract-design-system

An agent skill for extracting design primitives from public websites and generating starter token files for the current project.

Skills follow Anthropic's Agent Skills overview and are installable through the skills.sh ecosystem.

This repository is skills-first. It publishes an installable extract-design-system skill, and the bundled CLI is the executable workflow the agent runs under the hood.

About This Repository

This repository contains a focused agent skill for reverse-engineering a starter design system from a public website.

The skill is designed to give coding agents a repeatable workflow for:

  • analyzing a public website's colors, typography, spacing, radius, and shadows
  • normalizing the extracted output into a stable structure
  • generating project-local starter token files
  • summarizing findings before broader styling or app changes

Available Skill

extract-design-system

Extract a starter design system from a public website and turn it into local token files.

Use when:

  • You want an agent to analyze a public website's visual primitives
  • You want starter design tokens for an existing project
  • You want a repeatable workflow instead of ad hoc prompting
  • You want the agent to summarize findings before applying broader changes

What it produces:

  • .extract-design-system/raw.json
  • .extract-design-system/normalized.json
  • design-system/tokens.json
  • design-system/tokens.css

Installation

Install the skill from GitHub with the skills CLI:

npx skills add arvindrk/extract-design-system

You can also browse the skill on skills.sh.

Usage

Once installed, the skill is available to supported coding agents. The agent should use it when a request matches the extraction workflow.

Example prompts:

Extract the design system from https://stripe.com and generate starter token files for this project.
Analyze https://linear.app and summarize the design primitives before generating local tokens.
Extract colors, typography, spacing, and radius tokens from https://vercel.com and save them for this codebase.
Review https://tailwindcss.com, extract the most likely design primitives, and generate starter token files only if the results look usable.

How The Skill Works

The skill is designed to:

  • confirm that the target site is public and reachable
  • set expectations about scope and limitations
  • run the extraction workflow through the bundled CLI
  • summarize what was found in the normalized output
  • generate starter token files for the current project
  • ask before modifying existing app code, styles, or configuration

Scope And Limitations

  • Public websites only
  • Single-page extraction workflow
  • Starter tokens, not a full component library
  • No framework config patching or automatic app rewrites
  • Dynamic, protected, or highly script-driven sites may yield incomplete output
  • Extraction is useful for initialization, not pixel-perfect reproduction

Security Considerations

  • Target websites are untrusted third-party input and may influence extracted output
  • Generated tokens should be reviewed before being treated as authoritative design decisions
  • The skill is intended for extraction and starter token generation, not automatic broad app rewrites
  • Use only with public websites that you are comfortable fetching and analyzing at runtime
  • Ask for confirmation before applying extracted output to existing app code, styles, or configuration

Repository Structure

This repository currently exposes:

  • skills/extract-design-system/SKILL.md - Main skill instructions
  • skills/extract-design-system/references/ - Supporting workflow and output references
  • src/ - Bundled CLI implementation used by the skill
  • tests/ - CLI and normalization test coverage

Local Development

The skill's executable workflow is backed by the published npm CLI in this repository.

npm install
npx playwright install chromium
npm run typecheck
npm test
npm run build
npm run dev -- --help
npm run cli -- --help

Useful local commands:

npm run dev -- https://example.com
npm run dev -- https://example.com --extract-only
npm run cli -- https://example.com
npm run cli -- init

Notes

  • Node.js 20+ is required
  • If extraction fails because Chromium is missing, run npx playwright install chromium
  • Extraction quality depends on the target site's DOM and CSS exposure

License

MIT