@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
@@ -3,20 +3,29 @@ name: agents-md
3
3
  user-invocable: false
4
4
  invocation: [auto, chain]
5
5
  tier: standard
6
- description: "Optimize AGENTS.md / CLAUDE.md by removing discoverable info and keeping only gotchas. Based on Addy Osmani's AGENTS.md principles. Activates on agents.md, claude.md, context file optimization."
7
- triggers: [agents.md, claude.md, context file, optimize agents, optimize claude]
6
+ description: "Author and optimize AGENTS.md / CLAUDE.md (same doctrine, different filenames): write new context files from scratch, or strip discoverable info and keep only gotchas. Based on Addy Osmani's AGENTS.md principles + Curse of Instructions research. Activates on agents.md, claude.md, context file authoring/optimization."
7
+ triggers: [agents.md, claude.md, context file, optimize agents, optimize claude, write claude.md, create claude.md, project instructions]
8
8
  priority: 50
9
9
  ---
10
10
 
11
- # agents-md — Context File Optimizer
11
+ # agents-md — Context File Author & Optimizer
12
12
 
13
- Optimize AGENTS.md / CLAUDE.md files.
13
+ Author and optimize AGENTS.md / CLAUDE.md files. They are the **same doctrine
14
+ under different filenames** — everything below applies to both.
14
15
  Reference: https://addyosmani.com/blog/agents-md/
15
16
 
16
- ## Core Principle
17
+ ## Core Principles
17
18
 
18
19
  **One-line test**: "Can the agent discover this by reading the code?" → Yes = delete.
19
20
 
21
+ **Every line has a cost** (Curse of Instructions): LLM compliance drops
22
+ exponentially with instruction count — roughly 90% at 1 instruction, ~59% at 5,
23
+ ~44% at 10, ~15% at 15+. A short, precise file beats a long, comprehensive one.
24
+
25
+ **Lost in the Middle**: LLMs attend to the beginning and end of a document and
26
+ under-weight the middle. Most important rules → top. Frequently violated rules
27
+ → bottom. Background context → middle (OK if ignored).
28
+
20
29
  ## Step 1: Find Target Files
21
30
 
22
31
  Search project root for these files:
@@ -29,7 +38,32 @@ Glob: pattern=".github/copilot-instructions.md"
29
38
  Glob: pattern=".windsurfrules"
30
39
  ```
31
40
 
32
- If no target files exist, ask the user whether to create one.
41
+ If a target exists optimize it (Steps 2–3). If none exists and the user wants
42
+ one → author it (Step 1b), then run the same optimization pass on the draft.
43
+
44
+ ## Step 1b: Authoring From Scratch
45
+
46
+ Explore before writing: `package.json` (stack, scripts), `*.config.*`,
47
+ `tsconfig.json`, `.env.example`, `Makefile`, `docker-compose.*`. Everything
48
+ found this way is **discoverable — leave it out**.
49
+
50
+ Then interview for what exploration cannot reveal (one question at a time,
51
+ multiple-choice when possible):
52
+
53
+ 1. **Runtime traps** — differences invisible in code (Bun vs Node, ESM vs CJS)
54
+ 2. **Forbidden patterns** — libraries/approaches that burned the team before
55
+ 3. **Non-standard conventions** — naming/structure rules that differ from defaults
56
+ 4. **Architecture decisions** — business context the code can't explain
57
+ 5. **Boundaries** — files never to touch, changes requiring approval first
58
+
59
+ Draft using `templates/claude-md.md`. Keep per-feature detail out — that
60
+ belongs in SPEC files (`.vibe/specs/`), loaded only when relevant, not in the
61
+ always-loaded context file. For large monorepos: one shared root file plus a
62
+ small per-package file, instead of one giant root.
63
+
64
+ Don't aim for perfect on day one: start minimal (30–50 lines), observe where
65
+ the agent actually errs, add one line per *recurring* mistake. If the root
66
+ cause is code structure, fix the code instead of adding a rule.
33
67
 
34
68
  ## Step 2: Classify Current Content
35
69
 
@@ -48,6 +82,7 @@ Information the agent can find by exploring the code:
48
82
  | API endpoint lists | "POST /api/users" | Router code |
49
83
  | Feature descriptions | "Phase 3 implements circuit breaker" | Readable from the code itself |
50
84
  | Architecture diagrams | ASCII box diagrams | Conceptual only, no mistake prevention |
85
+ | Code style rules | Indentation, semicolons | Linter/formatter enforces them |
51
86
 
52
87
  ### Keep (Non-discoverable)
53
88
 
@@ -67,7 +102,13 @@ Traps and rules the agent cannot know from code alone:
67
102
 
68
103
  ### Anchoring Warning
69
104
 
70
- Mentioning a technology name anchors the agent toward it. "Don't use X" is useful, but "We use X" is unnecessary if already visible in code.
105
+ Mentioning a technology name anchors the agent toward it. "Don't use X" is
106
+ useful, but "We use X" is unnecessary if already visible in code.
107
+
108
+ ### Emphasis Budget
109
+
110
+ `**IMPORTANT**` / `**MUST**` / `**NEVER**` work only while rare. Reserve them
111
+ for P1 rules; emphasis on every line nullifies all of it.
71
112
 
72
113
  ## Step 3: Restructure
73
114
 
@@ -92,17 +133,15 @@ Rules:
92
133
  - Maximum 3 sections (Intro, Gotchas, Naming)
93
134
  - Each gotcha has **bold title + specific do/don't**
94
135
  - "Don't use X" is more useful than "We use X"
95
- - Target under 50 lines total
136
+ - Target under 50 lines total; 60–150 acceptable for complex projects; at 300+ the agent ignores half of it
137
+ - Don't inline everything — Claude Code follows `@docs/FILE.md` references and loads them on demand (progressive disclosure)
96
138
 
97
139
  ## Step 4: CLAUDE.md Separation (if applicable)
98
140
 
99
- If CLAUDE.md exists, keep only Claude-specific directives:
100
-
101
- ```markdown
102
- {Claude-specific directives. e.g., "Always respond in Korean."}
103
- ```
104
-
105
- Put common rules in AGENTS.md. Claude Code reads both.
141
+ If both files exist, put common rules in AGENTS.md and keep only
142
+ Claude-specific directives (e.g., "Always respond in Korean") in CLAUDE.md.
143
+ Claude Code reads both. If only one file exists, it carries everything —
144
+ same content rules apply.
106
145
 
107
146
  ## Step 5: Report Results
108
147
 
@@ -121,3 +160,11 @@ Put common rules in AGENTS.md. Claude Code reads both.
121
160
  ### Kept/Added Items
122
161
  - {Item}: {Reason for keeping}
123
162
  ```
163
+
164
+ ## Maintenance Signals
165
+
166
+ | Signal | Meaning | Response |
167
+ |--------|---------|----------|
168
+ | Over 300 lines | Information overload | Split or trim |
169
+ | Same mistake repeats | Rule is lost in noise | Emphasize or consolidate |
170
+ | Adding rules has no effect | File is too long | Fix root cause |
@@ -180,4 +180,4 @@ The test generator reads this file and adds custom rules to the test suite.
180
180
  - `vibe init` → auto-detect and generate initial arch-guard tests
181
181
  - `vibe update` → refresh rules if directory structure changed
182
182
  - Pre-commit hook → run arch-guard tests before commit
183
- - `vibe.review` (skill) → architecture-reviewer checks against arch-rules.json
183
+ - `vibe.review` (skill) → code-reviewer (focus: architecture) checks against arch-rules.json
@@ -3,8 +3,8 @@ name: brand-assets
3
3
  invocation: [auto]
4
4
  tier: standard
5
5
  description: "Auto-generate app icons (iOS/Android/PWA), favicons, and OG images from SPEC brand information using the Antigravity image backend. Use when the project needs visual brand assets, when user mentions 'icon', 'favicon', 'logo', or 'brand assets', or when a SPEC defines brand colors/identity but no assets exist yet. Outputs multiple sizes and formats ready for deployment. Not for complex illustration or marketing graphics — focused on app identity assets."
6
- triggers: [icon, favicon, brand, logo, app icon, branding, assets]
7
- priority: 65
6
+ triggers: [favicon, logo, app icon, brand assets, branding, og image]
7
+ priority: 60
8
8
  ---
9
9
  # Brand Assets Generation Skill
10
10
 
@@ -5,7 +5,7 @@ invocation: [auto]
5
5
  tier: standard
6
6
  description: "When an agent fails, diagnose which capability is missing and build it into the repo. Activates after repeated agent failures, tool errors, or when a task keeps failing in the same way. Analyzes failure transcripts, identifies the missing guardrail/tool/abstraction/doc, and creates it permanently. Use this skill whenever you see 3+ similar failures, an agent hitting the same wall repeatedly, or the user asking 'why does this keep failing'."
7
7
  triggers: [capability loop, failure loop, build capability, missing capability, agent failed, why did it fail]
8
- priority: 75
8
+ priority: 60
9
9
  ---
10
10
 
11
11
  # Capability Loop — Failure → Capability Building
@@ -4,7 +4,7 @@ invocation: [auto]
4
4
  tier: optional
5
5
  description: "Context Hub (chub) — fetch vetted, up-to-date API documentation. Write accurate code based on the latest docs instead of training data when working with external APIs/SDKs."
6
6
  triggers: [chub, context hub, API docs, latest API, deprecated API, SDK documentation, api reference, 최신 문서]
7
- priority: 65
7
+ priority: 60
8
8
  ---
9
9
 
10
10
  # Context Hub (chub) Usage
@@ -3,8 +3,8 @@ name: commerce-patterns
3
3
  invocation: [auto]
4
4
  tier: core
5
5
  description: "E-commerce domain patterns — cart management, payment processing (Toss/Stripe/PG), inventory tracking, and order state machines with transaction safety. Use when implementing any shopping cart, checkout flow, payment integration, stock management, or order lifecycle. Covers idempotency keys, double-charge prevention, stock reservation, and refund flows. Must use this skill when the codebase involves e-commerce — even for seemingly simple 'add to cart' features."
6
- triggers: [commerce, ecommerce, cart, payment, checkout, inventory, stock, order, pg, toss, stripe]
7
- priority: 70
6
+ triggers: [commerce, ecommerce, cart, payment, checkout, inventory, toss, stripe, order flow]
7
+ priority: 60
8
8
  ---
9
9
 
10
10
  # Commerce Patterns
@@ -5,7 +5,6 @@ tier: optional
5
5
  description: "Commit, push, and create PR in one go. Auto-activates on commit, PR, push keywords."
6
6
  triggers: [commit, push, PR, pull request, merge]
7
7
  priority: 70
8
- chain-next: [techdebt]
9
8
  ---
10
9
 
11
10
  # Commit-Push-PR
@@ -3,7 +3,7 @@ name: context7-usage
3
3
  invocation: [auto]
4
4
  tier: optional
5
5
  description: "Context7 plugin for latest library documentation. Auto-activates when docs, documentation, latest version, official docs, API reference, or library help is needed."
6
- triggers: [docs, documentation, latest version, official docs, API reference, library help, context7]
6
+ triggers: [latest version, official docs, API reference, library help, context7]
7
7
  priority: 60
8
8
  ---
9
9
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: edge-case-finder
2
+ name: prd-edge-case-finder
3
3
  role: Identifies edge cases, constraints, and risks for each requirement
4
4
  tools: [Read, WebSearch]
5
5
  ---
@@ -17,8 +17,8 @@ Stress-tests the requirements by systematically exploring what happens at bounda
17
17
  - Flag security concerns: injection, over-fetching, authorization bypass
18
18
 
19
19
  ## Input
20
- - User stories and acceptance criteria from requirements-writer
21
- - Research brief from researcher (constraints section)
20
+ - User stories and acceptance criteria from prd-requirements-writer
21
+ - Research brief from prd-researcher (constraints section)
22
22
 
23
23
  ## Output
24
24
  Edge cases and risks appended to each user story, plus a global risks section:
@@ -41,7 +41,7 @@ Edge cases and risks appended to each user story, plus a global risks section:
41
41
  ```
42
42
 
43
43
  ## Communication
44
- - Reports findings to: prioritizer, reviewer
44
+ - Reports findings to: prd-prioritizer, prd-reviewer
45
45
  - Receives instructions from: orchestrator (create-prd skill)
46
46
 
47
47
  ## Domain Knowledge
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: prioritizer
2
+ name: prd-prioritizer
3
3
  role: Applies RICE and MoSCoW scoring to rank requirements for implementation
4
4
  tools: [Read]
5
5
  ---
@@ -17,8 +17,8 @@ Applies structured scoring frameworks to the full requirements list to produce a
17
17
  - Document prioritization rationale so it can be revisited
18
18
 
19
19
  ## Input
20
- - User stories from requirements-writer
21
- - Edge cases from edge-case-finder
20
+ - User stories from prd-requirements-writer
21
+ - Edge cases from prd-edge-case-finder
22
22
  - Optional: team velocity or sprint capacity
23
23
 
24
24
  ## Output
@@ -53,7 +53,7 @@ US-01 must ship before US-02 (filter requires results to exist)
53
53
  ```
54
54
 
55
55
  ## Communication
56
- - Reports findings to: reviewer
56
+ - Reports findings to: prd-reviewer
57
57
  - Receives instructions from: orchestrator (create-prd skill)
58
58
 
59
59
  ## Domain Knowledge
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: requirements-writer
2
+ name: prd-requirements-writer
3
3
  role: Writes user stories and acceptance criteria from research brief
4
4
  tools: [Read, Write]
5
5
  ---
@@ -17,7 +17,7 @@ Translates research findings and user goals into structured user stories with cl
17
17
  - Avoid implementation details — describe behavior, not code
18
18
 
19
19
  ## Input
20
- - Research brief from researcher
20
+ - Research brief from prd-researcher
21
21
  - User personas or target segment description
22
22
  - Optional: existing SPEC or feature file for context
23
23
 
@@ -41,7 +41,7 @@ so that I can find items without browsing all categories.
41
41
  ```
42
42
 
43
43
  ## Communication
44
- - Reports findings to: edge-case-finder, prioritizer, reviewer
44
+ - Reports findings to: prd-edge-case-finder, prd-prioritizer, prd-reviewer
45
45
  - Receives instructions from: orchestrator (create-prd skill)
46
46
 
47
47
  ## Domain Knowledge
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: researcher
2
+ name: prd-researcher
3
3
  role: Gathers market context and user needs using web search and codebase analysis
4
4
  tools: [WebSearch, Read, Glob, Grep, Bash]
5
5
  ---
@@ -14,7 +14,7 @@ Gathers external context — competitor patterns, industry standards, user expec
14
14
  - Identify common user expectations and mental models for this feature type
15
15
  - Review existing codebase for related patterns, conventions, or prior art
16
16
  - Surface relevant regulatory, accessibility, or compliance constraints
17
- - Compile source references so requirements-writer can cite evidence
17
+ - Compile source references so prd-requirements-writer can cite evidence
18
18
 
19
19
  ## Input
20
20
  - Feature or problem description from the user
@@ -48,7 +48,7 @@ Research brief:
48
48
  ```
49
49
 
50
50
  ## Communication
51
- - Reports findings to: requirements-writer, edge-case-finder
51
+ - Reports findings to: prd-requirements-writer, prd-edge-case-finder
52
52
  - Receives instructions from: orchestrator (create-prd skill)
53
53
 
54
54
  ## Domain Knowledge
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: reviewer
2
+ name: prd-reviewer
3
3
  role: Reviews PRD completeness and testability before sign-off
4
4
  tools: [Read]
5
5
  ---
@@ -18,8 +18,8 @@ Final quality gate for the PRD. Checks that every requirement is testable, every
18
18
 
19
19
  ## Input
20
20
  - Complete PRD draft assembled from all agents
21
- - Edge cases from edge-case-finder
22
- - Prioritized backlog from prioritizer
21
+ - Edge cases from prd-edge-case-finder
22
+ - Prioritized backlog from prd-prioritizer
23
23
 
24
24
  ## Output
25
25
  PRD review report:
@@ -6,6 +6,8 @@ agents: [researcher, edge-case-finder, requirements-writer, prioritizer, reviewe
6
6
 
7
7
  # Create-PRD Orchestrator
8
8
 
9
+ > 구조·섹션·네이밍은 vibe/rules/orchestrator-contract.md (SSOT) 를 따른다.
10
+
9
11
  ## Workflow
10
12
 
11
13
  ### Phase 1: Gather Context
@@ -0,0 +1,140 @@
1
+ ---
2
+ name: design-refine
3
+ user-invocable: true
4
+ invocation: [command, auto]
5
+ tier: standard
6
+ description: "Design refinement — distill (remove visual complexity), normalize (hardcoded values → design tokens), polish (pre-ship micro-details). Modifying passes. Use when design-refine, design-polish, design-normalize, token-align, simplify-ui, ship-ready."
7
+ triggers: [design-refine, design-polish, design-normalize, token-align, design-distill, simplify-ui, ship-ready]
8
+ priority: 50
9
+ ---
10
+
11
+ # Design Refine — Distill / Normalize / Polish
12
+
13
+ Modifying design-improvement passes. Mode selected by the first argument; default runs the full pipeline in order: **distill → normalize → polish**.
14
+
15
+ ## Usage
16
+
17
+ ```
18
+ /design-refine <target> # Full pipeline (distill → normalize → polish)
19
+ /design-refine distill <target> # Remove visual complexity only
20
+ /design-refine normalize <target> # Token alignment only
21
+ /design-refine polish <target> # Pre-ship final pass only
22
+ /design-refine . # Refine all changed UI files
23
+ ```
24
+
25
+ ---
26
+
27
+ ## Mode: distill — Remove Visual Complexity
28
+
29
+ Every remaining element must justify its existence: **if it doesn't help the user complete their task, remove it.**
30
+
31
+ ### Targets
32
+
33
+ 1. **Decorative clutter** — purposeless gradients/patterns/textures, dividers between already-spaced sections, ornamental icons, stacked borders/shadows on nested containers
34
+ 2. **Redundant information** — headings repeating page title/parent context, labels duplicating placeholders, "Welcome to {App}" banners, descriptions restating the obvious
35
+ 3. **Over-wrapped containers** — cards wrapping a single element, nested cards, cosmetic-only wrapper divs, single-child sections
36
+ 4. **Excessive animation** — entry animations on every element, hover effects on non-interactive elements, transitions > 300ms for feedback, parallax on content pages
37
+ 5. **Progressive disclosure opportunities** — 10+ visible form fields → steps; flat settings → grouped collapsibles; 8+ nav items → categories; all-metrics dashboards → top 3 + expand
38
+
39
+ ### Principles
40
+
41
+ | Principle | Question |
42
+ |-----------|----------|
43
+ | Purpose | Does this help the user complete a task? |
44
+ | Duplication | Is this information already on screen? |
45
+ | Cognitive load | Would removal reduce decision fatigue? |
46
+ | Visual weight | Does this compete with more important content? |
47
+ | Progressive disclosure | Can this be hidden until needed? |
48
+
49
+ Before removing: verify functionality survives, check semantic meaning, confirm signal-to-noise improves. Preserve brand-expressive elements (per `brand.personality`); calibrate aggressiveness by `aesthetic.style` (minimal → aggressive, bold → lenient).
50
+
51
+ ---
52
+
53
+ ## Mode: normalize — Design Token Alignment
54
+
55
+ Replace hardcoded design values with tokens. Naming conventions: `rubrics/token-naming.md`.
56
+
57
+ ### Process
58
+
59
+ 1. **Load token source** (priority): `.vibe/design-system/{project}/MASTER.md` → `.vibe/design-context.json` → default detection (with prompt: "Run `/design-teach` or create MASTER.md first")
60
+ 2. **Scan for hardcoded values**:
61
+
62
+ | Category | Pattern | Example |
63
+ |----------|---------|---------|
64
+ | Colors | hex, `rgb()`, `hsl()` | `#3B82F6` → `var(--color-primary)` |
65
+ | Typography | `font-size`, `font-weight` | `14px` → `var(--text-sm)` |
66
+ | Spacing | `margin`/`padding`/`gap` px | `16px` → `var(--space-4)` |
67
+ | Shadows | inline `box-shadow` | → `var(--shadow-sm)` |
68
+ | Border radius | `border-radius: 8px` | → `var(--radius-md)` |
69
+
70
+ 3. **Map to tokens**: exact match → replace; close match (within 2px / similar hue) → replace + note; no match → flag for manual review (may need new token)
71
+ 4. **Apply**, preserving: `/* intentional */` one-offs, animation keyframes, SVG path data, third-party overrides
72
+
73
+ Use `detectedStack.styling` to pick token format (CSS vars, Tailwind, etc.). New-token suggestions go to MASTER.md, then re-run.
74
+
75
+ ---
76
+
77
+ ## Mode: polish — Pre-Ship Final Pass
78
+
79
+ Last-mile pixel-level check with **direct fixes**. Detailed pass/fail criteria: `rubrics/polish-checklist.md`.
80
+
81
+ ### Checklist
82
+
83
+ 1. **Alignment & spacing** — 4/8px grid, section rhythm, baselines across columns, icons vertically centered with text, symmetric container padding
84
+ 2. **Interaction states (complete set)** — Default / Hover / Focus (visible ring) / Active / Disabled (`aria-disabled` + reduced opacity) / Loading / Error / Success
85
+ 3. **Typography & copy** — no orphaned words, consistent capitalization, no placeholder text, ellipsis truncation, line length ≤ 75ch
86
+ 4. **Visual consistency** — border radius per level, shadow matches elevation, icon sizes (16/20/24), semantic color usage
87
+ 5. **Cleanup** — no `console.log`, no commented-out JSX/HTML, no `z-index` > 100 undocumented, no inline styles that should be tokens, no dead CSS
88
+
89
+ ### Auto-Fix Rules
90
+
91
+ | Issue | Fix |
92
+ |-------|-----|
93
+ | Missing hover / focus / disabled state | Add using existing tokens (`focus-visible` outline, reduced-opacity disabled) |
94
+ | Inconsistent border radius | Normalize to nearest token |
95
+ | Inline color values | Replace with CSS variable |
96
+ | `console.log` / commented-out code | Remove |
97
+
98
+ Only auto-fix items with clear, safe remediation — ambiguous items are flagged for manual review. Re-verify fixed files pass the checklist.
99
+
100
+ ---
101
+
102
+ ## Preparation (all modes)
103
+
104
+ 1. **Read** `.vibe/design-context.json`
105
+ - Missing → display "Run `/design-teach` first for better results" → proceed with defaults
106
+ - Parse error → warn → proceed with defaults → recommend `/design-teach`
107
+ 2. **Read** `.vibe/design-system/*/MASTER.md` (if exists) as authoritative token source
108
+
109
+ ## Output Format
110
+
111
+ ```markdown
112
+ ## Design Refine: {target} (mode: {distill|normalize|polish|full})
113
+
114
+ ### Changed
115
+ - ✂️ {file}:{line} — removed decorative gradient (distill)
116
+ - 🔄 {file}:{line} — #3B82F6 → var(--color-primary), confidence: exact (normalize)
117
+ - ✅ {file}:{line} — added hover state to submit button (polish)
118
+
119
+ ### Manual Review Needed
120
+ - ⚠️ {file}:{line} — no matching token / layout choice / missing loading state
121
+
122
+ ### Summary
123
+ - Reviewed: {N} · Changed: {N} · New tokens suggested: {N} · Manual review: {N}
124
+ - Ship-ready: {yes/no}
125
+ ```
126
+
127
+ Report templates: `templates/polish-report.md` · `templates/token-audit.md` · `templates/design-system.md`.
128
+
129
+ ## Next Steps
130
+
131
+ | If Result Shows | Recommended Next |
132
+ |----------------|-----------------|
133
+ | New tokens suggested | Add to MASTER.md → re-run `/design-refine normalize` |
134
+ | Broad quality concerns | `/design-review` — audit + UX critique |
135
+ | All items pass | Ship ready |
136
+
137
+ ## Important
138
+
139
+ - **Modifying**: applies changes directly (conservative — safe items only; removals listed for easy revert).
140
+ - **Pairs with**: `/design-review` first for findings, then `/design-refine` to fix.
@@ -60,5 +60,5 @@
60
60
 
61
61
  | Condition | Recommended Skill |
62
62
  |-----------|-------------------|
63
- | Design system gaps found | `/design-normalize` then re-run `/design-polish` |
63
+ | Design system gaps found | `/design-refine normalize` then re-run `/design-refine polish` |
64
64
  | All items pass | Ship ready |
@@ -84,6 +84,6 @@ These values appear 3+ times with no matching token. Candidates for addition to
84
84
 
85
85
  ## Next Steps
86
86
 
87
- 1. {{#HAS_SUGGESTED_TOKENS}}Add suggested tokens to MASTER.md, then re-run `/design-normalize`{{/HAS_SUGGESTED_TOKENS}}
88
- 2. {{#HAS_HARDCODED}}Run `/design-normalize` to apply replacements{{/HAS_HARDCODED}}
89
- 3. {{#ALL_TOKENIZED}}Token coverage complete — proceed to `/design-polish`{{/ALL_TOKENIZED}}
87
+ 1. {{#HAS_SUGGESTED_TOKENS}}Add suggested tokens to MASTER.md, then re-run `/design-refine normalize`{{/HAS_SUGGESTED_TOKENS}}
88
+ 2. {{#HAS_HARDCODED}}Run `/design-refine normalize` to apply replacements{{/HAS_HARDCODED}}
89
+ 3. {{#ALL_TOKENIZED}}Token coverage complete — proceed to `/design-refine polish`{{/ALL_TOKENIZED}}
@@ -0,0 +1,143 @@
1
+ ---
2
+ name: design-review
3
+ user-invocable: true
4
+ invocation: [command, auto]
5
+ tier: standard
6
+ description: "Design quality review — technical audit (a11y, performance, responsive, theming, AI slop) + UX critique (Nielsen heuristics, persona red flags). Read-only report. Use when design-review, design-audit, ui-audit, a11y-check, ux-review."
7
+ triggers: [design-review, design-audit, ui-audit, a11y-check, design-critique, ux-review]
8
+ priority: 50
9
+ ---
10
+
11
+ # Design Review — Technical Audit + UX Critique
12
+
13
+ Read-only design quality review. Two modes selected by the first argument. No code modifications — report only.
14
+
15
+ ## Usage
16
+
17
+ ```
18
+ /design-review <target> # Both modes (audit + critique)
19
+ /design-review audit <target> # Technical quality audit only
20
+ /design-review critique <target> # UX critique only
21
+ /design-review . # Review all changed UI files
22
+ ```
23
+
24
+ ## Shared Scoring Scale (0–4)
25
+
26
+ | Score | Meaning |
27
+ |-------|---------|
28
+ | 0 | Violated / critical failures |
29
+ | 1 | Major issues — degraded experience |
30
+ | 2 | Moderate — functional but rough |
31
+ | 3 | Good — minor friction/polish only |
32
+ | 4 | Excellent — production ready |
33
+
34
+ Detailed per-level criteria: `rubrics/scoring.md` (audit) · `rubrics/ux-heuristics.md` (critique).
35
+
36
+ ---
37
+
38
+ ## Mode: audit — 5-Dimension Technical Quality
39
+
40
+ ### 1. Accessibility (a11y)
41
+ - Interactive elements keyboard-reachable, visible focus indicator, focus order
42
+ - ARIA roles/labels on custom widgets; inputs linked to `<label>` or `aria-label`
43
+ - Color contrast ≥ 4.5:1 (text), ≥ 3:1 (large text, UI components)
44
+ - Meaningful `alt` text; `aria-live` for dynamic content; skip-to-content link
45
+
46
+ ### 2. Performance
47
+ - Images: `loading="lazy"` below fold, `srcset`, WebP/AVIF
48
+ - Fonts: `font-display: swap`, ≤3 font files; no blocking scripts in `<head>`
49
+ - Route-level code-splitting; explicit media `width`/`height` (no layout shift); no duplicate deps
50
+
51
+ ### 3. Responsive
52
+ - Mobile-first `min-width` breakpoints (or consistent direction); no horizontal scroll
53
+ - Touch targets ≥ 44×44px; typography scales (clamp or breakpoints)
54
+ - `@container` where component-level responsiveness needed; navigation adapts on mobile
55
+
56
+ ### 4. Theming
57
+ - Colors/spacing/radius/shadows via design tokens (CSS custom properties, not hardcoded)
58
+ - Dark mode support or documented opt-out; variants via classes/data attributes, not inline styles
59
+
60
+ ### 5. AI Slop Detection (full pattern list: `rubrics/ai-slop-patterns.md`)
61
+ - No cyan-on-dark / neon accents or purple-to-blue gradients without brand justification
62
+ - No hero-metric template, identical icon+title+description card grids, gradient text on stats
63
+ - No default glassmorphism, bounce/elastic easing on functional animations, lazy Inter/Roboto choice
64
+
65
+ ### Severity Tagging
66
+
67
+ | Severity | Meaning | Example |
68
+ |----------|---------|---------|
69
+ | P0 | Blocker — breaks functionality | Missing focus trap on modal |
70
+ | P1 | Critical — significant UX impact | No keyboard navigation |
71
+ | P2 | Important — noticeable quality gap | Touch targets too small |
72
+ | P3 | Minor — polish opportunity | Inconsistent border radius |
73
+
74
+ Multi-agent orchestration (parallel dimension auditors): `orchestrator.md` + `agents/`. Frameworks: `frameworks/wcag-checklist.md`, `frameworks/core-web-vitals.md`.
75
+
76
+ ---
77
+
78
+ ## Mode: critique — UX Review
79
+
80
+ ### Nielsen's 10 Heuristics (0–4 each; code-level evidence in `rubrics/ux-heuristics.md`)
81
+
82
+ | # | Heuristic | What to Check |
83
+ |---|-----------|---------------|
84
+ | H1 | Visibility of system status | Loading indicators, progress, state feedback |
85
+ | H2 | Match with real world | Natural language, familiar icons, logical groupings |
86
+ | H3 | User control and freedom | Undo/redo, cancel, exit paths |
87
+ | H4 | Consistency and standards | Same action = same pattern, platform conventions |
88
+ | H5 | Error prevention | Confirmations, input constraints, disabled states |
89
+ | H6 | Recognition over recall | Visible options, contextual help, breadcrumbs |
90
+ | H7 | Flexibility and efficiency | Shortcuts, defaults, power-user paths |
91
+ | H8 | Aesthetic and minimalist design | Signal-to-noise, essential info only |
92
+ | H9 | Error recognition and recovery | Clear messages, suggested fixes |
93
+ | H10 | Help and documentation | Tooltips, onboarding, contextual guidance |
94
+
95
+ ### 5-Persona Red Flag Analysis
96
+
97
+ | Persona | Red-Flag Questions |
98
+ |---------|-------------------|
99
+ | Power User | Fast task completion? Shortcuts/bulk actions? Adequate density? |
100
+ | First-Time User | Obvious entry point? Primary task without docs? Progressive disclosure? |
101
+ | Accessibility-Dependent | Screen-reader navigation sane? Color not the only channel? Text resizable? |
102
+ | Stressed / Distracted | Easy mistake recovery? Destructive actions guarded? Critical info scannable? |
103
+ | Mobile-Only | Touch targets adequate? One-thumb reach? Minimal typing in forms? |
104
+
105
+ ---
106
+
107
+ ## Platform Adaptation
108
+
109
+ On mobile stacks (React Native, Flutter, iOS, Android): skip web-specific items (CSS variables, `@container`, `srcset`, `font-display`, breadcrumbs/URLs); evaluate against platform HIG / Material Design; adapt responsive checks (safe areas, orientation); focus on hierarchy, cognitive load, a11y, AI slop.
110
+
111
+ ## Preparation
112
+
113
+ 1. **Read** `.vibe/design-context.json`
114
+ - Missing → display "Run `/design-teach` first for better results" → proceed with defaults
115
+ - Parse error → warn → proceed with defaults → recommend `/design-teach`
116
+ - Present → weight audit findings by `audience.context` / `constraints.accessibility` / `brand.personality`; adjust critique persona priorities by `audience.primary` / `audience.expertise`
117
+ 2. **Read** `.vibe/design-system/*/MASTER.md` (if exists) for token reference
118
+
119
+ ## Output Format
120
+
121
+ ```markdown
122
+ ## Design Review: {target} (mode: {audit|critique|both})
123
+
124
+ ### Scores — | Dimension / Heuristic | Score | Key Issue | ... | **Overall N/M (NN%)** |
125
+ ### Findings — audit: P0→P3 with {file}:{line} · critique: persona red flags 🔴🟡🟢
126
+ ### Top Recommendations — priority-ordered actionable items
127
+ ```
128
+
129
+ Full report templates: `templates/report.md` (audit) · `templates/critique-report.md` (critique).
130
+
131
+ ## Next Steps
132
+
133
+ | If Result Shows | Recommended Next |
134
+ |----------------|-----------------|
135
+ | Visual complexity / clutter | `/design-refine distill` |
136
+ | Token / design-system inconsistencies | `/design-refine normalize` |
137
+ | Ship-ready or minor polish only | `/design-refine polish` |
138
+
139
+ ## Important
140
+
141
+ - **Read-only**: produces a report. Does NOT modify code.
142
+ - **Context-aware**: weighted by `.vibe/design-context.json` when present.
143
+ - **Incremental**: on `.`, only reviews files in the current diff.
@@ -37,7 +37,7 @@ Score: {passed}/{total} criteria checked
37
37
 
38
38
  ## Communication
39
39
  - Reports findings to: `design-scorer`
40
- - Receives instructions from: design-audit orchestrator (SKILL.md)
40
+ - Receives instructions from: design-review orchestrator (SKILL.md)
41
41
 
42
42
  ## Domain Knowledge
43
43
  WCAG 2.1 AA criteria (critical subset): 1.1.1 Non-text Content, 1.3.1 Info and Relationships, 1.4.3 Contrast (4.5:1 normal text / 3:1 large text), 1.4.11 Non-text Contrast (3:1), 2.1.1 Keyboard, 2.4.3 Focus Order, 2.4.7 Focus Visible, 3.3.2 Labels or Instructions, 4.1.2 Name Role Value. ARIA 1.1 authoring practices for widget patterns.
@@ -40,7 +40,7 @@ Score: {passed}/{total} checks
40
40
 
41
41
  ## Communication
42
42
  - Reports findings to: `design-scorer`
43
- - Receives instructions from: design-audit orchestrator (SKILL.md)
43
+ - Receives instructions from: design-review orchestrator (SKILL.md)
44
44
 
45
45
  ## Domain Knowledge
46
46
  Core Web Vitals targets: LCP < 2.5s (good), FID/INP < 100ms, CLS < 0.1. Image optimization: WebP/AVIF preferred, explicit dimensions prevent CLS, lazy loading below fold. Font loading: `font-display: swap` prevents FOIT, `preload` for critical fonts. Bundle: code splitting, tree shaking, dynamic imports for route-level splitting.