About · the project · the maker · the ethos

About ux-skill — and the person who built it.

ux-skill is an open-source design engine that lives inside your AI coding tool. It catches the design fingerprints that every LLM produces by default — purple gradients, generic SaaS cards, screenshot-trained sameness — before they ever hit your repo. This page explains what it is, why it exists, and who made it.

About the project

ux-skill is a Python design engine packaged as a CLI plugin. It's 1,161 entries across nine manifests (anti-patterns, generators, styles, components, brands, foundations, output formats, conditionals, processes), 22 slash-commands, 100 anti-slop linter rules, a 5-parallel-search recommender, and a discovery protocol that forces the model to ask before it generates. You install it once via npx uxskill@alpha init and from then on every /ux-design, /ux-component, /ux-system command in your editor knows exactly what to refuse and what to recommend.

It exists because every AI coding tool produces the same design. Claude Code, Cursor, Windsurf, Copilot — they all reach for the same purple-to-blue gradient, the same three-column pricing card, the same SaaS hero. Those patterns aren't wrong; they're recognized. After enough of them, the work looks AI-generated regardless of who shipped it. ux-skill is a corrective layer: a forcing function for restraint, taste, and specificity that runs before code is written, not after.

It is not a competitor to ui-ux-pro-max-skill, taste-skill, or hallmark — it is a different shape. ui-ux-pro-max-skill is a 1,161-entry recommender (the canonical pattern this project borrows from). Leonxlnx/taste-skill is a single 50KB SKILL.md with the strongest anti-slop voice in the ecosystem. hallmark is Anthropic's design system for Anthropic-flavored apps. ux-skill combines the recommender pattern with the anti-slop voice and the linter — and adds a brand spec library (110 brands), a runtime CLI, and an enforcement layer. The compare page has the scored side-by-side.

The numbers

CountWhatWhere it lives
1,161 Manifest entries Anti-patterns, generators, styles, components, brands, foundations
22 Slash commands /ux-design, /ux-component, /ux-system, /ux-audit, etc.
17 IDE adapters Claude Code, Cursor, Windsurf, Copilot, Continue, Codeium, Cline, +10
72 Brand specs Apple, Stripe, Linear, Vercel, Notion, Airbnb, +66 more under references/brands/
35 Linter rules CI-runnable anti-slop checks (gradient regex, font-pair lockout, +33 more)

About the maker — Laith Aljunaidy

Laith is the solo founder of Dot, a MENA-first loyalty platform that gives merchants in Amman, Riyadh, Dubai, and Cairo a way to build customer relationships beyond points and discounts. Dot is the daily product — phone-first identity, no email required for customers, RTL Arabic as the primary locale, multi-tenant Laravel + Blade + Alpine + HTMX, live on a Devloops VPS at thedotwallet.com. ux-skill is the engineering exhaust: the design discipline that runs every Dot screen, packaged so other builders can install it.

The aesthetic is Apple-clean monochrome with deep respect for restraint. Black is chrome, white is canvas, negative space is the system. The brand mark — a single colored dot — is the only chromatic accent on most surfaces; semantic colors (success / warning / danger / accent) carry meaning, not decoration. Tenants and user content bring color; the system itself stays out of the way. That philosophy is hardcoded into ux-skill's manifests: anti-patterns flag purple-to-blue gradients before they're suggested, the discovery protocol forces 10 fields of intent before generation, and the linter blocks emoji shipping in any user-facing string.

He built ux-skill because he was tired of the AI design slop in his own Claude Code sessions. Every new landing page assignment started the same way: a hero with a gradient, a pricing card with three tiers, a feature grid with Lucide icons. The model wasn't broken — it was averaging. ux-skill is what happens when you write down what not to average to. It's not a personal style guide; it's a forcing function that asks the model to commit to a brand voice and refuse the seventeen default escape hatches before it writes a single line of HTML.

"The old AI design tools sell speed. ux-skill sells restraint." — the only sentence on the homepage that's not a feature.

Contact

No contact form — those collect spam and ghost replies. The email above is the real one. If you found a bug, file it on GitHub issues first so the fix lives in the open.

Open source ethos

Acknowledgments

The recommender pattern — the idea of scoring an intent against a large catalog of brand + style + component combinations and returning a structured plan — comes from nextlevelbuilder/ui-ux-pro-max-skill. That repo set the bar for catalog depth; ux-skill borrows the shape and adds linter + brand specs + cross-IDE adapters on top.

The anti-slop voice — the refusal-first tone of "do not reach for purple, do not center the hero, do not paginate the testimonials" — comes from Leonxlnx/taste-skill. That single SKILL.md is the strongest design-taste prompt in the ecosystem. ux-skill takes the principle and explodes it into 35 enforceable linter rules.

The runtime — Claude Code as the host environment for an agentic design plugin — comes from Anthropic. Without the SKILL.md format, the slash-command surface, and the agent-loop primitives, this project does not exist.

And to every solo founder who has ever opened a fresh Claude Code session at 1am and shipped a feature with a purple-to-blue gradient because that was what the model wrote first — this skill is for you. Stop averaging.