uxskill 2.0.0a1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. uxskill-2.0.0a1/LICENSE +21 -0
  2. uxskill-2.0.0a1/PKG-INFO +267 -0
  3. uxskill-2.0.0a1/README.md +229 -0
  4. uxskill-2.0.0a1/data/anti-patterns.json +755 -0
  5. uxskill-2.0.0a1/data/brands/_index.json +371 -0
  6. uxskill-2.0.0a1/data/brands/airbnb.json +44 -0
  7. uxskill-2.0.0a1/data/brands/airtable.json +47 -0
  8. uxskill-2.0.0a1/data/brands/apple.json +50 -0
  9. uxskill-2.0.0a1/data/brands/binance.json +48 -0
  10. uxskill-2.0.0a1/data/brands/bmw-m.json +47 -0
  11. uxskill-2.0.0a1/data/brands/bmw.json +48 -0
  12. uxskill-2.0.0a1/data/brands/bugatti.json +44 -0
  13. uxskill-2.0.0a1/data/brands/cal.json +49 -0
  14. uxskill-2.0.0a1/data/brands/claude.json +51 -0
  15. uxskill-2.0.0a1/data/brands/clay.json +48 -0
  16. uxskill-2.0.0a1/data/brands/clickhouse.json +48 -0
  17. uxskill-2.0.0a1/data/brands/cohere.json +49 -0
  18. uxskill-2.0.0a1/data/brands/coinbase.json +49 -0
  19. uxskill-2.0.0a1/data/brands/composio.json +50 -0
  20. uxskill-2.0.0a1/data/brands/cursor.json +51 -0
  21. uxskill-2.0.0a1/data/brands/elevenlabs.json +50 -0
  22. uxskill-2.0.0a1/data/brands/expo.json +51 -0
  23. uxskill-2.0.0a1/data/brands/ferrari.json +50 -0
  24. uxskill-2.0.0a1/data/brands/figma.json +49 -0
  25. uxskill-2.0.0a1/data/brands/framer.json +50 -0
  26. uxskill-2.0.0a1/data/brands/hashicorp.json +49 -0
  27. uxskill-2.0.0a1/data/brands/hp.json +49 -0
  28. uxskill-2.0.0a1/data/brands/ibm.json +48 -0
  29. uxskill-2.0.0a1/data/brands/intercom.json +50 -0
  30. uxskill-2.0.0a1/data/brands/kraken.json +38 -0
  31. uxskill-2.0.0a1/data/brands/lamborghini.json +39 -0
  32. uxskill-2.0.0a1/data/brands/linear.app.json +51 -0
  33. uxskill-2.0.0a1/data/brands/lovable.json +35 -0
  34. uxskill-2.0.0a1/data/brands/mastercard.json +36 -0
  35. uxskill-2.0.0a1/data/brands/meta.json +51 -0
  36. uxskill-2.0.0a1/data/brands/minimax.json +51 -0
  37. uxskill-2.0.0a1/data/brands/mintlify.json +51 -0
  38. uxskill-2.0.0a1/data/brands/miro.json +51 -0
  39. uxskill-2.0.0a1/data/brands/mistral.ai.json +51 -0
  40. uxskill-2.0.0a1/data/brands/mongodb.json +50 -0
  41. uxskill-2.0.0a1/data/brands/nike.json +47 -0
  42. uxskill-2.0.0a1/data/brands/notion.json +51 -0
  43. uxskill-2.0.0a1/data/brands/nvidia.json +46 -0
  44. uxskill-2.0.0a1/data/brands/ollama.json +48 -0
  45. uxskill-2.0.0a1/data/brands/opencode.ai.json +45 -0
  46. uxskill-2.0.0a1/data/brands/pinterest.json +47 -0
  47. uxskill-2.0.0a1/data/brands/playstation.json +47 -0
  48. uxskill-2.0.0a1/data/brands/posthog.json +49 -0
  49. uxskill-2.0.0a1/data/brands/raycast.json +49 -0
  50. uxskill-2.0.0a1/data/brands/renault.json +47 -0
  51. uxskill-2.0.0a1/data/brands/replicate.json +49 -0
  52. uxskill-2.0.0a1/data/brands/resend.json +50 -0
  53. uxskill-2.0.0a1/data/brands/revolut.json +48 -0
  54. uxskill-2.0.0a1/data/brands/runwayml.json +48 -0
  55. uxskill-2.0.0a1/data/brands/sanity.json +50 -0
  56. uxskill-2.0.0a1/data/brands/sentry.json +49 -0
  57. uxskill-2.0.0a1/data/brands/shopify.json +49 -0
  58. uxskill-2.0.0a1/data/brands/slack.json +49 -0
  59. uxskill-2.0.0a1/data/brands/spacex.json +45 -0
  60. uxskill-2.0.0a1/data/brands/spotify.json +40 -0
  61. uxskill-2.0.0a1/data/brands/starbucks.json +35 -0
  62. uxskill-2.0.0a1/data/brands/stripe.json +49 -0
  63. uxskill-2.0.0a1/data/brands/supabase.json +50 -0
  64. uxskill-2.0.0a1/data/brands/superhuman.json +48 -0
  65. uxskill-2.0.0a1/data/brands/tesla.json +41 -0
  66. uxskill-2.0.0a1/data/brands/theverge.json +36 -0
  67. uxskill-2.0.0a1/data/brands/together.ai.json +47 -0
  68. uxskill-2.0.0a1/data/brands/uber.json +48 -0
  69. uxskill-2.0.0a1/data/brands/vercel.json +52 -0
  70. uxskill-2.0.0a1/data/brands/vodafone.json +48 -0
  71. uxskill-2.0.0a1/data/brands/voltagent.json +48 -0
  72. uxskill-2.0.0a1/data/brands/warp.json +50 -0
  73. uxskill-2.0.0a1/data/brands/webflow.json +48 -0
  74. uxskill-2.0.0a1/data/brands/wired.json +44 -0
  75. uxskill-2.0.0a1/data/brands/wise.json +48 -0
  76. uxskill-2.0.0a1/data/brands/x.ai.json +46 -0
  77. uxskill-2.0.0a1/data/brands/zapier.json +46 -0
  78. uxskill-2.0.0a1/data/chart-types.json +536 -0
  79. uxskill-2.0.0a1/data/components.json +8020 -0
  80. uxskill-2.0.0a1/data/industries.json +2354 -0
  81. uxskill-2.0.0a1/data/motion-presets.json +1103 -0
  82. uxskill-2.0.0a1/data/palettes.json +6876 -0
  83. uxskill-2.0.0a1/data/styles.json +4310 -0
  84. uxskill-2.0.0a1/data/tech-stacks.json +336 -0
  85. uxskill-2.0.0a1/data/type-pairs.json +2041 -0
  86. uxskill-2.0.0a1/data/ux-guidelines.json +1579 -0
  87. uxskill-2.0.0a1/engine/__init__.py +7 -0
  88. uxskill-2.0.0a1/engine/cli/__init__.py +1 -0
  89. uxskill-2.0.0a1/engine/cli/main.py +222 -0
  90. uxskill-2.0.0a1/engine/data_loader.py +76 -0
  91. uxskill-2.0.0a1/engine/discovery/__init__.py +19 -0
  92. uxskill-2.0.0a1/engine/discovery/core.py +113 -0
  93. uxskill-2.0.0a1/engine/generator/__init__.py +3 -0
  94. uxskill-2.0.0a1/engine/generator/core.py +127 -0
  95. uxskill-2.0.0a1/engine/installer/__init__.py +8 -0
  96. uxskill-2.0.0a1/engine/installer/core.py +207 -0
  97. uxskill-2.0.0a1/engine/integration.py +187 -0
  98. uxskill-2.0.0a1/engine/linter/__init__.py +3 -0
  99. uxskill-2.0.0a1/engine/linter/core.py +175 -0
  100. uxskill-2.0.0a1/engine/recommender/__init__.py +3 -0
  101. uxskill-2.0.0a1/engine/recommender/core.py +227 -0
  102. uxskill-2.0.0a1/pyproject.toml +73 -0
  103. uxskill-2.0.0a1/setup.cfg +4 -0
  104. uxskill-2.0.0a1/tests/test_data_validation.py +62 -0
  105. uxskill-2.0.0a1/tests/test_generator.py +21 -0
  106. uxskill-2.0.0a1/tests/test_installer.py +35 -0
  107. uxskill-2.0.0a1/tests/test_linter.py +21 -0
  108. uxskill-2.0.0a1/tests/test_recommender.py +24 -0
  109. uxskill-2.0.0a1/tests/test_smoke.py +40 -0
  110. uxskill-2.0.0a1/uxskill.egg-info/PKG-INFO +267 -0
  111. uxskill-2.0.0a1/uxskill.egg-info/SOURCES.txt +113 -0
  112. uxskill-2.0.0a1/uxskill.egg-info/dependency_links.txt +1 -0
  113. uxskill-2.0.0a1/uxskill.egg-info/entry_points.txt +3 -0
  114. uxskill-2.0.0a1/uxskill.egg-info/requires.txt +13 -0
  115. uxskill-2.0.0a1/uxskill.egg-info/top_level.txt +1 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Laith Aljunaidy
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,267 @@
1
+ Metadata-Version: 2.4
2
+ Name: uxskill
3
+ Version: 2.0.0a1
4
+ Summary: Design intelligence engine for AI coding assistants. Anti-AI-slop linter, mandatory discovery, 5-parallel-search recommender, 75+ styles, 170+ palettes, 65+ type pairs, 72 brand specs.
5
+ Author-email: Laith Aljunaidy <laith.aljunaidy.laith@gmail.com>
6
+ License: MIT
7
+ Project-URL: Homepage, https://uxskill.laithjunaidy.com
8
+ Project-URL: Repository, https://github.com/Laith0003/ux-skill
9
+ Project-URL: Issues, https://github.com/Laith0003/ux-skill/issues
10
+ Project-URL: Documentation, https://uxskill.laithjunaidy.com
11
+ Keywords: ux,ui,design-system,ai-coding,claude-code,cursor,windsurf,linter,design,frontend,anti-ai-slop
12
+ Classifier: Development Status :: 4 - Beta
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: License :: OSI Approved :: MIT License
15
+ Classifier: Operating System :: OS Independent
16
+ Classifier: Programming Language :: Python :: 3
17
+ Classifier: Programming Language :: Python :: 3.9
18
+ Classifier: Programming Language :: Python :: 3.10
19
+ Classifier: Programming Language :: Python :: 3.11
20
+ Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Programming Language :: Python :: 3.13
22
+ Classifier: Topic :: Software Development :: User Interfaces
23
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
24
+ Requires-Python: >=3.9
25
+ Description-Content-Type: text/markdown
26
+ License-File: LICENSE
27
+ Requires-Dist: click>=8.1
28
+ Requires-Dist: rich>=13.0
29
+ Requires-Dist: pydantic>=2.5
30
+ Requires-Dist: tomli>=2.0; python_version < "3.11"
31
+ Provides-Extra: dev
32
+ Requires-Dist: pytest>=7.4; extra == "dev"
33
+ Requires-Dist: pytest-cov>=4.1; extra == "dev"
34
+ Requires-Dist: ruff>=0.1.9; extra == "dev"
35
+ Requires-Dist: mypy>=1.7; extra == "dev"
36
+ Requires-Dist: black>=23.12; extra == "dev"
37
+ Dynamic: license-file
38
+
39
+ # ux — design intelligence engine for AI coding
40
+
41
+ > **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.
42
+
43
+ **Live at [uxskill.laithjunaidy.com](https://uxskill.laithjunaidy.com)** · [GitHub repo](https://github.com/Laith0003/ux-skill)
44
+
45
+ [![Version](https://img.shields.io/badge/version-2.0.0--alpha.1-cc785c.svg)](https://github.com/Laith0003/ux-skill/releases)
46
+ [![Python](https://img.shields.io/badge/python-3.9%2B-3776ab.svg)](https://www.python.org/downloads/)
47
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
48
+ [![IDEs](https://img.shields.io/badge/IDEs-17-181715)](#cross-ide-distribution)
49
+ [![Brands](https://img.shields.io/badge/brand_specs-72-cc785c.svg)](data/brands/_index.json)
50
+ [![Linter](https://img.shields.io/badge/anti--patterns-35-181715.svg)](data/anti-patterns.json)
51
+ [![GitHub stars](https://img.shields.io/github/stars/Laith0003/ux-skill?style=social)](https://github.com/Laith0003/ux-skill/stargazers)
52
+
53
+ ---
54
+
55
+ ## What v2 is
56
+
57
+ 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.
58
+
59
+ 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.
60
+
61
+ Then the existing 18 Claude Code commands and 5 sub-agents consume that recommendation to generate, audit, lint, and refine actual code.
62
+
63
+ ## The numbers
64
+
65
+ | Manifest | ux-skill v2 | UI UX Pro Max |
66
+ |---|---:|---:|
67
+ | Design styles | **84** | 67 |
68
+ | Color palettes | **170+** | 161 |
69
+ | Type pairings | **70** | 57 |
70
+ | Components | **148** | 0 |
71
+ | Industry rules | **170+** | 161 |
72
+ | Chart types | **35** | 25 |
73
+ | Tech stacks | **25** | 15 |
74
+ | UX laws | **110+** | 99 |
75
+ | Motion presets | **57** | 0 |
76
+ | Anti-pattern rules | **35** | 0 |
77
+ | Brand specs | **72** | 0 |
78
+ | **Total entries** | **~1,000+** | **~600** |
79
+
80
+ Three categories — components, motion, anti-patterns, brand specs — they don't have at all. That's our moat.
81
+
82
+ ## Install — pick your path
83
+
84
+ ### Inside Claude Code (canonical)
85
+
86
+ ```bash
87
+ /plugin marketplace add Laith0003/ux-skill
88
+ /plugin install ux@ux-skill
89
+ ```
90
+
91
+ ### Anywhere else (pip)
92
+
93
+ ```bash
94
+ pip install uxskill
95
+ ux init # auto-detects your IDE, installs for it
96
+ ```
97
+
98
+ ### No-Python wrapper (npx)
99
+
100
+ ```bash
101
+ npx uxskill init # bootstraps Python via pipx automatically
102
+ ```
103
+
104
+ ## The flagship: `/ux-recommend`
105
+
106
+ Inside Claude Code:
107
+
108
+ ```
109
+ /ux-recommend
110
+ > Project type? landing
111
+ > Industry? fintech-neobank
112
+ > Tone? warm, editorial
113
+ > Must have? dark-mode, a11y-AA
114
+ > Forbidden? brutalism, purple-gradients
115
+ > Stack? nextjs-15-app-router
116
+ > Region? mena
117
+ ```
118
+
119
+ Outside Claude Code:
120
+
121
+ ```bash
122
+ ux recommend \
123
+ --project-type=landing \
124
+ --industry=fintech-neobank \
125
+ --tone=warm --tone=editorial \
126
+ --must-have=dark-mode --must-have=a11y-AA \
127
+ --forbidden=brutalism --forbidden=purple-gradients \
128
+ --stack=nextjs-15-app-router \
129
+ --region=mena
130
+ ```
131
+
132
+ 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.
133
+
134
+ ## Architecture
135
+
136
+ ```
137
+ ux-skill/
138
+ ├── data/ # Queryable JSON — the brain
139
+ │ ├── styles.json # 84 design styles
140
+ │ ├── palettes.json # 170+ color palettes
141
+ │ ├── type-pairs.json # 70 font pairings
142
+ │ ├── components.json # 148 components
143
+ │ ├── industries.json # 170+ industry rules
144
+ │ ├── chart-types.json # 35 chart types
145
+ │ ├── tech-stacks.json # 25 stacks
146
+ │ ├── ux-guidelines.json # 110+ named laws
147
+ │ ├── motion-presets.json # 57 motion presets
148
+ │ ├── anti-patterns.json # 35 regex rules
149
+ │ └── brands/*.json # 72 brand specs
150
+ │
151
+ ├── engine/ # Python — the reasoning
152
+ │ ├── recommender/ # 5-parallel-search engine
153
+ │ ├── linter/ # Anti-slop linter (replaces ux-lint.sh)
154
+ │ ├── discovery/ # 10-field forcing protocol
155
+ │ ├── generator/ # Tokens + manifest emitter
156
+ │ ├── installer/ # 17-IDE multi-installer
157
+ │ └── cli/ # `ux` / `uxskill` entry
158
+ │
159
+ ├── commands/ # 18 Claude Code slash commands (.md)
160
+ ├── agents/ # 5 sub-agent definitions (.md)
161
+ ├── references/ # Prose source for the data + demo pages
162
+ └── bin/uxskill.mjs # npx wrapper → Python engine
163
+ ```
164
+
165
+ **Python thinks. HTML shows. Markdown chains.**
166
+
167
+ ## The 18 commands (v1 preserved + v2 flagship)
168
+
169
+ | Command | What it does |
170
+ |---|---|
171
+ | `/ux-recommend` | **v2 flagship**: 5-parallel-search engine → merged system |
172
+ | `/ux-design [brief]` | Generate frontend code from a recommendation |
173
+ | `/ux-audit [path]` | Run linter + LLM design review |
174
+ | `/ux-lint [path]` | Deterministic anti-slop linter (no LLM) |
175
+ | `/ux-system` | Generate a complete design system |
176
+ | `/ux-component [name]` | Generate one component |
177
+ | `/ux-dashboard` | Generate a dashboard surface |
178
+ | `/ux-motion` | Generate motion treatment |
179
+ | `/ux-copy` | Microcopy review + rewrites |
180
+ | `/ux-a11y` | Accessibility audit |
181
+ | `/ux-critique` | Pure design critique |
182
+ | `/ux-polish` | Fix-loop on existing code |
183
+ | `/ux-fix` | Apply linter findings |
184
+ | `/ux-frame` | Frame the problem before solving |
185
+ | `/ux-research` | Synthesize research inputs |
186
+ | `/ux-workshop` | Run a design workshop |
187
+ | `/ux-case-study` | Write a case study |
188
+ | `/ux-expert` | Get expert advice (consulting hook) |
189
+ | `/ux-next` | Suggest the next command |
190
+
191
+ ## The 5 sub-agents
192
+
193
+ - `frontend-engineer` — production-grade React/Next/Vue/Blade/Astro
194
+ - `motion-engineer` — Framer Motion / GSAP / CSS with reduced-motion fallbacks
195
+ - `copy-writer` — microcopy in brand voice
196
+ - `research-synthesizer` — digests interviews/analytics/competitors into recommendations
197
+ - `design-system-architect` — tokens, components, foundations
198
+
199
+ ## The three moats
200
+
201
+ 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.
202
+
203
+ 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.
204
+
205
+ 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`).
206
+
207
+ ## Cross-IDE distribution
208
+
209
+ 17 environments supported via `ux init`:
210
+
211
+ | IDE / Tool | Detection | Installed artifact |
212
+ |---|---|---|
213
+ | Claude Code | `.claude/` or `CLAUDE.md` | Plugin manifest at `.claude-plugin/plugin.json` |
214
+ | Cursor | `.cursor/` or `.cursorrules` | `.cursorrules` prompt header |
215
+ | Windsurf | `.windsurf/` or `.windsurfrules` | `.windsurfrules` |
216
+ | GitHub Copilot | `.github/copilot-instructions.md` or `.vscode/` | `.github/copilot-instructions.md` |
217
+ | Gemini CLI | `GEMINI.md` | `GEMINI.md` |
218
+ | Codex | `AGENTS.md` | `AGENTS.md` |
219
+ | Kiro | `.kiro/` | `.kiro/instructions.md` |
220
+ | Cline | `.cline/` | `.cline/instructions.md` |
221
+ | Continue | `.continue/` | `.continue/config.json` |
222
+ | Aider | `.aider.conf.yml` | `.aider.conf.yml` + `AIDER.md` |
223
+ | Zed | `.zed/` | `.zed/instructions.md` |
224
+ | JetBrains AI | `.jetbrains-ai/` or `.idea/` | `.jetbrains-ai/instructions.md` |
225
+ | Pieces | `.pieces/` | `.pieces/instructions.md` |
226
+ | Tabby | `.tabby/` | `.tabby/instructions.md` |
227
+ | Tabnine | `.tabnine/` | `.tabnine/instructions.md` |
228
+ | CodeWhisperer | `.aws-codewhisperer/` | `.aws-codewhisperer/instructions.md` |
229
+ | Roo Cline | `.roo/` | `.roo/instructions.md` |
230
+
231
+ Same Python engine. Same recommendations. Different glue per IDE.
232
+
233
+ ## Compatibility with v1
234
+
235
+ v1 install still works for existing users:
236
+
237
+ ```bash
238
+ /plugin marketplace add Laith0003/ux-skill
239
+ /plugin install ux@ux-skill
240
+ ```
241
+
242
+ 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.
243
+
244
+ ## Privacy
245
+
246
+ 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](PRIVACY.md) / [uxskill.laithjunaidy.com/privacy.html](https://uxskill.laithjunaidy.com/privacy.html).
247
+
248
+ ## Contributing
249
+
250
+ See [CONTRIBUTING.md](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.
251
+
252
+ ## License
253
+
254
+ 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.
255
+
256
+ ## Author
257
+
258
+ **Laith Aljunaidy** — solo founder of [Dot](https://thedotwallet.com), a MENA-first loyalty platform. Building ux-skill so the AI-generated frontend doesn't all look the same.
259
+
260
+ - LinkedIn: [linkedin.com/in/laithaljunaidy](https://www.linkedin.com/in/laithaljunaidy/)
261
+ - Email: laith.aljunaidy.laith@gmail.com
262
+ - Repo: [github.com/Laith0003/ux-skill](https://github.com/Laith0003/ux-skill)
263
+ - Site: [uxskill.laithjunaidy.com](https://uxskill.laithjunaidy.com)
264
+
265
+ ---
266
+
267
+ **v2.0.0-alpha.1** · Built so Claude Code, Cursor, and friends output frontend code that doesn't read as AI-generated.
@@ -0,0 +1,229 @@
1
+ # ux — design intelligence engine for AI coding
2
+
3
+ > **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.
4
+
5
+ **Live at [uxskill.laithjunaidy.com](https://uxskill.laithjunaidy.com)** · [GitHub repo](https://github.com/Laith0003/ux-skill)
6
+
7
+ [![Version](https://img.shields.io/badge/version-2.0.0--alpha.1-cc785c.svg)](https://github.com/Laith0003/ux-skill/releases)
8
+ [![Python](https://img.shields.io/badge/python-3.9%2B-3776ab.svg)](https://www.python.org/downloads/)
9
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
10
+ [![IDEs](https://img.shields.io/badge/IDEs-17-181715)](#cross-ide-distribution)
11
+ [![Brands](https://img.shields.io/badge/brand_specs-72-cc785c.svg)](data/brands/_index.json)
12
+ [![Linter](https://img.shields.io/badge/anti--patterns-35-181715.svg)](data/anti-patterns.json)
13
+ [![GitHub stars](https://img.shields.io/github/stars/Laith0003/ux-skill?style=social)](https://github.com/Laith0003/ux-skill/stargazers)
14
+
15
+ ---
16
+
17
+ ## What v2 is
18
+
19
+ 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.
20
+
21
+ 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.
22
+
23
+ Then the existing 18 Claude Code commands and 5 sub-agents consume that recommendation to generate, audit, lint, and refine actual code.
24
+
25
+ ## The numbers
26
+
27
+ | Manifest | ux-skill v2 | UI UX Pro Max |
28
+ |---|---:|---:|
29
+ | Design styles | **84** | 67 |
30
+ | Color palettes | **170+** | 161 |
31
+ | Type pairings | **70** | 57 |
32
+ | Components | **148** | 0 |
33
+ | Industry rules | **170+** | 161 |
34
+ | Chart types | **35** | 25 |
35
+ | Tech stacks | **25** | 15 |
36
+ | UX laws | **110+** | 99 |
37
+ | Motion presets | **57** | 0 |
38
+ | Anti-pattern rules | **35** | 0 |
39
+ | Brand specs | **72** | 0 |
40
+ | **Total entries** | **~1,000+** | **~600** |
41
+
42
+ Three categories — components, motion, anti-patterns, brand specs — they don't have at all. That's our moat.
43
+
44
+ ## Install — pick your path
45
+
46
+ ### Inside Claude Code (canonical)
47
+
48
+ ```bash
49
+ /plugin marketplace add Laith0003/ux-skill
50
+ /plugin install ux@ux-skill
51
+ ```
52
+
53
+ ### Anywhere else (pip)
54
+
55
+ ```bash
56
+ pip install uxskill
57
+ ux init # auto-detects your IDE, installs for it
58
+ ```
59
+
60
+ ### No-Python wrapper (npx)
61
+
62
+ ```bash
63
+ npx uxskill init # bootstraps Python via pipx automatically
64
+ ```
65
+
66
+ ## The flagship: `/ux-recommend`
67
+
68
+ Inside Claude Code:
69
+
70
+ ```
71
+ /ux-recommend
72
+ > Project type? landing
73
+ > Industry? fintech-neobank
74
+ > Tone? warm, editorial
75
+ > Must have? dark-mode, a11y-AA
76
+ > Forbidden? brutalism, purple-gradients
77
+ > Stack? nextjs-15-app-router
78
+ > Region? mena
79
+ ```
80
+
81
+ Outside Claude Code:
82
+
83
+ ```bash
84
+ ux recommend \
85
+ --project-type=landing \
86
+ --industry=fintech-neobank \
87
+ --tone=warm --tone=editorial \
88
+ --must-have=dark-mode --must-have=a11y-AA \
89
+ --forbidden=brutalism --forbidden=purple-gradients \
90
+ --stack=nextjs-15-app-router \
91
+ --region=mena
92
+ ```
93
+
94
+ 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.
95
+
96
+ ## Architecture
97
+
98
+ ```
99
+ ux-skill/
100
+ ├── data/ # Queryable JSON — the brain
101
+ │ ├── styles.json # 84 design styles
102
+ │ ├── palettes.json # 170+ color palettes
103
+ │ ├── type-pairs.json # 70 font pairings
104
+ │ ├── components.json # 148 components
105
+ │ ├── industries.json # 170+ industry rules
106
+ │ ├── chart-types.json # 35 chart types
107
+ │ ├── tech-stacks.json # 25 stacks
108
+ │ ├── ux-guidelines.json # 110+ named laws
109
+ │ ├── motion-presets.json # 57 motion presets
110
+ │ ├── anti-patterns.json # 35 regex rules
111
+ │ └── brands/*.json # 72 brand specs
112
+ │
113
+ ├── engine/ # Python — the reasoning
114
+ │ ├── recommender/ # 5-parallel-search engine
115
+ │ ├── linter/ # Anti-slop linter (replaces ux-lint.sh)
116
+ │ ├── discovery/ # 10-field forcing protocol
117
+ │ ├── generator/ # Tokens + manifest emitter
118
+ │ ├── installer/ # 17-IDE multi-installer
119
+ │ └── cli/ # `ux` / `uxskill` entry
120
+ │
121
+ ├── commands/ # 18 Claude Code slash commands (.md)
122
+ ├── agents/ # 5 sub-agent definitions (.md)
123
+ ├── references/ # Prose source for the data + demo pages
124
+ └── bin/uxskill.mjs # npx wrapper → Python engine
125
+ ```
126
+
127
+ **Python thinks. HTML shows. Markdown chains.**
128
+
129
+ ## The 18 commands (v1 preserved + v2 flagship)
130
+
131
+ | Command | What it does |
132
+ |---|---|
133
+ | `/ux-recommend` | **v2 flagship**: 5-parallel-search engine → merged system |
134
+ | `/ux-design [brief]` | Generate frontend code from a recommendation |
135
+ | `/ux-audit [path]` | Run linter + LLM design review |
136
+ | `/ux-lint [path]` | Deterministic anti-slop linter (no LLM) |
137
+ | `/ux-system` | Generate a complete design system |
138
+ | `/ux-component [name]` | Generate one component |
139
+ | `/ux-dashboard` | Generate a dashboard surface |
140
+ | `/ux-motion` | Generate motion treatment |
141
+ | `/ux-copy` | Microcopy review + rewrites |
142
+ | `/ux-a11y` | Accessibility audit |
143
+ | `/ux-critique` | Pure design critique |
144
+ | `/ux-polish` | Fix-loop on existing code |
145
+ | `/ux-fix` | Apply linter findings |
146
+ | `/ux-frame` | Frame the problem before solving |
147
+ | `/ux-research` | Synthesize research inputs |
148
+ | `/ux-workshop` | Run a design workshop |
149
+ | `/ux-case-study` | Write a case study |
150
+ | `/ux-expert` | Get expert advice (consulting hook) |
151
+ | `/ux-next` | Suggest the next command |
152
+
153
+ ## The 5 sub-agents
154
+
155
+ - `frontend-engineer` — production-grade React/Next/Vue/Blade/Astro
156
+ - `motion-engineer` — Framer Motion / GSAP / CSS with reduced-motion fallbacks
157
+ - `copy-writer` — microcopy in brand voice
158
+ - `research-synthesizer` — digests interviews/analytics/competitors into recommendations
159
+ - `design-system-architect` — tokens, components, foundations
160
+
161
+ ## The three moats
162
+
163
+ 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.
164
+
165
+ 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.
166
+
167
+ 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`).
168
+
169
+ ## Cross-IDE distribution
170
+
171
+ 17 environments supported via `ux init`:
172
+
173
+ | IDE / Tool | Detection | Installed artifact |
174
+ |---|---|---|
175
+ | Claude Code | `.claude/` or `CLAUDE.md` | Plugin manifest at `.claude-plugin/plugin.json` |
176
+ | Cursor | `.cursor/` or `.cursorrules` | `.cursorrules` prompt header |
177
+ | Windsurf | `.windsurf/` or `.windsurfrules` | `.windsurfrules` |
178
+ | GitHub Copilot | `.github/copilot-instructions.md` or `.vscode/` | `.github/copilot-instructions.md` |
179
+ | Gemini CLI | `GEMINI.md` | `GEMINI.md` |
180
+ | Codex | `AGENTS.md` | `AGENTS.md` |
181
+ | Kiro | `.kiro/` | `.kiro/instructions.md` |
182
+ | Cline | `.cline/` | `.cline/instructions.md` |
183
+ | Continue | `.continue/` | `.continue/config.json` |
184
+ | Aider | `.aider.conf.yml` | `.aider.conf.yml` + `AIDER.md` |
185
+ | Zed | `.zed/` | `.zed/instructions.md` |
186
+ | JetBrains AI | `.jetbrains-ai/` or `.idea/` | `.jetbrains-ai/instructions.md` |
187
+ | Pieces | `.pieces/` | `.pieces/instructions.md` |
188
+ | Tabby | `.tabby/` | `.tabby/instructions.md` |
189
+ | Tabnine | `.tabnine/` | `.tabnine/instructions.md` |
190
+ | CodeWhisperer | `.aws-codewhisperer/` | `.aws-codewhisperer/instructions.md` |
191
+ | Roo Cline | `.roo/` | `.roo/instructions.md` |
192
+
193
+ Same Python engine. Same recommendations. Different glue per IDE.
194
+
195
+ ## Compatibility with v1
196
+
197
+ v1 install still works for existing users:
198
+
199
+ ```bash
200
+ /plugin marketplace add Laith0003/ux-skill
201
+ /plugin install ux@ux-skill
202
+ ```
203
+
204
+ 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.
205
+
206
+ ## Privacy
207
+
208
+ 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](PRIVACY.md) / [uxskill.laithjunaidy.com/privacy.html](https://uxskill.laithjunaidy.com/privacy.html).
209
+
210
+ ## Contributing
211
+
212
+ See [CONTRIBUTING.md](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.
213
+
214
+ ## License
215
+
216
+ 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.
217
+
218
+ ## Author
219
+
220
+ **Laith Aljunaidy** — solo founder of [Dot](https://thedotwallet.com), a MENA-first loyalty platform. Building ux-skill so the AI-generated frontend doesn't all look the same.
221
+
222
+ - LinkedIn: [linkedin.com/in/laithaljunaidy](https://www.linkedin.com/in/laithaljunaidy/)
223
+ - Email: laith.aljunaidy.laith@gmail.com
224
+ - Repo: [github.com/Laith0003/ux-skill](https://github.com/Laith0003/ux-skill)
225
+ - Site: [uxskill.laithjunaidy.com](https://uxskill.laithjunaidy.com)
226
+
227
+ ---
228
+
229
+ **v2.0.0-alpha.1** · Built so Claude Code, Cursor, and friends output frontend code that doesn't read as AI-generated.