@su-record/vibe 2.7.18 → 2.7.20

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 (345) hide show
  1. package/.env.example +37 -37
  2. package/CLAUDE.md +153 -153
  3. package/LICENSE +21 -21
  4. package/README.md +451 -449
  5. package/agents/architect-low.md +41 -41
  6. package/agents/architect-medium.md +59 -59
  7. package/agents/architect.md +80 -80
  8. package/agents/build-error-resolver.md +115 -115
  9. package/agents/compounder.md +261 -261
  10. package/agents/diagrammer.md +178 -178
  11. package/agents/docs/api-documenter.md +99 -99
  12. package/agents/docs/changelog-writer.md +93 -93
  13. package/agents/e2e-tester.md +294 -294
  14. package/agents/event/event-comms.md +78 -0
  15. package/agents/event/event-content.md +68 -0
  16. package/agents/event/event-image.md +95 -0
  17. package/agents/event/event-ops.md +84 -0
  18. package/agents/event/event-scheduler.md +69 -0
  19. package/agents/event/event-speaker.md +86 -0
  20. package/agents/explorer-low.md +42 -42
  21. package/agents/explorer-medium.md +59 -59
  22. package/agents/explorer.md +48 -48
  23. package/agents/implementer-low.md +43 -43
  24. package/agents/implementer-medium.md +52 -52
  25. package/agents/implementer.md +54 -54
  26. package/agents/junior-mentor.md +141 -141
  27. package/agents/planning/requirements-analyst.md +84 -84
  28. package/agents/planning/ux-advisor.md +83 -83
  29. package/agents/qa/acceptance-tester.md +86 -86
  30. package/agents/qa/edge-case-finder.md +93 -93
  31. package/agents/refactor-cleaner.md +143 -143
  32. package/agents/research/best-practices-agent.md +199 -199
  33. package/agents/research/codebase-patterns-agent.md +157 -157
  34. package/agents/research/framework-docs-agent.md +188 -188
  35. package/agents/research/security-advisory-agent.md +213 -213
  36. package/agents/review/architecture-reviewer.md +107 -107
  37. package/agents/review/complexity-reviewer.md +116 -116
  38. package/agents/review/data-integrity-reviewer.md +88 -88
  39. package/agents/review/git-history-reviewer.md +103 -103
  40. package/agents/review/performance-reviewer.md +86 -86
  41. package/agents/review/python-reviewer.md +150 -150
  42. package/agents/review/rails-reviewer.md +139 -139
  43. package/agents/review/react-reviewer.md +144 -144
  44. package/agents/review/security-reviewer.md +80 -80
  45. package/agents/review/simplicity-reviewer.md +140 -140
  46. package/agents/review/test-coverage-reviewer.md +116 -116
  47. package/agents/review/typescript-reviewer.md +127 -127
  48. package/agents/searcher.md +54 -54
  49. package/agents/simplifier.md +120 -120
  50. package/agents/tester.md +49 -49
  51. package/agents/ui/ui-a11y-auditor.md +93 -93
  52. package/agents/ui/ui-antipattern-detector.md +94 -94
  53. package/agents/ui/ui-dataviz-advisor.md +69 -69
  54. package/agents/ui/ui-design-system-gen.md +57 -57
  55. package/agents/ui/ui-industry-analyzer.md +49 -49
  56. package/agents/ui/ui-layout-architect.md +65 -65
  57. package/agents/ui/ui-stack-implementer.md +68 -68
  58. package/agents/ui/ux-compliance-reviewer.md +81 -81
  59. package/agents/ui-previewer.md +258 -258
  60. package/commands/vibe.analyze.md +379 -379
  61. package/commands/vibe.event.md +163 -0
  62. package/commands/vibe.review.md +607 -607
  63. package/commands/vibe.run.md +2217 -2124
  64. package/commands/vibe.spec.md +1195 -1195
  65. package/commands/vibe.spec.review.md +569 -569
  66. package/commands/vibe.trace.md +50 -0
  67. package/commands/vibe.utils.md +413 -413
  68. package/commands/vibe.verify.md +484 -484
  69. package/dist/__tests__/architecture.test.d.ts +2 -0
  70. package/dist/__tests__/architecture.test.d.ts.map +1 -0
  71. package/dist/__tests__/architecture.test.js +207 -0
  72. package/dist/__tests__/architecture.test.js.map +1 -0
  73. package/dist/cli/auth.js +3 -3
  74. package/dist/cli/auth.js.map +1 -1
  75. package/dist/cli/collaborator.js +52 -52
  76. package/dist/cli/commands/evolution.js +12 -12
  77. package/dist/cli/commands/info.d.ts.map +1 -1
  78. package/dist/cli/commands/info.js +45 -81
  79. package/dist/cli/commands/info.js.map +1 -1
  80. package/dist/cli/commands/init.js +5 -5
  81. package/dist/cli/commands/remove.js +14 -14
  82. package/dist/cli/commands/sentinel.js +27 -27
  83. package/dist/cli/commands/skills.js +5 -5
  84. package/dist/cli/commands/slack.js +10 -10
  85. package/dist/cli/commands/telegram.js +12 -12
  86. package/dist/cli/detect.d.ts.map +1 -1
  87. package/dist/cli/detect.js +55 -32
  88. package/dist/cli/detect.js.map +1 -1
  89. package/dist/cli/index.d.ts +1 -1
  90. package/dist/cli/index.d.ts.map +1 -1
  91. package/dist/cli/index.js +52 -52
  92. package/dist/cli/index.js.map +1 -1
  93. package/dist/cli/llm/claude-commands.js +16 -16
  94. package/dist/cli/llm/config.js +18 -18
  95. package/dist/cli/llm/gemini-commands.js +16 -16
  96. package/dist/cli/llm/gpt-commands.js +19 -19
  97. package/dist/cli/llm/help.js +21 -21
  98. package/dist/cli/postinstall/constants.d.ts.map +1 -1
  99. package/dist/cli/postinstall/constants.js +24 -0
  100. package/dist/cli/postinstall/constants.js.map +1 -1
  101. package/dist/cli/postinstall/cursor-agents.js +32 -32
  102. package/dist/cli/postinstall/cursor-rules.js +83 -83
  103. package/dist/cli/postinstall/cursor-skills.js +743 -743
  104. package/dist/cli/setup/Provisioner.js +42 -42
  105. package/dist/infra/lib/AutomationLevel.d.ts +48 -0
  106. package/dist/infra/lib/AutomationLevel.d.ts.map +1 -0
  107. package/dist/infra/lib/AutomationLevel.js +157 -0
  108. package/dist/infra/lib/AutomationLevel.js.map +1 -0
  109. package/dist/infra/lib/DecisionTracer.d.ts +81 -0
  110. package/dist/infra/lib/DecisionTracer.d.ts.map +1 -0
  111. package/dist/infra/lib/DecisionTracer.js +135 -0
  112. package/dist/infra/lib/DecisionTracer.js.map +1 -0
  113. package/dist/infra/lib/DeepInit.js +24 -24
  114. package/dist/infra/lib/InteractiveCheckpoint.d.ts +75 -0
  115. package/dist/infra/lib/InteractiveCheckpoint.d.ts.map +1 -0
  116. package/dist/infra/lib/InteractiveCheckpoint.js +179 -0
  117. package/dist/infra/lib/InteractiveCheckpoint.js.map +1 -0
  118. package/dist/infra/lib/IterationTracker.d.ts +44 -0
  119. package/dist/infra/lib/IterationTracker.d.ts.map +1 -1
  120. package/dist/infra/lib/IterationTracker.js +267 -12
  121. package/dist/infra/lib/IterationTracker.js.map +1 -1
  122. package/dist/infra/lib/LoopBreaker.d.ts +56 -0
  123. package/dist/infra/lib/LoopBreaker.d.ts.map +1 -0
  124. package/dist/infra/lib/LoopBreaker.js +109 -0
  125. package/dist/infra/lib/LoopBreaker.js.map +1 -0
  126. package/dist/infra/lib/PythonParser.js +108 -108
  127. package/dist/infra/lib/ReviewRace.js +96 -96
  128. package/dist/infra/lib/SkillFrontmatter.js +28 -28
  129. package/dist/infra/lib/SkillQualityGate.js +9 -9
  130. package/dist/infra/lib/SkillRepository.js +159 -159
  131. package/dist/infra/lib/UltraQA.js +99 -99
  132. package/dist/infra/lib/VerificationLoop.d.ts +105 -0
  133. package/dist/infra/lib/VerificationLoop.d.ts.map +1 -0
  134. package/dist/infra/lib/VerificationLoop.js +189 -0
  135. package/dist/infra/lib/VerificationLoop.js.map +1 -0
  136. package/dist/infra/lib/__tests__/AutomationLevel.test.d.ts +2 -0
  137. package/dist/infra/lib/__tests__/AutomationLevel.test.d.ts.map +1 -0
  138. package/dist/infra/lib/__tests__/AutomationLevel.test.js +297 -0
  139. package/dist/infra/lib/__tests__/AutomationLevel.test.js.map +1 -0
  140. package/dist/infra/lib/__tests__/DecisionTracer.test.d.ts +2 -0
  141. package/dist/infra/lib/__tests__/DecisionTracer.test.d.ts.map +1 -0
  142. package/dist/infra/lib/__tests__/DecisionTracer.test.js +274 -0
  143. package/dist/infra/lib/__tests__/DecisionTracer.test.js.map +1 -0
  144. package/dist/infra/lib/__tests__/InteractiveCheckpoint.test.d.ts +2 -0
  145. package/dist/infra/lib/__tests__/InteractiveCheckpoint.test.d.ts.map +1 -0
  146. package/dist/infra/lib/__tests__/InteractiveCheckpoint.test.js +350 -0
  147. package/dist/infra/lib/__tests__/InteractiveCheckpoint.test.js.map +1 -0
  148. package/dist/infra/lib/__tests__/LoopBreaker.test.d.ts +2 -0
  149. package/dist/infra/lib/__tests__/LoopBreaker.test.d.ts.map +1 -0
  150. package/dist/infra/lib/__tests__/LoopBreaker.test.js +340 -0
  151. package/dist/infra/lib/__tests__/LoopBreaker.test.js.map +1 -0
  152. package/dist/infra/lib/__tests__/VerificationLoop.test.d.ts +2 -0
  153. package/dist/infra/lib/__tests__/VerificationLoop.test.d.ts.map +1 -0
  154. package/dist/infra/lib/__tests__/VerificationLoop.test.js +486 -0
  155. package/dist/infra/lib/__tests__/VerificationLoop.test.js.map +1 -0
  156. package/dist/infra/lib/autonomy/AuditStore.js +41 -41
  157. package/dist/infra/lib/autonomy/ConfirmationStore.js +30 -30
  158. package/dist/infra/lib/autonomy/EventOutbox.js +38 -38
  159. package/dist/infra/lib/autonomy/PolicyEngine.d.ts +3 -3
  160. package/dist/infra/lib/autonomy/PolicyEngine.js +18 -18
  161. package/dist/infra/lib/autonomy/SecuritySentinel.js +1 -1
  162. package/dist/infra/lib/autonomy/SuggestionStore.js +33 -33
  163. package/dist/infra/lib/embedding/VectorStore.js +22 -22
  164. package/dist/infra/lib/embedding/__tests__/EmbeddingProvider.test.js +4 -0
  165. package/dist/infra/lib/embedding/__tests__/EmbeddingProvider.test.js.map +1 -1
  166. package/dist/infra/lib/evolution/AgentAnalyzer.js +10 -10
  167. package/dist/infra/lib/evolution/DeprecationDetector.d.ts +68 -0
  168. package/dist/infra/lib/evolution/DeprecationDetector.d.ts.map +1 -0
  169. package/dist/infra/lib/evolution/DeprecationDetector.js +207 -0
  170. package/dist/infra/lib/evolution/DeprecationDetector.js.map +1 -0
  171. package/dist/infra/lib/evolution/DescriptionOptimizer.js +21 -21
  172. package/dist/infra/lib/evolution/GenerationRegistry.js +36 -36
  173. package/dist/infra/lib/evolution/InsightStore.js +90 -90
  174. package/dist/infra/lib/evolution/ParityTester.d.ts +74 -0
  175. package/dist/infra/lib/evolution/ParityTester.d.ts.map +1 -0
  176. package/dist/infra/lib/evolution/ParityTester.js +238 -0
  177. package/dist/infra/lib/evolution/ParityTester.js.map +1 -0
  178. package/dist/infra/lib/evolution/RollbackManager.js +5 -5
  179. package/dist/infra/lib/evolution/SkillBenchmark.js +23 -23
  180. package/dist/infra/lib/evolution/SkillEvalRunner.js +50 -50
  181. package/dist/infra/lib/evolution/SkillGapDetector.js +10 -10
  182. package/dist/infra/lib/evolution/UsageTracker.js +28 -28
  183. package/dist/infra/lib/evolution/__tests__/deprecation.test.d.ts +2 -0
  184. package/dist/infra/lib/evolution/__tests__/deprecation.test.d.ts.map +1 -0
  185. package/dist/infra/lib/evolution/__tests__/deprecation.test.js +251 -0
  186. package/dist/infra/lib/evolution/__tests__/deprecation.test.js.map +1 -0
  187. package/dist/infra/lib/evolution/__tests__/parity.test.d.ts +2 -0
  188. package/dist/infra/lib/evolution/__tests__/parity.test.d.ts.map +1 -0
  189. package/dist/infra/lib/evolution/__tests__/parity.test.js +319 -0
  190. package/dist/infra/lib/evolution/__tests__/parity.test.js.map +1 -0
  191. package/dist/infra/lib/evolution/index.d.ts +4 -0
  192. package/dist/infra/lib/evolution/index.d.ts.map +1 -1
  193. package/dist/infra/lib/evolution/index.js +3 -0
  194. package/dist/infra/lib/evolution/index.js.map +1 -1
  195. package/dist/infra/lib/gemini/orchestration.js +5 -5
  196. package/dist/infra/lib/gpt/orchestration.js +4 -4
  197. package/dist/infra/lib/gpt/specializations.d.ts +1 -1
  198. package/dist/infra/lib/gpt/specializations.js +1 -1
  199. package/dist/infra/lib/memory/KnowledgeGraph.js +4 -4
  200. package/dist/infra/lib/memory/MemorySearch.js +57 -57
  201. package/dist/infra/lib/memory/MemoryStorage.js +181 -181
  202. package/dist/infra/lib/memory/ObservationStore.js +28 -28
  203. package/dist/infra/lib/memory/ReflectionStore.js +30 -30
  204. package/dist/infra/lib/memory/SessionRAGRetriever.js +7 -7
  205. package/dist/infra/lib/memory/SessionRAGStore.js +225 -225
  206. package/dist/infra/lib/memory/SessionSummarizer.js +9 -9
  207. package/dist/infra/lib/telemetry/SkillTelemetry.d.ts +6 -0
  208. package/dist/infra/lib/telemetry/SkillTelemetry.d.ts.map +1 -1
  209. package/dist/infra/lib/telemetry/SkillTelemetry.js +11 -0
  210. package/dist/infra/lib/telemetry/SkillTelemetry.js.map +1 -1
  211. package/dist/infra/orchestrator/AgentManager.js +12 -12
  212. package/dist/infra/orchestrator/AgentRegistry.js +65 -65
  213. package/dist/infra/orchestrator/BackgroundManager.d.ts.map +1 -1
  214. package/dist/infra/orchestrator/BackgroundManager.js +2 -0
  215. package/dist/infra/orchestrator/BackgroundManager.js.map +1 -1
  216. package/dist/infra/orchestrator/MultiLlmResearch.js +8 -8
  217. package/dist/infra/orchestrator/PhasePipeline.js +1 -1
  218. package/dist/infra/orchestrator/PhasePipeline.js.map +1 -1
  219. package/dist/infra/orchestrator/SwarmOrchestrator.test.js +16 -16
  220. package/dist/infra/orchestrator/parallelResearch.js +24 -24
  221. package/dist/tools/convention/analyzeComplexity.test.js +115 -115
  222. package/dist/tools/convention/validateCodeQuality.test.js +104 -104
  223. package/dist/tools/index.d.ts +16 -19
  224. package/dist/tools/index.d.ts.map +1 -1
  225. package/dist/tools/index.js +15 -27
  226. package/dist/tools/index.js.map +1 -1
  227. package/dist/tools/memory/createMemoryTimeline.js +10 -10
  228. package/dist/tools/memory/getMemoryGraph.js +12 -12
  229. package/dist/tools/memory/getSessionContext.js +9 -9
  230. package/dist/tools/memory/linkMemories.js +14 -14
  231. package/dist/tools/memory/listMemories.js +4 -4
  232. package/dist/tools/memory/recallMemory.js +4 -4
  233. package/dist/tools/memory/saveMemory.js +4 -4
  234. package/dist/tools/memory/searchMemoriesAdvanced.js +23 -23
  235. package/dist/tools/memory/startSession.js +1 -1
  236. package/dist/tools/memory/startSession.js.map +1 -1
  237. package/dist/tools/semantic/analyzeDependencyGraph.js +12 -12
  238. package/dist/tools/semantic/astGrep.test.js +6 -6
  239. package/dist/tools/spec/index.d.ts +0 -4
  240. package/dist/tools/spec/index.d.ts.map +1 -1
  241. package/dist/tools/spec/index.js +0 -4
  242. package/dist/tools/spec/index.js.map +1 -1
  243. package/dist/tools/spec/prdParser.test.js +171 -171
  244. package/dist/tools/spec/specGenerator.js +169 -169
  245. package/dist/tools/spec/traceabilityMatrix.js +64 -64
  246. package/dist/tools/spec/traceabilityMatrix.test.js +28 -28
  247. package/hooks/gemini-hooks.json +73 -73
  248. package/hooks/hooks.json +137 -137
  249. package/hooks/scripts/code-check.js +77 -77
  250. package/hooks/scripts/context-save.js +212 -212
  251. package/hooks/scripts/evolution-engine.js +69 -0
  252. package/hooks/scripts/hud-status.js +291 -291
  253. package/hooks/scripts/keyword-detector.js +214 -214
  254. package/hooks/scripts/llm-orchestrate.js +475 -475
  255. package/hooks/scripts/post-edit.js +32 -32
  256. package/hooks/scripts/pre-tool-guard.js +125 -125
  257. package/hooks/scripts/prompt-dispatcher.js +185 -185
  258. package/hooks/scripts/sentinel-guard.js +104 -104
  259. package/hooks/scripts/session-start.js +106 -106
  260. package/hooks/scripts/skill-injector.js +83 -0
  261. package/hooks/scripts/stop-notify.js +209 -209
  262. package/hooks/scripts/utils.js +100 -100
  263. package/languages/csharp-unity.md +515 -515
  264. package/languages/gdscript-godot.md +470 -470
  265. package/languages/ruby-rails.md +489 -489
  266. package/languages/typescript-angular.md +433 -433
  267. package/languages/typescript-astro.md +416 -416
  268. package/languages/typescript-electron.md +406 -406
  269. package/languages/typescript-nestjs.md +524 -524
  270. package/languages/typescript-svelte.md +407 -407
  271. package/languages/typescript-tauri.md +365 -365
  272. package/package.json +101 -123
  273. package/skills/agents-md/SKILL.md +120 -120
  274. package/skills/arch-guard/SKILL.md +180 -180
  275. package/skills/brand-assets/SKILL.md +146 -146
  276. package/skills/capability-loop/SKILL.md +167 -167
  277. package/skills/characterization-test/SKILL.md +206 -206
  278. package/skills/commerce-patterns/SKILL.md +63 -63
  279. package/skills/commit-push-pr/SKILL.md +75 -75
  280. package/skills/context7-usage/SKILL.md +105 -105
  281. package/skills/core-capabilities/SKILL.md +13 -13
  282. package/skills/e2e-commerce/SKILL.md +61 -61
  283. package/skills/event-comms/SKILL.md +161 -0
  284. package/skills/event-ops/SKILL.md +197 -0
  285. package/skills/event-planning/SKILL.md +131 -0
  286. package/skills/exec-plan/SKILL.md +147 -147
  287. package/skills/frontend-design/SKILL.md +12 -12
  288. package/skills/git-worktree/SKILL.md +72 -72
  289. package/skills/handoff/SKILL.md +109 -109
  290. package/skills/parallel-research/SKILL.md +87 -87
  291. package/skills/priority-todos/SKILL.md +63 -63
  292. package/skills/seo-checklist/SKILL.md +57 -57
  293. package/skills/techdebt/SKILL.md +122 -122
  294. package/skills/tool-fallback/SKILL.md +103 -103
  295. package/skills/typescript-advanced-types/SKILL.md +66 -66
  296. package/skills/ui-ux-pro-max/SKILL.md +221 -221
  297. package/skills/vercel-react-best-practices/SKILL.md +59 -59
  298. package/skills/video-production/SKILL.md +51 -51
  299. package/vibe/config.json +29 -29
  300. package/vibe/constitution.md +227 -227
  301. package/vibe/rules/principles/communication-guide.md +98 -98
  302. package/vibe/rules/principles/development-philosophy.md +52 -52
  303. package/vibe/rules/principles/quick-start.md +102 -102
  304. package/vibe/rules/quality/bdd-contract-testing.md +393 -393
  305. package/vibe/rules/quality/checklist.md +276 -276
  306. package/vibe/rules/quality/performance.md +236 -236
  307. package/vibe/rules/quality/testing-strategy.md +440 -440
  308. package/vibe/rules/standards/anti-patterns.md +541 -541
  309. package/vibe/rules/standards/code-structure.md +291 -291
  310. package/vibe/rules/standards/complexity-metrics.md +313 -313
  311. package/vibe/rules/standards/git-workflow.md +237 -237
  312. package/vibe/rules/standards/naming-conventions.md +198 -198
  313. package/vibe/rules/standards/security.md +305 -305
  314. package/vibe/rules/writing/document-style.md +74 -74
  315. package/vibe/setup.sh +31 -31
  316. package/vibe/templates/constitution-template.md +252 -252
  317. package/vibe/templates/contract-backend-template.md +526 -526
  318. package/vibe/templates/contract-frontend-template.md +599 -599
  319. package/vibe/templates/feature-template.md +96 -96
  320. package/vibe/templates/spec-template.md +221 -221
  321. package/vibe/ui-ux-data/charts.csv +26 -26
  322. package/vibe/ui-ux-data/colors.csv +97 -97
  323. package/vibe/ui-ux-data/icons.csv +101 -101
  324. package/vibe/ui-ux-data/landing.csv +31 -31
  325. package/vibe/ui-ux-data/products.csv +96 -96
  326. package/vibe/ui-ux-data/react-performance.csv +45 -45
  327. package/vibe/ui-ux-data/stacks/astro.csv +54 -54
  328. package/vibe/ui-ux-data/stacks/flutter.csv +53 -53
  329. package/vibe/ui-ux-data/stacks/html-tailwind.csv +56 -56
  330. package/vibe/ui-ux-data/stacks/jetpack-compose.csv +53 -53
  331. package/vibe/ui-ux-data/stacks/nextjs.csv +53 -53
  332. package/vibe/ui-ux-data/stacks/nuxt-ui.csv +51 -51
  333. package/vibe/ui-ux-data/stacks/nuxtjs.csv +59 -59
  334. package/vibe/ui-ux-data/stacks/react-native.csv +52 -52
  335. package/vibe/ui-ux-data/stacks/react.csv +54 -54
  336. package/vibe/ui-ux-data/stacks/shadcn.csv +61 -61
  337. package/vibe/ui-ux-data/stacks/svelte.csv +54 -54
  338. package/vibe/ui-ux-data/stacks/swiftui.csv +51 -51
  339. package/vibe/ui-ux-data/stacks/vue.csv +50 -50
  340. package/vibe/ui-ux-data/styles.csv +68 -68
  341. package/vibe/ui-ux-data/typography.csv +57 -57
  342. package/vibe/ui-ux-data/ui-reasoning.csv +101 -101
  343. package/vibe/ui-ux-data/ux-guidelines.csv +99 -99
  344. package/vibe/ui-ux-data/version.json +31 -31
  345. package/vibe/ui-ux-data/web-interface.csv +31 -31
@@ -1,66 +1,66 @@
1
- ---
2
- name: typescript-advanced-types
3
- description: "TypeScript advanced type system master guide. Covers Generics, Conditional Types, Mapped Types, Template Literals, Utility Types. Activates for complex type logic, reusable type utilities, and compile-time type safety."
4
- sections:
5
- - name: "Core Concepts"
6
- triggers: [generic, generics, constraint, conditional, infer, mapped, utility, Pick, Omit, Partial, Required, Record, Exclude, Extract, readonly]
7
- - name: "Advanced Patterns"
8
- triggers: [template literal, branded, opaque, phantom, discriminated union, exhaustive, builder pattern, recursive type, variadic tuple]
9
- - name: "Type Inference"
10
- triggers: [inference, infer, type narrowing, type guard, satisfies, const assertion]
11
- - name: "Best Practices"
12
- triggers: [best practice, type safety, convention]
13
- - name: "Type Testing"
14
- triggers: [type test, type assertion, expectType, tsd]
15
- - name: "Common Mistakes"
16
- triggers: [mistake, pitfall, error, wrong]
17
- - name: "Performance"
18
- triggers: [performance, compile time, type complexity, depth limit]
19
- ---
20
-
21
- # TypeScript Advanced Types
22
-
23
- ## Pre-check (K1)
24
-
25
- > Is this a VIBE-specific type safety issue? Standard TypeScript generics/conditionals/mapped types are well-known — read the code instead. This skill exists for VIBE's strict rules and non-obvious gotchas only.
26
-
27
- ## VIBE Forbidden Patterns
28
-
29
- | Forbidden | Why | Use Instead |
30
- |-----------|-----|-------------|
31
- | `any` | Disables all type checking | `unknown` + type guard |
32
- | `as any` | Bypasses type system | Define proper interface |
33
- | `@ts-ignore` | Hides real errors | Fix the type issue at root |
34
- | Raw generic `T` without constraint | Too permissive | `T extends SomeInterface` |
35
-
36
- ## `unknown` + Type Guard (VIBE's `any` Replacement)
37
-
38
- ```typescript
39
- // Instead of: function process(data: any)
40
- function process(data: unknown): string {
41
- if (typeof data === 'string') return data.toUpperCase();
42
- if (isUser(data)) return data.name;
43
- throw new Error('Unexpected data type');
44
- }
45
-
46
- function isUser(value: unknown): value is User {
47
- return typeof value === 'object' && value !== null && 'name' in value;
48
- }
49
- ```
50
-
51
- ## Gotchas
52
-
53
- | Gotcha | Why Non-obvious | Fix |
54
- |--------|----------------|-----|
55
- | Distributive conditionals | `ToArray<string \| number>` → `string[] \| number[]`, not `(string \| number)[]` | Wrap in tuple: `[T] extends [U]` |
56
- | Recursive type depth | TS has ~50 level depth limit | Use tail-recursive patterns or simplify |
57
- | `satisfies` vs `as const` | `satisfies` validates + keeps literal types; `as` skips validation | Prefer `satisfies` |
58
- | Type assertions (`as X`) | Skips checking entirely | Use type guards instead |
59
- | `interface` vs `type` | `interface` gives better error messages for objects | Use `type` for unions/complex, `interface` for shapes |
60
-
61
- ## Done Criteria (K4)
62
-
63
- - [ ] No `any`, `as any`, or `@ts-ignore` in code
64
- - [ ] All `unknown` usages have corresponding type guards
65
- - [ ] Complex types have `AssertEqual` type tests
66
- - [ ] Recursive types are bounded (no infinite depth)
1
+ ---
2
+ name: typescript-advanced-types
3
+ description: "TypeScript advanced type system master guide. Covers Generics, Conditional Types, Mapped Types, Template Literals, Utility Types. Activates for complex type logic, reusable type utilities, and compile-time type safety."
4
+ sections:
5
+ - name: "Core Concepts"
6
+ triggers: [generic, generics, constraint, conditional, infer, mapped, utility, Pick, Omit, Partial, Required, Record, Exclude, Extract, readonly]
7
+ - name: "Advanced Patterns"
8
+ triggers: [template literal, branded, opaque, phantom, discriminated union, exhaustive, builder pattern, recursive type, variadic tuple]
9
+ - name: "Type Inference"
10
+ triggers: [inference, infer, type narrowing, type guard, satisfies, const assertion]
11
+ - name: "Best Practices"
12
+ triggers: [best practice, type safety, convention]
13
+ - name: "Type Testing"
14
+ triggers: [type test, type assertion, expectType, tsd]
15
+ - name: "Common Mistakes"
16
+ triggers: [mistake, pitfall, error, wrong]
17
+ - name: "Performance"
18
+ triggers: [performance, compile time, type complexity, depth limit]
19
+ ---
20
+
21
+ # TypeScript Advanced Types
22
+
23
+ ## Pre-check (K1)
24
+
25
+ > Is this a VIBE-specific type safety issue? Standard TypeScript generics/conditionals/mapped types are well-known — read the code instead. This skill exists for VIBE's strict rules and non-obvious gotchas only.
26
+
27
+ ## VIBE Forbidden Patterns
28
+
29
+ | Forbidden | Why | Use Instead |
30
+ |-----------|-----|-------------|
31
+ | `any` | Disables all type checking | `unknown` + type guard |
32
+ | `as any` | Bypasses type system | Define proper interface |
33
+ | `@ts-ignore` | Hides real errors | Fix the type issue at root |
34
+ | Raw generic `T` without constraint | Too permissive | `T extends SomeInterface` |
35
+
36
+ ## `unknown` + Type Guard (VIBE's `any` Replacement)
37
+
38
+ ```typescript
39
+ // Instead of: function process(data: any)
40
+ function process(data: unknown): string {
41
+ if (typeof data === 'string') return data.toUpperCase();
42
+ if (isUser(data)) return data.name;
43
+ throw new Error('Unexpected data type');
44
+ }
45
+
46
+ function isUser(value: unknown): value is User {
47
+ return typeof value === 'object' && value !== null && 'name' in value;
48
+ }
49
+ ```
50
+
51
+ ## Gotchas
52
+
53
+ | Gotcha | Why Non-obvious | Fix |
54
+ |--------|----------------|-----|
55
+ | Distributive conditionals | `ToArray<string \| number>` → `string[] \| number[]`, not `(string \| number)[]` | Wrap in tuple: `[T] extends [U]` |
56
+ | Recursive type depth | TS has ~50 level depth limit | Use tail-recursive patterns or simplify |
57
+ | `satisfies` vs `as const` | `satisfies` validates + keeps literal types; `as` skips validation | Prefer `satisfies` |
58
+ | Type assertions (`as X`) | Skips checking entirely | Use type guards instead |
59
+ | `interface` vs `type` | `interface` gives better error messages for objects | Use `type` for unions/complex, `interface` for shapes |
60
+
61
+ ## Done Criteria (K4)
62
+
63
+ - [ ] No `any`, `as any`, or `@ts-ignore` in code
64
+ - [ ] All `unknown` usages have corresponding type guards
65
+ - [ ] Complex types have `AssertEqual` type tests
66
+ - [ ] Recursive types are bounded (no infinite depth)
@@ -1,221 +1,221 @@
1
- ---
2
- name: ui-ux-pro-max
3
- description: "UI/UX design intelligence with bold aesthetic direction. 50+ styles, 97 palettes, 57 font pairings, 99 UX guidelines, 25 chart types across 9 stacks."
4
- ---
5
-
6
- # UI/UX Pro Max - Design Intelligence
7
-
8
- Searchable database: 50+ styles, 97 color palettes, 57 font pairings, 99 UX guidelines, 25 chart types across 9 stacks.
9
-
10
- ## Pre-check (K1)
11
-
12
- > Does this project need custom UI/UX design? If using a pre-built template or admin framework (e.g., Retool, Vercel templates), skip this skill.
13
-
14
- ## Rule Categories by Priority
15
-
16
- | Priority | Category | Impact | Domain |
17
- |----------|----------|--------|--------|
18
- | 1 | Accessibility | CRITICAL | `ux` |
19
- | 2 | Touch & Interaction | CRITICAL | `ux` |
20
- | 3 | Performance | HIGH | `ux` |
21
- | 4 | Layout & Responsive | HIGH | `ux` |
22
- | 5 | Typography & Color | MEDIUM | `typography`, `color` |
23
- | 6 | Animation | MEDIUM | `ux` |
24
- | 7 | Style Selection | MEDIUM | `style`, `product` |
25
- | 8 | Charts & Data | LOW | `chart` |
26
-
27
- ## Quick Reference
28
-
29
- ### 1. Accessibility (CRITICAL)
30
-
31
- - `color-contrast` - Minimum 4.5:1 ratio for normal text
32
- - `focus-states` - Visible focus rings on interactive elements
33
- - `alt-text` - Descriptive alt text for meaningful images
34
- - `aria-labels` - aria-label for icon-only buttons
35
- - `keyboard-nav` - Tab order matches visual order
36
- - `form-labels` - Use label with for attribute
37
-
38
- ### 2. Touch & Interaction (CRITICAL)
39
-
40
- - `touch-target-size` - Minimum 44x44px touch targets
41
- - `hover-vs-tap` - Use click/tap for primary interactions
42
- - `loading-buttons` - Disable button during async operations
43
- - `error-feedback` - Clear error messages near problem
44
- - `cursor-pointer` - Add cursor-pointer to clickable elements
45
-
46
- ### 3. Performance (HIGH)
47
-
48
- - `image-optimization` - Use WebP, srcset, lazy loading
49
- - `reduced-motion` - Check prefers-reduced-motion
50
- - `content-jumping` - Reserve space for async content
51
-
52
- ### 4. Layout & Responsive (HIGH)
53
-
54
- - `viewport-meta` - width=device-width initial-scale=1
55
- - `readable-font-size` - Minimum 16px body text on mobile
56
- - `horizontal-scroll` - Ensure content fits viewport width
57
- - `z-index-management` - Define z-index scale (10, 20, 30, 50)
58
-
59
- ### 5. Typography & Color (MEDIUM)
60
-
61
- - `line-height` - Use 1.5-1.75 for body text
62
- - `line-length` - Limit to 65-75 characters per line
63
- - `font-pairing` - Match heading/body font personalities
64
-
65
- ### 6. Animation (MEDIUM)
66
-
67
- - `duration-timing` - Use 150-300ms for micro-interactions
68
- - `transform-performance` - Use transform/opacity, not width/height
69
- - `loading-states` - Skeleton screens or spinners
70
-
71
- ### 7. Style Selection (MEDIUM)
72
-
73
- - `style-match` - Match style to product type
74
- - `consistency` - Use same style across all pages
75
- - `no-emoji-icons` - Use SVG icons, not emojis
76
-
77
- ### 8. Charts & Data (LOW)
78
-
79
- - `chart-type` - Match chart type to data type
80
- - `color-guidance` - Use accessible color palettes
81
- - `data-table` - Provide table alternative for accessibility
82
-
83
- ---
84
-
85
- ## How to Use
86
-
87
- ### Step 1: Analyze Requirements
88
-
89
- Extract from user request: **product type**, **style keywords**, **industry**, **stack** (default: html-tailwind).
90
-
91
- ### Step 2: Generate Design System (REQUIRED)
92
-
93
- ```bash
94
- python3 skills/ui-ux-pro-max/scripts/search.py "<product_type> <industry> <keywords>" --design-system [-p "Project Name"]
95
- ```
96
-
97
- This searches 5 domains in parallel (product, style, color, landing, typography), applies reasoning rules, and returns complete design system.
98
-
99
- **Persist for cross-session use:**
100
- ```bash
101
- python3 skills/ui-ux-pro-max/scripts/search.py "<query>" --design-system --persist -p "Project Name"
102
- ```
103
-
104
- Creates `design-system/MASTER.md` (global) + optional `design-system/pages/<page>.md` (overrides).
105
-
106
- **With page-specific override:**
107
- ```bash
108
- python3 skills/ui-ux-pro-max/scripts/search.py "<query>" --design-system --persist -p "Name" --page "dashboard"
109
- ```
110
-
111
- **Hierarchical retrieval**: Page file overrides Master. No page file → Master exclusively.
112
-
113
- ### Step 3: Detailed Searches (as needed)
114
-
115
- ```bash
116
- python3 skills/ui-ux-pro-max/scripts/search.py "<keyword>" --domain <domain> [-n <max_results>]
117
- ```
118
-
119
- Domains: `product`, `style`, `typography`, `color`, `landing`, `chart`, `ux`, `react`, `web`, `prompt`
120
-
121
- ### Step 4: Stack Guidelines (default: html-tailwind)
122
-
123
- ```bash
124
- python3 skills/ui-ux-pro-max/scripts/search.py "<keyword>" --stack html-tailwind
125
- ```
126
-
127
- Stacks: `html-tailwind`, `react`, `nextjs`, `vue`, `svelte`, `swiftui`, `react-native`, `flutter`, `shadcn`, `jetpack-compose`
128
-
129
- ---
130
-
131
- ## Common Rules for Professional UI
132
-
133
- ### Icons & Visual Elements
134
-
135
- | Rule | Do | Don't |
136
- |------|----|----- |
137
- | **No emoji icons** | Use SVG icons (Heroicons, Lucide, Simple Icons) | Use emojis as UI icons |
138
- | **Stable hover states** | Use color/opacity transitions on hover | Use scale transforms that shift layout |
139
- | **Correct brand logos** | Research official SVG from Simple Icons | Guess or use incorrect logo paths |
140
- | **Consistent icon sizing** | Fixed viewBox (24x24) with w-6 h-6 | Mix different icon sizes |
141
-
142
- ### Interaction & Cursor
143
-
144
- | Rule | Do | Don't |
145
- |------|----|----- |
146
- | **Cursor pointer** | `cursor-pointer` on all clickable elements | Default cursor on interactive elements |
147
- | **Hover feedback** | Visual feedback (color, shadow, border) | No indication element is interactive |
148
- | **Smooth transitions** | `transition-colors duration-200` | Instant changes or >500ms |
149
-
150
- ### Light/Dark Mode Contrast
151
-
152
- | Rule | Do | Don't |
153
- |------|----|----- |
154
- | **Glass card light mode** | `bg-white/80` or higher opacity | `bg-white/10` (too transparent) |
155
- | **Text contrast light** | `#0F172A` (slate-900) for text | `#94A3B8` (slate-400) for body |
156
- | **Muted text light** | `#475569` (slate-600) minimum | gray-400 or lighter |
157
- | **Border visibility** | `border-gray-200` in light mode | `border-white/10` (invisible) |
158
-
159
- ### Layout & Spacing
160
-
161
- | Rule | Do | Don't |
162
- |------|----|----- |
163
- | **Floating navbar** | `top-4 left-4 right-4` spacing | Stick to `top-0 left-0 right-0` |
164
- | **Content padding** | Account for fixed navbar height | Content hidden behind fixed elements |
165
- | **Consistent max-width** | Same `max-w-6xl` or `max-w-7xl` | Mix different container widths |
166
-
167
- ---
168
-
169
- ## Pre-Delivery Checklist
170
-
171
- ### Visual Quality
172
- - [ ] No emojis used as icons (SVG instead)
173
- - [ ] All icons from consistent set (Heroicons/Lucide)
174
- - [ ] Brand logos verified (Simple Icons)
175
- - [ ] Hover states don't cause layout shift
176
-
177
- ### Interaction
178
- - [ ] All clickable elements have `cursor-pointer`
179
- - [ ] Hover states provide clear visual feedback
180
- - [ ] Transitions are smooth (150-300ms)
181
- - [ ] Focus states visible for keyboard navigation
182
-
183
- ### Light/Dark Mode
184
- - [ ] Light mode text has sufficient contrast (4.5:1)
185
- - [ ] Glass/transparent elements visible in light mode
186
- - [ ] Borders visible in both modes
187
- - [ ] Both modes tested before delivery
188
-
189
- ### Layout
190
- - [ ] Floating elements have proper edge spacing
191
- - [ ] No content hidden behind fixed navbars
192
- - [ ] Responsive at 375px, 768px, 1024px, 1440px
193
- - [ ] No horizontal scroll on mobile
194
-
195
- ### Accessibility
196
- - [ ] All images have alt text
197
- - [ ] Form inputs have labels
198
- - [ ] Color is not the only indicator
199
- - [ ] `prefers-reduced-motion` respected
200
-
201
- ## Design Direction Anti-Patterns
202
-
203
- Avoid these signs of generic, AI-generated UI:
204
-
205
- | Anti-Pattern | Fix |
206
- |---|---|
207
- | Default Bootstrap/Tailwind without customization | Define design tokens first (colors, typography, spacing, motion) |
208
- | Overused fonts (Inter, Roboto) without styling | Choose distinctive typefaces that set the tone |
209
- | Predictable card-based layouts everywhere | Use asymmetry and unconventional layouts when appropriate |
210
- | Stock photography without curation | Custom icons and illustrations |
211
- | Safe, corporate color palettes | Develop unique color palettes beyond defaults |
212
- | No micro-interactions | Add meaningful motion to guide user attention (150-300ms) |
213
-
214
- ## Done Criteria (K4)
215
-
216
- - [ ] Design system generated before implementation
217
- - [ ] All pre-delivery checklist items verified
218
- - [ ] Both light and dark modes tested
219
- - [ ] Responsive at all breakpoints
220
- - [ ] No default/uncustomized framework styles remain
221
- - [ ] All interactive states designed (hover, focus, active, disabled)
1
+ ---
2
+ name: ui-ux-pro-max
3
+ description: "UI/UX design intelligence with bold aesthetic direction. 50+ styles, 97 palettes, 57 font pairings, 99 UX guidelines, 25 chart types across 9 stacks."
4
+ ---
5
+
6
+ # UI/UX Pro Max - Design Intelligence
7
+
8
+ Searchable database: 50+ styles, 97 color palettes, 57 font pairings, 99 UX guidelines, 25 chart types across 9 stacks.
9
+
10
+ ## Pre-check (K1)
11
+
12
+ > Does this project need custom UI/UX design? If using a pre-built template or admin framework (e.g., Retool, Vercel templates), skip this skill.
13
+
14
+ ## Rule Categories by Priority
15
+
16
+ | Priority | Category | Impact | Domain |
17
+ |----------|----------|--------|--------|
18
+ | 1 | Accessibility | CRITICAL | `ux` |
19
+ | 2 | Touch & Interaction | CRITICAL | `ux` |
20
+ | 3 | Performance | HIGH | `ux` |
21
+ | 4 | Layout & Responsive | HIGH | `ux` |
22
+ | 5 | Typography & Color | MEDIUM | `typography`, `color` |
23
+ | 6 | Animation | MEDIUM | `ux` |
24
+ | 7 | Style Selection | MEDIUM | `style`, `product` |
25
+ | 8 | Charts & Data | LOW | `chart` |
26
+
27
+ ## Quick Reference
28
+
29
+ ### 1. Accessibility (CRITICAL)
30
+
31
+ - `color-contrast` - Minimum 4.5:1 ratio for normal text
32
+ - `focus-states` - Visible focus rings on interactive elements
33
+ - `alt-text` - Descriptive alt text for meaningful images
34
+ - `aria-labels` - aria-label for icon-only buttons
35
+ - `keyboard-nav` - Tab order matches visual order
36
+ - `form-labels` - Use label with for attribute
37
+
38
+ ### 2. Touch & Interaction (CRITICAL)
39
+
40
+ - `touch-target-size` - Minimum 44x44px touch targets
41
+ - `hover-vs-tap` - Use click/tap for primary interactions
42
+ - `loading-buttons` - Disable button during async operations
43
+ - `error-feedback` - Clear error messages near problem
44
+ - `cursor-pointer` - Add cursor-pointer to clickable elements
45
+
46
+ ### 3. Performance (HIGH)
47
+
48
+ - `image-optimization` - Use WebP, srcset, lazy loading
49
+ - `reduced-motion` - Check prefers-reduced-motion
50
+ - `content-jumping` - Reserve space for async content
51
+
52
+ ### 4. Layout & Responsive (HIGH)
53
+
54
+ - `viewport-meta` - width=device-width initial-scale=1
55
+ - `readable-font-size` - Minimum 16px body text on mobile
56
+ - `horizontal-scroll` - Ensure content fits viewport width
57
+ - `z-index-management` - Define z-index scale (10, 20, 30, 50)
58
+
59
+ ### 5. Typography & Color (MEDIUM)
60
+
61
+ - `line-height` - Use 1.5-1.75 for body text
62
+ - `line-length` - Limit to 65-75 characters per line
63
+ - `font-pairing` - Match heading/body font personalities
64
+
65
+ ### 6. Animation (MEDIUM)
66
+
67
+ - `duration-timing` - Use 150-300ms for micro-interactions
68
+ - `transform-performance` - Use transform/opacity, not width/height
69
+ - `loading-states` - Skeleton screens or spinners
70
+
71
+ ### 7. Style Selection (MEDIUM)
72
+
73
+ - `style-match` - Match style to product type
74
+ - `consistency` - Use same style across all pages
75
+ - `no-emoji-icons` - Use SVG icons, not emojis
76
+
77
+ ### 8. Charts & Data (LOW)
78
+
79
+ - `chart-type` - Match chart type to data type
80
+ - `color-guidance` - Use accessible color palettes
81
+ - `data-table` - Provide table alternative for accessibility
82
+
83
+ ---
84
+
85
+ ## How to Use
86
+
87
+ ### Step 1: Analyze Requirements
88
+
89
+ Extract from user request: **product type**, **style keywords**, **industry**, **stack** (default: html-tailwind).
90
+
91
+ ### Step 2: Generate Design System (REQUIRED)
92
+
93
+ ```bash
94
+ python3 skills/ui-ux-pro-max/scripts/search.py "<product_type> <industry> <keywords>" --design-system [-p "Project Name"]
95
+ ```
96
+
97
+ This searches 5 domains in parallel (product, style, color, landing, typography), applies reasoning rules, and returns complete design system.
98
+
99
+ **Persist for cross-session use:**
100
+ ```bash
101
+ python3 skills/ui-ux-pro-max/scripts/search.py "<query>" --design-system --persist -p "Project Name"
102
+ ```
103
+
104
+ Creates `design-system/MASTER.md` (global) + optional `design-system/pages/<page>.md` (overrides).
105
+
106
+ **With page-specific override:**
107
+ ```bash
108
+ python3 skills/ui-ux-pro-max/scripts/search.py "<query>" --design-system --persist -p "Name" --page "dashboard"
109
+ ```
110
+
111
+ **Hierarchical retrieval**: Page file overrides Master. No page file → Master exclusively.
112
+
113
+ ### Step 3: Detailed Searches (as needed)
114
+
115
+ ```bash
116
+ python3 skills/ui-ux-pro-max/scripts/search.py "<keyword>" --domain <domain> [-n <max_results>]
117
+ ```
118
+
119
+ Domains: `product`, `style`, `typography`, `color`, `landing`, `chart`, `ux`, `react`, `web`, `prompt`
120
+
121
+ ### Step 4: Stack Guidelines (default: html-tailwind)
122
+
123
+ ```bash
124
+ python3 skills/ui-ux-pro-max/scripts/search.py "<keyword>" --stack html-tailwind
125
+ ```
126
+
127
+ Stacks: `html-tailwind`, `react`, `nextjs`, `vue`, `svelte`, `swiftui`, `react-native`, `flutter`, `shadcn`, `jetpack-compose`
128
+
129
+ ---
130
+
131
+ ## Common Rules for Professional UI
132
+
133
+ ### Icons & Visual Elements
134
+
135
+ | Rule | Do | Don't |
136
+ |------|----|----- |
137
+ | **No emoji icons** | Use SVG icons (Heroicons, Lucide, Simple Icons) | Use emojis as UI icons |
138
+ | **Stable hover states** | Use color/opacity transitions on hover | Use scale transforms that shift layout |
139
+ | **Correct brand logos** | Research official SVG from Simple Icons | Guess or use incorrect logo paths |
140
+ | **Consistent icon sizing** | Fixed viewBox (24x24) with w-6 h-6 | Mix different icon sizes |
141
+
142
+ ### Interaction & Cursor
143
+
144
+ | Rule | Do | Don't |
145
+ |------|----|----- |
146
+ | **Cursor pointer** | `cursor-pointer` on all clickable elements | Default cursor on interactive elements |
147
+ | **Hover feedback** | Visual feedback (color, shadow, border) | No indication element is interactive |
148
+ | **Smooth transitions** | `transition-colors duration-200` | Instant changes or >500ms |
149
+
150
+ ### Light/Dark Mode Contrast
151
+
152
+ | Rule | Do | Don't |
153
+ |------|----|----- |
154
+ | **Glass card light mode** | `bg-white/80` or higher opacity | `bg-white/10` (too transparent) |
155
+ | **Text contrast light** | `#0F172A` (slate-900) for text | `#94A3B8` (slate-400) for body |
156
+ | **Muted text light** | `#475569` (slate-600) minimum | gray-400 or lighter |
157
+ | **Border visibility** | `border-gray-200` in light mode | `border-white/10` (invisible) |
158
+
159
+ ### Layout & Spacing
160
+
161
+ | Rule | Do | Don't |
162
+ |------|----|----- |
163
+ | **Floating navbar** | `top-4 left-4 right-4` spacing | Stick to `top-0 left-0 right-0` |
164
+ | **Content padding** | Account for fixed navbar height | Content hidden behind fixed elements |
165
+ | **Consistent max-width** | Same `max-w-6xl` or `max-w-7xl` | Mix different container widths |
166
+
167
+ ---
168
+
169
+ ## Pre-Delivery Checklist
170
+
171
+ ### Visual Quality
172
+ - [ ] No emojis used as icons (SVG instead)
173
+ - [ ] All icons from consistent set (Heroicons/Lucide)
174
+ - [ ] Brand logos verified (Simple Icons)
175
+ - [ ] Hover states don't cause layout shift
176
+
177
+ ### Interaction
178
+ - [ ] All clickable elements have `cursor-pointer`
179
+ - [ ] Hover states provide clear visual feedback
180
+ - [ ] Transitions are smooth (150-300ms)
181
+ - [ ] Focus states visible for keyboard navigation
182
+
183
+ ### Light/Dark Mode
184
+ - [ ] Light mode text has sufficient contrast (4.5:1)
185
+ - [ ] Glass/transparent elements visible in light mode
186
+ - [ ] Borders visible in both modes
187
+ - [ ] Both modes tested before delivery
188
+
189
+ ### Layout
190
+ - [ ] Floating elements have proper edge spacing
191
+ - [ ] No content hidden behind fixed navbars
192
+ - [ ] Responsive at 375px, 768px, 1024px, 1440px
193
+ - [ ] No horizontal scroll on mobile
194
+
195
+ ### Accessibility
196
+ - [ ] All images have alt text
197
+ - [ ] Form inputs have labels
198
+ - [ ] Color is not the only indicator
199
+ - [ ] `prefers-reduced-motion` respected
200
+
201
+ ## Design Direction Anti-Patterns
202
+
203
+ Avoid these signs of generic, AI-generated UI:
204
+
205
+ | Anti-Pattern | Fix |
206
+ |---|---|
207
+ | Default Bootstrap/Tailwind without customization | Define design tokens first (colors, typography, spacing, motion) |
208
+ | Overused fonts (Inter, Roboto) without styling | Choose distinctive typefaces that set the tone |
209
+ | Predictable card-based layouts everywhere | Use asymmetry and unconventional layouts when appropriate |
210
+ | Stock photography without curation | Custom icons and illustrations |
211
+ | Safe, corporate color palettes | Develop unique color palettes beyond defaults |
212
+ | No micro-interactions | Add meaningful motion to guide user attention (150-300ms) |
213
+
214
+ ## Done Criteria (K4)
215
+
216
+ - [ ] Design system generated before implementation
217
+ - [ ] All pre-delivery checklist items verified
218
+ - [ ] Both light and dark modes tested
219
+ - [ ] Responsive at all breakpoints
220
+ - [ ] No default/uncustomized framework styles remain
221
+ - [ ] All interactive states designed (hover, focus, active, disabled)