uxskill
Star on GitHub
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.

A mosaic of distinct design systems the engine produces, each anchored to a different brand's palette, type, and density rather than one default look.
What the engine is for: outputs that diverge by brand, not the screenshot-trained sameness it replaces.

About the project

ux-skill is a Python design engine packaged as a CLI plugin. It's 1,243 entries across nine manifests (anti-patterns, generators, styles, components, brands, foundations, output formats, conditionals, processes), 22 slash-commands, 152 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,243-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 (160 brands), a runtime CLI, and an enforcement layer. The compare page has the scored side-by-side.

The numbers

CountWhatWhere it lives
1,243 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.