@su-record/vibe 2.16.3 → 3.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 (353) hide show
  1. package/.env.example +15 -0
  2. package/CLAUDE.md +8 -8
  3. package/README.en.md +46 -29
  4. package/README.md +41 -24
  5. package/agents/acceptance-tester.md +56 -0
  6. package/agents/architect.md +25 -67
  7. package/agents/build-error-resolver.md +28 -97
  8. package/agents/code-reviewer.md +89 -0
  9. package/agents/diagrammer.md +34 -165
  10. package/agents/documenter.md +43 -0
  11. package/agents/e2e-tester.md +46 -277
  12. package/agents/event/event-ops.md +54 -77
  13. package/agents/event/event-planner.md +63 -0
  14. package/agents/figma/figma-engineer.md +76 -0
  15. package/agents/implementer.md +26 -41
  16. package/agents/security-reviewer.md +56 -0
  17. package/agents/tester.md +37 -33
  18. package/agents/ui/design-reviewer.md +62 -0
  19. package/agents/ui/design-system-gen.md +63 -0
  20. package/dist/__tests__/agent-model-sync.test.d.ts +2 -0
  21. package/dist/__tests__/agent-model-sync.test.d.ts.map +1 -0
  22. package/dist/__tests__/agent-model-sync.test.js +71 -0
  23. package/dist/__tests__/agent-model-sync.test.js.map +1 -0
  24. package/dist/cli/auth.d.ts.map +1 -1
  25. package/dist/cli/auth.js +8 -1
  26. package/dist/cli/auth.js.map +1 -1
  27. package/dist/cli/commands/index.d.ts +1 -0
  28. package/dist/cli/commands/index.d.ts.map +1 -1
  29. package/dist/cli/commands/index.js +1 -0
  30. package/dist/cli/commands/index.js.map +1 -1
  31. package/dist/cli/commands/info.d.ts.map +1 -1
  32. package/dist/cli/commands/info.js +2 -0
  33. package/dist/cli/commands/info.js.map +1 -1
  34. package/dist/cli/commands/llm.d.ts +11 -0
  35. package/dist/cli/commands/llm.d.ts.map +1 -0
  36. package/dist/cli/commands/llm.js +62 -0
  37. package/dist/cli/commands/llm.js.map +1 -0
  38. package/dist/cli/commands/remove.d.ts.map +1 -1
  39. package/dist/cli/commands/remove.js +8 -10
  40. package/dist/cli/commands/remove.js.map +1 -1
  41. package/dist/cli/commands/setup.d.ts.map +1 -1
  42. package/dist/cli/commands/setup.js +35 -1
  43. package/dist/cli/commands/setup.js.map +1 -1
  44. package/dist/cli/index.d.ts +0 -4
  45. package/dist/cli/index.d.ts.map +1 -1
  46. package/dist/cli/index.js +59 -6
  47. package/dist/cli/index.js.map +1 -1
  48. package/dist/cli/llm/config.d.ts.map +1 -1
  49. package/dist/cli/llm/config.js +7 -0
  50. package/dist/cli/llm/config.js.map +1 -1
  51. package/dist/cli/llm/index.d.ts +1 -0
  52. package/dist/cli/llm/index.d.ts.map +1 -1
  53. package/dist/cli/llm/index.js +1 -0
  54. package/dist/cli/llm/index.js.map +1 -1
  55. package/dist/cli/llm/model-refresh.d.ts +29 -0
  56. package/dist/cli/llm/model-refresh.d.ts.map +1 -0
  57. package/dist/cli/llm/model-refresh.js +139 -0
  58. package/dist/cli/llm/model-refresh.js.map +1 -0
  59. package/dist/cli/llm/zai-commands.d.ts +15 -0
  60. package/dist/cli/llm/zai-commands.d.ts.map +1 -0
  61. package/dist/cli/llm/zai-commands.js +64 -0
  62. package/dist/cli/llm/zai-commands.js.map +1 -0
  63. package/dist/cli/postinstall/claude-agents.d.ts.map +1 -1
  64. package/dist/cli/postinstall/claude-agents.js +16 -77
  65. package/dist/cli/postinstall/claude-agents.js.map +1 -1
  66. package/dist/cli/postinstall/constants.d.ts.map +1 -1
  67. package/dist/cli/postinstall/constants.js +81 -296
  68. package/dist/cli/postinstall/constants.js.map +1 -1
  69. package/dist/cli/postinstall/cursor-agents.d.ts +5 -0
  70. package/dist/cli/postinstall/cursor-agents.d.ts.map +1 -1
  71. package/dist/cli/postinstall/cursor-agents.js +26 -68
  72. package/dist/cli/postinstall/cursor-agents.js.map +1 -1
  73. package/dist/cli/postinstall/cursor-skills.d.ts.map +1 -1
  74. package/dist/cli/postinstall/cursor-skills.js +26 -30
  75. package/dist/cli/postinstall/cursor-skills.js.map +1 -1
  76. package/dist/cli/postinstall/main.d.ts.map +1 -1
  77. package/dist/cli/postinstall/main.js +0 -2
  78. package/dist/cli/postinstall/main.js.map +1 -1
  79. package/dist/cli/setup/Provisioner.d.ts.map +1 -1
  80. package/dist/cli/setup/Provisioner.js +19 -21
  81. package/dist/cli/setup/Provisioner.js.map +1 -1
  82. package/dist/cli/types.d.ts +15 -0
  83. package/dist/cli/types.d.ts.map +1 -1
  84. package/dist/cli/utils.d.ts +4 -1
  85. package/dist/cli/utils.d.ts.map +1 -1
  86. package/dist/cli/utils.js +4 -1
  87. package/dist/cli/utils.js.map +1 -1
  88. package/dist/infra/lib/FrameworkDetector.js +4 -4
  89. package/dist/infra/lib/FrameworkDetector.js.map +1 -1
  90. package/dist/infra/lib/OrchestrateWorkflow.js +2 -2
  91. package/dist/infra/lib/OrchestrateWorkflow.js.map +1 -1
  92. package/dist/infra/lib/browser/launch.js +1 -1
  93. package/dist/infra/lib/browser/launch.js.map +1 -1
  94. package/dist/infra/lib/browser/types.d.ts +1 -1
  95. package/dist/infra/lib/browser/types.js +1 -1
  96. package/dist/infra/lib/config/GlobalConfigManager.d.ts +2 -0
  97. package/dist/infra/lib/config/GlobalConfigManager.d.ts.map +1 -1
  98. package/dist/infra/lib/config/GlobalConfigManager.js +6 -0
  99. package/dist/infra/lib/config/GlobalConfigManager.js.map +1 -1
  100. package/dist/infra/lib/constants.d.ts +1 -1
  101. package/dist/infra/lib/constants.d.ts.map +1 -1
  102. package/dist/infra/lib/constants.js +4 -5
  103. package/dist/infra/lib/constants.js.map +1 -1
  104. package/dist/infra/lib/evolution/__tests__/integration.test.js +7 -7
  105. package/dist/infra/lib/evolution/__tests__/integration.test.js.map +1 -1
  106. package/dist/infra/lib/llm-availability.d.ts +4 -0
  107. package/dist/infra/lib/llm-availability.d.ts.map +1 -1
  108. package/dist/infra/lib/llm-availability.js +9 -1
  109. package/dist/infra/lib/llm-availability.js.map +1 -1
  110. package/dist/infra/lib/memory/index.d.ts +0 -2
  111. package/dist/infra/lib/memory/index.d.ts.map +1 -1
  112. package/dist/infra/lib/memory/index.js +0 -2
  113. package/dist/infra/lib/memory/index.js.map +1 -1
  114. package/dist/infra/lib/telemetry/SkillTelemetry.test.js +1 -1
  115. package/dist/infra/lib/telemetry/SkillTelemetry.test.js.map +1 -1
  116. package/dist/infra/lib/zai/client.d.ts +30 -0
  117. package/dist/infra/lib/zai/client.d.ts.map +1 -0
  118. package/dist/infra/lib/zai/client.js +124 -0
  119. package/dist/infra/lib/zai/client.js.map +1 -0
  120. package/dist/infra/lib/zai/index.d.ts +11 -0
  121. package/dist/infra/lib/zai/index.d.ts.map +1 -0
  122. package/dist/infra/lib/zai/index.js +10 -0
  123. package/dist/infra/lib/zai/index.js.map +1 -0
  124. package/dist/infra/lib/zai/orchestration.d.ts +15 -0
  125. package/dist/infra/lib/zai/orchestration.d.ts.map +1 -0
  126. package/dist/infra/lib/zai/orchestration.js +54 -0
  127. package/dist/infra/lib/zai/orchestration.js.map +1 -0
  128. package/dist/infra/lib/zai/types.d.ts +40 -0
  129. package/dist/infra/lib/zai/types.d.ts.map +1 -0
  130. package/dist/infra/lib/zai/types.js +5 -0
  131. package/dist/infra/lib/zai/types.js.map +1 -0
  132. package/dist/infra/orchestrator/SmartRouter.d.ts.map +1 -1
  133. package/dist/infra/orchestrator/SmartRouter.js +16 -34
  134. package/dist/infra/orchestrator/SmartRouter.js.map +1 -1
  135. package/dist/infra/orchestrator/index.d.ts +1 -0
  136. package/dist/infra/orchestrator/index.d.ts.map +1 -1
  137. package/dist/infra/orchestrator/index.js +11 -9
  138. package/dist/infra/orchestrator/index.js.map +1 -1
  139. package/dist/infra/orchestrator/types.d.ts +32 -9
  140. package/dist/infra/orchestrator/types.d.ts.map +1 -1
  141. package/dist/infra/orchestrator/types.js +68 -37
  142. package/dist/infra/orchestrator/types.js.map +1 -1
  143. package/dist/infra/orchestrator/types.test.d.ts +2 -0
  144. package/dist/infra/orchestrator/types.test.d.ts.map +1 -0
  145. package/dist/infra/orchestrator/types.test.js +57 -0
  146. package/dist/infra/orchestrator/types.test.js.map +1 -0
  147. package/dist/tools/index.d.ts +0 -4
  148. package/dist/tools/index.d.ts.map +1 -1
  149. package/dist/tools/index.js +0 -4
  150. package/dist/tools/index.js.map +1 -1
  151. package/dist/tools/memory/autoSaveContext.d.ts +0 -1
  152. package/dist/tools/memory/autoSaveContext.d.ts.map +1 -1
  153. package/dist/tools/memory/autoSaveContext.js +13 -27
  154. package/dist/tools/memory/autoSaveContext.js.map +1 -1
  155. package/hooks/scripts/__tests__/code-check-detectors.test.js +2 -2
  156. package/hooks/scripts/__tests__/run-ledger.test.js +1 -1
  157. package/hooks/scripts/__tests__/scope-from-spec.test.js +12 -12
  158. package/hooks/scripts/__tests__/step-counter.test.js +1 -1
  159. package/hooks/scripts/code-check.js +16 -203
  160. package/hooks/scripts/context-save.js +0 -11
  161. package/hooks/scripts/lib/scope-from-spec.js +9 -6
  162. package/hooks/scripts/llm-orchestrate.js +49 -0
  163. package/hooks/scripts/post-edit-dispatcher.js +1 -1
  164. package/hooks/scripts/prompt-dispatcher.js +7 -18
  165. package/hooks/scripts/session-start.js +25 -35
  166. package/package.json +4 -4
  167. package/skills/agents-md/SKILL.md +62 -15
  168. package/skills/arch-guard/SKILL.md +1 -1
  169. package/skills/brand-assets/SKILL.md +2 -2
  170. package/skills/capability-loop/SKILL.md +1 -1
  171. package/skills/chub-usage/SKILL.md +1 -1
  172. package/skills/commerce-patterns/SKILL.md +2 -2
  173. package/skills/commit-push-pr/SKILL.md +0 -1
  174. package/skills/context7-usage/SKILL.md +1 -1
  175. package/skills/create-prd/agents/edge-case-finder.md +4 -4
  176. package/skills/create-prd/agents/prioritizer.md +4 -4
  177. package/skills/create-prd/agents/requirements-writer.md +3 -3
  178. package/skills/create-prd/agents/researcher.md +3 -3
  179. package/skills/create-prd/agents/reviewer.md +3 -3
  180. package/skills/create-prd/orchestrator.md +2 -0
  181. package/skills/design-refine/SKILL.md +140 -0
  182. package/skills/{design-polish → design-refine}/templates/polish-report.md +1 -1
  183. package/skills/{design-normalize → design-refine}/templates/token-audit.md +3 -3
  184. package/skills/design-review/SKILL.md +143 -0
  185. package/skills/{design-audit → design-review}/agents/a11y-auditor.md +1 -1
  186. package/skills/{design-audit → design-review}/agents/performance-auditor.md +1 -1
  187. package/skills/{design-audit → design-review}/agents/responsive-auditor.md +1 -1
  188. package/skills/{design-audit → design-review}/agents/slop-detector.md +1 -1
  189. package/skills/{design-audit → design-review}/frameworks/core-web-vitals.md +1 -1
  190. package/skills/{design-audit → design-review}/frameworks/wcag-checklist.md +1 -1
  191. package/skills/{design-audit → design-review}/orchestrator.md +5 -3
  192. package/skills/{design-critique → design-review}/templates/critique-report.md +3 -3
  193. package/skills/{design-audit → design-review}/templates/report.md +3 -3
  194. package/skills/design-teach/SKILL.md +11 -11
  195. package/skills/docs/SKILL.md +14 -16
  196. package/skills/e2e-commerce/SKILL.md +1 -1
  197. package/skills/event-comms/SKILL.md +1 -1
  198. package/skills/event-ops/SKILL.md +2 -2
  199. package/skills/event-planning/SKILL.md +1 -1
  200. package/skills/exec-plan/SKILL.md +2 -2
  201. package/skills/exec-plan/orchestrator.md +2 -0
  202. package/skills/figma/SKILL.md +240 -148
  203. package/skills/figma/rubrics/css-mapping.md +125 -0
  204. package/skills/git-worktree/SKILL.md +1 -1
  205. package/skills/handoff/SKILL.md +1 -1
  206. package/skills/parallel-research/SKILL.md +14 -28
  207. package/skills/parallel-research/orchestrator.md +2 -0
  208. package/skills/priority-todos/SKILL.md +1 -1
  209. package/skills/regress/SKILL.md +11 -0
  210. package/skills/restraint/SKILL.md +72 -0
  211. package/skills/seo-checklist/SKILL.md +2 -2
  212. package/skills/spec/SKILL.md +65 -836
  213. package/skills/test/SKILL.md +3 -3
  214. package/skills/tool-fallback/SKILL.md +2 -2
  215. package/skills/vercel-react-best-practices/SKILL.md +1 -1
  216. package/skills/vibe/SKILL.md +20 -35
  217. package/skills/vibe.analyze/SKILL.md +7 -9
  218. package/skills/vibe.docs/SKILL.md +1 -1
  219. package/skills/vibe.event/SKILL.md +27 -27
  220. package/skills/vibe.figma/SKILL.md +14 -18
  221. package/skills/vibe.harness/SKILL.md +5 -5
  222. package/skills/vibe.llm/SKILL.md +50 -0
  223. package/skills/vibe.reason/SKILL.md +0 -2
  224. package/skills/vibe.review/SKILL.md +45 -49
  225. package/skills/vibe.run/SKILL.md +2 -5
  226. package/skills/vibe.run/references/parallel-agents.md +33 -98
  227. package/skills/vibe.spec/SKILL.md +38 -535
  228. package/skills/vibe.utils/SKILL.md +3 -3
  229. package/skills/vibe.verify/SKILL.md +70 -542
  230. package/skills/video-production/SKILL.md +1 -1
  231. package/vibe/rules/orchestrator-contract.md +57 -0
  232. package/vibe/rules/quality/performance.md +1 -1
  233. package/vibe/templates/claudemd-template.md +1 -1
  234. package/vibe/templates/spec-template.md +35 -185
  235. package/agents/architect-low.md +0 -41
  236. package/agents/architect-medium.md +0 -59
  237. package/agents/compounder.md +0 -261
  238. package/agents/docs/api-documenter.md +0 -99
  239. package/agents/docs/changelog-writer.md +0 -93
  240. package/agents/event/event-comms.md +0 -78
  241. package/agents/event/event-content.md +0 -68
  242. package/agents/event/event-image.md +0 -95
  243. package/agents/event/event-scheduler.md +0 -69
  244. package/agents/event/event-speaker.md +0 -86
  245. package/agents/explorer-low.md +0 -42
  246. package/agents/explorer-medium.md +0 -59
  247. package/agents/explorer.md +0 -48
  248. package/agents/figma/figma-analyst.md +0 -52
  249. package/agents/figma/figma-architect.md +0 -112
  250. package/agents/figma/figma-auditor.md +0 -82
  251. package/agents/figma/figma-builder.md +0 -100
  252. package/agents/implementer-low.md +0 -43
  253. package/agents/implementer-medium.md +0 -52
  254. package/agents/junior-mentor.md +0 -141
  255. package/agents/planning/requirements-analyst.md +0 -84
  256. package/agents/planning/ux-advisor.md +0 -83
  257. package/agents/qa/acceptance-tester.md +0 -86
  258. package/agents/qa/edge-case-finder.md +0 -93
  259. package/agents/qa/qa-coordinator.md +0 -131
  260. package/agents/refactor-cleaner.md +0 -143
  261. package/agents/research/best-practices.md +0 -199
  262. package/agents/research/codebase-patterns.md +0 -157
  263. package/agents/research/framework-docs.md +0 -188
  264. package/agents/research/security-advisory.md +0 -213
  265. package/agents/review/architecture-reviewer.md +0 -107
  266. package/agents/review/complexity-reviewer.md +0 -116
  267. package/agents/review/data-integrity-reviewer.md +0 -88
  268. package/agents/review/git-history-reviewer.md +0 -103
  269. package/agents/review/performance-reviewer.md +0 -86
  270. package/agents/review/python-reviewer.md +0 -150
  271. package/agents/review/rails-reviewer.md +0 -139
  272. package/agents/review/react-reviewer.md +0 -144
  273. package/agents/review/security-reviewer.md +0 -80
  274. package/agents/review/simplicity-reviewer.md +0 -140
  275. package/agents/review/test-coverage-reviewer.md +0 -116
  276. package/agents/review/typescript-reviewer.md +0 -127
  277. package/agents/searcher.md +0 -54
  278. package/agents/simplifier.md +0 -120
  279. package/agents/teams/debug-team.md +0 -70
  280. package/agents/teams/dev-team.md +0 -88
  281. package/agents/teams/docs-team.md +0 -80
  282. package/agents/teams/figma-team.md +0 -85
  283. package/agents/teams/fullstack-team.md +0 -83
  284. package/agents/teams/lite-team.md +0 -69
  285. package/agents/teams/migration-team.md +0 -78
  286. package/agents/teams/refactor-team.md +0 -94
  287. package/agents/teams/research-team.md +0 -86
  288. package/agents/teams/review-debate-team.md +0 -125
  289. package/agents/teams/security-team.md +0 -81
  290. package/agents/ui/ui-a11y-auditor.md +0 -93
  291. package/agents/ui/ui-antipattern-detector.md +0 -102
  292. package/agents/ui/ui-dataviz-advisor.md +0 -69
  293. package/agents/ui/ui-design-system-gen.md +0 -57
  294. package/agents/ui/ui-industry-analyzer.md +0 -49
  295. package/agents/ui/ui-layout-architect.md +0 -65
  296. package/agents/ui/ui-stack-implementer.md +0 -68
  297. package/agents/ui/ux-compliance-reviewer.md +0 -81
  298. package/agents/ui-previewer.md +0 -258
  299. package/hooks/scripts/__tests__/keyword-detector.test.js +0 -242
  300. package/hooks/scripts/keyword-detector.js +0 -226
  301. package/skills/characterization-test/SKILL.md +0 -209
  302. package/skills/characterization-test/agents/behavior-capturer.md +0 -50
  303. package/skills/characterization-test/agents/coverage-checker.md +0 -54
  304. package/skills/characterization-test/agents/reporter.md +0 -50
  305. package/skills/characterization-test/agents/test-writer.md +0 -49
  306. package/skills/characterization-test/rubrics/coverage-criteria.md +0 -53
  307. package/skills/characterization-test/templates/test-template.ts +0 -101
  308. package/skills/claude-md-guide/SKILL.md +0 -353
  309. package/skills/claude-md-guide/rubrics/anti-patterns.md +0 -88
  310. package/skills/design-audit/SKILL.md +0 -154
  311. package/skills/design-critique/SKILL.md +0 -140
  312. package/skills/design-distill/SKILL.md +0 -131
  313. package/skills/design-normalize/SKILL.md +0 -135
  314. package/skills/design-polish/SKILL.md +0 -132
  315. package/skills/figma-convert/SKILL.md +0 -236
  316. package/skills/figma-extract/SKILL.md +0 -242
  317. package/skills/interview/SKILL.md +0 -358
  318. package/skills/interview/checklists/api.md +0 -101
  319. package/skills/interview/checklists/feature.md +0 -88
  320. package/skills/interview/checklists/library.md +0 -95
  321. package/skills/interview/checklists/mobile.md +0 -89
  322. package/skills/interview/checklists/webapp.md +0 -97
  323. package/skills/interview/checklists/website.md +0 -99
  324. package/skills/plan/SKILL.md +0 -254
  325. package/skills/rob-pike/SKILL.md +0 -66
  326. package/skills/spec/references/askuser-examples.md +0 -57
  327. package/skills/spec/references/example-session.md +0 -87
  328. package/skills/spec/references/templates.md +0 -194
  329. package/skills/spec-review/SKILL.md +0 -725
  330. package/skills/systematic-debugging/SKILL.md +0 -142
  331. package/skills/techdebt/SKILL.md +0 -126
  332. package/skills/techdebt/agents/analyzer.md +0 -50
  333. package/skills/techdebt/agents/fixer.md +0 -41
  334. package/skills/techdebt/agents/reviewer.md +0 -47
  335. package/skills/techdebt/agents/scanner.md +0 -44
  336. package/skills/techdebt/orchestrator.md +0 -70
  337. package/skills/techdebt/rubrics/severity.md +0 -51
  338. package/skills/techdebt/scripts/scan.js +0 -90
  339. package/skills/techdebt/templates/report.md +0 -86
  340. package/skills/typescript-advanced-types/SKILL.md +0 -68
  341. package/skills/typescript-advanced-types/rubrics/type-patterns.md +0 -109
  342. package/skills/yagni-ladder/SKILL.md +0 -90
  343. /package/skills/{claude-md-guide → agents-md}/templates/claude-md.md +0 -0
  344. /package/skills/{design-polish → design-refine}/rubrics/polish-checklist.md +0 -0
  345. /package/skills/{design-normalize → design-refine}/rubrics/token-naming.md +0 -0
  346. /package/skills/{design-distill → design-refine}/templates/design-system.md +0 -0
  347. /package/skills/{design-audit → design-review}/agents/scorer.md +0 -0
  348. /package/skills/{design-audit → design-review}/rubrics/ai-slop-patterns.md +0 -0
  349. /package/skills/{design-audit → design-review}/rubrics/scoring.md +0 -0
  350. /package/skills/{design-critique → design-review}/rubrics/ux-heuristics.md +0 -0
  351. /package/skills/{figma-convert → figma}/rubrics/conversion-rules.md +0 -0
  352. /package/skills/{figma-extract → figma}/rubrics/image-rules.md +0 -0
  353. /package/skills/{figma-convert → figma}/templates/component.md +0 -0
@@ -1,140 +0,0 @@
1
- ---
2
- name: design-critique
3
- invocation: [auto]
4
- tier: standard
5
- description: "UX design review — Nielsen heuristics scoring, 5-persona red flag analysis. Use when design-critique, ux-review, design-review."
6
- triggers: [design-critique, ux-review, design-review]
7
- priority: 50
8
- ---
9
-
10
- # Design Critique — UX Design Review
11
-
12
- Evaluate design quality through Nielsen's 10 usability heuristics and 5 persona lenses. Report only — no code modifications.
13
-
14
- ## Usage
15
-
16
- ```
17
- /design-critique <target> # Critique specific page/flow
18
- /design-critique . # Critique all changed UI files
19
- ```
20
-
21
- ## Nielsen's 10 Heuristics (0–4 Score Each)
22
-
23
- | # | Heuristic | What to Check |
24
- |---|-----------|---------------|
25
- | H1 | Visibility of system status | Loading indicators, progress bars, state feedback |
26
- | H2 | Match between system and real world | Natural language, familiar icons, logical groupings |
27
- | H3 | User control and freedom | Undo/redo, cancel actions, exit paths |
28
- | H4 | Consistency and standards | Same action = same pattern, platform conventions |
29
- | H5 | Error prevention | Confirmation dialogs, input constraints, disabled states |
30
- | H6 | Recognition rather than recall | Visible options, contextual help, breadcrumbs |
31
- | H7 | Flexibility and efficiency | Keyboard shortcuts, defaults, power user paths |
32
- | H8 | Aesthetic and minimalist design | Signal-to-noise ratio, essential info only |
33
- | H9 | Help users recognize and recover from errors | Clear error messages, suggested fixes |
34
- | H10 | Help and documentation | Tooltips, onboarding, contextual guidance |
35
-
36
- ### Scoring
37
-
38
- | Score | Meaning |
39
- |-------|---------|
40
- | 0 | Violated — causes real user problems |
41
- | 1 | Weak — frequent friction points |
42
- | 2 | Adequate — works but not smooth |
43
- | 3 | Good — minor friction only |
44
- | 4 | Excellent — delightful experience |
45
-
46
- ## 5-Persona Red Flag Analysis
47
-
48
- Test the design through these persona lenses:
49
-
50
- ### 1. Power User
51
- - Can they complete tasks quickly?
52
- - Are there keyboard shortcuts or bulk actions?
53
- - Is information density appropriate (not too sparse)?
54
-
55
- ### 2. First-Time User
56
- - Is the entry point obvious?
57
- - Can they complete the primary task without documentation?
58
- - Is progressive disclosure used (not overwhelming)?
59
-
60
- ### 3. Accessibility-Dependent User
61
- - Screen reader navigation makes sense?
62
- - Color is not the only information channel?
63
- - Text is resizable without breaking layout?
64
-
65
- ### 4. Stressed / Distracted User
66
- - Can they recover from mistakes easily?
67
- - Are destructive actions clearly guarded?
68
- - Is critical information scannable (not buried in paragraphs)?
69
-
70
- ### 5. Mobile-Only User
71
- - Touch targets adequate?
72
- - Key actions reachable with one thumb?
73
- - Forms don't require excessive typing?
74
-
75
- ## Platform Adaptation
76
-
77
- When running on mobile stacks (React Native, Flutter, iOS, Android):
78
- - Focus on platform-specific UX conventions (gestures, navigation patterns)
79
- - Evaluate against platform HIG (Human Interface Guidelines / Material Design)
80
- - Skip web-specific heuristic items (breadcrumbs, URL-based navigation)
81
-
82
- ## Output Format
83
-
84
- ```markdown
85
- ## Design Critique: {target}
86
-
87
- ### Heuristic Scores
88
- | # | Heuristic | Score | Key Issue |
89
- |---|-----------|-------|-----------|
90
- | H1 | Visibility of system status | 2/4 | No loading state on form submit |
91
- | H2 | Match real world | 4/4 | — |
92
- | H3 | User control | 1/4 | No undo on delete |
93
- | ... | ... | ... | ... |
94
- | **Total** | | **28/40** | **70%** |
95
-
96
- ### Persona Red Flags
97
-
98
- #### Power User 🔴
99
- - No keyboard shortcut for primary action
100
- - Table lacks bulk selection
101
-
102
- #### First-Time User 🟡
103
- - CTA is clear but secondary options are confusing
104
-
105
- #### Accessibility-Dependent User 🔴
106
- - Color-only status indicators (red/green dots)
107
-
108
- #### Stressed User 🟢
109
- - Confirmation dialog on destructive actions ✓
110
-
111
- #### Mobile-Only User 🟡
112
- - Settings buried 3 levels deep
113
-
114
- ### Top Recommendations
115
- 1. {Priority-ordered design improvements}
116
- ```
117
-
118
- ## Preparation
119
-
120
- Before running the critique:
121
-
122
- 1. **Read** `.vibe/design-context.json`
123
- - If missing → display: "Run `/design-teach` first for better results" → proceed with defaults
124
- - If parse error → display warning → proceed with defaults → recommend `/design-teach`
125
- - If present → adjust persona priorities by `audience.primary` and `audience.expertise`
126
- 2. **Read** brand personality to calibrate aesthetic expectations
127
-
128
- ## Next Steps
129
-
130
- | If Result Shows | Recommended Next |
131
- |----------------|-----------------|
132
- | Visual complexity / clutter | `/design-distill` — remove unnecessary elements |
133
- | Token inconsistencies noted | `/design-normalize` — align to design system |
134
- | Good overall, minor polish needed | `/design-polish` — final pass |
135
-
136
- ## Important
137
-
138
- - **Read-only**: Produces design critique report. No code modifications.
139
- - **Context-aware**: Uses `.vibe/design-context.json` for brand/audience context if available.
140
- - **Complementary**: Pairs with `/design-audit` (technical) — critique focuses on UX quality.
@@ -1,131 +0,0 @@
1
- ---
2
- name: design-distill
3
- invocation: [auto]
4
- tier: standard
5
- description: "Remove unnecessary visual complexity — strip decorative clutter, apply progressive disclosure, simplify UI to essentials. Use when design-distill, simplify-ui, ui-simplify, strip-ui."
6
- triggers: [design-distill, simplify-ui, ui-simplify, strip-ui]
7
- priority: 50
8
- ---
9
-
10
- # Design Distill — Remove Visual Complexity
11
-
12
- Strip unnecessary visual elements. Every remaining element must justify its existence. Applies the principle: **if it doesn't help the user complete their task, remove it.**
13
-
14
- ## Usage
15
-
16
- ```
17
- /design-distill <target> # Distill specific page/component
18
- /design-distill . # Distill all changed UI files
19
- ```
20
-
21
- ## What Gets Distilled
22
-
23
- ### 1. Decorative Clutter
24
-
25
- - Gradient backgrounds that don't convey hierarchy
26
- - Decorative dividers between already-spaced sections
27
- - Background patterns or textures without purpose
28
- - Ornamental icons (icons that don't aid comprehension)
29
- - Excessive border/shadow stacking on nested containers
30
-
31
- ### 2. Redundant Information
32
-
33
- - Headings that repeat the page title or parent context
34
- - Labels that duplicate placeholder text
35
- - "Welcome to {App}" banners on authenticated pages
36
- - Empty state illustrations when a simple message suffices
37
- - Descriptions restating what the UI element obviously does
38
-
39
- ### 3. Over-Wrapped Containers
40
-
41
- - Cards wrapping single elements (card containing only a button)
42
- - Nested cards (card inside card inside card)
43
- - Wrapper divs with only cosmetic purpose
44
- - Sections with only one child element
45
-
46
- ### 4. Excessive Animation
47
-
48
- - Entry animations on every element (staggered fade-ins on list items)
49
- - Hover animations on non-interactive elements
50
- - Transitions > 300ms for feedback (feels sluggish)
51
- - Parallax effects on content pages
52
- - Decorative loading animations when a spinner suffices
53
-
54
- ### 5. Progressive Disclosure Opportunities
55
-
56
- - Settings pages showing all options at once → group and collapse
57
- - Forms with 10+ fields visible → break into steps
58
- - Dashboards showing every metric → show top 3, expandable for rest
59
- - Navigation with 8+ top-level items → group into categories
60
-
61
- ## Distillation Principles
62
-
63
- | Principle | Question to Ask |
64
- |-----------|----------------|
65
- | **Purpose** | Does this element help the user complete a task? |
66
- | **Duplication** | Is this information available elsewhere on screen? |
67
- | **Cognitive load** | Would removing this reduce decision fatigue? |
68
- | **Visual weight** | Does this element compete with more important content? |
69
- | **Progressive disclosure** | Can this be hidden until needed? |
70
-
71
- ## Process
72
-
73
- 1. Read target files fully
74
- 2. Identify elements matching distillation categories
75
- 3. For each candidate:
76
- - Verify removal won't break functionality
77
- - Check if element carries semantic meaning
78
- - Confirm removal improves signal-to-noise ratio
79
- 4. Apply removals and simplifications
80
- 5. Report changes with before/after rationale
81
-
82
- ## Output Format
83
-
84
- ```markdown
85
- ## Design Distill: {target}
86
-
87
- ### Removed
88
- - ✂️ {file}:{line} — Decorative gradient background (no hierarchy purpose)
89
- - ✂️ {file}:{line} — Wrapper card around single button
90
- - ✂️ {file}:{line} — Heading repeating parent page title
91
-
92
- ### Simplified
93
- - 🔄 {file}:{line} — Collapsed 3 nested divs into 1 flex container
94
- - 🔄 {file}:{line} — Replaced staggered animation with single fade-in
95
-
96
- ### Progressive Disclosure Applied
97
- - 📦 {file}:{line} — Settings grouped into collapsible sections (was 15 flat options)
98
-
99
- ### Preserved (Justified)
100
- - ✓ {file}:{line} — Decorative illustration on empty state (brand expression)
101
-
102
- ### Summary
103
- - Elements reviewed: {N}
104
- - Removed: {N}
105
- - Simplified: {N}
106
- - Progressive disclosure: {N}
107
- - Net complexity reduction: {percentage}
108
- ```
109
-
110
- ## Preparation
111
-
112
- Before running distillation:
113
-
114
- 1. **Read** `.vibe/design-context.json`
115
- - If missing → display: "Run `/design-teach` first for better results" → proceed with defaults
116
- - If parse error → display warning → proceed with defaults → recommend `/design-teach`
117
- - If present → preserve elements that match `brand.personality` (e.g., "playful" brand may justify decorative elements)
118
- 2. Use `aesthetic.style` to calibrate aggressiveness (minimal → more aggressive, bold → more lenient)
119
-
120
- ## Next Steps
121
-
122
- | If Result Shows | Recommended Next |
123
- |----------------|-----------------|
124
- | Elements removed/simplified | `/design-normalize` — align remaining tokens |
125
- | Already minimal | `/design-polish` — final pre-ship pass |
126
-
127
- ## Important
128
-
129
- - **Modifying**: Directly removes and simplifies identified elements.
130
- - **Conservative**: Only removes elements that clearly don't serve user tasks. Brand-expressive elements preserved.
131
- - **Reversible**: All removals listed in report for easy review and revert if needed.
@@ -1,135 +0,0 @@
1
- ---
2
- name: design-normalize
3
- user-invocable: true
4
- invocation: [command, auto]
5
- tier: standard
6
- description: "Normalize hardcoded values to design system tokens — colors, typography, spacing, shadows aligned to MASTER.md. Use when design-normalize, design-system, token-align."
7
- triggers: [design-normalize, design-system, token-align]
8
- priority: 50
9
- ---
10
-
11
- # Design Normalize — Design System Token Alignment
12
-
13
- Replace hardcoded design values with design system tokens from MASTER.md. Ensures visual consistency across the project.
14
-
15
- ## Usage
16
-
17
- ```
18
- /design-normalize # Normalize all changed UI files
19
- /design-normalize <target> # Normalize specific component/page
20
- ```
21
-
22
- ## Process
23
-
24
- ### Step 1: Load Design System
25
-
26
- Load token source in priority order:
27
-
28
- 1. `.vibe/design-system/{project}/MASTER.md` (project-specific)
29
- 2. `.vibe/design-context.json` (from `/design-teach`)
30
- 3. If neither exists → prompt: "Run `/design-teach` or create MASTER.md first. Proceeding with default token detection."
31
-
32
- ### Step 2: Scan for Hardcoded Values
33
-
34
- Detect these categories:
35
-
36
- | Category | Pattern | Example |
37
- |----------|---------|---------|
38
- | Colors | Hex `#xxx`, `#xxxxxx`, `rgb()`, `hsl()` | `#3B82F6` → `var(--color-primary)` |
39
- | Typography | `font-size: 14px`, `font-weight: 600` | `14px` → `var(--text-sm)` |
40
- | Spacing | `margin: 16px`, `padding: 24px`, `gap: 12px` | `16px` → `var(--space-4)` |
41
- | Shadows | `box-shadow: 0 2px 4px ...` | Inline → `var(--shadow-sm)` |
42
- | Border Radius | `border-radius: 8px` | `8px` → `var(--radius-md)` |
43
-
44
- ### Step 3: Map to Tokens
45
-
46
- For each hardcoded value:
47
-
48
- 1. Find closest matching token in MASTER.md
49
- 2. If exact match → replace directly
50
- 3. If close match (within 2px/similar hue) → replace + note the mapping
51
- 4. If no match → flag for manual review (may need new token)
52
-
53
- ### Step 4: Apply Replacements
54
-
55
- Replace values in source files, preserving:
56
- - Intentional one-off values (commented with `/* intentional */`)
57
- - Animation keyframe values
58
- - SVG path data
59
- - Third-party library overrides
60
-
61
- ## Token Mapping Example
62
-
63
- ```css
64
- /* Before */
65
- .card {
66
- background: #ffffff;
67
- border: 1px solid #e5e7eb;
68
- border-radius: 8px;
69
- padding: 24px;
70
- box-shadow: 0 1px 3px rgba(0,0,0,0.1);
71
- }
72
-
73
- /* After */
74
- .card {
75
- background: var(--color-surface);
76
- border: 1px solid var(--color-border);
77
- border-radius: var(--radius-lg);
78
- padding: var(--space-6);
79
- box-shadow: var(--shadow-sm);
80
- }
81
- ```
82
-
83
- ## Output Format
84
-
85
- ```markdown
86
- ## Design Normalize: {target}
87
-
88
- ### Token Source
89
- - Using: MASTER.md / design-context.json / default detection
90
-
91
- ### Replacements Applied
92
- | File | Line | Before | After | Confidence |
93
- |------|------|--------|-------|------------|
94
- | Card.tsx | 12 | #3B82F6 | var(--color-primary) | exact |
95
- | Card.tsx | 15 | 16px | var(--space-4) | exact |
96
- | Card.tsx | 18 | 7px | var(--radius-md) (8px) | close |
97
-
98
- ### New Tokens Suggested
99
- - `--color-accent-light: #DBEAFE` — used 4 times, no matching token
100
-
101
- ### Skipped (Manual Review)
102
- - {file}:{line} — animation keyframe value
103
- - {file}:{line} — no matching token found
104
-
105
- ### Summary
106
- - Scanned: {N} files
107
- - Replaced: {N} values
108
- - New tokens suggested: {N}
109
- - Skipped: {N}
110
- ```
111
-
112
- ## Preparation
113
-
114
- Before running normalization:
115
-
116
- 1. **Read** `.vibe/design-context.json`
117
- - If missing → display: "Run `/design-teach` first for better results" → proceed with defaults
118
- - If parse error → display warning → proceed with defaults → recommend `/design-teach`
119
- - If present → use `detectedStack.styling` to determine token format (CSS vars, Tailwind, etc.)
120
- 2. **Read** `.vibe/design-system/*/MASTER.md`
121
- - If missing → display: "Run `/design-teach` or create MASTER.md first. Proceeding with default token detection."
122
- - If present → use as authoritative token source for replacements
123
-
124
- ## Next Steps
125
-
126
- | If Result Shows | Recommended Next |
127
- |----------------|-----------------|
128
- | Tokens aligned successfully | `/design-polish` — final pre-ship pass |
129
- | New tokens suggested | Add to MASTER.md, then re-run `/design-normalize` |
130
-
131
- ## Important
132
-
133
- - **Modifying**: Directly replaces hardcoded values with token references.
134
- - **MASTER.md required**: Works best with a defined design system. Falls back to auto-detection if missing.
135
- - **Safe**: Preserves intentional overrides and third-party styles.
@@ -1,132 +0,0 @@
1
- ---
2
- name: design-polish
3
- invocation: [auto]
4
- tier: standard
5
- description: "Pre-ship final polish pass — pixel alignment, interaction states, micro-details check and auto-fix. Use when design-polish, ui-polish, final-pass, ship-ready."
6
- triggers: [design-polish, ui-polish, final-pass, ship-ready]
7
- priority: 50
8
- ---
9
-
10
- # Design Polish — Pre-Ship Final Pass
11
-
12
- Last-mile quality pass before shipping. Checks pixel-level details and **directly fixes** issues found.
13
-
14
- ## Usage
15
-
16
- ```
17
- /design-polish <target> # Polish specific component/page
18
- /design-polish . # Polish all changed UI files
19
- ```
20
-
21
- ## Checklist
22
-
23
- ### 1. Alignment & Spacing
24
-
25
- - [ ] Elements align to consistent grid (4px or 8px base)
26
- - [ ] Spacing between sections follows rhythm (not arbitrary gaps)
27
- - [ ] Text baselines align across columns
28
- - [ ] Icons vertically centered with adjacent text
29
- - [ ] Padding inside containers is symmetric unless intentional
30
-
31
- ### 2. Interaction States (Complete Set)
32
-
33
- Every interactive element must have ALL applicable states:
34
-
35
- | State | Check |
36
- |-------|-------|
37
- | Default | Base appearance defined |
38
- | Hover | Visual feedback on mouse enter |
39
- | Focus | Visible focus ring (a11y requirement) |
40
- | Active / Pressed | Visual response on click/tap |
41
- | Disabled | Reduced opacity + `pointer-events: none` + `aria-disabled` |
42
- | Loading | Spinner or skeleton replacing content |
43
- | Error | Red/danger styling + error message |
44
- | Success | Confirmation feedback (toast, checkmark, color change) |
45
-
46
- ### 3. Typography & Copy
47
-
48
- - [ ] No orphaned words (single word on last line of heading)
49
- - [ ] Consistent capitalization (Title Case vs sentence case)
50
- - [ ] No placeholder text ("Lorem ipsum", "TODO", "test")
51
- - [ ] Truncation with ellipsis where text can overflow
52
- - [ ] Line length ≤ 75 characters for readability
53
-
54
- ### 4. Visual Consistency
55
-
56
- - [ ] Border radius consistent across same-level elements
57
- - [ ] Shadow depth matches elevation hierarchy
58
- - [ ] Icon sizes consistent (16/20/24px common set)
59
- - [ ] Color usage matches semantic meaning (red=error, green=success)
60
-
61
- ### 5. Cleanup
62
-
63
- - [ ] No `console.log` statements
64
- - [ ] No commented-out JSX/HTML
65
- - [ ] No `z-index` values > 100 without documented reason
66
- - [ ] No inline styles that should be classes/tokens
67
- - [ ] No dead CSS classes
68
-
69
- ## Auto-Fix Rules
70
-
71
- | Issue | Fix Action |
72
- |-------|-----------|
73
- | Missing hover state on button | Add hover style using existing token |
74
- | Missing focus ring | Add `focus-visible` outline |
75
- | Missing disabled state | Add disabled variant with reduced opacity |
76
- | Inconsistent border radius | Normalize to nearest design token |
77
- | Inline color values | Replace with CSS variable |
78
- | `console.log` in UI files | Remove |
79
- | Commented-out code | Remove |
80
-
81
- ## Process
82
-
83
- 1. Read target files fully
84
- 2. Run checklist against each file
85
- 3. Collect findings with file:line references
86
- 4. Apply auto-fixes for safe items
87
- 5. Report items requiring manual review
88
- 6. Re-verify fixed files pass checklist
89
-
90
- ## Output Format
91
-
92
- ```markdown
93
- ## Design Polish: {target}
94
-
95
- ### Auto-Fixed
96
- - ✅ {file}:{line} — Added hover state to submit button
97
- - ✅ {file}:{line} — Replaced #3B82F6 with var(--color-primary)
98
- - ✅ {file}:{line} — Removed console.log
99
-
100
- ### Manual Review Needed
101
- - ⚠️ {file}:{line} — Orphaned word in heading (layout choice)
102
- - ⚠️ {file}:{line} — Missing loading state on async action
103
-
104
- ### Summary
105
- - Items checked: {N}
106
- - Auto-fixed: {N}
107
- - Manual review: {N}
108
- - Ship-ready: {yes/no}
109
- ```
110
-
111
- ## Preparation
112
-
113
- Before running polish:
114
-
115
- 1. **Read** `.vibe/design-context.json`
116
- - If missing → display: "Run `/design-teach` first for better results" → proceed with defaults
117
- - If parse error → display warning → proceed with defaults → recommend `/design-teach`
118
- - If present → apply brand-appropriate micro-interaction styles from `aesthetic.style`
119
- 2. **Read** `.vibe/design-system/*/MASTER.md` (if exists) for token references
120
-
121
- ## Next Steps
122
-
123
- | If Result Shows | Recommended Next |
124
- |----------------|-----------------|
125
- | All items pass | Ship ready — no further action needed |
126
- | Design system gaps found | `/design-normalize` first, then re-run `/design-polish` |
127
-
128
- ## Important
129
-
130
- - **Modifying**: This skill directly applies safe fixes.
131
- - **Conservative**: Only auto-fixes items with clear, safe remediation. Ambiguous items flagged for manual review.
132
- - **Pairs with**: Run `/design-audit` first for broad issues, then `/design-polish` for final touches.