designlang-design-extract

Extract complete design systems from any website — colors, typography, spacing, shadows, and more — using the designlang CLI.

22 stars

Best use case

designlang-design-extract is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Extract complete design systems from any website — colors, typography, spacing, shadows, and more — using the designlang CLI.

Teams using designlang-design-extract should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/designlang-design-extract/SKILL.md --create-dirs "https://raw.githubusercontent.com/Aradotso/trending-skills/main/skills/designlang-design-extract/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/designlang-design-extract/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How designlang-design-extract Compares

Feature / Agentdesignlang-design-extractStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Extract complete design systems from any website — colors, typography, spacing, shadows, and more — using the designlang CLI.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# DESIGNLANG — Design System Extraction

> Skill by [ara.so](https://ara.so) — Daily 2026 Skills collection.

**designlang** crawls any website with a headless browser (Playwright), extracts every computed style from the live DOM, and generates 8 output files: AI-optimized markdown, visual HTML preview, Tailwind config, React theme, shadcn/ui theme, Figma variables, W3C design tokens, and CSS custom properties.

## Installation

```bash
# No install needed — run directly
npx designlang https://stripe.com

# Install globally
npm install -g designlang

# Install as an agent skill
npx skills add Manavarya09/design-extract
```

## Core Commands

### Basic Extraction

```bash
# Extract everything from a site
npx designlang https://stripe.com

# Extract everything with all captures enabled
npx designlang https://stripe.com --full

# Custom output directory and file prefix
npx designlang https://stripe.com --out ./tokens --name stripe

# Wait for SPA to load before extracting
npx designlang https://app.example.com --wait 2000

# Crawl multiple internal pages for site-wide tokens
npx designlang https://stripe.com --depth 3
```

### Specialized Extraction

```bash
# Extract dark mode styles
npx designlang https://vercel.com --dark

# Capture at 4 responsive breakpoints
npx designlang https://stripe.com --responsive

# Capture hover/focus/active interaction states
npx designlang https://stripe.com --interactions

# Take component screenshots (buttons, cards, nav, hero)
npx designlang https://stripe.com --screenshots

# Everything at once
npx designlang https://stripe.com --full
```

### Authentication

```bash
# With cookies for protected pages
npx designlang https://internal-app.com --cookie "session=abc123" --cookie "user_id=42"

# With custom headers
npx designlang https://internal-app.com --header "Authorization:Bearer $TOKEN"

# Combined
npx designlang https://app.example.com \
  --cookie "session=$SESSION_COOKIE" \
  --header "X-API-Key:$API_KEY"
```

### Utility Commands

```bash
# Score a site's design quality (A-F rating, 7 categories)
npx designlang score https://vercel.com

# Compare two sites side-by-side
npx designlang diff https://stripe.com https://paddle.com

# Compare N brands in a matrix
npx designlang brands stripe.com vercel.com github.com linear.app

# Apply extracted design directly to your project (auto-detects framework)
npx designlang apply https://stripe.com --dir ./my-app

# Generate a working Next.js starter with extracted design
npx designlang clone https://stripe.com

# Monitor a site for design changes hourly
npx designlang watch https://stripe.com --interval 60

# Sync local tokens with live site
npx designlang sync https://stripe.com --out ./src/tokens

# View design change history
npx designlang history https://stripe.com
```

## Output Files

Running `npx designlang https://stripe.com` produces:

| File | Purpose |
|------|---------|
| `stripe-com-design-language.md` | AI-optimized markdown with all 19 design sections |
| `stripe-com-preview.html` | Visual report with swatches, type scale, a11y score |
| `stripe-com-design-tokens.json` | W3C Design Tokens format |
| `stripe-com-tailwind.config.js` | Drop-in Tailwind CSS theme |
| `stripe-com-variables.css` | CSS custom properties |
| `stripe-com-figma-variables.json` | Figma Variables import (light + dark) |
| `stripe-com-theme.js` | React/CSS-in-JS theme (Chakra, Stitches, etc.) |
| `stripe-com-shadcn-theme.css` | shadcn/ui `globals.css` variables |

## Full CLI Reference

```bash
designlang <url> [options]

Options:
  -o, --out <dir>         Output directory (default: ./design-extract-output)
  -n, --name <name>       Output file prefix (default: derived from URL)
  -w, --width <px>        Viewport width (default: 1280)
      --height <px>       Viewport height (default: 800)
      --wait <ms>         Wait after page load for SPAs (default: 0)
      --dark              Also extract dark mode styles
      --depth <n>         Internal pages to crawl (default: 0)
      --screenshots       Capture component screenshots
      --responsive        Capture at multiple breakpoints
      --interactions      Capture hover/focus/active states
      --full              Enable all captures
      --cookie <val>      Cookie for auth pages (name=value, repeatable)
      --header <val>      Custom header (name:value, repeatable)
      --framework <type>  Only generate specific theme (react, shadcn)
      --no-history        Skip saving to history
      --verbose           Detailed progress output
```

## Common Patterns

### Pattern 1: Extract and apply to a Tailwind project

```bash
# Extract design tokens from a reference site
npx designlang https://linear.app --out ./design-tokens --name linear

# The generated tailwind.config.js can be merged into your project:
# ./design-tokens/linear-tailwind.config.js
```

Generated `tailwind.config.js` looks like:

```js
/** @type {import('tailwindcss').Config} */
module.exports = {
  theme: {
    extend: {
      colors: {
        primary: '#5E6AD2',
        background: '#FFFFFF',
        surface: '#F7F8F9',
        // ... all extracted colors
      },
      fontFamily: {
        sans: ['Inter', 'system-ui', 'sans-serif'],
      },
      fontSize: {
        xs: ['11px', { lineHeight: '16px' }],
        sm: ['13px', { lineHeight: '20px' }],
        base: ['15px', { lineHeight: '24px' }],
        // ... full type scale
      },
      borderRadius: {
        sm: '4px',
        md: '6px',
        lg: '8px',
        // ... extracted radii
      },
      boxShadow: {
        card: '0 1px 3px rgba(0,0,0,0.12)',
        // ... extracted shadows
      },
    },
  },
}
```

### Pattern 2: Feed the markdown to an LLM

```bash
# Extract the AI-optimized markdown
npx designlang https://stripe.com --out ./tokens

# Then use in a prompt:
cat ./tokens/stripe-com-design-language.md | \
  pbcopy  # macOS: copies to clipboard

# Or reference it directly in Claude/Cursor:
# "Use the design language in ./tokens/stripe-com-design-language.md
#  to style this component..."
```

### Pattern 3: Compare competitors

```bash
npx designlang brands stripe.com braintree.com paddle.com adyen.com

# Generates:
# brands.md  — markdown comparison matrix
# brands.html — visual side-by-side with color overlap analysis
```

### Pattern 4: Apply to a shadcn/ui project

```bash
# Auto-detect project structure and write to the right files
npx designlang apply https://stripe.com --dir ./my-nextjs-app

# Or manually use the generated shadcn theme:
# Copy stripe-com-shadcn-theme.css content into app/globals.css
```

Generated `shadcn-theme.css`:

```css
@layer base {
  :root {
    --background: 0 0% 100%;
    --foreground: 222.2 84% 4.9%;
    --primary: 238 72% 57%;
    --primary-foreground: 210 40% 98%;
    --muted: 210 40% 96.1%;
    --muted-foreground: 215.4 16.3% 46.9%;
    --border: 214.3 31.8% 91.4%;
    --radius: 0.5rem;
    /* ... all extracted variables */
  }
}
```

### Pattern 5: W3C Design Tokens for tooling

```bash
npx designlang https://github.com --out ./tokens
```

Generated `design-tokens.json`:

```json
{
  "$schema": "https://design-tokens.github.io/community-group/format/",
  "color": {
    "primary": {
      "$value": "#0969da",
      "$type": "color"
    },
    "background": {
      "default": {
        "$value": "#ffffff",
        "$type": "color"
      }
    }
  },
  "typography": {
    "fontFamily": {
      "sans": {
        "$value": "-apple-system, BlinkMacSystemFont, 'Segoe UI'",
        "$type": "fontFamily"
      }
    }
  }
}
```

### Pattern 6: React theme object

```bash
npx designlang https://chakra-ui.com --out ./tokens
```

Generated `theme.js`:

```js
export const theme = {
  colors: {
    primary: '#319795',
    secondary: '#553C9A',
    // ...
  },
  fonts: {
    body: 'Inter, system-ui, sans-serif',
    heading: 'Inter, system-ui, sans-serif',
  },
  space: {
    1: '4px',
    2: '8px',
    4: '16px',
    8: '32px',
    // ...
  },
  radii: {
    sm: '4px',
    md: '6px',
    lg: '8px',
    full: '9999px',
  },
}
```

### Pattern 7: Monitor a design system for changes

```bash
# Check every 30 minutes, output to a dedicated folder
npx designlang watch https://vercel.com \
  --interval 30 \
  --out ./design-monitoring

# Useful in CI — run once and diff against stored baseline
npx designlang diff \
  https://vercel.com \
  ./design-monitoring/vercel-com-design-tokens.json
```

### Pattern 8: Clone a site's design as a Next.js starter

```bash
npx designlang clone https://stripe.com

# Creates ./cloned-design/ with:
# - Next.js app with extracted colors/fonts/spacing applied
# - tailwind.config.js pre-populated
# - globals.css with CSS variables
# - Basic component stubs styled to match

cd cloned-design
npm install
npm run dev
```

## What Gets Extracted

The markdown output covers **19 sections**:

1. **Color Palette** — all unique colors with usage context
2. **Typography** — font families, weights, sizes, line heights, letter spacing
3. **Spacing** — padding/margin/gap values used across the site
4. **Border Radii** — all radius values with component context
5. **Box Shadows** — elevation system
6. **CSS Custom Properties** — all `--var` declarations
7. **Breakpoints** — detected responsive breakpoints
8. **Transitions & Animations** — duration, easing, properties animated
9. **Component Patterns** — button, card, input, nav with full CSS snippets
10. **Layout System** — grid columns, flex patterns, container widths
11. **Responsive Design** — what changes across breakpoints (with `--responsive`)
12. **Interaction States** — hover/focus/active deltas (with `--interactions`)
13. **Accessibility** — WCAG 2.1 contrast scores for all fg/bg pairs
14. **Gradients** — type, direction, stops, classification
15. **Z-Index Map** — layer hierarchy, z-index wars detection
16. **SVG Icons** — deduplicated, size/style classified, color palette
17. **Font Files** — source (Google/self-hosted/CDN/system), `@font-face` CSS
18. **Image Style Patterns** — aspect ratios, filters, shape treatments
19. **Quick Start** — ready-to-use snippet to recreate the design

## Design Scoring

```bash
npx designlang score https://your-site.com
```

Scores 7 categories on a 0–100 scale with A-F grade:

- **Color Discipline** — palette size, harmony, usage consistency
- **Typography** — scale rationality, weight/size combinations
- **Spacing System** — whether spacing follows a scale
- **Shadows** — elevation system coherence
- **Border Radii** — consistency across components
- **Accessibility** — WCAG 2.1 contrast pass rate
- **Tokenization** — CSS custom property usage

## Troubleshooting

### Site loads blank or styles are missing

```bash
# Add wait time for JavaScript-heavy SPAs
npx designlang https://app.example.com --wait 3000

# Or use a higher viewport for desktop-only layouts
npx designlang https://example.com --width 1440 --height 900
```

### Authentication-protected pages

```bash
# Get your session cookie from browser DevTools → Application → Cookies
npx designlang https://app.example.com \
  --cookie "auth_token=$AUTH_TOKEN" \
  --cookie "csrf=$CSRF_TOKEN"
```

### Output files are too large

```bash
# Only generate a specific framework's theme
npx designlang https://stripe.com --framework react
npx designlang https://stripe.com --framework shadcn

# Single-page only (no depth crawling)
npx designlang https://stripe.com --depth 0
```

### Too many colors extracted (utility CSS sites)

```bash
# Limit to the main page at desktop viewport, no deep crawl
npx designlang https://tailwindcss.com \
  --depth 0 \
  --width 1280 \
  --no-history
```

### Playwright/browser not found

```bash
# Playwright needs browsers installed
npx playwright install chromium

# Or if installed globally:
npm install -g designlang
playwright install chromium
```

### `apply` command doesn't detect my framework

```bash
# Explicitly point to your project root with a tailwind config present
npx designlang apply https://stripe.com --dir ./my-app

# Ensure ./my-app contains tailwind.config.js or tailwind.config.ts
# for Tailwind detection, or components.json for shadcn detection
```

## Integration with AI Agents

The `-design-language.md` file is specifically structured for LLM consumption. Feed it directly to Claude, GPT-4, or Cursor to:

- Recreate UI components matching the extracted design
- Generate new components consistent with the design system
- Audit your own components against a reference design
- Document your own site's design system automatically

```bash
# Extract your own site's design language for agent context
npx designlang https://your-production-site.com \
  --out ./docs/design \
  --name my-app

# Reference in CLAUDE.md or .cursorrules:
# "When creating UI components, follow the design language
#  documented in ./docs/design/my-app-design-language.md"
```

Related Skills

privacy-parser-pii-extraction

22
from Aradotso/trending-skills

Extract structured PII spans from text using the OpenAI Privacy Filter 1.5B model reversed — returns what, where, and which type instead of masking.

open-pencil-design-editor

22
from Aradotso/trending-skills

AI-native open-source Figma alternative with CLI, MCP server, and Vue SDK for reading/writing .fig files programmatically.

keychron-keyboards-hardware-design

22
from Aradotso/trending-skills

Work with Keychron's source-available CAD hardware design files (STEP/DXF/PDF) for keyboards and mice, including scripting, inventory management, and 3D printing workflows.

kami-document-design

22
from Aradotso/trending-skills

Design system and AI skill for generating beautiful warm-parchment documents (resumes, slides, one-pagers, portfolios, letters, white papers) with a consistent editorial aesthetic.

huashu-design-html-native

22
from Aradotso/trending-skills

HTML-native design skill for AI coding agents — high-fidelity prototypes, slides, animations, and MP4 export with 20 design philosophies and 5-dimension critique

diagram-design-editorial

22
from Aradotso/trending-skills

Generate editorial-quality HTML+SVG diagrams (13 types) for blog posts and documentation using Claude Code, with brand-matched styling and no external dependencies.

cc-design-html-prototyping

22
from Aradotso/trending-skills

High-fidelity HTML design and prototype creation skill for AI coding agents — slide decks, interactive prototypes, landing pages, UI mockups, animations, and brand style cloning.

awesome-design-md-jp

22
from Aradotso/trending-skills

Create accurate Japanese UI DESIGN.md files for AI agents with proper CJK typography, font stacks, line-height, kinsoku shori, and mixed typesetting rules.

```markdown

22
from Aradotso/trending-skills

---

zeroboot-vm-sandbox

22
from Aradotso/trending-skills

Sub-millisecond VM sandboxes for AI agents using copy-on-write KVM forking via Zeroboot

yourvpndead-vpn-detection

22
from Aradotso/trending-skills

Android app that detects VPN/proxy servers (VLESS/xray/sing-box) via local SOCKS5 vulnerability, exposing exit IPs and server configs without root

xata-postgres-platform

22
from Aradotso/trending-skills

Expert skill for Xata open-source cloud-native Postgres platform with copy-on-write branching, scale-to-zero, and Kubernetes deployment