@su-record/vibe 2.8.23 → 2.8.25

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 (223) hide show
  1. package/commands/vibe.figma.md +2 -2
  2. package/dist/cli/commands/config.d.ts +17 -0
  3. package/dist/cli/commands/config.d.ts.map +1 -0
  4. package/dist/cli/commands/config.js +207 -0
  5. package/dist/cli/commands/config.js.map +1 -0
  6. package/dist/cli/commands/index.d.ts +2 -0
  7. package/dist/cli/commands/index.d.ts.map +1 -1
  8. package/dist/cli/commands/index.js +2 -0
  9. package/dist/cli/commands/index.js.map +1 -1
  10. package/dist/cli/commands/info.d.ts.map +1 -1
  11. package/dist/cli/commands/info.js +2 -0
  12. package/dist/cli/commands/info.js.map +1 -1
  13. package/dist/cli/commands/init.d.ts.map +1 -1
  14. package/dist/cli/commands/init.js +78 -54
  15. package/dist/cli/commands/init.js.map +1 -1
  16. package/dist/cli/commands/stats.d.ts +13 -0
  17. package/dist/cli/commands/stats.d.ts.map +1 -0
  18. package/dist/cli/commands/stats.js +280 -0
  19. package/dist/cli/commands/stats.js.map +1 -0
  20. package/dist/cli/index.d.ts.map +1 -1
  21. package/dist/cli/index.js +33 -1
  22. package/dist/cli/index.js.map +1 -1
  23. package/dist/cli/postinstall/constants.d.ts.map +1 -1
  24. package/dist/cli/postinstall/constants.js +1 -0
  25. package/dist/cli/postinstall/constants.js.map +1 -1
  26. package/dist/cli/setup/GlobalInstaller.d.ts.map +1 -1
  27. package/dist/cli/setup/GlobalInstaller.js +7 -7
  28. package/dist/cli/setup/GlobalInstaller.js.map +1 -1
  29. package/dist/cli/setup/ProjectSetup.d.ts.map +1 -1
  30. package/dist/cli/setup/ProjectSetup.js +18 -12
  31. package/dist/cli/setup/ProjectSetup.js.map +1 -1
  32. package/dist/infra/lib/ContextCompressor.d.ts.map +1 -1
  33. package/dist/infra/lib/ContextCompressor.js +10 -4
  34. package/dist/infra/lib/ContextCompressor.js.map +1 -1
  35. package/dist/infra/lib/ProjectCache.d.ts +2 -2
  36. package/dist/infra/lib/ProjectCache.d.ts.map +1 -1
  37. package/dist/infra/lib/ProjectCache.js +4 -3
  38. package/dist/infra/lib/ProjectCache.js.map +1 -1
  39. package/dist/infra/lib/utils.d.ts +24 -0
  40. package/dist/infra/lib/utils.d.ts.map +1 -1
  41. package/dist/infra/lib/utils.js +41 -0
  42. package/dist/infra/lib/utils.js.map +1 -1
  43. package/dist/infra/orchestrator/SmartRouter.d.ts +3 -0
  44. package/dist/infra/orchestrator/SmartRouter.d.ts.map +1 -1
  45. package/dist/infra/orchestrator/SmartRouter.js +11 -1
  46. package/dist/infra/orchestrator/SmartRouter.js.map +1 -1
  47. package/dist/infra/orchestrator/SmartRouter.test.d.ts +5 -0
  48. package/dist/infra/orchestrator/SmartRouter.test.d.ts.map +1 -0
  49. package/dist/infra/orchestrator/SmartRouter.test.js +457 -0
  50. package/dist/infra/orchestrator/SmartRouter.test.js.map +1 -0
  51. package/dist/tools/convention/analyzeComplexity.d.ts.map +1 -1
  52. package/dist/tools/convention/analyzeComplexity.js +18 -10
  53. package/dist/tools/convention/analyzeComplexity.js.map +1 -1
  54. package/dist/tools/convention/checkCouplingCohesion.d.ts.map +1 -1
  55. package/dist/tools/convention/checkCouplingCohesion.js +14 -6
  56. package/dist/tools/convention/checkCouplingCohesion.js.map +1 -1
  57. package/dist/tools/semantic/analyzeDependencyGraph.d.ts.map +1 -1
  58. package/dist/tools/semantic/analyzeDependencyGraph.js +1 -1
  59. package/dist/tools/semantic/analyzeDependencyGraph.js.map +1 -1
  60. package/dist/tools/semantic/findReferences.d.ts.map +1 -1
  61. package/dist/tools/semantic/findReferences.js +13 -13
  62. package/dist/tools/semantic/findReferences.js.map +1 -1
  63. package/dist/tools/semantic/findSymbol.d.ts.map +1 -1
  64. package/dist/tools/semantic/findSymbol.js +12 -13
  65. package/dist/tools/semantic/findSymbol.js.map +1 -1
  66. package/dist/tools/semantic/lsp.d.ts.map +1 -1
  67. package/dist/tools/semantic/lsp.js +22 -14
  68. package/dist/tools/semantic/lsp.js.map +1 -1
  69. package/hooks/hooks.json +29 -0
  70. package/hooks/scripts/__tests__/keyword-detector.test.js +199 -0
  71. package/hooks/scripts/__tests__/pre-tool-guard.test.js +286 -0
  72. package/hooks/scripts/__tests__/sentinel-guard.test.js +210 -0
  73. package/hooks/scripts/auto-commit.js +65 -0
  74. package/hooks/scripts/auto-format.js +64 -0
  75. package/hooks/scripts/auto-test.js +81 -0
  76. package/hooks/scripts/code-check.js +139 -0
  77. package/hooks/scripts/command-log.js +32 -0
  78. package/hooks/scripts/context-save.js +60 -6
  79. package/hooks/scripts/hud-status.js +32 -2
  80. package/hooks/scripts/llm-orchestrate.js +95 -17
  81. package/hooks/scripts/pr-test-gate.js +52 -0
  82. package/package.json +1 -1
  83. package/skills/agents-md/rubrics/what-to-keep.md +49 -0
  84. package/skills/agents-md/templates/agents-md.md +36 -0
  85. package/skills/arch-guard/agents/detector.md +48 -0
  86. package/skills/arch-guard/agents/reporter.md +48 -0
  87. package/skills/arch-guard/agents/rule-generator.md +49 -0
  88. package/skills/arch-guard/agents/violation-checker.md +51 -0
  89. package/skills/arch-guard/frameworks/clean-architecture.md +108 -0
  90. package/skills/arch-guard/frameworks/solid.md +102 -0
  91. package/skills/arch-guard/scripts/check-boundaries.js +90 -0
  92. package/skills/arch-guard/templates/arch-rules.json +47 -0
  93. package/skills/arch-guard/templates/violation-report.md +53 -0
  94. package/skills/brand-assets/rubrics/asset-checklist.md +98 -0
  95. package/skills/brand-assets/templates/brand-guide.md +161 -0
  96. package/skills/capability-loop/agents/capability-designer.md +61 -0
  97. package/skills/capability-loop/agents/failure-analyst.md +55 -0
  98. package/skills/capability-loop/agents/implementer.md +50 -0
  99. package/skills/capability-loop/agents/tester.md +53 -0
  100. package/skills/capability-loop/templates/capability-spec.md +118 -0
  101. package/skills/capability-loop/templates/failure-analysis.md +118 -0
  102. package/skills/characterization-test/agents/behavior-capturer.md +50 -0
  103. package/skills/characterization-test/agents/coverage-checker.md +54 -0
  104. package/skills/characterization-test/agents/reporter.md +50 -0
  105. package/skills/characterization-test/agents/test-writer.md +49 -0
  106. package/skills/characterization-test/rubrics/coverage-criteria.md +53 -0
  107. package/skills/characterization-test/templates/test-template.ts +101 -0
  108. package/skills/claude-md-guide/rubrics/anti-patterns.md +88 -0
  109. package/skills/claude-md-guide/templates/claude-md.md +54 -0
  110. package/skills/commerce-patterns/rubrics/checkout-flow.md +48 -0
  111. package/skills/commerce-patterns/templates/product-schema.md +85 -0
  112. package/skills/commit-push-pr/agents/change-analyzer.md +55 -0
  113. package/skills/commit-push-pr/agents/message-writer.md +50 -0
  114. package/skills/commit-push-pr/agents/pr-writer.md +58 -0
  115. package/skills/commit-push-pr/agents/reviewer.md +52 -0
  116. package/skills/commit-push-pr/rubrics/commit-message.md +73 -0
  117. package/skills/commit-push-pr/templates/pr-body.md +63 -0
  118. package/skills/context7-usage/rubrics/when-to-use.md +50 -0
  119. package/skills/create-prd/agents/edge-case-finder.md +48 -0
  120. package/skills/create-prd/agents/prioritizer.md +60 -0
  121. package/skills/create-prd/agents/requirements-writer.md +48 -0
  122. package/skills/create-prd/agents/researcher.md +55 -0
  123. package/skills/create-prd/agents/reviewer.md +54 -0
  124. package/skills/create-prd/frameworks/jobs-to-be-done.md +96 -0
  125. package/skills/create-prd/frameworks/rice-scoring.md +97 -0
  126. package/skills/create-prd/orchestrator.md +70 -0
  127. package/skills/create-prd/rubrics/completeness.md +58 -0
  128. package/skills/create-prd/templates/prd.md +139 -0
  129. package/skills/design-audit/agents/a11y-auditor.md +43 -0
  130. package/skills/design-audit/agents/performance-auditor.md +46 -0
  131. package/skills/design-audit/agents/responsive-auditor.md +46 -0
  132. package/skills/design-audit/agents/scorer.md +47 -0
  133. package/skills/design-audit/agents/slop-detector.md +47 -0
  134. package/skills/design-audit/frameworks/core-web-vitals.md +107 -0
  135. package/skills/design-audit/frameworks/wcag-checklist.md +64 -0
  136. package/skills/design-audit/orchestrator.md +64 -0
  137. package/skills/design-audit/rubrics/ai-slop-patterns.md +83 -0
  138. package/skills/design-audit/rubrics/scoring.md +63 -0
  139. package/skills/design-audit/templates/report.md +88 -0
  140. package/skills/design-critique/rubrics/ux-heuristics.md +143 -0
  141. package/skills/design-critique/templates/critique-report.md +86 -0
  142. package/skills/design-distill/templates/design-system.md +132 -0
  143. package/skills/design-normalize/rubrics/token-naming.md +117 -0
  144. package/skills/design-normalize/templates/token-audit.md +89 -0
  145. package/skills/design-polish/rubrics/polish-checklist.md +68 -0
  146. package/skills/design-polish/templates/polish-report.md +64 -0
  147. package/skills/design-teach/rubrics/brand-personality.md +73 -0
  148. package/skills/design-teach/templates/design-context.json +36 -0
  149. package/skills/e2e-commerce/templates/test-scenarios.md +170 -0
  150. package/skills/event-comms/templates/email-invite.md +99 -0
  151. package/skills/event-comms/templates/sns-post.md +133 -0
  152. package/skills/event-ops/rubrics/contingency.md +85 -0
  153. package/skills/event-ops/templates/d-day-checklist.md +65 -0
  154. package/skills/event-planning/rubrics/timeline.md +70 -0
  155. package/skills/event-planning/templates/event-plan.md +91 -0
  156. package/skills/exec-plan/agents/decomposer.md +47 -0
  157. package/skills/exec-plan/agents/dependency-mapper.md +44 -0
  158. package/skills/exec-plan/agents/estimator.md +43 -0
  159. package/skills/exec-plan/agents/validator.md +55 -0
  160. package/skills/exec-plan/orchestrator.md +70 -0
  161. package/skills/exec-plan/rubrics/complexity-scoring.md +75 -0
  162. package/skills/exec-plan/templates/plan.md +147 -0
  163. package/skills/git-worktree/rubrics/when-to-use.md +55 -0
  164. package/skills/handoff/agents/context-summarizer.md +51 -0
  165. package/skills/handoff/agents/document-writer.md +63 -0
  166. package/skills/handoff/agents/state-collector.md +53 -0
  167. package/skills/handoff/agents/verifier.md +48 -0
  168. package/skills/handoff/rubrics/completeness.md +62 -0
  169. package/skills/handoff/templates/handoff.md +107 -0
  170. package/skills/parallel-research/agents/best-practices.md +43 -0
  171. package/skills/parallel-research/agents/codebase-patterns.md +46 -0
  172. package/skills/parallel-research/agents/framework-docs.md +45 -0
  173. package/skills/parallel-research/agents/security-advisory.md +46 -0
  174. package/skills/parallel-research/agents/synthesizer.md +52 -0
  175. package/skills/parallel-research/experts/best-practices.md +50 -0
  176. package/skills/parallel-research/experts/codebase-patterns.md +70 -0
  177. package/skills/parallel-research/experts/framework-docs.md +65 -0
  178. package/skills/parallel-research/experts/security-advisory.md +69 -0
  179. package/skills/parallel-research/orchestrator.md +65 -0
  180. package/skills/parallel-research/templates/synthesis.md +101 -0
  181. package/skills/prioritization-frameworks/rubrics/frameworks.md +79 -0
  182. package/skills/prioritization-frameworks/templates/scoring-matrix.md +69 -0
  183. package/skills/priority-todos/rubrics/prioritization.md +70 -0
  184. package/skills/priority-todos/templates/todo-board.md +59 -0
  185. package/skills/seo-checklist/frameworks/structured-data.md +153 -0
  186. package/skills/seo-checklist/rubrics/content-seo.md +42 -0
  187. package/skills/seo-checklist/rubrics/technical-seo.md +48 -0
  188. package/skills/techdebt/agents/analyzer.md +50 -0
  189. package/skills/techdebt/agents/fixer.md +41 -0
  190. package/skills/techdebt/agents/reviewer.md +47 -0
  191. package/skills/techdebt/agents/scanner.md +44 -0
  192. package/skills/techdebt/orchestrator.md +70 -0
  193. package/skills/techdebt/rubrics/severity.md +51 -0
  194. package/skills/techdebt/scripts/scan.js +90 -0
  195. package/skills/techdebt/templates/report.md +86 -0
  196. package/skills/tool-fallback/rubrics/fallback-chain.md +58 -0
  197. package/skills/typescript-advanced-types/rubrics/type-patterns.md +109 -0
  198. package/skills/ui-ux-pro-max/rubrics/interaction-states.md +83 -0
  199. package/skills/ui-ux-pro-max/rubrics/responsive-breakpoints.md +99 -0
  200. package/skills/user-personas/rubrics/research-methods.md +56 -0
  201. package/skills/user-personas/templates/persona.md +89 -0
  202. package/skills/vercel-react-best-practices/rubrics/performance.md +82 -0
  203. package/skills/vercel-react-best-practices/rubrics/server-components.md +86 -0
  204. package/skills/vibe-docs/SKILL.md +171 -0
  205. package/skills/vibe-docs/templates/architecture.md +80 -0
  206. package/skills/vibe-docs/templates/readme.md +84 -0
  207. package/skills/vibe-docs/templates/release-notes.md +74 -0
  208. package/skills/vibe-figma/SKILL.md +173 -54
  209. package/skills/vibe-figma/rubrics/extraction-checklist.md +51 -0
  210. package/skills/vibe-figma/templates/figma-handoff.md +96 -0
  211. package/skills/vibe-figma-analyze/rubrics/analysis-dimensions.md +53 -0
  212. package/skills/vibe-figma-codegen/rubrics/code-quality.md +54 -0
  213. package/skills/vibe-figma-consolidate/templates/consolidation-report.md +95 -0
  214. package/skills/vibe-figma-convert/SKILL.md +176 -1
  215. package/skills/vibe-figma-convert/rubrics/conversion-rules.md +83 -0
  216. package/skills/vibe-figma-convert/templates/component.md +152 -0
  217. package/skills/vibe-figma-extract/rubrics/image-rules.md +67 -0
  218. package/skills/vibe-figma-frame/rubrics/frame-selection.md +55 -0
  219. package/skills/vibe-figma-pipeline/rubrics/pipeline-stages.md +96 -0
  220. package/skills/vibe-figma-rules/rubrics/naming-conventions.md +70 -0
  221. package/skills/vibe-figma-style/rubrics/style-mapping.md +100 -0
  222. package/skills/video-production/rubrics/quality-checklist.md +58 -0
  223. package/skills/video-production/templates/production-plan.md +104 -0
@@ -0,0 +1,86 @@
1
+ # Design Critique: {{TARGET}}
2
+
3
+ **Date**: {{DATE}}
4
+ **Scope**: {{SCOPE_DESCRIPTION}}
5
+ **Design Context**: {{CONTEXT_SOURCE}} (design-context.json / defaults)
6
+ **Audience**: {{AUDIENCE_PRIMARY}} — {{AUDIENCE_EXPERTISE}}
7
+
8
+ ---
9
+
10
+ ## Heuristic Scores
11
+
12
+ | # | Heuristic | Score | Key Issue |
13
+ |---|-----------|-------|-----------|
14
+ | H1 | Visibility of system status | {{H1_SCORE}}/4 | {{H1_ISSUE}} |
15
+ | H2 | Match between system and real world | {{H2_SCORE}}/4 | {{H2_ISSUE}} |
16
+ | H3 | User control and freedom | {{H3_SCORE}}/4 | {{H3_ISSUE}} |
17
+ | H4 | Consistency and standards | {{H4_SCORE}}/4 | {{H4_ISSUE}} |
18
+ | H5 | Error prevention | {{H5_SCORE}}/4 | {{H5_ISSUE}} |
19
+ | H6 | Recognition rather than recall | {{H6_SCORE}}/4 | {{H6_ISSUE}} |
20
+ | H7 | Flexibility and efficiency | {{H7_SCORE}}/4 | {{H7_ISSUE}} |
21
+ | H8 | Aesthetic and minimalist design | {{H8_SCORE}}/4 | {{H8_ISSUE}} |
22
+ | H9 | Help recognize and recover from errors | {{H9_SCORE}}/4 | {{H9_ISSUE}} |
23
+ | H10 | Help and documentation | {{H10_SCORE}}/4 | {{H10_ISSUE}} |
24
+ | **Total** | | **{{TOTAL_SCORE}}/40** | **{{TOTAL_PCT}}%** |
25
+
26
+ ---
27
+
28
+ ## Persona Red Flags
29
+
30
+ ### Power User — {{POWER_STATUS}}
31
+ {{#POWER_ISSUES}}
32
+ - {{ISSUE}}
33
+ {{/POWER_ISSUES}}
34
+ {{#POWER_CLEAR}}
35
+ - No red flags
36
+ {{/POWER_CLEAR}}
37
+
38
+ ### First-Time User — {{FIRST_TIME_STATUS}}
39
+ {{#FIRST_TIME_ISSUES}}
40
+ - {{ISSUE}}
41
+ {{/FIRST_TIME_ISSUES}}
42
+ {{#FIRST_TIME_CLEAR}}
43
+ - No red flags
44
+ {{/FIRST_TIME_CLEAR}}
45
+
46
+ ### Accessibility-Dependent User — {{A11Y_STATUS}}
47
+ {{#A11Y_ISSUES}}
48
+ - {{ISSUE}}
49
+ {{/A11Y_ISSUES}}
50
+ {{#A11Y_CLEAR}}
51
+ - No red flags
52
+ {{/A11Y_CLEAR}}
53
+
54
+ ### Stressed / Distracted User — {{STRESSED_STATUS}}
55
+ {{#STRESSED_ISSUES}}
56
+ - {{ISSUE}}
57
+ {{/STRESSED_ISSUES}}
58
+ {{#STRESSED_CLEAR}}
59
+ - No red flags
60
+ {{/STRESSED_CLEAR}}
61
+
62
+ ### Mobile-Only User — {{MOBILE_STATUS}}
63
+ {{#MOBILE_ISSUES}}
64
+ - {{ISSUE}}
65
+ {{/MOBILE_ISSUES}}
66
+ {{#MOBILE_CLEAR}}
67
+ - No red flags
68
+ {{/MOBILE_CLEAR}}
69
+
70
+ ---
71
+
72
+ ## Top Recommendations
73
+
74
+ {{#RECOMMENDATIONS}}
75
+ {{INDEX}}. **[{{HEURISTIC}}]** {{RECOMMENDATION}}
76
+ {{/RECOMMENDATIONS}}
77
+
78
+ ---
79
+
80
+ ## Next Steps
81
+
82
+ | Condition | Recommended Skill |
83
+ |-----------|-------------------|
84
+ | Visual complexity / clutter noted | `/design-distill` |
85
+ | Token inconsistencies noted | `/design-normalize` |
86
+ | Good overall, minor polish needed | `/design-polish` |
@@ -0,0 +1,132 @@
1
+ # Design System Summary: {{PROJECT_NAME}}
2
+
3
+ **Generated**: {{DATE}}
4
+ **Version**: {{VERSION}}
5
+ **Source**: {{SOURCE}} (distilled from codebase / design-context.json / MASTER.md)
6
+
7
+ ---
8
+
9
+ ## Brand Identity
10
+
11
+ | Attribute | Value |
12
+ |-----------|-------|
13
+ | Personality | {{BRAND_PERSONALITY}} |
14
+ | Tone | {{BRAND_TONE}} |
15
+ | Style | {{AESTHETIC_STYLE}} |
16
+ | Color Mood | {{COLOR_MOOD}} |
17
+ | Typography Mood | {{TYPOGRAPHY_MOOD}} |
18
+ | Reference Products | {{REFERENCES}} |
19
+
20
+ ---
21
+
22
+ ## Color Palette
23
+
24
+ ### Primary
25
+
26
+ | Token | Value | Usage |
27
+ |-------|-------|-------|
28
+ | `--color-primary` | {{PRIMARY_VALUE}} | Primary actions, links |
29
+ | `--color-primary-hover` | {{PRIMARY_HOVER_VALUE}} | Hover state |
30
+ | `--color-secondary` | {{SECONDARY_VALUE}} | Secondary actions |
31
+
32
+ ### Surfaces
33
+
34
+ | Token | Value | Usage |
35
+ |-------|-------|-------|
36
+ | `--color-surface` | {{SURFACE_VALUE}} | Page background |
37
+ | `--color-surface-raised` | {{SURFACE_RAISED_VALUE}} | Cards |
38
+ | `--color-surface-overlay` | {{SURFACE_OVERLAY_VALUE}} | Modals |
39
+ | `--color-border` | {{BORDER_VALUE}} | Borders |
40
+
41
+ ### Semantic
42
+
43
+ | Token | Value | Usage |
44
+ |-------|-------|-------|
45
+ | `--color-text` | {{TEXT_VALUE}} | Body text |
46
+ | `--color-text-muted` | {{TEXT_MUTED_VALUE}} | Secondary text |
47
+ | `--color-error` | {{ERROR_VALUE}} | Errors |
48
+ | `--color-success` | {{SUCCESS_VALUE}} | Success |
49
+ | `--color-warning` | {{WARNING_VALUE}} | Warnings |
50
+
51
+ ---
52
+
53
+ ## Typography
54
+
55
+ | Token | Value | Usage |
56
+ |-------|-------|-------|
57
+ | Heading font | {{HEADING_FONT}} | All headings |
58
+ | Body font | {{BODY_FONT}} | Body text |
59
+ | Mono font | {{MONO_FONT}} | Code, technical |
60
+
61
+ ### Scale
62
+
63
+ | Token | Size | Weight | Line Height | Use |
64
+ |-------|------|--------|-------------|-----|
65
+ | `--text-xs` | {{XS_SIZE}} | {{XS_WEIGHT}} | {{XS_LH}} | Captions |
66
+ | `--text-sm` | {{SM_SIZE}} | {{SM_WEIGHT}} | {{SM_LH}} | Labels |
67
+ | `--text-base` | {{BASE_SIZE}} | {{BASE_WEIGHT}} | {{BASE_LH}} | Body |
68
+ | `--text-lg` | {{LG_SIZE}} | {{LG_WEIGHT}} | {{LG_LH}} | Subheading |
69
+ | `--text-2xl` | {{2XL_SIZE}} | {{2XL_WEIGHT}} | {{2XL_LH}} | Section heading |
70
+ | `--text-4xl` | {{4XL_SIZE}} | {{4XL_WEIGHT}} | {{4XL_LH}} | Hero |
71
+
72
+ ---
73
+
74
+ ## Spacing
75
+
76
+ Base unit: {{SPACING_BASE}} ({{SPACING_SYSTEM}})
77
+
78
+ | Token | Value | Common Use |
79
+ |-------|-------|------------|
80
+ | `--space-1` | {{S1}} | Tight internal gap |
81
+ | `--space-2` | {{S2}} | Icon-text spacing |
82
+ | `--space-4` | {{S4}} | Component padding |
83
+ | `--space-6` | {{S6}} | Section internal gap |
84
+ | `--space-8` | {{S8}} | Section separation |
85
+ | `--space-12` | {{S12}} | Large section gap |
86
+
87
+ ---
88
+
89
+ ## Shape & Elevation
90
+
91
+ | Token | Value | Use |
92
+ |-------|-------|-----|
93
+ | `--radius-sm` | {{RADIUS_SM}} | Badges, tags |
94
+ | `--radius-md` | {{RADIUS_MD}} | Inputs, buttons |
95
+ | `--radius-lg` | {{RADIUS_LG}} | Cards |
96
+ | `--radius-full` | 9999px | Pills |
97
+ | `--shadow-sm` | {{SHADOW_SM}} | Subtle lift |
98
+ | `--shadow-md` | {{SHADOW_MD}} | Cards |
99
+ | `--shadow-lg` | {{SHADOW_LG}} | Dropdowns |
100
+ | `--shadow-xl` | {{SHADOW_XL}} | Modals |
101
+
102
+ ---
103
+
104
+ ## Motion
105
+
106
+ | Token | Value | Use |
107
+ |-------|-------|-----|
108
+ | `--duration-fast` | 150ms | Micro-interactions |
109
+ | `--duration-normal` | 200ms | State transitions |
110
+ | `--duration-slow` | 300ms | Page transitions |
111
+ | `--ease-default` | {{EASE_DEFAULT}} | Standard transitions |
112
+ | `--ease-enter` | {{EASE_ENTER}} | Elements entering |
113
+ | `--ease-exit` | {{EASE_EXIT}} | Elements leaving |
114
+
115
+ ---
116
+
117
+ ## Component Patterns Preserved
118
+
119
+ The following elements were identified as brand-expressive and preserved during distillation:
120
+
121
+ {{#PRESERVED_PATTERNS}}
122
+ - **{{NAME}}**: {{DESCRIPTION}}
123
+ {{/PRESERVED_PATTERNS}}
124
+ {{#NO_PRESERVED_PATTERNS}}
125
+ - None identified — all patterns are functional
126
+ {{/NO_PRESERVED_PATTERNS}}
127
+
128
+ ---
129
+
130
+ ## Notes
131
+
132
+ {{ADDITIONAL_NOTES}}
@@ -0,0 +1,117 @@
1
+ # Design Token Naming Conventions
2
+
3
+ Reference for evaluating and creating design tokens. Consistent naming prevents duplication and aids discovery.
4
+
5
+ ---
6
+
7
+ ## Naming Structure
8
+
9
+ ```
10
+ --{category}-{scale-or-variant}[-{modifier}]
11
+ ```
12
+
13
+ Examples: `--color-primary`, `--space-4`, `--radius-md`, `--shadow-lg-hover`
14
+
15
+ ---
16
+
17
+ ## Color Tokens
18
+
19
+ ### Semantic over descriptive
20
+
21
+ | Preferred | Avoid | Reason |
22
+ |-----------|-------|--------|
23
+ | `--color-primary` | `--color-blue` | Blue may change; "primary" is stable |
24
+ | `--color-surface` | `--color-white` | White fails in dark mode |
25
+ | `--color-border` | `--color-gray-200` | Ties to a specific shade, not intent |
26
+ | `--color-error` | `--color-red` | Semantic meaning is the point |
27
+ | `--color-text-muted` | `--color-gray-500` | Describes role, not value |
28
+
29
+ ### Required color token set
30
+
31
+ | Token | Purpose |
32
+ |-------|---------|
33
+ | `--color-primary` | Primary brand action color |
34
+ | `--color-primary-hover` | Hover state of primary |
35
+ | `--color-secondary` | Secondary action color |
36
+ | `--color-surface` | Default background surface |
37
+ | `--color-surface-raised` | Cards, elevated surfaces |
38
+ | `--color-surface-overlay` | Modals, popovers |
39
+ | `--color-border` | Default border |
40
+ | `--color-border-focus` | Focus ring color |
41
+ | `--color-text` | Primary body text |
42
+ | `--color-text-muted` | Secondary/subdued text |
43
+ | `--color-error` | Error states |
44
+ | `--color-success` | Success states |
45
+ | `--color-warning` | Warning states |
46
+
47
+ ---
48
+
49
+ ## Spacing Tokens
50
+
51
+ Use a numeric scale tied to a base unit (4px or 8px).
52
+
53
+ | Token | 4px base | 8px base | Use |
54
+ |-------|----------|----------|-----|
55
+ | `--space-1` | 4px | 8px | Tight gaps |
56
+ | `--space-2` | 8px | 16px | Icon-text gap |
57
+ | `--space-3` | 12px | 24px | Input padding |
58
+ | `--space-4` | 16px | 32px | Card padding |
59
+ | `--space-6` | 24px | 48px | Section gap |
60
+ | `--space-8` | 32px | 64px | Large section |
61
+ | `--space-12` | 48px | 96px | Hero spacing |
62
+
63
+ ---
64
+
65
+ ## Typography Tokens
66
+
67
+ | Token | Purpose |
68
+ |-------|---------|
69
+ | `--text-xs` | Caption, footnote |
70
+ | `--text-sm` | Secondary labels |
71
+ | `--text-base` | Body text (≥16px on mobile) |
72
+ | `--text-lg` | Emphasized body |
73
+ | `--text-xl` | Subheading |
74
+ | `--text-2xl` | Section heading |
75
+ | `--text-3xl` | Page heading |
76
+ | `--text-4xl` | Hero heading |
77
+ | `--font-normal` | 400 weight |
78
+ | `--font-medium` | 500 weight |
79
+ | `--font-semibold` | 600 weight |
80
+ | `--font-bold` | 700 weight |
81
+ | `--leading-tight` | 1.2 (headings) |
82
+ | `--leading-normal` | 1.5 (body) |
83
+ | `--leading-relaxed` | 1.75 (long-form) |
84
+
85
+ ---
86
+
87
+ ## Border Radius Tokens
88
+
89
+ | Token | Value | Use |
90
+ |-------|-------|-----|
91
+ | `--radius-sm` | 4px | Tags, badges |
92
+ | `--radius-md` | 6–8px | Inputs, buttons |
93
+ | `--radius-lg` | 12px | Cards |
94
+ | `--radius-xl` | 16px | Large panels |
95
+ | `--radius-full` | 9999px | Pills, avatars |
96
+
97
+ ---
98
+
99
+ ## Shadow Tokens
100
+
101
+ | Token | Use |
102
+ |-------|-----|
103
+ | `--shadow-sm` | Subtle card lift |
104
+ | `--shadow-md` | Default card shadow |
105
+ | `--shadow-lg` | Popovers, dropdowns |
106
+ | `--shadow-xl` | Modals, floating panels |
107
+
108
+ ---
109
+
110
+ ## Anti-Patterns
111
+
112
+ | Pattern | Problem | Fix |
113
+ |---------|---------|-----|
114
+ | `--blue-500` | Descriptive, breaks dark mode | Use `--color-primary` |
115
+ | `--margin-top-16` | Property-specific; use spacing scale | Use `--space-4` |
116
+ | `--button-text-color` | Component-scoped; can't be shared | Use `--color-text` or `--color-primary` |
117
+ | `--size-large` | Ambiguous category | Specify: `--text-lg`, `--radius-lg`, `--space-lg` |
@@ -0,0 +1,89 @@
1
+ # Design Token Consistency Audit: {{TARGET}}
2
+
3
+ **Date**: {{DATE}}
4
+ **Token Source**: {{TOKEN_SOURCE}} (MASTER.md / design-context.json / auto-detected)
5
+ **Scope**: {{SCOPE_DESCRIPTION}}
6
+
7
+ ---
8
+
9
+ ## Token Coverage Summary
10
+
11
+ | Category | Total Found | Tokenized | Hardcoded | Coverage % |
12
+ |----------|-------------|-----------|-----------|------------|
13
+ | Colors | {{COLOR_TOTAL}} | {{COLOR_TOKEN}} | {{COLOR_HARD}} | {{COLOR_PCT}}% |
14
+ | Typography sizes | {{TYPO_TOTAL}} | {{TYPO_TOKEN}} | {{TYPO_HARD}} | {{TYPO_PCT}}% |
15
+ | Spacing | {{SPACE_TOTAL}} | {{SPACE_TOKEN}} | {{SPACE_HARD}} | {{SPACE_PCT}}% |
16
+ | Border radius | {{RADIUS_TOTAL}} | {{RADIUS_TOKEN}} | {{RADIUS_HARD}} | {{RADIUS_PCT}}% |
17
+ | Shadows | {{SHADOW_TOTAL}} | {{SHADOW_TOKEN}} | {{SHADOW_HARD}} | {{SHADOW_PCT}}% |
18
+ | **Overall** | **{{GRAND_TOTAL}}** | **{{GRAND_TOKEN}}** | **{{GRAND_HARD}}** | **{{GRAND_PCT}}%** |
19
+
20
+ ---
21
+
22
+ ## Hardcoded Values Found
23
+
24
+ ### Colors
25
+
26
+ | File | Line | Value | Nearest Token | Action |
27
+ |------|------|-------|---------------|--------|
28
+ {{#COLOR_FINDINGS}}
29
+ | `{{FILE}}` | {{LINE}} | `{{VALUE}}` | `{{TOKEN}}` | {{ACTION}} |
30
+ {{/COLOR_FINDINGS}}
31
+ {{#NO_COLOR_FINDINGS}}
32
+ | — | — | None found | — | — |
33
+ {{/NO_COLOR_FINDINGS}}
34
+
35
+ ### Typography
36
+
37
+ | File | Line | Value | Nearest Token | Action |
38
+ |------|------|-------|---------------|--------|
39
+ {{#TYPO_FINDINGS}}
40
+ | `{{FILE}}` | {{LINE}} | `{{VALUE}}` | `{{TOKEN}}` | {{ACTION}} |
41
+ {{/TYPO_FINDINGS}}
42
+ {{#NO_TYPO_FINDINGS}}
43
+ | — | — | None found | — | — |
44
+ {{/NO_TYPO_FINDINGS}}
45
+
46
+ ### Spacing
47
+
48
+ | File | Line | Value | Nearest Token | Action |
49
+ |------|------|-------|---------------|--------|
50
+ {{#SPACE_FINDINGS}}
51
+ | `{{FILE}}` | {{LINE}} | `{{VALUE}}` | `{{TOKEN}}` | {{ACTION}} |
52
+ {{/SPACE_FINDINGS}}
53
+ {{#NO_SPACE_FINDINGS}}
54
+ | — | — | None found | — | — |
55
+ {{/NO_SPACE_FINDINGS}}
56
+
57
+ ---
58
+
59
+ ## New Tokens Suggested
60
+
61
+ These values appear 3+ times with no matching token. Candidates for addition to MASTER.md.
62
+
63
+ | Suggested Token Name | Value | Usage Count | Category |
64
+ |----------------------|-------|-------------|----------|
65
+ {{#SUGGESTED_TOKENS}}
66
+ | `{{NAME}}` | `{{VALUE}}` | {{COUNT}} | {{CATEGORY}} |
67
+ {{/SUGGESTED_TOKENS}}
68
+ {{#NO_SUGGESTED_TOKENS}}
69
+ | — | — | — | — |
70
+ {{/NO_SUGGESTED_TOKENS}}
71
+
72
+ ---
73
+
74
+ ## Skipped (Intentional / Not Replaceable)
75
+
76
+ {{#SKIPPED}}
77
+ - `{{FILE}}:{{LINE}}` — `{{VALUE}}` — {{REASON}}
78
+ {{/SKIPPED}}
79
+ {{#NO_SKIPPED}}
80
+ - None
81
+ {{/NO_SKIPPED}}
82
+
83
+ ---
84
+
85
+ ## Next Steps
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}}
@@ -0,0 +1,68 @@
1
+ # Design Polish — Final Pass Checklist
2
+
3
+ Detailed criteria for each polish category. Each item is binary: pass or fail with a file:line reference.
4
+
5
+ ---
6
+
7
+ ## 1. Micro-Interactions
8
+
9
+ | Item | Pass Criteria | Fail Signal |
10
+ |------|--------------|-------------|
11
+ | Button hover | Color or shadow change within 150–300ms | No change, or change > 500ms |
12
+ | Button active/pressed | Slight scale-down (`scale(0.97)`) or color shift | No pressed state |
13
+ | Link hover | Underline or color change on entry | No visual feedback |
14
+ | Input focus | Border color change + visible focus ring | Ring missing or `outline: none` with no substitute |
15
+ | Toggle/switch | Smooth slide transition (200ms) | Instant jump with no transition |
16
+ | Checkbox/radio | Fill animation or check animation on select | Instant state change only |
17
+ | Toast/notification | Fade-in entry, fade-out dismiss (200–300ms) | Instant appear/disappear |
18
+ | Dropdown open | Fade + slight translate-y on open | No entry animation |
19
+
20
+ ---
21
+
22
+ ## 2. Spacing & Alignment
23
+
24
+ | Item | Pass Criteria | Fail Signal |
25
+ |------|--------------|-------------|
26
+ | Grid alignment | All elements snap to 4px or 8px grid | Arbitrary values like `13px`, `22px`, `37px` |
27
+ | Section rhythm | Consistent vertical spacing between sections | Different gaps between visually equivalent sections |
28
+ | Icon-text alignment | Icons vertically centered with adjacent text label | Icon top-aligned with multi-line text (unless intentional) |
29
+ | Container padding | Symmetric horizontal padding unless intentional asymmetry | Left padding ≠ right padding without justification |
30
+ | Card internal spacing | Same padding token used for all cards of same level | One card uses `p-4`, adjacent uses `p-6` |
31
+ | List item gaps | Consistent gap between items | First item has different spacing than rest |
32
+
33
+ ---
34
+
35
+ ## 3. Typography Refinements
36
+
37
+ | Item | Pass Criteria | Fail Signal |
38
+ |------|--------------|-------------|
39
+ | No orphaned words | Last line of heading has ≥ 2 words | Single word dangling on its own line |
40
+ | Capitalization | Consistent Title Case or sentence case per element type | Mix of styles on same element type |
41
+ | No placeholder copy | All text is real content | "Lorem ipsum", "placeholder", "TODO", "test text" present |
42
+ | Overflow truncation | Long text uses `text-overflow: ellipsis` with `overflow: hidden` | Text overflows container or wraps unpredictably |
43
+ | Line length | Body text ≤ 75 characters wide | Wide blocks of text with no max-width constraint |
44
+ | Heading hierarchy | Visual size matches semantic level (`h1` > `h2` > `h3`) | `h2` styled larger than `h1`, or heading levels skipped |
45
+
46
+ ---
47
+
48
+ ## 4. Visual Consistency
49
+
50
+ | Item | Pass Criteria | Fail Signal |
51
+ |------|--------------|-------------|
52
+ | Border radius | Same-level cards and inputs share identical radius token | Card uses `rounded-lg`, adjacent input uses `rounded-md` |
53
+ | Shadow elevation | Shadow depth increases with z-index elevation | Modals (high elevation) have less shadow than cards |
54
+ | Icon size | Icons within same context use one of: 16/20/24px | Mix of 14px, 18px, 22px icons in the same component |
55
+ | Color semantics | Red = error/danger, Green = success, Yellow = warning consistently | Success toast is blue, error badge is orange |
56
+ | Empty states | All empty states have an icon or illustration + message + CTA | Some empty states show only "No data" text |
57
+
58
+ ---
59
+
60
+ ## 5. Code Cleanliness
61
+
62
+ | Item | Pass Criteria | Fail Signal |
63
+ |------|--------------|-------------|
64
+ | No console.log | Zero `console.log` calls in UI files | Any `console.log` in production code paths |
65
+ | No commented code | No commented-out JSX or HTML blocks | `{/* <OldButton /> */}` style remnants |
66
+ | z-index discipline | No `z-index` > 100 without a comment explaining the reason | `z-index: 9999` or `z-index: 99999` |
67
+ | No inline styles | Presentation values use classes or tokens | `style={{ color: '#3B82F6', padding: '16px' }}` on component |
68
+ | No dead CSS | No class names defined but never applied | Classes in stylesheet with zero matches in templates |
@@ -0,0 +1,64 @@
1
+ # Design Polish Report: {{TARGET}}
2
+
3
+ **Date**: {{DATE}}
4
+ **Scope**: {{SCOPE_DESCRIPTION}}
5
+ **Design Context**: {{CONTEXT_SOURCE}} (design-context.json / defaults)
6
+
7
+ ---
8
+
9
+ ## Summary
10
+
11
+ | Category | Checked | Auto-Fixed | Manual Review |
12
+ |----------|---------|------------|---------------|
13
+ | Micro-interactions | {{MI_CHECKED}} | {{MI_FIXED}} | {{MI_MANUAL}} |
14
+ | Spacing & Alignment | {{SP_CHECKED}} | {{SP_FIXED}} | {{SP_MANUAL}} |
15
+ | Typography | {{TY_CHECKED}} | {{TY_FIXED}} | {{TY_MANUAL}} |
16
+ | Visual Consistency | {{VC_CHECKED}} | {{VC_FIXED}} | {{VC_MANUAL}} |
17
+ | Code Cleanliness | {{CC_CHECKED}} | {{CC_FIXED}} | {{CC_MANUAL}} |
18
+ | **Total** | **{{TOTAL_CHECKED}}** | **{{TOTAL_FIXED}}** | **{{TOTAL_MANUAL}}** |
19
+
20
+ **Ship-ready**: {{SHIP_READY}}
21
+
22
+ ---
23
+
24
+ ## Auto-Fixed
25
+
26
+ {{#AUTO_FIXED}}
27
+ - `{{FILE}}:{{LINE}}` — {{DESCRIPTION}}
28
+ {{/AUTO_FIXED}}
29
+ {{#NO_AUTO_FIXED}}
30
+ - None
31
+ {{/NO_AUTO_FIXED}}
32
+
33
+ ---
34
+
35
+ ## Manual Review Required
36
+
37
+ {{#MANUAL_REVIEW}}
38
+ - `{{FILE}}:{{LINE}}` — {{DESCRIPTION}}
39
+ - Reason: {{REASON}}
40
+ - Suggested fix: {{SUGGESTION}}
41
+ {{/MANUAL_REVIEW}}
42
+ {{#NO_MANUAL_REVIEW}}
43
+ - None
44
+ {{/NO_MANUAL_REVIEW}}
45
+
46
+ ---
47
+
48
+ ## Skipped Items
49
+
50
+ {{#SKIPPED}}
51
+ - {{ITEM}} — {{REASON}}
52
+ {{/SKIPPED}}
53
+ {{#NO_SKIPPED}}
54
+ - None
55
+ {{/NO_SKIPPED}}
56
+
57
+ ---
58
+
59
+ ## Next Steps
60
+
61
+ | Condition | Recommended Skill |
62
+ |-----------|-------------------|
63
+ | Design system gaps found | `/design-normalize` then re-run `/design-polish` |
64
+ | All items pass | Ship ready |
@@ -0,0 +1,73 @@
1
+ # Brand Personality Assessment Framework
2
+
3
+ Use this rubric to evaluate whether the current UI implementation reflects the stated brand personality. Score each axis 0–4.
4
+
5
+ ---
6
+
7
+ ## Personality Axes
8
+
9
+ ### Axis 1: Formality (Casual ↔ Professional)
10
+
11
+ | Score | Indicators |
12
+ |-------|------------|
13
+ | **4** | Typography is structured, spacing generous, copy is precise; no playful shapes or informal microcopy |
14
+ | **3** | Mostly formal with 1–2 informal touches (e.g., friendly empty state copy) |
15
+ | **2** | Mixed signals: formal layout but casual copy, or vice versa |
16
+ | **1** | Predominantly informal when brand requires professional tone |
17
+ | **0** | Completely misaligned (e.g., bounce animations and emoji icons on a financial compliance tool) |
18
+
19
+ ### Axis 2: Energy (Calm ↔ Bold)
20
+
21
+ | Score | Indicators |
22
+ |-------|------------|
23
+ | **4** | Color saturation, animation speed, and typographic weight all consistent with stated energy level |
24
+ | **3** | One outlier element (e.g., a single high-saturation call-to-action in an otherwise calm palette) |
25
+ | **2** | Energy inconsistent across pages or components |
26
+ | **1** | Dominant energy contradicts brand intent |
27
+ | **0** | Extreme mismatch (e.g., muted monochrome palette on an "energetic, vibrant" brand) |
28
+
29
+ ### Axis 3: Warmth (Cold/Technical ↔ Warm/Human)
30
+
31
+ | Score | Indicators |
32
+ |-------|------------|
33
+ | **4** | Color temperature, illustration style, and copy voice all aligned to warmth target |
34
+ | **3** | Mostly aligned; one section feels tonally off |
35
+ | **2** | Neutral — neither warm nor cold, no clear personality signal |
36
+ | **1** | Opposite of intended (e.g., cool blues throughout a "warm and approachable" consumer product) |
37
+ | **0** | Severely misaligned — creates user trust issues or tonal dissonance |
38
+
39
+ ### Axis 4: Complexity (Minimal ↔ Rich)
40
+
41
+ | Score | Indicators |
42
+ |-------|------------|
43
+ | **4** | Visual density, number of elements per screen, and information hierarchy match stated style |
44
+ | **3** | Correct overall density with 1–2 overcrowded or overly sparse areas |
45
+ | **2** | Inconsistent density — some screens minimal, others overwhelming |
46
+ | **1** | Density clearly wrong for product type (e.g., a consumer app with an enterprise-dense layout) |
47
+ | **0** | Completely unrelated to brand intent |
48
+
49
+ ---
50
+
51
+ ## Reference: Personality → Design Signal Mapping
52
+
53
+ | Personality Word | Typography | Color | Spacing | Motion |
54
+ |-----------------|------------|-------|---------|--------|
55
+ | Professional | Geometric sans, weight contrast | Desaturated, cool neutrals | Generous, consistent | Subtle, linear ease |
56
+ | Playful | Rounded, variable weight | High saturation, warm | Tight or expressive | Bouncy, spring ease |
57
+ | Minimal | Single typeface, tight scale | Monochromatic or 2-color | Very generous | None or fade only |
58
+ | Bold | High contrast, expressive display | Primary-heavy, high contrast | Dramatic gaps | Fast, snappy |
59
+ | Warm | Humanist typeface | Warm neutrals, amber/terracotta | Comfortable | Gentle, ease-in-out |
60
+ | Technical | Monospace or geometric | Low saturation, functional | Dense, structured | None or immediate |
61
+
62
+ ---
63
+
64
+ ## Overall Brand Alignment Score
65
+
66
+ Average the four axis scores. Thresholds:
67
+
68
+ | Average | Assessment |
69
+ |---------|------------|
70
+ | 3.5–4.0 | Strong brand alignment — personality comes through clearly |
71
+ | 2.5–3.4 | Adequate — personality visible but inconsistent in places |
72
+ | 1.5–2.4 | Weak — personality signals mixed or absent in key areas |
73
+ | 0–1.4 | Misaligned — redesign brand expression before shipping |
@@ -0,0 +1,36 @@
1
+ {
2
+ "$schema": "design-context-v1",
3
+ "createdAt": "{{ISO_DATE}}",
4
+ "updatedAt": "{{ISO_DATE}}",
5
+ "audience": {
6
+ "primary": "B2B SaaS — product managers and engineers at mid-size tech companies",
7
+ "context": "desktop",
8
+ "expertise": "intermediate"
9
+ },
10
+ "brand": {
11
+ "personality": ["professional", "clean", "trustworthy", "efficient"],
12
+ "tone": "professional",
13
+ "existingAssets": ".claude/vibe/brand/brand-guide.pdf"
14
+ },
15
+ "aesthetic": {
16
+ "style": "minimal",
17
+ "colorMood": "cool",
18
+ "typographyMood": "modern",
19
+ "references": [
20
+ "https://linear.app",
21
+ "https://vercel.com"
22
+ ]
23
+ },
24
+ "constraints": {
25
+ "accessibility": "AA",
26
+ "performance": "core-web-vitals",
27
+ "browsers": ["chrome", "safari", "firefox", "edge"],
28
+ "devices": ["desktop", "tablet"]
29
+ },
30
+ "detectedStack": {
31
+ "framework": "Next.js 15",
32
+ "componentLibrary": "shadcn/ui",
33
+ "styling": "Tailwind CSS",
34
+ "fonts": ["Inter"]
35
+ }
36
+ }