stella-coder 3.9.2 → 5.0.0

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 (176) hide show
  1. package/.mcp.json +11 -0
  2. package/.opencode/skills/banner-design/SKILL.md +196 -0
  3. package/.opencode/skills/banner-design/references/banner-sizes-and-styles.md +118 -0
  4. package/.opencode/skills/brand/SKILL.md +97 -0
  5. package/.opencode/skills/brand/references/approval-checklist.md +169 -0
  6. package/.opencode/skills/brand/references/asset-organization.md +157 -0
  7. package/.opencode/skills/brand/references/brand-guideline-template.md +140 -0
  8. package/.opencode/skills/brand/references/color-palette-management.md +186 -0
  9. package/.opencode/skills/brand/references/consistency-checklist.md +94 -0
  10. package/.opencode/skills/brand/references/logo-usage-rules.md +185 -0
  11. package/.opencode/skills/brand/references/messaging-framework.md +85 -0
  12. package/.opencode/skills/brand/references/typography-specifications.md +214 -0
  13. package/.opencode/skills/brand/references/update.md +118 -0
  14. package/.opencode/skills/brand/references/visual-identity.md +96 -0
  15. package/.opencode/skills/brand/references/voice-framework.md +88 -0
  16. package/.opencode/skills/brand/scripts/extract-colors.cjs +341 -0
  17. package/.opencode/skills/brand/scripts/inject-brand-context.cjs +349 -0
  18. package/.opencode/skills/brand/scripts/sync-brand-to-tokens.cjs +248 -0
  19. package/.opencode/skills/brand/scripts/tests/test_sync_brand_to_tokens.py +52 -0
  20. package/.opencode/skills/brand/scripts/validate-asset.cjs +387 -0
  21. package/.opencode/skills/brand/templates/brand-guidelines-starter.md +275 -0
  22. package/.opencode/skills/design/SKILL.md +313 -0
  23. package/.opencode/skills/design/data/cip/deliverables.csv +51 -0
  24. package/.opencode/skills/design/data/cip/industries.csv +21 -0
  25. package/.opencode/skills/design/data/cip/mockup-contexts.csv +21 -0
  26. package/.opencode/skills/design/data/cip/styles.csv +21 -0
  27. package/.opencode/skills/design/data/icon/styles.csv +16 -0
  28. package/.opencode/skills/design/data/logo/colors.csv +56 -0
  29. package/.opencode/skills/design/data/logo/industries.csv +56 -0
  30. package/.opencode/skills/design/data/logo/styles.csv +56 -0
  31. package/.opencode/skills/design/references/banner-sizes-and-styles.md +118 -0
  32. package/.opencode/skills/design/references/cip-deliverable-guide.md +95 -0
  33. package/.opencode/skills/design/references/cip-design.md +121 -0
  34. package/.opencode/skills/design/references/cip-prompt-engineering.md +84 -0
  35. package/.opencode/skills/design/references/cip-style-guide.md +68 -0
  36. package/.opencode/skills/design/references/design-routing.md +207 -0
  37. package/.opencode/skills/design/references/icon-design.md +122 -0
  38. package/.opencode/skills/design/references/logo-color-psychology.md +101 -0
  39. package/.opencode/skills/design/references/logo-design.md +92 -0
  40. package/.opencode/skills/design/references/logo-prompt-engineering.md +158 -0
  41. package/.opencode/skills/design/references/logo-style-guide.md +109 -0
  42. package/.opencode/skills/design/references/slides-copywriting-formulas.md +84 -0
  43. package/.opencode/skills/design/references/slides-create.md +4 -0
  44. package/.opencode/skills/design/references/slides-html-template.md +295 -0
  45. package/.opencode/skills/design/references/slides-layout-patterns.md +137 -0
  46. package/.opencode/skills/design/references/slides-strategies.md +94 -0
  47. package/.opencode/skills/design/references/slides.md +42 -0
  48. package/.opencode/skills/design/references/social-photos-design.md +329 -0
  49. package/.opencode/skills/design/scripts/cip/core.py +215 -0
  50. package/.opencode/skills/design/scripts/cip/generate.py +484 -0
  51. package/.opencode/skills/design/scripts/cip/render-html.py +424 -0
  52. package/.opencode/skills/design/scripts/cip/search.py +127 -0
  53. package/.opencode/skills/design/scripts/icon/generate.py +487 -0
  54. package/.opencode/skills/design/scripts/logo/core.py +175 -0
  55. package/.opencode/skills/design/scripts/logo/generate.py +362 -0
  56. package/.opencode/skills/design/scripts/logo/search.py +114 -0
  57. package/.opencode/skills/design-system/SKILL.md +244 -0
  58. package/.opencode/skills/design-system/data/slide-backgrounds.csv +11 -0
  59. package/.opencode/skills/design-system/data/slide-charts.csv +26 -0
  60. package/.opencode/skills/design-system/data/slide-color-logic.csv +14 -0
  61. package/.opencode/skills/design-system/data/slide-copy.csv +26 -0
  62. package/.opencode/skills/design-system/data/slide-layout-logic.csv +16 -0
  63. package/.opencode/skills/design-system/data/slide-layouts.csv +26 -0
  64. package/.opencode/skills/design-system/data/slide-strategies.csv +16 -0
  65. package/.opencode/skills/design-system/data/slide-typography.csv +15 -0
  66. package/.opencode/skills/design-system/references/component-specs.md +236 -0
  67. package/.opencode/skills/design-system/references/component-tokens.md +214 -0
  68. package/.opencode/skills/design-system/references/primitive-tokens.md +203 -0
  69. package/.opencode/skills/design-system/references/semantic-tokens.md +215 -0
  70. package/.opencode/skills/design-system/references/states-and-variants.md +241 -0
  71. package/.opencode/skills/design-system/references/tailwind-integration.md +251 -0
  72. package/.opencode/skills/design-system/references/token-architecture.md +224 -0
  73. package/.opencode/skills/design-system/scripts/embed-tokens.cjs +99 -0
  74. package/.opencode/skills/design-system/scripts/fetch-background.py +317 -0
  75. package/.opencode/skills/design-system/scripts/generate-slide.py +770 -0
  76. package/.opencode/skills/design-system/scripts/generate-tokens.cjs +205 -0
  77. package/.opencode/skills/design-system/scripts/html-token-validator.py +327 -0
  78. package/.opencode/skills/design-system/scripts/search-slides.py +218 -0
  79. package/.opencode/skills/design-system/scripts/slide-token-validator.py +35 -0
  80. package/.opencode/skills/design-system/scripts/slide_search_core.py +453 -0
  81. package/.opencode/skills/design-system/scripts/tests/test_validate_tokens.py +48 -0
  82. package/.opencode/skills/design-system/scripts/validate-tokens.cjs +246 -0
  83. package/.opencode/skills/design-system/templates/design-tokens-starter.json +143 -0
  84. package/.opencode/skills/slides/SKILL.md +40 -0
  85. package/.opencode/skills/slides/references/copywriting-formulas.md +84 -0
  86. package/.opencode/skills/slides/references/create.md +4 -0
  87. package/.opencode/skills/slides/references/html-template.md +295 -0
  88. package/.opencode/skills/slides/references/layout-patterns.md +137 -0
  89. package/.opencode/skills/slides/references/slide-strategies.md +94 -0
  90. package/.opencode/skills/ui-styling/LICENSE.txt +202 -0
  91. package/.opencode/skills/ui-styling/SKILL.md +324 -0
  92. package/.opencode/skills/ui-styling/references/canvas-design-system.md +320 -0
  93. package/.opencode/skills/ui-styling/references/shadcn-accessibility.md +471 -0
  94. package/.opencode/skills/ui-styling/references/shadcn-components.md +424 -0
  95. package/.opencode/skills/ui-styling/references/shadcn-theming.md +373 -0
  96. package/.opencode/skills/ui-styling/references/tailwind-customization.md +483 -0
  97. package/.opencode/skills/ui-styling/references/tailwind-responsive.md +382 -0
  98. package/.opencode/skills/ui-styling/references/tailwind-utilities.md +455 -0
  99. package/.opencode/skills/ui-styling/scripts/requirements.txt +17 -0
  100. package/.opencode/skills/ui-styling/scripts/shadcn_add.py +308 -0
  101. package/.opencode/skills/ui-styling/scripts/tailwind_config_gen.py +473 -0
  102. package/.opencode/skills/ui-styling/scripts/tests/coverage-ui.json +1 -0
  103. package/.opencode/skills/ui-styling/scripts/tests/requirements.txt +3 -0
  104. package/.opencode/skills/ui-styling/scripts/tests/test_shadcn_add.py +266 -0
  105. package/.opencode/skills/ui-styling/scripts/tests/test_tailwind_config_gen.py +394 -0
  106. package/.opencode/skills/ui-ux-pro-max/SKILL.md +396 -0
  107. package/.opencode/skills/ui-ux-pro-max/data/_sync_all.py +414 -0
  108. package/.opencode/skills/ui-ux-pro-max/data/app-interface.csv +31 -0
  109. package/.opencode/skills/ui-ux-pro-max/data/charts.csv +26 -0
  110. package/.opencode/skills/ui-ux-pro-max/data/colors.csv +193 -0
  111. package/.opencode/skills/ui-ux-pro-max/data/design.csv +1776 -0
  112. package/.opencode/skills/ui-ux-pro-max/data/draft.csv +1779 -0
  113. package/.opencode/skills/ui-ux-pro-max/data/google-fonts.csv +1924 -0
  114. package/.opencode/skills/ui-ux-pro-max/data/icons.csv +106 -0
  115. package/.opencode/skills/ui-ux-pro-max/data/landing.csv +35 -0
  116. package/.opencode/skills/ui-ux-pro-max/data/motion.csv +17 -0
  117. package/.opencode/skills/ui-ux-pro-max/data/products.csv +193 -0
  118. package/.opencode/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
  119. package/.opencode/skills/ui-ux-pro-max/data/stacks/angular.csv +51 -0
  120. package/.opencode/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -0
  121. package/.opencode/skills/ui-ux-pro-max/data/stacks/avalonia.csv +57 -0
  122. package/.opencode/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  123. package/.opencode/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  124. package/.opencode/skills/ui-ux-pro-max/data/stacks/javafx.csv +76 -0
  125. package/.opencode/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
  126. package/.opencode/skills/ui-ux-pro-max/data/stacks/laravel.csv +51 -0
  127. package/.opencode/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  128. package/.opencode/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +71 -0
  129. package/.opencode/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  130. package/.opencode/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  131. package/.opencode/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
  132. package/.opencode/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  133. package/.opencode/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  134. package/.opencode/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  135. package/.opencode/skills/ui-ux-pro-max/data/stacks/threejs.csv +54 -0
  136. package/.opencode/skills/ui-ux-pro-max/data/stacks/uno.csv +60 -0
  137. package/.opencode/skills/ui-ux-pro-max/data/stacks/uwp.csv +56 -0
  138. package/.opencode/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  139. package/.opencode/skills/ui-ux-pro-max/data/stacks/winui.csv +60 -0
  140. package/.opencode/skills/ui-ux-pro-max/data/stacks/wpf.csv +57 -0
  141. package/.opencode/skills/ui-ux-pro-max/data/styles.csv +85 -0
  142. package/.opencode/skills/ui-ux-pro-max/data/typography.csv +75 -0
  143. package/.opencode/skills/ui-ux-pro-max/data/ui-reasoning.csv +162 -0
  144. package/.opencode/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  145. package/.opencode/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-312.pyc +0 -0
  146. package/.opencode/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-312.pyc +0 -0
  147. package/.opencode/skills/ui-ux-pro-max/scripts/core.py +274 -0
  148. package/.opencode/skills/ui-ux-pro-max/scripts/design_system.py +1329 -0
  149. package/.opencode/skills/ui-ux-pro-max/scripts/search.py +127 -0
  150. package/README.md +25 -30
  151. package/STELLA.md +1 -1
  152. package/dist/antimalware/database.mjs +871 -0
  153. package/dist/antimalware/index.mjs +8 -0
  154. package/dist/antimalware/scanner.mjs +591 -0
  155. package/dist/antimalware/ui.mjs +570 -0
  156. package/dist/banner.mjs +46 -0
  157. package/dist/index.mjs +3073 -0
  158. package/dist/markdown.mjs +100 -0
  159. package/dist/sea-config.json +4 -0
  160. package/dist/security.mjs +237 -0
  161. package/dist/theme.mjs +89 -0
  162. package/dist/tools.mjs +3145 -0
  163. package/install-stella.bat +44 -0
  164. package/package.json +5 -4
  165. package/stella-cli/coding-brain.mjs +753 -0
  166. package/stella-cli/index.mjs +931 -15
  167. package/stella-cli/mcp.mjs +296 -0
  168. package/stella-cli/presentations.mjs +1106 -0
  169. package/stella-cli/subagents.mjs +142 -0
  170. package/stella-cli/telegram-bot.mjs +824 -0
  171. package/stella-cli/tg-bg.bat +13 -0
  172. package/stella-cli/tg-server.bat +15 -0
  173. package/stella-cli/tg-server.mjs +116 -0
  174. package/stella-cli/theme.mjs +6 -4
  175. package/create_cats_pptx.py +0 -121
  176. package/hello.py +0 -2
@@ -0,0 +1,396 @@
1
+ ---
2
+ name: ui-ux-pro-max
3
+ description: UI/UX design intelligence with searchable database
4
+ ---
5
+ # ui-ux-pro-max
6
+
7
+ Comprehensive design guide for web, mobile, and desktop applications. Contains 67 styles, 161 color palettes, 57 font pairings, 99 UX guidelines, and 25 chart types across 22 technology stacks. Searchable database with priority-based recommendations.
8
+
9
+ # Prerequisites
10
+
11
+ Check if Python is installed:
12
+
13
+ ```bash
14
+ python3 --version || python --version
15
+ ```
16
+
17
+ If Python is not installed, install it based on user's OS:
18
+
19
+ **macOS:**
20
+ ```bash
21
+ brew install python3
22
+ ```
23
+
24
+ **Ubuntu/Debian:**
25
+ ```bash
26
+ sudo apt update && sudo apt install python3
27
+ ```
28
+
29
+ **Windows:**
30
+ ```powershell
31
+ winget install Python.Python.3.12
32
+ ```
33
+
34
+ > **Note:** On Windows, use `python` instead of `python3` to run scripts (e.g., `python scripts/search.py` instead of `python3 scripts/search.py`).
35
+
36
+ ---
37
+
38
+ ## How to Use This Skill
39
+
40
+ Use this skill when the user requests any of the following:
41
+
42
+ | Scenario | Trigger Examples | Start From |
43
+ |----------|-----------------|------------|
44
+ | **New project / page** | "做一个 landing page"、"Build a dashboard" | Step 1 → Step 2 (design system) |
45
+ | **New component** | "Create a pricing card"、"Add a modal" | Step 3 (domain search: style, ux) |
46
+ | **Choose style / color / font** | "What style fits a fintech app?"、"推荐配色" | Step 2 (design system) |
47
+ | **Review existing UI** | "Review this page for UX issues"、"检查无障碍" | Quick Reference checklist above |
48
+ | **Fix a UI bug** | "Button hover is broken"、"Layout shifts on load" | Quick Reference → relevant section |
49
+ | **Improve / optimize** | "Make this faster"、"Improve mobile experience" | Step 3 (domain search: ux, react) |
50
+ | **Implement dark mode** | "Add dark mode support" | Step 3 (domain: style "dark mode") |
51
+ | **Add charts / data viz** | "Add an analytics dashboard chart" | Step 3 (domain: chart) |
52
+ | **Stack best practices** | "React performance tips"、"SwiftUI navigation" | Step 4 (stack search) |
53
+
54
+ Follow this workflow:
55
+
56
+ ### Step 1: Analyze User Requirements
57
+
58
+ Extract key information from user request:
59
+ - **Product type**: Entertainment (social, video, music, gaming), Tool (scanner, editor, converter), Productivity (task manager, notes, calendar), or hybrid
60
+ - **Target audience**: C-end consumer users; consider age group, usage context (commute, leisure, work)
61
+ - **Style keywords**: playful, vibrant, minimal, dark mode, content-first, immersive, etc.
62
+ - **Stack**: React Native (this project's only tech stack)
63
+
64
+ ### Step 2: Generate Design System (REQUIRED)
65
+
66
+ **Always start with `--design-system`** to get comprehensive recommendations with reasoning:
67
+
68
+ ```bash
69
+ python3 skills/ui-ux-pro-max/scripts/search.py "<product_type> <industry> <keywords>" --design-system [-p "Project Name"]
70
+ ```
71
+
72
+ This command:
73
+ 1. Searches domains in parallel (product, style, color, landing, typography)
74
+ 2. Applies reasoning rules from `ui-reasoning.csv` to select best matches
75
+ 3. Returns complete design system: pattern, style, colors, typography, effects
76
+ 4. Includes anti-patterns to avoid
77
+
78
+ **Example:**
79
+ ```bash
80
+ python3 skills/ui-ux-pro-max/scripts/search.py "beauty spa wellness service" --design-system -p "Serenity Spa"
81
+ ```
82
+
83
+ ### Step 2b: Persist Design System (Master + Overrides Pattern)
84
+
85
+ To save the design system for **hierarchical retrieval across sessions**, add `--persist`:
86
+
87
+ ```bash
88
+ python3 skills/ui-ux-pro-max/scripts/search.py "<query>" --design-system --persist -p "Project Name"
89
+ ```
90
+
91
+ This creates:
92
+ - `design-system/MASTER.md` — Global Source of Truth with all design rules
93
+ - `design-system/pages/` — Folder for page-specific overrides
94
+
95
+ **With page-specific override:**
96
+ ```bash
97
+ python3 skills/ui-ux-pro-max/scripts/search.py "<query>" --design-system --persist -p "Project Name" --page "dashboard"
98
+ ```
99
+
100
+ This also creates:
101
+ - `design-system/pages/dashboard.md` — Page-specific deviations from Master
102
+
103
+ **How hierarchical retrieval works:**
104
+ 1. When building a specific page (e.g., "Checkout"), first check `design-system/pages/checkout.md`
105
+ 2. If the page file exists, its rules **override** the Master file
106
+ 3. If not, use `design-system/MASTER.md` exclusively
107
+
108
+ **Context-aware retrieval prompt:**
109
+ ```
110
+ I am building the [Page Name] page. Please read design-system/MASTER.md.
111
+ Also check if design-system/pages/[page-name].md exists.
112
+ If the page file exists, prioritize its rules.
113
+ If not, use the Master rules exclusively.
114
+ Now, generate the code...
115
+ ```
116
+
117
+ ### Step 2c: Design Dials (optional)
118
+
119
+ Three optional 1-10 sliders that tune `--design-system` output without changing your query. Add any combination of them to the same command:
120
+
121
+ ```bash
122
+ python3 skills/ui-ux-pro-max/scripts/search.py "<query>" --design-system --variance <1-10> --motion <1-10> --density <1-10>
123
+ ```
124
+
125
+ | Dial | Low (1-3) | Mid (4-7) | High (8-10) |
126
+ |------|-----------|-----------|-------------|
127
+ | `--variance` | Centered / minimal (biases toward Minimalism-style categories) | Balanced / modern | Bold / asymmetric (biases toward Brutalism, Bento Grids) |
128
+ | `--motion` | Subtle micro-interactions | Standard scroll/stagger motion | Complex choreography (pin, Flip, SplitText) |
129
+ | `--density` | Spacious (24-96px spacing scale) | Standard (16-64px, current default) | Dense/dashboard (8-32px spacing scale) |
130
+
131
+ - `--motion` attaches a ready-to-use GSAP snippet (with framework notes, Do/Don't, and performance notes) pulled from `--domain gsap`, matched to the resolved tier (Subtle/Standard/Complex).
132
+ - `--density` overrides the `--space-*` CSS variable table in the ASCII/markdown/MASTER.md output — use it for dashboards (high) vs. marketing pages (low) without hand-editing tokens.
133
+ - Leaving a dial unset keeps that part of the output exactly as it was before (no behavior change).
134
+
135
+ **Example:**
136
+ ```bash
137
+ python3 skills/ui-ux-pro-max/scripts/search.py "internal analytics dashboard" --design-system --variance 8 --motion 7 --density 8 -p "Ops Console"
138
+ ```
139
+
140
+ ### Step 3: Supplement with Detailed Searches (as needed)
141
+
142
+ After getting the design system, use domain searches to get additional details:
143
+
144
+ ```bash
145
+ python3 skills/ui-ux-pro-max/scripts/search.py "<keyword>" --domain <domain> [-n <max_results>]
146
+ ```
147
+
148
+ **When to use detailed searches:**
149
+
150
+ | Need | Domain | Example |
151
+ |------|--------|---------|
152
+ | Product type patterns | `product` | `--domain product "entertainment social"` |
153
+ | More style options | `style` | `--domain style "glassmorphism dark"` |
154
+ | Color palettes | `color` | `--domain color "entertainment vibrant"` |
155
+ | Font pairings | `typography` | `--domain typography "playful modern"` |
156
+ | Chart recommendations | `chart` | `--domain chart "real-time dashboard"` |
157
+ | UX best practices | `ux` | `--domain ux "animation accessibility"` |
158
+ | Landing structure | `landing` | `--domain landing "hero social-proof"` |
159
+ | React Native perf | `react` | `--domain react "rerender memo list"` |
160
+ | App interface a11y | `web` | `--domain web "accessibilityLabel touch safe-areas"` |
161
+ | AI prompt / CSS keywords | `prompt` | `--domain prompt "minimalism"` |
162
+
163
+ ### Step 4: Stack Guidelines
164
+
165
+ Get implementation-specific best practices for the user's stack:
166
+
167
+ ```bash
168
+ python3 skills/ui-ux-pro-max/scripts/search.py "<keyword>" --stack <stack>
169
+ ```
170
+
171
+ ---
172
+
173
+ ## Search Reference
174
+
175
+ ### Available Domains
176
+
177
+ | Domain | Use For | Example Keywords |
178
+ |--------|---------|------------------|
179
+ | `product` | Product type recommendations | SaaS, e-commerce, portfolio, healthcare, beauty, service |
180
+ | `style` | UI styles, colors, effects | glassmorphism, minimalism, dark mode, brutalism |
181
+ | `typography` | Font pairings, Google Fonts | elegant, playful, professional, modern |
182
+ | `color` | Color palettes by product type | saas, ecommerce, healthcare, beauty, fintech, service |
183
+ | `landing` | Page structure, CTA strategies | hero, hero-centric, testimonial, pricing, social-proof |
184
+ | `chart` | Chart types, library recommendations | trend, comparison, timeline, funnel, pie |
185
+ | `ux` | Best practices, anti-patterns | animation, accessibility, z-index, loading |
186
+ | `gsap` | GSAP animation skeletons by intensity tier | scroll reveal, stagger, magnetic cursor, page transition |
187
+ | `react` | React/Next.js performance | waterfall, bundle, suspense, memo, rerender, cache |
188
+ | `web` | App interface guidelines (iOS/Android/React Native) | accessibilityLabel, touch targets, safe areas, Dynamic Type |
189
+ | `prompt` | AI prompts, CSS keywords | (style name) |
190
+
191
+ ### Available Stacks
192
+
193
+ | Stack | Focus |
194
+ |-------|-------|
195
+ | `react-native` | Components, Navigation, Lists |
196
+ | `javafx` | Enterprise desktop apps, AtlantaFX themes, FXML, CSS, Controls, Binding, Threading, Packaging |
197
+
198
+ **JavaFX enterprise examples:**
199
+
200
+ ```bash
201
+ python3 skills/ui-ux-pro-max/scripts/search.py "atlantafx primer enterprise theme" --stack javafx
202
+ python3 skills/ui-ux-pro-max/scripts/search.py "enterprise tableview density permission" --stack javafx
203
+ ```
204
+
205
+ ---
206
+
207
+ ## Example Workflow
208
+
209
+ **User request:** "Make an AI search homepage。"
210
+
211
+ ### Step 1: Analyze Requirements
212
+ - Product type: Tool (AI search engine)
213
+ - Target audience: C-end users looking for fast, intelligent search
214
+ - Style keywords: modern, minimal, content-first, dark mode
215
+ - Stack: React Native
216
+
217
+ ### Step 2: Generate Design System (REQUIRED)
218
+
219
+ ```bash
220
+ python3 skills/ui-ux-pro-max/scripts/search.py "AI search tool modern minimal" --design-system -p "AI Search"
221
+ ```
222
+
223
+ **Output:** Complete design system with pattern, style, colors, typography, effects, and anti-patterns.
224
+
225
+ ### Step 3: Supplement with Detailed Searches (as needed)
226
+
227
+ ```bash
228
+ # Get style options for a modern tool product
229
+ python3 skills/ui-ux-pro-max/scripts/search.py "minimalism dark mode" --domain style
230
+
231
+ # Get UX best practices for search interaction and loading
232
+ python3 skills/ui-ux-pro-max/scripts/search.py "search loading animation" --domain ux
233
+ ```
234
+
235
+ ### Step 4: Stack Guidelines
236
+
237
+ ```bash
238
+ python3 skills/ui-ux-pro-max/scripts/search.py "list performance navigation" --stack react-native
239
+ ```
240
+
241
+ **Then:** Synthesize design system + detailed searches and implement the design.
242
+
243
+ ---
244
+
245
+ ## Output Formats
246
+
247
+ The `--design-system` flag supports two output formats:
248
+
249
+ ```bash
250
+ # ASCII box (default) - best for terminal display
251
+ python3 skills/ui-ux-pro-max/scripts/search.py "fintech crypto" --design-system
252
+
253
+ # Markdown - best for documentation
254
+ python3 skills/ui-ux-pro-max/scripts/search.py "fintech crypto" --design-system -f markdown
255
+ ```
256
+
257
+ ---
258
+
259
+ ## Tips for Better Results
260
+
261
+ ### Query Strategy
262
+
263
+ - Use **multi-dimensional keywords** — combine product + industry + tone + density: `"entertainment social vibrant content-dense"` not just `"app"`
264
+ - Try different keywords for the same need: `"playful neon"` → `"vibrant dark"` → `"content-first minimal"`
265
+ - Use `--design-system` first for full recommendations, then `--domain` to deep-dive any dimension you're unsure about
266
+ - Add `--stack <stack>` for implementation-specific guidance when the target stack is known
267
+
268
+ ### Common Sticking Points
269
+
270
+ | Problem | What to Do |
271
+ |---------|------------|
272
+ | Can't decide on style/color | Re-run `--design-system` with different keywords |
273
+ | Dark mode contrast issues | Quick Reference §6: `color-dark-mode` + `color-accessible-pairs` |
274
+ | Animations feel unnatural | Quick Reference §7: `spring-physics` + `easing` + `exit-faster-than-enter` |
275
+ | Form UX is poor | Quick Reference §8: `inline-validation` + `error-clarity` + `focus-management` |
276
+ | Navigation feels confusing | Quick Reference §9: `nav-hierarchy` + `bottom-nav-limit` + `back-behavior` |
277
+ | Layout breaks on small screens | Quick Reference §5: `mobile-first` + `breakpoint-consistency` |
278
+ | Performance / jank | Quick Reference §3: `virtualize-lists` + `main-thread-budget` + `debounce-throttle` |
279
+
280
+ ### Pre-Delivery Checklist
281
+
282
+ - Run `--domain ux "animation accessibility z-index loading"` as a UX validation pass before implementation
283
+ - Run through Quick Reference **§1–§3** (CRITICAL + HIGH) as a final review
284
+ - Test on 375px (small phone) and landscape orientation
285
+ - Verify behavior with **reduced-motion** enabled and **Dynamic Type** at largest size
286
+ - Check dark mode contrast independently (don't assume light mode values work)
287
+ - Confirm all touch targets ≥44pt and no content hidden behind safe areas
288
+
289
+ ---
290
+
291
+ ## Common Rules for Professional UI
292
+
293
+ These are frequently overlooked issues that make UI look unprofessional:
294
+ Scope notice: The rules below are for App UI (iOS/Android/React Native/Flutter), not desktop-web interaction patterns.
295
+
296
+ ### Icons & Visual Elements
297
+
298
+ - 默认图标库使用 **Phosphor (`@phosphor-icons/react`)**。`src/ui-ux-pro-max/data/icons.csv` 中列出的只是常用推荐图标,不是完整集合。
299
+ - 当推荐表中找不到合适的图标时:
300
+ - **优先继续从 Phosphor 的完整图标集中选择任何语义更贴切的图标**;
301
+ - 如果 Phosphor 也没有理想选项,可以使用 **Heroicons (`@heroicons/react`)** 作为备选,注意保持风格一致(线性/填充、笔画粗细、圆角风格)。
302
+
303
+ | Rule | Standard | Avoid | Why It Matters |
304
+ |------|----------|--------|----------------|
305
+ | **No Emoji as Structural Icons** | Use vector-based icons (e.g., Phosphor `@phosphor-icons/react`, Heroicons `@heroicons/react`, react-native-vector-icons, @expo/vector-icons). | Using emojis (🎨 🚀 ⚙️) for navigation, settings, or system controls. | Emojis are font-dependent, inconsistent across platforms, and cannot be controlled via design tokens. |
306
+ | **Vector-Only Assets** | Use SVG or platform vector icons that scale cleanly and support theming. | Raster PNG icons that blur or pixelate. | Ensures scalability, crisp rendering, and dark/light mode adaptability. |
307
+ | **Stable Interaction States** | Use color, opacity, or elevation transitions for press states without changing layout bounds. | Layout-shifting transforms that move surrounding content or trigger visual jitter. | Prevents unstable interactions and preserves smooth motion/perceived quality on mobile. |
308
+ | **Correct Brand Logos** | Use official brand assets and follow their usage guidelines (spacing, color, clear space). | Guessing logo paths, recoloring unofficially, or modifying proportions. | Prevents brand misuse and ensures legal/platform compliance. |
309
+ | **Consistent Icon Sizing** | Define icon sizes as design tokens (e.g., icon-sm, icon-md = 24pt, icon-lg). | Mixing arbitrary values like 20pt / 24pt / 28pt randomly. | Maintains rhythm and visual hierarchy across the interface. |
310
+ | **Stroke Consistency** | Use a consistent stroke width within the same visual layer (e.g., 1.5px or 2px). | Mixing thick and thin stroke styles arbitrarily. | Inconsistent strokes reduce perceived polish and cohesion. |
311
+ | **Filled vs Outline Discipline** | Use one icon style per hierarchy level. | Mixing filled and outline icons at the same hierarchy level. | Maintains semantic clarity and stylistic coherence. |
312
+ | **Touch Target Minimum** | Minimum 44×44pt interactive area (use hitSlop if icon is smaller). | Small icons without expanded tap area. | Meets accessibility and platform usability standards. |
313
+ | **Icon Alignment** | Align icons to text baseline and maintain consistent padding. | Misaligned icons or inconsistent spacing around them. | Prevents subtle visual imbalance that reduces perceived quality. |
314
+ | **Icon Contrast** | Follow WCAG contrast standards: 4.5:1 for small elements, 3:1 minimum for larger UI glyphs. | Low-contrast icons that blend into the background. | Ensures accessibility in both light and dark modes. |
315
+
316
+
317
+ ### Interaction (App)
318
+
319
+ | Rule | Do | Don't |
320
+ |------|----|----- |
321
+ | **Tap feedback** | Provide clear pressed feedback (ripple/opacity/elevation) within 80-150ms | No visual response on tap |
322
+ | **Animation timing** | Keep micro-interactions around 150-300ms with platform-native easing | Instant transitions or slow animations (>500ms) |
323
+ | **Accessibility focus** | Ensure screen reader focus order matches visual order and labels are descriptive | Unlabeled controls or confusing focus traversal |
324
+ | **Disabled state clarity** | Use disabled semantics (`disabled`/native disabled props), reduced emphasis, and no tap action | Controls that look tappable but do nothing |
325
+ | **Touch target minimum** | Keep tap areas >=44x44pt (iOS) or >=48x48dp (Android), expand hit area when icon is smaller | Tiny tap targets or icon-only hit areas without padding |
326
+ | **Gesture conflict prevention** | Keep one primary gesture per region and avoid nested tap/drag conflicts | Overlapping gestures causing accidental actions |
327
+ | **Semantic native controls** | Prefer native interactive primitives (`Button`, `Pressable`, platform equivalents) with proper accessibility roles | Generic containers used as primary controls without semantics |
328
+
329
+ ### Light/Dark Mode Contrast
330
+
331
+ | Rule | Do | Don't |
332
+ |------|----|----- |
333
+ | **Surface readability (light)** | Keep cards/surfaces clearly separated from background with sufficient opacity/elevation | Overly transparent surfaces that blur hierarchy |
334
+ | **Text contrast (light)** | Maintain body text contrast >=4.5:1 against light surfaces | Low-contrast gray body text |
335
+ | **Text contrast (dark)** | Maintain primary text contrast >=4.5:1 and secondary text >=3:1 on dark surfaces | Dark mode text that blends into background |
336
+ | **Border and divider visibility** | Ensure separators are visible in both themes (not just light mode) | Theme-specific borders disappearing in one mode |
337
+ | **State contrast parity** | Keep pressed/focused/disabled states equally distinguishable in light and dark themes | Defining interaction states for one theme only |
338
+ | **Token-driven theming** | Use semantic color tokens mapped per theme across app surfaces/text/icons | Hardcoded per-screen hex values |
339
+ | **Scrim and modal legibility** | Use a modal scrim strong enough to isolate foreground content (typically 40-60% black) | Weak scrim that leaves background visually competing |
340
+
341
+ ### Layout & Spacing
342
+
343
+ | Rule | Do | Don't |
344
+ |------|----|----- |
345
+ | **Safe-area compliance** | Respect top/bottom safe areas for all fixed headers, tab bars, and CTA bars | Placing fixed UI under notch, status bar, or gesture area |
346
+ | **System bar clearance** | Add spacing for status/navigation bars and gesture home indicator | Let tappable content collide with OS chrome |
347
+ | **Consistent content width** | Keep predictable content width per device class (phone/tablet) | Mixing arbitrary widths between screens |
348
+ | **8dp spacing rhythm** | Use a consistent 4/8dp spacing system for padding/gaps/section spacing | Random spacing increments with no rhythm |
349
+ | **Readable text measure** | Keep long-form text readable on large devices (avoid edge-to-edge paragraphs on tablets) | Full-width long text that hurts readability |
350
+ | **Section spacing hierarchy** | Define clear vertical rhythm tiers (e.g., 16/24/32/48) by hierarchy | Similar UI levels with inconsistent spacing |
351
+ | **Adaptive gutters by breakpoint** | Increase horizontal insets on larger widths and in landscape | Same narrow gutter on all device sizes/orientations |
352
+ | **Scroll and fixed element coexistence** | Add bottom/top content insets so lists are not hidden behind fixed bars | Scroll content obscured by sticky headers/footers |
353
+
354
+ ---
355
+
356
+ ## Pre-Delivery Checklist
357
+
358
+ Before delivering UI code, verify these items:
359
+ Scope notice: This checklist is for App UI (iOS/Android/React Native/Flutter).
360
+
361
+ ### Visual Quality
362
+ - [ ] No emojis used as icons (use SVG instead)
363
+ - [ ] All icons come from a consistent icon family and style
364
+ - [ ] Official brand assets are used with correct proportions and clear space
365
+ - [ ] Pressed-state visuals do not shift layout bounds or cause jitter
366
+ - [ ] Semantic theme tokens are used consistently (no ad-hoc per-screen hardcoded colors)
367
+
368
+ ### Interaction
369
+ - [ ] All tappable elements provide clear pressed feedback (ripple/opacity/elevation)
370
+ - [ ] Touch targets meet minimum size (>=44x44pt iOS, >=48x48dp Android)
371
+ - [ ] Micro-interaction timing stays in the 150-300ms range with native-feeling easing
372
+ - [ ] Disabled states are visually clear and non-interactive
373
+ - [ ] Screen reader focus order matches visual order, and interactive labels are descriptive
374
+ - [ ] Gesture regions avoid nested/conflicting interactions (tap/drag/back-swipe conflicts)
375
+
376
+ ### Light/Dark Mode
377
+ - [ ] Primary text contrast >=4.5:1 in both light and dark mode
378
+ - [ ] Secondary text contrast >=3:1 in both light and dark mode
379
+ - [ ] Dividers/borders and interaction states are distinguishable in both modes
380
+ - [ ] Modal/drawer scrim opacity is strong enough to preserve foreground legibility (typically 40-60% black)
381
+ - [ ] Both themes are tested before delivery (not inferred from a single theme)
382
+
383
+ ### Layout
384
+ - [ ] Safe areas are respected for headers, tab bars, and bottom CTA bars
385
+ - [ ] Scroll content is not hidden behind fixed/sticky bars
386
+ - [ ] Verified on small phone, large phone, and tablet (portrait + landscape)
387
+ - [ ] Horizontal insets/gutters adapt correctly by device size and orientation
388
+ - [ ] 4/8dp spacing rhythm is maintained across component, section, and page levels
389
+ - [ ] Long-form text measure remains readable on larger devices (no edge-to-edge paragraphs)
390
+
391
+ ### Accessibility
392
+ - [ ] All meaningful images/icons have accessibility labels
393
+ - [ ] Form fields have labels, hints, and clear error messages
394
+ - [ ] Color is not the only indicator
395
+ - [ ] Reduced motion and dynamic text size are supported without layout breakage
396
+ - [ ] Accessibility traits/roles/states (selected, disabled, expanded) are announced correctly