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

uxskill

v2.0.0-alpha.1

Published

ux-skill — design intelligence engine for AI coding assistants. npx wrapper around the Python engine.

Readme

ux — design intelligence engine for AI coding

v2.0 — Python pivot. The strongest design intelligence engine for AI coding. A Python-backed reasoning core with 11 queryable JSON manifests: 84 styles, 170+ palettes, 70 type pairs, 148 components, 170+ industries, 110+ UX laws, 57 motion presets, 35 anti-patterns, 72 brand specs. Plus 18 slash commands and 5 sub-agents from v1. Cross-IDE — runs in 17 environments: Claude Code, Cursor, Windsurf, GitHub Copilot, Gemini CLI, Codex, Kiro, Cline, Continue, Aider, Zed, JetBrains AI, Pieces, Tabby, Tabnine, CodeWhisperer, Roo Cline.

Live at uxskill.laithjunaidy.com · GitHub repo

Version Python License: MIT IDEs Brands Linter GitHub stars


What v2 is

A Python reasoning engine that runs 5 parallel searches across structured data manifests and returns a complete recommended design system for your project — with always-on anti-AI-slop guardrails.

You give it a brief (industry, audience, tone, must-haves, forbidden). It returns: the style to use, the palette, the type pair, the motion presets, the components, the brand exemplars to study, and the anti-pattern rules that must hold. The engine never asks an LLM for an opinion — it's deterministic regex + lookup over structured data. Same input always gives same output.

Then the existing 18 Claude Code commands and 5 sub-agents consume that recommendation to generate, audit, lint, and refine actual code.

The numbers

| Manifest | ux-skill v2 | UI UX Pro Max | |---|---:|---:| | Design styles | 84 | 67 | | Color palettes | 170+ | 161 | | Type pairings | 70 | 57 | | Components | 148 | 0 | | Industry rules | 170+ | 161 | | Chart types | 35 | 25 | | Tech stacks | 25 | 15 | | UX laws | 110+ | 99 | | Motion presets | 57 | 0 | | Anti-pattern rules | 35 | 0 | | Brand specs | 72 | 0 | | Total entries | ~1,000+ | ~600 |

Three categories — components, motion, anti-patterns, brand specs — they don't have at all. That's our moat.

Install — pick your path

Inside Claude Code (canonical)

/plugin marketplace add Laith0003/ux-skill
/plugin install ux@ux-skill

Anywhere else (pip)

pip install uxskill
ux init                       # auto-detects your IDE, installs for it

No-Python wrapper (npx)

npx uxskill init              # bootstraps Python via pipx automatically

The flagship: /ux-recommend

Inside Claude Code:

/ux-recommend
> Project type? landing
> Industry? fintech-neobank
> Tone? warm, editorial
> Must have? dark-mode, a11y-AA
> Forbidden? brutalism, purple-gradients
> Stack? nextjs-15-app-router
> Region? mena

Outside Claude Code:

ux recommend \
  --project-type=landing \
  --industry=fintech-neobank \
  --tone=warm --tone=editorial \
  --must-have=dark-mode --must-have=a11y-AA \
  --forbidden=brutalism --forbidden=purple-gradients \
  --stack=nextjs-15-app-router \
  --region=mena

Returns a complete merged design system: picked style, picked palette, picked type pair, top 5 motion presets, top 12 components, top 5 brand exemplars to study, all 35 anti-pattern guardrails active, plus a rationale block explaining each pick.

Architecture

ux-skill/
├── data/                          # Queryable JSON — the brain
│   ├── styles.json                # 84 design styles
│   ├── palettes.json              # 170+ color palettes
│   ├── type-pairs.json            # 70 font pairings
│   ├── components.json            # 148 components
│   ├── industries.json            # 170+ industry rules
│   ├── chart-types.json           # 35 chart types
│   ├── tech-stacks.json           # 25 stacks
│   ├── ux-guidelines.json         # 110+ named laws
│   ├── motion-presets.json        # 57 motion presets
│   ├── anti-patterns.json         # 35 regex rules
│   └── brands/*.json              # 72 brand specs
│
├── engine/                        # Python — the reasoning
│   ├── recommender/               # 5-parallel-search engine
│   ├── linter/                    # Anti-slop linter (replaces ux-lint.sh)
│   ├── discovery/                 # 10-field forcing protocol
│   ├── generator/                 # Tokens + manifest emitter
│   ├── installer/                 # 17-IDE multi-installer
│   └── cli/                       # `ux` / `uxskill` entry
│
├── commands/                      # 18 Claude Code slash commands (.md)
├── agents/                        # 5 sub-agent definitions (.md)
├── references/                    # Prose source for the data + demo pages
└── bin/uxskill.mjs                # npx wrapper → Python engine

Python thinks. HTML shows. Markdown chains.

The 18 commands (v1 preserved + v2 flagship)

| Command | What it does | |---|---| | /ux-recommend | v2 flagship: 5-parallel-search engine → merged system | | /ux-design [brief] | Generate frontend code from a recommendation | | /ux-audit [path] | Run linter + LLM design review | | /ux-lint [path] | Deterministic anti-slop linter (no LLM) | | /ux-system | Generate a complete design system | | /ux-component [name] | Generate one component | | /ux-dashboard | Generate a dashboard surface | | /ux-motion | Generate motion treatment | | /ux-copy | Microcopy review + rewrites | | /ux-a11y | Accessibility audit | | /ux-critique | Pure design critique | | /ux-polish | Fix-loop on existing code | | /ux-fix | Apply linter findings | | /ux-frame | Frame the problem before solving | | /ux-research | Synthesize research inputs | | /ux-workshop | Run a design workshop | | /ux-case-study | Write a case study | | /ux-expert | Get expert advice (consulting hook) | | /ux-next | Suggest the next command |

The 5 sub-agents

  • frontend-engineer — production-grade React/Next/Vue/Blade/Astro
  • motion-engineer — Framer Motion / GSAP / CSS with reduced-motion fallbacks
  • copy-writer — microcopy in brand voice
  • research-synthesizer — digests interviews/analytics/competitors into recommendations
  • design-system-architect — tokens, components, foundations

The three moats

  1. Deterministic anti-AI-slop linter — 35 regex rules, no LLM, runs in CI. Catches: Inter as display, purple-to-blue gradients, three equal cards, "John Doe", emoji in UI, 300ms default timing, generic CTAs, dark text on dark cards, and more. Wire it into pre-commit hooks for a hard floor against AI fingerprints.

  2. Mandatory 10-field discovery — forcing function before any generation. The plugin asks: project type, audience, primary goal, tone, must-haves, forbidden, reference brands, stack, region, success metric. No improvisation. The brief is saved to .ux/last-discovery.json so subsequent commands chain.

  3. 72 real brand DESIGN.md specs — Apple, Stripe, Linear, Figma, Tesla, BMW, Notion, Spotify, Airbnb, Vercel, Supabase, Cursor, Raycast and 59 more. Full design languages, not generic palettes. Tell the plugin "build a landing in Stripe's style" and it reads the actual brand language. Both as prose (references/brands/*.md) and structured JSON (data/brands/*.json).

Cross-IDE distribution

17 environments supported via ux init:

| IDE / Tool | Detection | Installed artifact | |---|---|---| | Claude Code | .claude/ or CLAUDE.md | Plugin manifest at .claude-plugin/plugin.json | | Cursor | .cursor/ or .cursorrules | .cursorrules prompt header | | Windsurf | .windsurf/ or .windsurfrules | .windsurfrules | | GitHub Copilot | .github/copilot-instructions.md or .vscode/ | .github/copilot-instructions.md | | Gemini CLI | GEMINI.md | GEMINI.md | | Codex | AGENTS.md | AGENTS.md | | Kiro | .kiro/ | .kiro/instructions.md | | Cline | .cline/ | .cline/instructions.md | | Continue | .continue/ | .continue/config.json | | Aider | .aider.conf.yml | .aider.conf.yml + AIDER.md | | Zed | .zed/ | .zed/instructions.md | | JetBrains AI | .jetbrains-ai/ or .idea/ | .jetbrains-ai/instructions.md | | Pieces | .pieces/ | .pieces/instructions.md | | Tabby | .tabby/ | .tabby/instructions.md | | Tabnine | .tabnine/ | .tabnine/instructions.md | | CodeWhisperer | .aws-codewhisperer/ | .aws-codewhisperer/instructions.md | | Roo Cline | .roo/ | .roo/instructions.md |

Same Python engine. Same recommendations. Different glue per IDE.

Compatibility with v1

v1 install still works for existing users:

/plugin marketplace add Laith0003/ux-skill
/plugin install ux@ux-skill

v2 adds the Python layer underneath. When the Python engine is available, commands shell to it for the heavy lifting. When it's not (older installs), commands fall back to v1's prose-only behavior. No breaking changes.

Privacy

The plugin runs entirely on your machine. No telemetry. No analytics. No phone-home. The deterministic linter runs pure regex over local files. LLM calls (in commands that use them) go through your own AI assistant's authentication, not the plugin's. Full privacy policy: PRIVACY.md / uxskill.laithjunaidy.com/privacy.html.

Contributing

See CONTRIBUTING.md. Issues and PRs welcome. The 17 deferred anti-pattern rules and the 8 net-new component patterns flagged during v2.0 are explicit follow-ups in the issue tracker.

License

MIT. Use it, fork it, build on it. If it saves you from shipping AI slop, star the repo. It's the cheapest way to support it.

Author

Laith Aljunaidy — solo founder of Dot, a MENA-first loyalty platform. Building ux-skill so the AI-generated frontend doesn't all look the same.


v2.0.0-alpha.1 · Built so Claude Code, Cursor, and friends output frontend code that doesn't read as AI-generated.