@su-record/vibe 2.7.13 β†’ 2.7.15

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 (232) hide show
  1. package/.env.example +37 -37
  2. package/CLAUDE.md +134 -126
  3. package/LICENSE +21 -21
  4. package/README.md +449 -449
  5. package/agents/architect-low.md +41 -41
  6. package/agents/architect-medium.md +59 -59
  7. package/agents/architect.md +80 -80
  8. package/agents/build-error-resolver.md +115 -115
  9. package/agents/compounder.md +261 -261
  10. package/agents/diagrammer.md +178 -178
  11. package/agents/docs/api-documenter.md +99 -99
  12. package/agents/docs/changelog-writer.md +93 -93
  13. package/agents/e2e-tester.md +294 -294
  14. package/agents/explorer-low.md +42 -42
  15. package/agents/explorer-medium.md +59 -59
  16. package/agents/explorer.md +48 -48
  17. package/agents/implementer-low.md +43 -43
  18. package/agents/implementer-medium.md +52 -52
  19. package/agents/implementer.md +54 -54
  20. package/agents/junior-mentor.md +141 -141
  21. package/agents/planning/requirements-analyst.md +84 -84
  22. package/agents/planning/ux-advisor.md +83 -83
  23. package/agents/qa/acceptance-tester.md +86 -86
  24. package/agents/qa/edge-case-finder.md +93 -93
  25. package/agents/refactor-cleaner.md +143 -143
  26. package/agents/research/best-practices-agent.md +199 -199
  27. package/agents/research/codebase-patterns-agent.md +157 -157
  28. package/agents/research/framework-docs-agent.md +188 -188
  29. package/agents/research/security-advisory-agent.md +213 -213
  30. package/agents/review/architecture-reviewer.md +107 -107
  31. package/agents/review/complexity-reviewer.md +116 -116
  32. package/agents/review/data-integrity-reviewer.md +88 -88
  33. package/agents/review/git-history-reviewer.md +103 -103
  34. package/agents/review/performance-reviewer.md +86 -86
  35. package/agents/review/python-reviewer.md +150 -150
  36. package/agents/review/rails-reviewer.md +139 -139
  37. package/agents/review/react-reviewer.md +144 -144
  38. package/agents/review/security-reviewer.md +80 -80
  39. package/agents/review/simplicity-reviewer.md +140 -140
  40. package/agents/review/test-coverage-reviewer.md +116 -116
  41. package/agents/review/typescript-reviewer.md +127 -127
  42. package/agents/searcher.md +54 -54
  43. package/agents/simplifier.md +120 -120
  44. package/agents/tester.md +49 -49
  45. package/agents/ui/ui-a11y-auditor.md +93 -93
  46. package/agents/ui/ui-antipattern-detector.md +94 -94
  47. package/agents/ui/ui-dataviz-advisor.md +69 -69
  48. package/agents/ui/ui-design-system-gen.md +57 -57
  49. package/agents/ui/ui-industry-analyzer.md +49 -49
  50. package/agents/ui/ui-layout-architect.md +65 -65
  51. package/agents/ui/ui-stack-implementer.md +68 -68
  52. package/agents/ui/ux-compliance-reviewer.md +81 -81
  53. package/agents/ui-previewer.md +258 -260
  54. package/commands/vibe.analyze.md +11 -13
  55. package/commands/vibe.review.md +43 -1
  56. package/commands/vibe.run.md +2124 -2078
  57. package/commands/vibe.spec.md +9 -4
  58. package/commands/vibe.spec.review.md +569 -565
  59. package/commands/vibe.utils.md +413 -413
  60. package/commands/vibe.verify.md +33 -8
  61. package/dist/cli/collaborator.js +52 -52
  62. package/dist/cli/commands/evolution.js +12 -12
  63. package/dist/cli/commands/info.js +54 -54
  64. package/dist/cli/commands/init.js +5 -5
  65. package/dist/cli/commands/remove.js +14 -14
  66. package/dist/cli/commands/sentinel.js +27 -27
  67. package/dist/cli/commands/skills.js +5 -5
  68. package/dist/cli/commands/slack.js +10 -10
  69. package/dist/cli/commands/telegram.js +12 -12
  70. package/dist/cli/detect.js +32 -32
  71. package/dist/cli/index.js +51 -51
  72. package/dist/cli/llm/claude-commands.js +16 -16
  73. package/dist/cli/llm/config.js +19 -19
  74. package/dist/cli/llm/config.js.map +1 -1
  75. package/dist/cli/llm/gemini-commands.js +16 -16
  76. package/dist/cli/llm/gpt-commands.js +19 -19
  77. package/dist/cli/llm/help.js +21 -21
  78. package/dist/cli/postinstall/cursor-agents.js +32 -32
  79. package/dist/cli/postinstall/cursor-rules.js +83 -83
  80. package/dist/cli/postinstall/cursor-skills.js +743 -743
  81. package/dist/cli/setup/Provisioner.js +42 -42
  82. package/dist/cli/types.d.ts +0 -2
  83. package/dist/cli/types.d.ts.map +1 -1
  84. package/dist/infra/lib/DeepInit.js +24 -24
  85. package/dist/infra/lib/IterationTracker.js +11 -11
  86. package/dist/infra/lib/PythonParser.js +108 -108
  87. package/dist/infra/lib/ReviewRace.js +96 -96
  88. package/dist/infra/lib/SkillFrontmatter.js +28 -28
  89. package/dist/infra/lib/SkillQualityGate.js +9 -9
  90. package/dist/infra/lib/SkillRepository.js +159 -159
  91. package/dist/infra/lib/UltraQA.js +99 -99
  92. package/dist/infra/lib/autonomy/AuditStore.js +41 -41
  93. package/dist/infra/lib/autonomy/ConfirmationStore.js +30 -30
  94. package/dist/infra/lib/autonomy/EventOutbox.js +38 -38
  95. package/dist/infra/lib/autonomy/PolicyEngine.js +18 -18
  96. package/dist/infra/lib/autonomy/SecuritySentinel.js +1 -1
  97. package/dist/infra/lib/autonomy/SuggestionStore.js +33 -33
  98. package/dist/infra/lib/embedding/VectorStore.js +22 -22
  99. package/dist/infra/lib/evolution/AgentAnalyzer.js +10 -10
  100. package/dist/infra/lib/evolution/DescriptionOptimizer.js +21 -21
  101. package/dist/infra/lib/evolution/GenerationRegistry.js +36 -36
  102. package/dist/infra/lib/evolution/InsightStore.js +90 -90
  103. package/dist/infra/lib/evolution/RollbackManager.js +5 -5
  104. package/dist/infra/lib/evolution/SkillBenchmark.js +23 -23
  105. package/dist/infra/lib/evolution/SkillEvalRunner.js +50 -50
  106. package/dist/infra/lib/evolution/SkillGapDetector.js +10 -10
  107. package/dist/infra/lib/evolution/UsageTracker.js +28 -28
  108. package/dist/infra/lib/gemini/orchestration.js +5 -5
  109. package/dist/infra/lib/gpt/orchestration.js +4 -4
  110. package/dist/infra/lib/memory/KnowledgeGraph.js +4 -4
  111. package/dist/infra/lib/memory/MemorySearch.js +57 -57
  112. package/dist/infra/lib/memory/MemoryStorage.js +181 -181
  113. package/dist/infra/lib/memory/ObservationStore.js +28 -28
  114. package/dist/infra/lib/memory/ReflectionStore.js +30 -30
  115. package/dist/infra/lib/memory/SessionRAGRetriever.js +7 -7
  116. package/dist/infra/lib/memory/SessionRAGStore.js +225 -225
  117. package/dist/infra/lib/memory/SessionSummarizer.js +9 -9
  118. package/dist/infra/orchestrator/AgentManager.js +12 -12
  119. package/dist/infra/orchestrator/AgentRegistry.js +65 -65
  120. package/dist/infra/orchestrator/MultiLlmResearch.js +8 -8
  121. package/dist/infra/orchestrator/SwarmOrchestrator.test.js +16 -16
  122. package/dist/infra/orchestrator/parallelResearch.js +24 -24
  123. package/dist/tools/convention/analyzeComplexity.test.js +115 -115
  124. package/dist/tools/convention/validateCodeQuality.test.js +104 -104
  125. package/dist/tools/memory/createMemoryTimeline.js +10 -10
  126. package/dist/tools/memory/getMemoryGraph.js +12 -12
  127. package/dist/tools/memory/getSessionContext.js +9 -9
  128. package/dist/tools/memory/linkMemories.js +14 -14
  129. package/dist/tools/memory/listMemories.js +4 -4
  130. package/dist/tools/memory/recallMemory.js +4 -4
  131. package/dist/tools/memory/saveMemory.js +4 -4
  132. package/dist/tools/memory/searchMemoriesAdvanced.js +23 -23
  133. package/dist/tools/semantic/analyzeDependencyGraph.js +12 -12
  134. package/dist/tools/semantic/astGrep.test.js +6 -6
  135. package/dist/tools/spec/prdParser.test.js +171 -171
  136. package/dist/tools/spec/specGenerator.js +169 -169
  137. package/dist/tools/spec/traceabilityMatrix.js +64 -64
  138. package/dist/tools/spec/traceabilityMatrix.test.js +28 -28
  139. package/hooks/gemini-hooks.json +73 -73
  140. package/hooks/hooks.json +137 -137
  141. package/hooks/scripts/code-check.js +77 -70
  142. package/hooks/scripts/context-save.js +212 -212
  143. package/hooks/scripts/hud-status.js +291 -291
  144. package/hooks/scripts/keyword-detector.js +214 -214
  145. package/hooks/scripts/llm-orchestrate.js +475 -475
  146. package/hooks/scripts/post-edit.js +32 -32
  147. package/hooks/scripts/pre-tool-guard.js +125 -125
  148. package/hooks/scripts/prompt-dispatcher.js +185 -185
  149. package/hooks/scripts/sentinel-guard.js +104 -104
  150. package/hooks/scripts/session-start.js +106 -106
  151. package/hooks/scripts/stop-notify.js +209 -209
  152. package/hooks/scripts/utils.js +100 -100
  153. package/languages/csharp-unity.md +515 -515
  154. package/languages/gdscript-godot.md +470 -470
  155. package/languages/ruby-rails.md +489 -489
  156. package/languages/typescript-angular.md +433 -433
  157. package/languages/typescript-astro.md +416 -416
  158. package/languages/typescript-electron.md +406 -406
  159. package/languages/typescript-nestjs.md +524 -524
  160. package/languages/typescript-svelte.md +407 -407
  161. package/languages/typescript-tauri.md +365 -365
  162. package/package.json +121 -121
  163. package/skills/agents-md/SKILL.md +120 -120
  164. package/skills/arch-guard/SKILL.md +180 -180
  165. package/skills/brand-assets/SKILL.md +146 -146
  166. package/skills/capability-loop/SKILL.md +167 -167
  167. package/skills/characterization-test/SKILL.md +206 -206
  168. package/skills/commerce-patterns/SKILL.md +59 -59
  169. package/skills/commit-push-pr/SKILL.md +75 -75
  170. package/skills/context7-usage/SKILL.md +105 -105
  171. package/skills/core-capabilities/SKILL.md +48 -48
  172. package/skills/e2e-commerce/SKILL.md +57 -57
  173. package/skills/exec-plan/SKILL.md +147 -147
  174. package/skills/frontend-design/SKILL.md +73 -73
  175. package/skills/git-worktree/SKILL.md +72 -72
  176. package/skills/handoff/SKILL.md +109 -109
  177. package/skills/parallel-research/SKILL.md +87 -87
  178. package/skills/priority-todos/SKILL.md +63 -63
  179. package/skills/seo-checklist/SKILL.md +57 -57
  180. package/skills/techdebt/SKILL.md +122 -122
  181. package/skills/tool-fallback/SKILL.md +103 -103
  182. package/skills/typescript-advanced-types/SKILL.md +66 -65
  183. package/skills/ui-ux-pro-max/SKILL.md +206 -206
  184. package/skills/vercel-react-best-practices/SKILL.md +59 -59
  185. package/skills/video-production/SKILL.md +51 -51
  186. package/vibe/config.json +29 -29
  187. package/vibe/constitution.md +227 -227
  188. package/vibe/rules/principles/communication-guide.md +98 -98
  189. package/vibe/rules/principles/development-philosophy.md +52 -52
  190. package/vibe/rules/principles/quick-start.md +102 -102
  191. package/vibe/rules/quality/bdd-contract-testing.md +393 -393
  192. package/vibe/rules/quality/checklist.md +276 -276
  193. package/vibe/rules/quality/performance.md +236 -236
  194. package/vibe/rules/quality/testing-strategy.md +440 -440
  195. package/vibe/rules/standards/anti-patterns.md +541 -541
  196. package/vibe/rules/standards/code-structure.md +291 -291
  197. package/vibe/rules/standards/complexity-metrics.md +313 -313
  198. package/vibe/rules/standards/git-workflow.md +237 -237
  199. package/vibe/rules/standards/naming-conventions.md +198 -198
  200. package/vibe/rules/standards/security.md +305 -305
  201. package/vibe/rules/writing/document-style.md +74 -74
  202. package/vibe/setup.sh +31 -31
  203. package/vibe/templates/constitution-template.md +252 -252
  204. package/vibe/templates/contract-backend-template.md +526 -526
  205. package/vibe/templates/contract-frontend-template.md +599 -599
  206. package/vibe/templates/feature-template.md +96 -96
  207. package/vibe/templates/spec-template.md +221 -221
  208. package/vibe/ui-ux-data/charts.csv +26 -26
  209. package/vibe/ui-ux-data/colors.csv +97 -97
  210. package/vibe/ui-ux-data/icons.csv +101 -101
  211. package/vibe/ui-ux-data/landing.csv +31 -31
  212. package/vibe/ui-ux-data/products.csv +96 -96
  213. package/vibe/ui-ux-data/react-performance.csv +45 -45
  214. package/vibe/ui-ux-data/stacks/astro.csv +54 -54
  215. package/vibe/ui-ux-data/stacks/flutter.csv +53 -53
  216. package/vibe/ui-ux-data/stacks/html-tailwind.csv +56 -56
  217. package/vibe/ui-ux-data/stacks/jetpack-compose.csv +53 -53
  218. package/vibe/ui-ux-data/stacks/nextjs.csv +53 -53
  219. package/vibe/ui-ux-data/stacks/nuxt-ui.csv +51 -51
  220. package/vibe/ui-ux-data/stacks/nuxtjs.csv +59 -59
  221. package/vibe/ui-ux-data/stacks/react-native.csv +52 -52
  222. package/vibe/ui-ux-data/stacks/react.csv +54 -54
  223. package/vibe/ui-ux-data/stacks/shadcn.csv +61 -61
  224. package/vibe/ui-ux-data/stacks/svelte.csv +54 -54
  225. package/vibe/ui-ux-data/stacks/swiftui.csv +51 -51
  226. package/vibe/ui-ux-data/stacks/vue.csv +50 -50
  227. package/vibe/ui-ux-data/styles.csv +68 -68
  228. package/vibe/ui-ux-data/typography.csv +57 -57
  229. package/vibe/ui-ux-data/ui-reasoning.csv +101 -101
  230. package/vibe/ui-ux-data/ux-guidelines.csv +99 -99
  231. package/vibe/ui-ux-data/version.json +31 -31
  232. package/vibe/ui-ux-data/web-interface.csv +31 -31
@@ -1,260 +1,258 @@
1
- ---
2
- description: Preview UI with Gemini image or ASCII art fallback
3
- argument-hint: "UI description or design folder path"
4
- ---
5
-
6
- # /vibe.ui
7
-
8
- Preview UI from description or design guide folder.
9
-
10
- - **Gemini enabled**: Generate actual UI image
11
- - **Gemini disabled**: ASCII art fallback
12
-
13
- ## Usage
14
-
15
- ```
16
- /vibe.ui "login page" # Text description
17
- /vibe.ui "dashboard" --layout grid # With layout option
18
- /vibe.ui ./design/ # Design guide folder
19
- /vibe.ui ./mockups/login.html # Single HTML file
20
- ```
21
-
22
- ## Process
23
-
24
- ### 0. Detect Input Type
25
-
26
- First, determine if input is:
27
-
28
- - **Text description**: Generate UI from description
29
- - **Folder path**: Read design files and generate UI
30
- - **File path**: Read single file and generate UI
31
-
32
- **Detection logic:**
33
-
34
- ```
35
- if (input starts with "./" or "/" or contains "/" or "\") β†’ path
36
- else β†’ text description
37
- ```
38
-
39
- ### 1. If Folder/File Path: Read Design Files
40
-
41
- **Supported file formats:**
42
-
43
- | Format | Purpose | How to read |
44
- | ------ | ------- | ----------- |
45
- | `*.html` | HTML mockups/prototypes | Read and parse structure |
46
- | `*.md` | Design guide documents | Read content |
47
- | `*.json` | Design tokens, theme config | Parse JSON |
48
- | `*.css` / `*.scss` | Style variables, colors | Extract variables |
49
- | `*.png` / `*.jpg` / `*.webp` | UI screenshots, mockups | **Use Read tool** (multimodal) |
50
- | `*.svg` | Icons, vector graphics | Read as XML |
51
- | `*.figma.json` | Figma export | Parse components |
52
-
53
- **Reading images:**
54
-
55
- Claude can read images using the Read tool. When encountering image files:
56
-
57
- 1. Use Read tool to view the image
58
- 2. Analyze UI structure, colors, layout from the image
59
- 3. Extract component hierarchy
60
-
61
- **Folder scanning priority:**
62
-
63
- 1. `*.html` files first (main structure)
64
- 2. `*.png` / `*.jpg` images (visual reference)
65
- 3. `*.json` (design tokens)
66
- 4. `*.css` / `*.scss` (styles)
67
- 5. `*.md` (documentation)
68
-
69
- **Example folder structure:**
70
-
71
- ```
72
- design/
73
- β”œβ”€β”€ mockup.html # Main HTML mockup
74
- β”œβ”€β”€ screenshot.png # UI screenshot
75
- β”œβ”€β”€ tokens.json # Design tokens
76
- β”œβ”€β”€ variables.css # CSS variables
77
- └── style-guide.md # Documentation
78
- ```
79
-
80
- ### 2. Analyze UI (from description or files)
81
-
82
- Analyze the UI structure:
83
-
84
- - Page/component name
85
- - Required UI elements (buttons, inputs, cards, etc.)
86
- - Layout structure (header-footer, sidebar, grid, etc.)
87
- - **Colors and typography** (from design tokens/CSS)
88
- - **Component hierarchy** (from HTML/images)
89
-
90
- ### 3. Check Gemini Status and Generate
91
-
92
- **Check Gemini authentication:**
93
-
94
- ```bash
95
- vibe gemini status
96
- ```
97
-
98
- Or check config file: `~/.config/vibe/gemini.json`
99
-
100
- #### If Gemini Enabled: Generate UI Image + Code
101
-
102
- ##### A. UI Mockup Image Generation
103
-
104
- ```bash
105
- node "[LLM_SCRIPT]" gemini image "Modern UI mockup: [UI Description from step 2]. Clean design, [colors/typography if available], mobile-first responsive layout" --output "./ui-preview.png"
106
- ```
107
-
108
- ##### B. UI Code Generation (from design files)
109
-
110
- When design files (image/HTML/folder) are provided, use Gemini to generate production-ready component code:
111
-
112
- ```bash
113
- node "[LLM_SCRIPT]" gemini orchestrate "You are a UI code generator. Analyze the provided design and generate production-ready React TypeScript components with Tailwind CSS. Output complete component code with proper types, responsive layout, and accessibility attributes."
114
- ```
115
-
116
- Pass the design context (file contents, extracted colors, layout structure from step 2) as the user prompt via stdin or arguments.
117
-
118
- **When to use each:**
119
-
120
- | Input | Image (Step A) | Code (Step B) |
121
- | ----- | -------------- | ------------- |
122
- | Text description | Generate mockup | Skip |
123
- | Image/HTML/Folder | Generate mockup | Generate component code |
124
-
125
- #### If Gemini Disabled: ASCII Art Fallback
126
-
127
- Generate ASCII art based on the UI description:
128
-
129
- **Input format:**
130
-
131
- - Page name
132
- - Layout type (centered, sidebar, grid, header-footer)
133
- - Components list (type, label, position)
134
-
135
- **Example ASCII output:**
136
-
137
- ```
138
- β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
139
- β”‚ Welcome β”‚
140
- β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
141
- β”‚ β”‚
142
- β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
143
- β”‚ Email: β”‚ β”‚ β”‚
144
- β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
145
- β”‚ β”‚
146
- β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
147
- β”‚ Pass: β”‚ β”‚ β”‚
148
- β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
149
- β”‚ β”‚
150
- β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
151
- β”‚ β”‚ Login β”‚ β”‚
152
- β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
153
- β”‚ β”‚
154
- β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
155
- ```
156
-
157
- ### 4. Generate Component List
158
-
159
- Suggest list of components needed for UI:
160
-
161
- **Required Components:**
162
-
163
- - `Header.tsx` - Header ("Welcome")
164
- - `LoginForm.tsx` - Form container
165
- - `Input.tsx` - Reusable input field
166
- - `Button.tsx` - Login button
167
-
168
- **Expected File Structure:**
169
-
170
- ```
171
- src/
172
- β”œβ”€β”€ components/
173
- β”‚ β”œβ”€β”€ common/
174
- β”‚ β”‚ β”œβ”€β”€ Input.tsx
175
- β”‚ β”‚ └── Button.tsx
176
- β”‚ └── auth/
177
- β”‚ β”œβ”€β”€ Header.tsx
178
- β”‚ └── LoginForm.tsx
179
- └── pages/
180
- └── LoginPage.tsx
181
- ```
182
-
183
- ## Example (with Gemini)
184
-
185
- ```
186
- User: /vibe.ui ./design/dashboard/
187
-
188
- Claude: Reading design folder...
189
- - Found: mockup.png, tokens.json, style-guide.md
190
-
191
- Analyzing design files...
192
- - Layout: Sidebar + Main content
193
- - Colors: Primary #2F6BFF, Background #F5F5F5
194
- - Components: Header, Sidebar, 3 StatCards, Footer
195
-
196
- Generating UI mockup with Gemini...
197
-
198
- βœ… UI Preview generated: ./ui-preview-1706234567.png
199
-
200
- [Image displayed]
201
-
202
- **Component Breakdown:**
203
- 1. Header (logo, user menu)
204
- 2. Sidebar (navigation)
205
- 3. StatsCard (reusable card)
206
- 4. Footer (copyright, links)
207
- 5. DashboardLayout (overall layout)
208
-
209
- Next step: /vibe.spec "dashboard page"
210
- ```
211
-
212
- ## Example (ASCII Fallback)
213
-
214
- ```
215
- User: /vibe.ui "Dashboard page - header, sidebar, main content (3 cards), footer"
216
-
217
- Claude: Gemini not configured. Using ASCII preview...
218
-
219
- β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
220
- β”‚ [Logo] Dashboard [User] [Logout] β”‚
221
- β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
222
- β”‚ β”‚ β”‚
223
- β”‚ Home β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
224
- β”‚ Stats β”‚ β”‚ Card 1 β”‚ β”‚ Card 2 β”‚ β”‚ Card 3 β”‚ β”‚
225
- β”‚ Users β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚
226
- β”‚ Settingsβ”‚ β”‚ 100 β”‚ β”‚ 200 β”‚ β”‚ 50 β”‚ β”‚
227
- β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
228
- β”‚ β”‚ β”‚
229
- β”‚ β”‚ β”‚
230
- β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
231
- β”‚ Β© 2025 Company Privacy | Terms β”‚
232
- β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
233
-
234
- **Required Components:**
235
- 1. Header (logo, user menu)
236
- 2. Sidebar (navigation)
237
- 3. StatsCard (reusable card)
238
- 4. Footer (copyright, links)
239
- 5. DashboardLayout (overall layout)
240
-
241
- **Layout Structure:**
242
- - Layout: sidebar (fixed left)
243
- - Main: grid (3 columns)
244
- - Responsive: Changes to 1 column on mobile
245
-
246
- πŸ’‘ Tip: Run `vibe gemini auth` for actual UI image generation
247
-
248
- Next step: /vibe.spec "dashboard page"
249
- ```
250
-
251
- ## Notes
252
-
253
- - For complex UI, request in multiple parts
254
- - Layout options: `sidebar`, `header-footer`, `grid`, `centered`, `split`
255
- - Gemini generates high-quality mockups; ASCII is for quick visualization
256
- - Design folder input extracts colors, typography, and component structure automatically
257
-
258
- ---
259
-
260
- ARGUMENTS: $ARGUMENTS
1
+ ---
2
+ description: Preview UI with Gemini image or ASCII art fallback
3
+ argument-hint: "UI description or design folder path"
4
+ ---
5
+
6
+ # /vibe.ui
7
+
8
+ Preview UI from description or design guide folder.
9
+
10
+ - **Gemini enabled**: Generate actual UI image
11
+ - **Gemini disabled**: ASCII art fallback
12
+
13
+ ## Usage
14
+
15
+ ```
16
+ /vibe.ui "login page" # Text description
17
+ /vibe.ui "dashboard" --layout grid # With layout option
18
+ /vibe.ui ./design/ # Design guide folder
19
+ /vibe.ui ./mockups/login.html # Single HTML file
20
+ ```
21
+
22
+ ## Process
23
+
24
+ ### 0. Detect Input Type
25
+
26
+ First, determine if input is:
27
+
28
+ - **Text description**: Generate UI from description
29
+ - **Folder path**: Read design files and generate UI
30
+ - **File path**: Read single file and generate UI
31
+
32
+ **Detection logic:**
33
+
34
+ ```
35
+ if (input starts with "./" or "/" or contains "/" or "\") β†’ path
36
+ else β†’ text description
37
+ ```
38
+
39
+ ### 1. If Folder/File Path: Read Design Files
40
+
41
+ **Supported file formats:**
42
+
43
+ | Format | Purpose | How to read |
44
+ | ------ | ------- | ----------- |
45
+ | `*.html` | HTML mockups/prototypes | Read and parse structure |
46
+ | `*.md` | Design guide documents | Read content |
47
+ | `*.json` | Design tokens, theme config | Parse JSON |
48
+ | `*.css` / `*.scss` | Style variables, colors | Extract variables |
49
+ | `*.png` / `*.jpg` / `*.webp` | UI screenshots, mockups | **Use Read tool** (multimodal) |
50
+ | `*.svg` | Icons, vector graphics | Read as XML |
51
+ | `*.figma.json` | Figma export | Parse components |
52
+
53
+ **Reading images:**
54
+
55
+ Claude can read images using the Read tool. When encountering image files:
56
+
57
+ 1. Use Read tool to view the image
58
+ 2. Analyze UI structure, colors, layout from the image
59
+ 3. Extract component hierarchy
60
+
61
+ **Folder scanning priority:**
62
+
63
+ 1. `*.html` files first (main structure)
64
+ 2. `*.png` / `*.jpg` images (visual reference)
65
+ 3. `*.json` (design tokens)
66
+ 4. `*.css` / `*.scss` (styles)
67
+ 5. `*.md` (documentation)
68
+
69
+ **Example folder structure:**
70
+
71
+ ```
72
+ design/
73
+ β”œβ”€β”€ mockup.html # Main HTML mockup
74
+ β”œβ”€β”€ screenshot.png # UI screenshot
75
+ β”œβ”€β”€ tokens.json # Design tokens
76
+ β”œβ”€β”€ variables.css # CSS variables
77
+ └── style-guide.md # Documentation
78
+ ```
79
+
80
+ ### 2. Analyze UI (from description or files)
81
+
82
+ Analyze the UI structure:
83
+
84
+ - Page/component name
85
+ - Required UI elements (buttons, inputs, cards, etc.)
86
+ - Layout structure (header-footer, sidebar, grid, etc.)
87
+ - **Colors and typography** (from design tokens/CSS)
88
+ - **Component hierarchy** (from HTML/images)
89
+
90
+ ### 3. Check Gemini Status and Generate
91
+
92
+ **Check Gemini authentication:**
93
+
94
+ ```bash
95
+ vibe gemini status
96
+ ```
97
+
98
+ #### If Gemini Enabled: Generate UI Image + Code
99
+
100
+ ##### A. UI Mockup Image Generation
101
+
102
+ ```bash
103
+ node "[LLM_SCRIPT]" gemini image "Modern UI mockup: [UI Description from step 2]. Clean design, [colors/typography if available], mobile-first responsive layout" --output "./ui-preview.png"
104
+ ```
105
+
106
+ ##### B. UI Code Generation (from design files)
107
+
108
+ When design files (image/HTML/folder) are provided, use Gemini to generate production-ready component code:
109
+
110
+ ```bash
111
+ node "[LLM_SCRIPT]" gemini orchestrate "You are a UI code generator. Analyze the provided design and generate production-ready React TypeScript components with Tailwind CSS. Output complete component code with proper types, responsive layout, and accessibility attributes."
112
+ ```
113
+
114
+ Pass the design context (file contents, extracted colors, layout structure from step 2) as the user prompt via stdin or arguments.
115
+
116
+ **When to use each:**
117
+
118
+ | Input | Image (Step A) | Code (Step B) |
119
+ | ----- | -------------- | ------------- |
120
+ | Text description | Generate mockup | Skip |
121
+ | Image/HTML/Folder | Generate mockup | Generate component code |
122
+
123
+ #### If Gemini Disabled: ASCII Art Fallback
124
+
125
+ Generate ASCII art based on the UI description:
126
+
127
+ **Input format:**
128
+
129
+ - Page name
130
+ - Layout type (centered, sidebar, grid, header-footer)
131
+ - Components list (type, label, position)
132
+
133
+ **Example ASCII output:**
134
+
135
+ ```
136
+ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
137
+ β”‚ Welcome β”‚
138
+ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
139
+ β”‚ β”‚
140
+ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
141
+ β”‚ Email: β”‚ β”‚ β”‚
142
+ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
143
+ β”‚ β”‚
144
+ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
145
+ β”‚ Pass: β”‚ β”‚ β”‚
146
+ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
147
+ β”‚ β”‚
148
+ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
149
+ β”‚ β”‚ Login β”‚ β”‚
150
+ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
151
+ β”‚ β”‚
152
+ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
153
+ ```
154
+
155
+ ### 4. Generate Component List
156
+
157
+ Suggest list of components needed for UI:
158
+
159
+ **Required Components:**
160
+
161
+ - `Header.tsx` - Header ("Welcome")
162
+ - `LoginForm.tsx` - Form container
163
+ - `Input.tsx` - Reusable input field
164
+ - `Button.tsx` - Login button
165
+
166
+ **Expected File Structure:**
167
+
168
+ ```
169
+ src/
170
+ β”œβ”€β”€ components/
171
+ β”‚ β”œβ”€β”€ common/
172
+ β”‚ β”‚ β”œβ”€β”€ Input.tsx
173
+ β”‚ β”‚ └── Button.tsx
174
+ β”‚ └── auth/
175
+ β”‚ β”œβ”€β”€ Header.tsx
176
+ β”‚ └── LoginForm.tsx
177
+ └── pages/
178
+ └── LoginPage.tsx
179
+ ```
180
+
181
+ ## Example (with Gemini)
182
+
183
+ ```
184
+ User: /vibe.ui ./design/dashboard/
185
+
186
+ Claude: Reading design folder...
187
+ - Found: mockup.png, tokens.json, style-guide.md
188
+
189
+ Analyzing design files...
190
+ - Layout: Sidebar + Main content
191
+ - Colors: Primary #2F6BFF, Background #F5F5F5
192
+ - Components: Header, Sidebar, 3 StatCards, Footer
193
+
194
+ Generating UI mockup with Gemini...
195
+
196
+ βœ… UI Preview generated: ./ui-preview-1706234567.png
197
+
198
+ [Image displayed]
199
+
200
+ **Component Breakdown:**
201
+ 1. Header (logo, user menu)
202
+ 2. Sidebar (navigation)
203
+ 3. StatsCard (reusable card)
204
+ 4. Footer (copyright, links)
205
+ 5. DashboardLayout (overall layout)
206
+
207
+ Next step: /vibe.spec "dashboard page"
208
+ ```
209
+
210
+ ## Example (ASCII Fallback)
211
+
212
+ ```
213
+ User: /vibe.ui "Dashboard page - header, sidebar, main content (3 cards), footer"
214
+
215
+ Claude: Gemini not configured. Using ASCII preview...
216
+
217
+ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
218
+ β”‚ [Logo] Dashboard [User] [Logout] β”‚
219
+ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
220
+ β”‚ β”‚ β”‚
221
+ β”‚ Home β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
222
+ β”‚ Stats β”‚ β”‚ Card 1 β”‚ β”‚ Card 2 β”‚ β”‚ Card 3 β”‚ β”‚
223
+ β”‚ Users β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚
224
+ β”‚ Settingsβ”‚ β”‚ 100 β”‚ β”‚ 200 β”‚ β”‚ 50 β”‚ β”‚
225
+ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
226
+ β”‚ β”‚ β”‚
227
+ β”‚ β”‚ β”‚
228
+ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
229
+ β”‚ Β© 2025 Company Privacy | Terms β”‚
230
+ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
231
+
232
+ **Required Components:**
233
+ 1. Header (logo, user menu)
234
+ 2. Sidebar (navigation)
235
+ 3. StatsCard (reusable card)
236
+ 4. Footer (copyright, links)
237
+ 5. DashboardLayout (overall layout)
238
+
239
+ **Layout Structure:**
240
+ - Layout: sidebar (fixed left)
241
+ - Main: grid (3 columns)
242
+ - Responsive: Changes to 1 column on mobile
243
+
244
+ πŸ’‘ Tip: Run `vibe gemini auth` for actual UI image generation
245
+
246
+ Next step: /vibe.spec "dashboard page"
247
+ ```
248
+
249
+ ## Notes
250
+
251
+ - For complex UI, request in multiple parts
252
+ - Layout options: `sidebar`, `header-footer`, `grid`, `centered`, `split`
253
+ - Gemini generates high-quality mockups; ASCII is for quick visualization
254
+ - Design folder input extracts colors, typography, and component structure automatically
255
+
256
+ ---
257
+
258
+ ARGUMENTS: $ARGUMENTS
@@ -67,12 +67,15 @@ Read `CLAUDE.md`, `package.json`, `pyproject.toml`, etc. to identify tech stack:
67
67
 
68
68
  #### 3. Explore Related Code (Parallel Sub-Agents)
69
69
 
70
- **🚨 MANDATORY: 3개 μ΄μƒμ˜ Taskλ₯Ό λ³‘λ ¬λ‘œ μ‹€ν–‰ν•˜μ„Έμš”. 순차 싀행은 μœ„λ°˜μž…λ‹ˆλ‹€.**
70
+ **MANDATORY: Always use explorer sub-agents. Never explore in main session.**
71
71
 
72
- **병렬 탐색 νŒ¨ν„΄ (ν•œ λ©”μ‹œμ§€μ— λͺ¨λ“  Task 호좜):**
72
+ > Why: 3 explorer-low agents return ~600 tokens of summaries to main session.
73
+ > Direct Glob/Grep/Read in main session would add 5-15K tokens of raw file content.
74
+
75
+ **Parallel exploration (ALL tasks in ONE message):**
73
76
 
74
77
  ```text
75
- # 3개 explorer μ—μ΄μ „νŠΈ 병렬 μ‹€ν–‰ (single message, multiple tool calls)
78
+ # 3 explorer agents in parallel (single message, multiple tool calls)
76
79
  Task(subagent_type="explorer-low", model="haiku",
77
80
  prompt="Find all [FEATURE] related API endpoints in this project. List file paths, HTTP methods, routes, and auth requirements.")
78
81
 
@@ -83,10 +86,10 @@ Task(subagent_type="explorer-low", model="haiku",
83
86
  prompt="Find all [FEATURE] related data models, schemas, and database queries. Document relationships and key fields.")
84
87
  ```
85
88
 
86
- **μΆ”κ°€ 탐색 (ν”„λ‘œμ νŠΈ 규λͺ¨μ— 따라):**
89
+ **Additional exploration (scale by project size):**
87
90
 
88
91
  ```text
89
- # λŒ€κ·œλͺ¨ ν”„λ‘œμ νŠΈ (6+ κ΄€λ ¨ 파일) β€” μΆ”κ°€ 2개 병렬 μ‹€ν–‰
92
+ # Large projects (6+ related files) β€” add 2 more in parallel
90
93
  Task(subagent_type="explorer-low", model="haiku",
91
94
  prompt="Find all test files related to [FEATURE]. Identify tested vs untested paths.")
92
95
 
@@ -94,14 +97,9 @@ Task(subagent_type="explorer-low", model="haiku",
94
97
  prompt="Analyze [FEATURE] configuration, environment variables, and external integrations.")
95
98
  ```
96
99
 
97
- **κ²°κ³Ό μ’…ν•©:**
98
- - λͺ¨λ“  Task μ™„λ£Œ ν›„ κ²°κ³Όλ₯Ό μ’…ν•©ν•˜μ—¬ Flow Analysis (Step 4) μ§„ν–‰
99
- - 탐색 κ²°κ³Ό 기반으둜 κ΄€λ ¨ νŒŒμΌμ„ 직접 Readν•˜μ—¬ 상세 뢄석
100
-
101
- **Fallback (direct tools β€” μ†Œκ·œλͺ¨ ν”„λ‘œμ νŠΈ):**
102
- 1. **Glob** to collect related file list
103
- 2. **Grep** to locate code by keyword
104
- 3. **Read** to analyze key files in detail
100
+ **After all agents return:**
101
+ - Synthesize results β†’ proceed to Flow Analysis (Step 4)
102
+ - Only Read specific files in main session when agent summary needs clarification
105
103
 
106
104
  #### 4. Flow Analysis
107
105
 
@@ -134,6 +134,36 @@ node "[LLM_SCRIPT]" gemini orchestrate-json --input "[SCRATCHPAD]/review-input.j
134
134
  | P2 | Performance issues, architecture violations, missing tests | Fix before merge |
135
135
  | P3 | Style, refactoring suggestions, documentation | Add to backlog |
136
136
 
137
+ ## Convergence Rules (Over-Diagnosis Prevention)
138
+
139
+ > **Principle**: Reviews must converge. A review that always finds more issues is broken, not thorough.
140
+
141
+ ### Scope Limiting
142
+
143
+ - **Review ONLY changed files** β€” based on `git diff --name-only`. Never scan the entire project
144
+ - **If no git diff** (first review) β€” review only files in the target path
145
+
146
+ ### Severity Filtering by Round
147
+
148
+ | Round | What to Report |
149
+ |-------|---------------|
150
+ | 1st review | P1 + P2 + P3 (all) |
151
+ | 2nd review (same code) | P1 + P2 only (skip P3) |
152
+ | 3rd+ review | P1 only (report only new P1s) |
153
+
154
+ ### Stop Conditions
155
+
156
+ - **P1 = 0 means MERGE READY** β€” mergeable even with remaining P2/P3
157
+ - **P1 = 0 after auto-fix means DONE** β€” record P2 auto-fix failures as TODO and stop
158
+ - **Final P1 list unchanged after Review Debate β†’ DONE** β€” no new findings = converged
159
+
160
+ ### Anti-Patterns (FORBIDDEN)
161
+
162
+ - "All items must be verified" β†’ Only P1 is mandatory, P2/P3 are best-effort
163
+ - "Found one more issue" (repeated) β†’ Only report P1s not mentioned in previous review
164
+ - Forcing code changes for P3 issues β†’ P3 goes to TODO files only, never force code changes
165
+ - Infinite retries on auto-fix failure β†’ max 1 retry then move to TODO
166
+
137
167
  ## Process
138
168
 
139
169
  ### Phase 1: Tech Stack Detection
@@ -149,6 +179,18 @@ Read go.mod -> Go
149
179
  Read CLAUDE.md -> Explicit tech stack declaration
150
180
  ```
151
181
 
182
+ ### Phase 1.5: SPEC ↔ Code Alignment Check
183
+
184
+ > When SPEC files exist, verify that code changes align with the SPEC
185
+
186
+ ```
187
+ 1. Search .claude/vibe/specs/ for related SPEC files (based on git diff filenames)
188
+ 2. Compare SPEC REQ-* list against functionality in changed code
189
+ 3. If functionality added that's not in SPEC β†’ P2 finding: "Feature added without SPEC"
190
+ 4. If implementation differs from SPEC β†’ P1 finding: "SPEC ↔ code mismatch"
191
+ 5. If no SPEC files exist β†’ Skip (reviews work without SPEC too)
192
+ ```
193
+
152
194
  ### Phase 2: Parallel Agent Review (STACK-AWARE) via Orchestrator
153
195
 
154
196
  **Execution via Orchestrator (12+ agents in parallel):**
@@ -481,7 +523,7 @@ node -e "import('{{VIBE_PATH_URL}}/node_modules/@su-record/vibe/dist/tools/index
481
523
 
482
524
  ### Review Quality Checklist
483
525
 
484
- Before completing review, ALL items must be verified:
526
+ Before completing review, check P1-critical items. P2/P3 items are best-effort:
485
527
 
486
528
  | Category | Check Item | Weight |
487
529
  |----------|------------|--------|