@su-record/vibe 2.8.52 → 2.8.53

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 (417) hide show
  1. package/.env.example +37 -37
  2. package/CLAUDE.md +169 -169
  3. package/LICENSE +21 -21
  4. package/agents/architect-low.md +41 -41
  5. package/agents/architect-medium.md +59 -59
  6. package/agents/architect.md +80 -80
  7. package/agents/build-error-resolver.md +115 -115
  8. package/agents/compounder.md +261 -261
  9. package/agents/diagrammer.md +178 -178
  10. package/agents/docs/api-documenter.md +99 -99
  11. package/agents/docs/changelog-writer.md +93 -93
  12. package/agents/e2e-tester.md +294 -294
  13. package/agents/event/event-comms.md +78 -78
  14. package/agents/event/event-content.md +68 -68
  15. package/agents/event/event-image.md +95 -95
  16. package/agents/event/event-ops.md +84 -84
  17. package/agents/event/event-scheduler.md +69 -69
  18. package/agents/event/event-speaker.md +86 -86
  19. package/agents/explorer-low.md +42 -42
  20. package/agents/explorer-medium.md +59 -59
  21. package/agents/explorer.md +48 -48
  22. package/agents/implementer-low.md +43 -43
  23. package/agents/implementer-medium.md +52 -52
  24. package/agents/implementer.md +54 -54
  25. package/agents/junior-mentor.md +141 -141
  26. package/agents/planning/requirements-analyst.md +84 -84
  27. package/agents/planning/ux-advisor.md +83 -83
  28. package/agents/qa/acceptance-tester.md +86 -86
  29. package/agents/qa/edge-case-finder.md +93 -93
  30. package/agents/qa/qa-coordinator.md +131 -131
  31. package/agents/refactor-cleaner.md +143 -143
  32. package/agents/research/best-practices-agent.md +199 -199
  33. package/agents/research/codebase-patterns-agent.md +157 -157
  34. package/agents/research/framework-docs-agent.md +188 -188
  35. package/agents/research/security-advisory-agent.md +213 -213
  36. package/agents/review/architecture-reviewer.md +107 -107
  37. package/agents/review/complexity-reviewer.md +116 -116
  38. package/agents/review/data-integrity-reviewer.md +88 -88
  39. package/agents/review/git-history-reviewer.md +103 -103
  40. package/agents/review/performance-reviewer.md +86 -86
  41. package/agents/review/python-reviewer.md +150 -150
  42. package/agents/review/rails-reviewer.md +139 -139
  43. package/agents/review/react-reviewer.md +144 -144
  44. package/agents/review/security-reviewer.md +80 -80
  45. package/agents/review/simplicity-reviewer.md +140 -140
  46. package/agents/review/test-coverage-reviewer.md +116 -116
  47. package/agents/review/typescript-reviewer.md +127 -127
  48. package/agents/searcher.md +54 -54
  49. package/agents/simplifier.md +120 -120
  50. package/agents/tester.md +49 -49
  51. package/agents/ui/ui-a11y-auditor.md +93 -93
  52. package/agents/ui/ui-antipattern-detector.md +102 -102
  53. package/agents/ui/ui-dataviz-advisor.md +69 -69
  54. package/agents/ui/ui-design-system-gen.md +57 -57
  55. package/agents/ui/ui-industry-analyzer.md +49 -49
  56. package/agents/ui/ui-layout-architect.md +65 -65
  57. package/agents/ui/ui-stack-implementer.md +68 -68
  58. package/agents/ui/ux-compliance-reviewer.md +81 -81
  59. package/agents/ui-previewer.md +258 -258
  60. package/commands/vibe.analyze.md +379 -379
  61. package/commands/vibe.docs.md +32 -32
  62. package/commands/vibe.event.md +163 -163
  63. package/commands/vibe.figma.md +69 -69
  64. package/commands/vibe.review.md +686 -686
  65. package/commands/vibe.run.md +2276 -2276
  66. package/commands/vibe.spec.md +1195 -1195
  67. package/commands/vibe.spec.review.md +609 -609
  68. package/commands/vibe.trace.md +259 -259
  69. package/commands/vibe.utils.md +413 -413
  70. package/commands/vibe.verify.md +510 -510
  71. package/dist/cli/collaborator.js +52 -52
  72. package/dist/cli/commands/config.js +9 -9
  73. package/dist/cli/commands/evolution.js +12 -12
  74. package/dist/cli/commands/figma.js +20 -20
  75. package/dist/cli/commands/info.js +53 -53
  76. package/dist/cli/commands/init.js +5 -5
  77. package/dist/cli/commands/remove.js +14 -14
  78. package/dist/cli/commands/sentinel.js +27 -27
  79. package/dist/cli/commands/skills.js +5 -5
  80. package/dist/cli/commands/slack.js +10 -10
  81. package/dist/cli/commands/stats.js +6 -6
  82. package/dist/cli/commands/telegram.js +12 -12
  83. package/dist/cli/detect.js +32 -32
  84. package/dist/cli/index.js +51 -51
  85. package/dist/cli/llm/claude-commands.js +16 -16
  86. package/dist/cli/llm/config.js +18 -18
  87. package/dist/cli/llm/gemini-commands.js +16 -16
  88. package/dist/cli/llm/gpt-commands.js +19 -19
  89. package/dist/cli/llm/help.js +21 -21
  90. package/dist/cli/postinstall/cursor-agents.js +32 -32
  91. package/dist/cli/postinstall/cursor-rules.js +83 -83
  92. package/dist/cli/postinstall/cursor-skills.js +743 -743
  93. package/dist/cli/setup/Provisioner.js +42 -42
  94. package/dist/infra/lib/DeepInit.js +24 -24
  95. package/dist/infra/lib/IterationTracker.js +11 -11
  96. package/dist/infra/lib/PythonParser.js +108 -108
  97. package/dist/infra/lib/ReviewRace.js +96 -96
  98. package/dist/infra/lib/SkillFrontmatter.js +28 -28
  99. package/dist/infra/lib/SkillQualityGate.js +9 -9
  100. package/dist/infra/lib/SkillRepository.js +159 -159
  101. package/dist/infra/lib/TokenBudgetTracker.d.ts +13 -0
  102. package/dist/infra/lib/TokenBudgetTracker.d.ts.map +1 -1
  103. package/dist/infra/lib/TokenBudgetTracker.js +44 -3
  104. package/dist/infra/lib/TokenBudgetTracker.js.map +1 -1
  105. package/dist/infra/lib/UltraQA.js +99 -99
  106. package/dist/infra/lib/autonomy/AuditStore.js +41 -41
  107. package/dist/infra/lib/autonomy/ConfirmationStore.js +30 -30
  108. package/dist/infra/lib/autonomy/EventOutbox.js +38 -38
  109. package/dist/infra/lib/autonomy/PolicyEngine.d.ts +3 -3
  110. package/dist/infra/lib/autonomy/PolicyEngine.js +18 -18
  111. package/dist/infra/lib/autonomy/SecuritySentinel.js +1 -1
  112. package/dist/infra/lib/autonomy/SuggestionStore.js +33 -33
  113. package/dist/infra/lib/embedding/VectorStore.js +22 -22
  114. package/dist/infra/lib/evolution/AgentAnalyzer.js +10 -10
  115. package/dist/infra/lib/evolution/DescriptionOptimizer.js +21 -21
  116. package/dist/infra/lib/evolution/GenerationRegistry.js +36 -36
  117. package/dist/infra/lib/evolution/InsightStore.js +90 -90
  118. package/dist/infra/lib/evolution/ParityTester.js +57 -57
  119. package/dist/infra/lib/evolution/RollbackManager.js +5 -5
  120. package/dist/infra/lib/evolution/SkillBenchmark.js +23 -23
  121. package/dist/infra/lib/evolution/SkillEvalRunner.js +50 -50
  122. package/dist/infra/lib/evolution/SkillGapDetector.js +10 -10
  123. package/dist/infra/lib/evolution/UsageTracker.js +28 -28
  124. package/dist/infra/lib/gemini/orchestration.js +5 -5
  125. package/dist/infra/lib/gpt/orchestration.js +4 -4
  126. package/dist/infra/lib/memory/KnowledgeGraph.js +4 -4
  127. package/dist/infra/lib/memory/MemorySearch.js +57 -57
  128. package/dist/infra/lib/memory/MemoryStorage.js +181 -181
  129. package/dist/infra/lib/memory/ObservationStore.js +28 -28
  130. package/dist/infra/lib/memory/ReflectionStore.js +30 -30
  131. package/dist/infra/lib/memory/SessionRAGRetriever.js +7 -7
  132. package/dist/infra/lib/memory/SessionRAGStore.js +225 -225
  133. package/dist/infra/lib/memory/SessionSummarizer.js +9 -9
  134. package/dist/infra/orchestrator/AgentManager.js +12 -12
  135. package/dist/infra/orchestrator/AgentRegistry.js +65 -65
  136. package/dist/infra/orchestrator/MultiLlmResearch.js +8 -8
  137. package/dist/infra/orchestrator/SwarmOrchestrator.test.js +16 -16
  138. package/dist/infra/orchestrator/parallelResearch.js +24 -24
  139. package/dist/tools/convention/analyzeComplexity.test.js +115 -115
  140. package/dist/tools/convention/validateCodeQuality.test.js +104 -104
  141. package/dist/tools/memory/createMemoryTimeline.js +10 -10
  142. package/dist/tools/memory/getMemoryGraph.js +12 -12
  143. package/dist/tools/memory/getSessionContext.js +9 -9
  144. package/dist/tools/memory/linkMemories.js +14 -14
  145. package/dist/tools/memory/listMemories.js +4 -4
  146. package/dist/tools/memory/recallMemory.js +4 -4
  147. package/dist/tools/memory/saveMemory.js +4 -4
  148. package/dist/tools/memory/searchMemoriesAdvanced.js +23 -23
  149. package/dist/tools/semantic/analyzeDependencyGraph.js +12 -12
  150. package/dist/tools/semantic/astGrep.test.js +6 -6
  151. package/dist/tools/spec/prdParser.test.js +171 -171
  152. package/dist/tools/spec/specGenerator.js +169 -169
  153. package/dist/tools/spec/traceabilityMatrix.js +64 -64
  154. package/dist/tools/spec/traceabilityMatrix.test.js +28 -28
  155. package/hooks/gemini-hooks.json +73 -73
  156. package/hooks/hooks.json +174 -174
  157. package/hooks/scripts/__tests__/keyword-detector.test.js +199 -199
  158. package/hooks/scripts/__tests__/pre-tool-guard.test.js +286 -286
  159. package/hooks/scripts/__tests__/sentinel-guard.test.js +210 -210
  160. package/hooks/scripts/auto-commit.js +97 -97
  161. package/hooks/scripts/auto-format.js +64 -64
  162. package/hooks/scripts/auto-test.js +81 -81
  163. package/hooks/scripts/code-check.js +268 -268
  164. package/hooks/scripts/codex-detect.js +46 -46
  165. package/hooks/scripts/codex-review-gate.js +80 -80
  166. package/hooks/scripts/command-log.js +32 -32
  167. package/hooks/scripts/context-save.js +353 -353
  168. package/hooks/scripts/evolution-engine.js +91 -91
  169. package/hooks/scripts/figma-extract.js +635 -477
  170. package/hooks/scripts/hud-status.js +321 -321
  171. package/hooks/scripts/keyword-detector.js +214 -214
  172. package/hooks/scripts/llm-orchestrate.js +572 -572
  173. package/hooks/scripts/post-edit.js +32 -32
  174. package/hooks/scripts/pr-test-gate.js +52 -52
  175. package/hooks/scripts/pre-tool-guard.js +214 -159
  176. package/hooks/scripts/prompt-dispatcher.js +185 -185
  177. package/hooks/scripts/sentinel-guard.js +131 -131
  178. package/hooks/scripts/session-start.js +177 -177
  179. package/hooks/scripts/skill-injector.js +83 -83
  180. package/hooks/scripts/stop-notify.js +209 -209
  181. package/hooks/scripts/utils.js +243 -243
  182. package/languages/csharp-unity.md +515 -515
  183. package/languages/gdscript-godot.md +470 -470
  184. package/languages/ruby-rails.md +489 -489
  185. package/languages/typescript-angular.md +433 -433
  186. package/languages/typescript-astro.md +416 -416
  187. package/languages/typescript-electron.md +406 -406
  188. package/languages/typescript-nestjs.md +524 -524
  189. package/languages/typescript-svelte.md +407 -407
  190. package/languages/typescript-tauri.md +365 -365
  191. package/package.json +101 -101
  192. package/skills/agents-md/SKILL.md +121 -121
  193. package/skills/agents-md/rubrics/what-to-keep.md +49 -49
  194. package/skills/agents-md/templates/agents-md.md +36 -36
  195. package/skills/arch-guard/SKILL.md +181 -181
  196. package/skills/arch-guard/agents/detector.md +48 -48
  197. package/skills/arch-guard/agents/reporter.md +48 -48
  198. package/skills/arch-guard/agents/rule-generator.md +49 -49
  199. package/skills/arch-guard/agents/violation-checker.md +51 -51
  200. package/skills/arch-guard/frameworks/clean-architecture.md +108 -108
  201. package/skills/arch-guard/frameworks/solid.md +102 -102
  202. package/skills/arch-guard/scripts/check-boundaries.js +90 -90
  203. package/skills/arch-guard/templates/arch-rules.json +47 -47
  204. package/skills/arch-guard/templates/violation-report.md +53 -53
  205. package/skills/brand-assets/SKILL.md +147 -147
  206. package/skills/brand-assets/rubrics/asset-checklist.md +98 -98
  207. package/skills/brand-assets/templates/brand-guide.md +161 -161
  208. package/skills/capability-loop/SKILL.md +168 -168
  209. package/skills/capability-loop/agents/capability-designer.md +61 -61
  210. package/skills/capability-loop/agents/failure-analyst.md +55 -55
  211. package/skills/capability-loop/agents/implementer.md +50 -50
  212. package/skills/capability-loop/agents/tester.md +53 -53
  213. package/skills/capability-loop/templates/capability-spec.md +118 -118
  214. package/skills/capability-loop/templates/failure-analysis.md +118 -118
  215. package/skills/characterization-test/SKILL.md +207 -207
  216. package/skills/characterization-test/agents/behavior-capturer.md +50 -50
  217. package/skills/characterization-test/agents/coverage-checker.md +54 -54
  218. package/skills/characterization-test/agents/reporter.md +50 -50
  219. package/skills/characterization-test/agents/test-writer.md +49 -49
  220. package/skills/characterization-test/rubrics/coverage-criteria.md +53 -53
  221. package/skills/characterization-test/templates/test-template.ts +101 -101
  222. package/skills/chub-usage/SKILL.md +139 -139
  223. package/skills/claude-md-guide/SKILL.md +351 -351
  224. package/skills/claude-md-guide/rubrics/anti-patterns.md +88 -88
  225. package/skills/claude-md-guide/templates/claude-md.md +54 -54
  226. package/skills/commerce-patterns/SKILL.md +64 -64
  227. package/skills/commerce-patterns/rubrics/checkout-flow.md +48 -48
  228. package/skills/commerce-patterns/templates/product-schema.md +85 -85
  229. package/skills/commit-push-pr/SKILL.md +77 -77
  230. package/skills/commit-push-pr/agents/change-analyzer.md +55 -55
  231. package/skills/commit-push-pr/agents/message-writer.md +50 -50
  232. package/skills/commit-push-pr/agents/pr-writer.md +58 -58
  233. package/skills/commit-push-pr/agents/reviewer.md +52 -52
  234. package/skills/commit-push-pr/rubrics/commit-message.md +73 -73
  235. package/skills/commit-push-pr/templates/pr-body.md +63 -63
  236. package/skills/context7-usage/SKILL.md +106 -106
  237. package/skills/context7-usage/rubrics/when-to-use.md +50 -50
  238. package/skills/create-prd/SKILL.md +90 -90
  239. package/skills/create-prd/agents/edge-case-finder.md +48 -48
  240. package/skills/create-prd/agents/prioritizer.md +60 -60
  241. package/skills/create-prd/agents/requirements-writer.md +48 -48
  242. package/skills/create-prd/agents/researcher.md +55 -55
  243. package/skills/create-prd/agents/reviewer.md +54 -54
  244. package/skills/create-prd/frameworks/jobs-to-be-done.md +96 -96
  245. package/skills/create-prd/frameworks/rice-scoring.md +97 -97
  246. package/skills/create-prd/orchestrator.md +70 -70
  247. package/skills/create-prd/rubrics/completeness.md +58 -58
  248. package/skills/create-prd/templates/prd.md +139 -139
  249. package/skills/design-audit/SKILL.md +152 -152
  250. package/skills/design-audit/agents/a11y-auditor.md +43 -43
  251. package/skills/design-audit/agents/performance-auditor.md +46 -46
  252. package/skills/design-audit/agents/responsive-auditor.md +46 -46
  253. package/skills/design-audit/agents/scorer.md +47 -47
  254. package/skills/design-audit/agents/slop-detector.md +47 -47
  255. package/skills/design-audit/frameworks/core-web-vitals.md +107 -107
  256. package/skills/design-audit/frameworks/wcag-checklist.md +64 -64
  257. package/skills/design-audit/orchestrator.md +64 -64
  258. package/skills/design-audit/rubrics/ai-slop-patterns.md +83 -83
  259. package/skills/design-audit/rubrics/scoring.md +63 -63
  260. package/skills/design-audit/templates/report.md +88 -88
  261. package/skills/design-critique/SKILL.md +139 -139
  262. package/skills/design-critique/rubrics/ux-heuristics.md +143 -143
  263. package/skills/design-critique/templates/critique-report.md +86 -86
  264. package/skills/design-distill/SKILL.md +130 -130
  265. package/skills/design-distill/templates/design-system.md +132 -132
  266. package/skills/design-normalize/SKILL.md +133 -133
  267. package/skills/design-normalize/rubrics/token-naming.md +117 -117
  268. package/skills/design-normalize/templates/token-audit.md +89 -89
  269. package/skills/design-polish/SKILL.md +131 -131
  270. package/skills/design-polish/rubrics/polish-checklist.md +68 -68
  271. package/skills/design-polish/templates/polish-report.md +64 -64
  272. package/skills/design-teach/SKILL.md +182 -182
  273. package/skills/design-teach/rubrics/brand-personality.md +73 -73
  274. package/skills/design-teach/templates/design-context.json +36 -36
  275. package/skills/e2e-commerce/SKILL.md +62 -62
  276. package/skills/e2e-commerce/templates/test-scenarios.md +170 -170
  277. package/skills/event-comms/SKILL.md +162 -162
  278. package/skills/event-comms/templates/email-invite.md +99 -99
  279. package/skills/event-comms/templates/sns-post.md +133 -133
  280. package/skills/event-ops/SKILL.md +198 -198
  281. package/skills/event-ops/rubrics/contingency.md +85 -85
  282. package/skills/event-ops/templates/d-day-checklist.md +65 -65
  283. package/skills/event-planning/SKILL.md +132 -132
  284. package/skills/event-planning/rubrics/timeline.md +70 -70
  285. package/skills/event-planning/templates/event-plan.md +91 -91
  286. package/skills/exec-plan/SKILL.md +149 -149
  287. package/skills/exec-plan/agents/decomposer.md +47 -47
  288. package/skills/exec-plan/agents/dependency-mapper.md +44 -44
  289. package/skills/exec-plan/agents/estimator.md +43 -43
  290. package/skills/exec-plan/agents/validator.md +55 -55
  291. package/skills/exec-plan/orchestrator.md +70 -70
  292. package/skills/exec-plan/rubrics/complexity-scoring.md +75 -75
  293. package/skills/exec-plan/templates/plan.md +147 -147
  294. package/skills/git-worktree/SKILL.md +73 -73
  295. package/skills/git-worktree/rubrics/when-to-use.md +55 -55
  296. package/skills/handoff/SKILL.md +110 -110
  297. package/skills/handoff/agents/context-summarizer.md +51 -51
  298. package/skills/handoff/agents/document-writer.md +63 -63
  299. package/skills/handoff/agents/state-collector.md +53 -53
  300. package/skills/handoff/agents/verifier.md +48 -48
  301. package/skills/handoff/rubrics/completeness.md +62 -62
  302. package/skills/handoff/templates/handoff.md +107 -107
  303. package/skills/parallel-research/SKILL.md +89 -89
  304. package/skills/parallel-research/agents/best-practices.md +43 -43
  305. package/skills/parallel-research/agents/codebase-patterns.md +46 -46
  306. package/skills/parallel-research/agents/framework-docs.md +45 -45
  307. package/skills/parallel-research/agents/security-advisory.md +46 -46
  308. package/skills/parallel-research/agents/synthesizer.md +52 -52
  309. package/skills/parallel-research/experts/best-practices.md +50 -50
  310. package/skills/parallel-research/experts/codebase-patterns.md +70 -70
  311. package/skills/parallel-research/experts/framework-docs.md +65 -65
  312. package/skills/parallel-research/experts/security-advisory.md +69 -69
  313. package/skills/parallel-research/orchestrator.md +65 -65
  314. package/skills/parallel-research/templates/synthesis.md +101 -101
  315. package/skills/prioritization-frameworks/SKILL.md +87 -87
  316. package/skills/prioritization-frameworks/rubrics/frameworks.md +79 -79
  317. package/skills/prioritization-frameworks/templates/scoring-matrix.md +69 -69
  318. package/skills/priority-todos/SKILL.md +64 -64
  319. package/skills/priority-todos/rubrics/prioritization.md +70 -70
  320. package/skills/priority-todos/templates/todo-board.md +59 -59
  321. package/skills/seo-checklist/SKILL.md +58 -58
  322. package/skills/seo-checklist/frameworks/structured-data.md +153 -153
  323. package/skills/seo-checklist/rubrics/content-seo.md +42 -42
  324. package/skills/seo-checklist/rubrics/technical-seo.md +48 -48
  325. package/skills/techdebt/SKILL.md +124 -124
  326. package/skills/techdebt/agents/analyzer.md +50 -50
  327. package/skills/techdebt/agents/fixer.md +41 -41
  328. package/skills/techdebt/agents/reviewer.md +47 -47
  329. package/skills/techdebt/agents/scanner.md +44 -44
  330. package/skills/techdebt/orchestrator.md +70 -70
  331. package/skills/techdebt/rubrics/severity.md +51 -51
  332. package/skills/techdebt/scripts/scan.js +90 -90
  333. package/skills/techdebt/templates/report.md +86 -86
  334. package/skills/tool-fallback/SKILL.md +104 -104
  335. package/skills/tool-fallback/rubrics/fallback-chain.md +58 -58
  336. package/skills/typescript-advanced-types/SKILL.md +67 -67
  337. package/skills/typescript-advanced-types/rubrics/type-patterns.md +109 -109
  338. package/skills/ui-ux-pro-max/SKILL.md +236 -236
  339. package/skills/ui-ux-pro-max/reference/color-and-contrast.md +517 -517
  340. package/skills/ui-ux-pro-max/reference/interaction-design.md +544 -544
  341. package/skills/ui-ux-pro-max/reference/motion-design.md +591 -591
  342. package/skills/ui-ux-pro-max/reference/responsive-design.md +463 -463
  343. package/skills/ui-ux-pro-max/reference/spatial-design.md +390 -390
  344. package/skills/ui-ux-pro-max/reference/typography.md +455 -455
  345. package/skills/ui-ux-pro-max/reference/ux-writing.md +469 -469
  346. package/skills/ui-ux-pro-max/rubrics/interaction-states.md +83 -83
  347. package/skills/ui-ux-pro-max/rubrics/responsive-breakpoints.md +99 -99
  348. package/skills/user-personas/SKILL.md +75 -75
  349. package/skills/user-personas/rubrics/research-methods.md +56 -56
  350. package/skills/user-personas/templates/persona.md +89 -89
  351. package/skills/vercel-react-best-practices/SKILL.md +60 -60
  352. package/skills/vercel-react-best-practices/rubrics/performance.md +82 -82
  353. package/skills/vercel-react-best-practices/rubrics/server-components.md +86 -86
  354. package/skills/vibe.docs/SKILL.md +171 -171
  355. package/skills/vibe.docs/templates/architecture.md +80 -80
  356. package/skills/vibe.docs/templates/readme.md +84 -84
  357. package/skills/vibe.docs/templates/release-notes.md +74 -74
  358. package/skills/vibe.figma/SKILL.md +215 -982
  359. package/skills/vibe.figma/rubrics/extraction-checklist.md +51 -51
  360. package/skills/vibe.figma/templates/component-index.md +126 -126
  361. package/skills/vibe.figma/templates/figma-handoff.md +100 -100
  362. package/skills/vibe.figma/templates/remapped-tree.md +277 -277
  363. package/skills/vibe.figma.convert/SKILL.md +188 -511
  364. package/skills/vibe.figma.convert/rubrics/conversion-rules.md +129 -113
  365. package/skills/vibe.figma.convert/templates/component.md +140 -140
  366. package/skills/vibe.figma.extract/SKILL.md +179 -300
  367. package/skills/vibe.figma.extract/rubrics/image-rules.md +145 -137
  368. package/skills/video-production/SKILL.md +52 -52
  369. package/skills/video-production/rubrics/quality-checklist.md +58 -58
  370. package/skills/video-production/templates/production-plan.md +104 -104
  371. package/vibe/config.json +29 -29
  372. package/vibe/constitution.md +227 -227
  373. package/vibe/rules/principles/communication-guide.md +98 -98
  374. package/vibe/rules/principles/development-philosophy.md +52 -52
  375. package/vibe/rules/principles/quick-start.md +102 -102
  376. package/vibe/rules/quality/bdd-contract-testing.md +393 -393
  377. package/vibe/rules/quality/checklist.md +276 -276
  378. package/vibe/rules/quality/performance.md +236 -236
  379. package/vibe/rules/quality/testing-strategy.md +440 -440
  380. package/vibe/rules/standards/anti-patterns.md +541 -541
  381. package/vibe/rules/standards/code-structure.md +291 -291
  382. package/vibe/rules/standards/complexity-metrics.md +313 -313
  383. package/vibe/rules/standards/git-workflow.md +237 -237
  384. package/vibe/rules/standards/naming-conventions.md +198 -198
  385. package/vibe/rules/standards/security.md +305 -305
  386. package/vibe/rules/writing/document-style.md +74 -74
  387. package/vibe/setup.sh +31 -31
  388. package/vibe/templates/constitution-template.md +252 -252
  389. package/vibe/templates/contract-backend-template.md +526 -526
  390. package/vibe/templates/contract-frontend-template.md +599 -599
  391. package/vibe/templates/feature-template.md +96 -96
  392. package/vibe/templates/spec-template.md +221 -221
  393. package/vibe/ui-ux-data/charts.csv +26 -26
  394. package/vibe/ui-ux-data/colors.csv +97 -97
  395. package/vibe/ui-ux-data/icons.csv +101 -101
  396. package/vibe/ui-ux-data/landing.csv +31 -31
  397. package/vibe/ui-ux-data/products.csv +96 -96
  398. package/vibe/ui-ux-data/react-performance.csv +45 -45
  399. package/vibe/ui-ux-data/stacks/astro.csv +54 -54
  400. package/vibe/ui-ux-data/stacks/flutter.csv +53 -53
  401. package/vibe/ui-ux-data/stacks/html-tailwind.csv +56 -56
  402. package/vibe/ui-ux-data/stacks/jetpack-compose.csv +53 -53
  403. package/vibe/ui-ux-data/stacks/nextjs.csv +53 -53
  404. package/vibe/ui-ux-data/stacks/nuxt-ui.csv +51 -51
  405. package/vibe/ui-ux-data/stacks/nuxtjs.csv +59 -59
  406. package/vibe/ui-ux-data/stacks/react-native.csv +52 -52
  407. package/vibe/ui-ux-data/stacks/react.csv +54 -54
  408. package/vibe/ui-ux-data/stacks/shadcn.csv +61 -61
  409. package/vibe/ui-ux-data/stacks/svelte.csv +54 -54
  410. package/vibe/ui-ux-data/stacks/swiftui.csv +51 -51
  411. package/vibe/ui-ux-data/stacks/vue.csv +50 -50
  412. package/vibe/ui-ux-data/styles.csv +68 -68
  413. package/vibe/ui-ux-data/typography.csv +57 -57
  414. package/vibe/ui-ux-data/ui-reasoning.csv +101 -101
  415. package/vibe/ui-ux-data/ux-guidelines.csv +99 -99
  416. package/vibe/ui-ux-data/version.json +31 -31
  417. package/vibe/ui-ux-data/web-interface.csv +31 -31
@@ -1,609 +1,609 @@
1
- # /vibe.spec.review - SPEC Quality Review
2
-
3
- Review and enhance SPEC with GPT/Gemini cross-validation.
4
-
5
- **Purpose:** Run this command in a NEW session after `/vibe.spec` to ensure accurate review execution.
6
-
7
- ---
8
-
9
- ## Usage
10
-
11
- ```bash
12
- /vibe.spec.review "feature-name"
13
- ```
14
-
15
- **Prerequisites:**
16
- - SPEC file exists: `.claude/vibe/specs/{feature-name}.md` (single) or `.claude/vibe/specs/{feature-name}/_index.md` (split)
17
- - Feature file exists: `.claude/vibe/features/{feature-name}.feature` (single) or `.claude/vibe/features/{feature-name}/_index.feature` (split)
18
-
19
- ---
20
-
21
- ## Codex Plugin Integration
22
-
23
- > **Codex 플러그인 감지**: 워크플로우 시작 시 아래 명령으로 자동 감지.
24
- >
25
- > ```bash
26
- > CODEX_AVAILABLE=$(node "{{VIBE_PATH}}/hooks/scripts/codex-detect.js" 2>/dev/null || echo "unavailable")
27
- > ```
28
- >
29
- > `available`이면 `/codex:adversarial-review` 자동 호출. `unavailable`이면 기존 GPT+Gemini 워크플로우로 동작.
30
-
31
- ---
32
-
33
- > **⏱️ Timer**: Call `getCurrentTime` tool at the START. Record the result as `{start_time}`.
34
-
35
- ## Workflow
36
-
37
- ```
38
- /vibe.spec "feature" → SPEC created
39
-
40
- /new (new session)
41
-
42
- /vibe.spec.review "feature" → Quality validation + GPT/Gemini review
43
-
44
- /vibe.run "feature"
45
- ```
46
-
47
- ---
48
-
49
- ## File Reading Policy (Mandatory)
50
-
51
- - **Delegate SPEC reading to sub-agents** — Do NOT read all SPEC/Feature files in main session
52
- - **Split structure (3+ phases)**: Use `Task(subagent_type="explorer-medium")` to read and summarize
53
- - **Single file structure**: Main session may Read directly (small enough)
54
- - **Never use Grep** for content analysis — Grep is for file location only
55
- - **Agent spawn rule**: Include "Read target files FULLY with Read tool" in agent prompts
56
-
57
- ## Step 1: Load SPEC Files
58
-
59
- Detect SPEC structure (single file or split folder) and read files:
60
-
61
- **Single file structure:**
62
- ```
63
- .claude/vibe/specs/{feature-name}.md
64
- .claude/vibe/features/{feature-name}.feature
65
- ```
66
-
67
- **Split folder structure:**
68
- ```
69
- .claude/vibe/specs/{feature-name}/_index.md (+ phase files)
70
- .claude/vibe/specs/{feature-name}/phase-*.md (phase-1-xxx.md, phase-2-xxx.md, ...)
71
- .claude/vibe/features/{feature-name}/_index.feature (+ phase files)
72
- .claude/vibe/features/{feature-name}/phase-*.feature
73
- ```
74
-
75
- **Detection logic:**
76
- 1. Check if `.claude/vibe/specs/{feature-name}/` directory exists → Split mode
77
- 2. Otherwise check `.claude/vibe/specs/{feature-name}.md` → Single mode
78
- 3. If neither exists → Error
79
-
80
- **Split mode file loading:**
81
- 1. Read `_index.md` for master SPEC overview
82
- 2. Glob `phase-*.md` files and read all phase SPECs
83
- 3. Read corresponding `_index.feature` and `phase-*.feature` files
84
-
85
- **Output:**
86
- ```
87
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
88
- 📋 SPEC REVIEW: {feature-name}
89
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
90
-
91
- Loading files...
92
- Mode: {single|split}
93
- ✅ SPEC: .claude/vibe/specs/{feature-name}.md (or _index.md + N phase files)
94
- ✅ Feature: .claude/vibe/features/{feature-name}.feature (or _index.feature + N phase files)
95
-
96
- Extracted info:
97
- - Feature: {feature description}
98
- - Stack: {tech stack}
99
- - Phases: {number of phases}
100
- - Scenarios: {number of scenarios}
101
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
102
- ```
103
-
104
- ---
105
-
106
- ## Step 2: Quality Validation (95-Point Gate)
107
-
108
- **🚨 MANDATORY: Score must be ≥ 95 to proceed**
109
-
110
- ### 2.1 Quality Checklist
111
-
112
- | Category | Check Item | Weight |
113
- |----------|------------|--------|
114
- | **Completeness** | All user flows included in Task | 15% |
115
- | **Completeness** | All ACs converted to Feature scenarios | 10% |
116
- | **Completeness** | Error handling scenarios defined | 10% |
117
- | **Specificity** | All numbers specified (timeout, limits, etc.) | 15% |
118
- | **Specificity** | No ambiguous terms ("appropriate", "proper", etc.) | 10% |
119
- | **Testability** | Each AC is verifiable | 10% |
120
- | **Testability** | Feature scenarios have concrete Given/When/Then | 10% |
121
- | **Security** | Auth/permission requirements specified | 10% |
122
- | **Performance** | Response time/load requirements specified | 10% |
123
-
124
- ### 2.2 Quality Gate Loop
125
-
126
- ```python
127
- max_iterations = 3
128
- iteration = 0
129
-
130
- while iteration < max_iterations:
131
- iteration += 1
132
- score = calculate_quality_score(spec, feature)
133
-
134
- print(f"━━━ Quality Check [{iteration}/{max_iterations}] ━━━")
135
- print(f"Score: {score}/100")
136
-
137
- if score >= 95:
138
- print("✅ Quality Gate PASSED")
139
- break
140
-
141
- # Auto-fix missing items
142
- missing_items = identify_missing_items(spec)
143
- for item in missing_items:
144
- auto_fix(item)
145
- update_spec()
146
- update_feature()
147
-
148
- print(f"✅ Applied {len(missing_items)} fixes - Re-evaluating...")
149
-
150
- if score < 95:
151
- print(f"⚠️ Score {score} < 95 after {max_iterations} iterations")
152
- print("Remaining gaps added to TODO. Proceeding with current quality.")
153
- ```
154
-
155
- **Output format:**
156
- ```
157
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
158
- 📊 QUALITY GATE [1/3]
159
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
160
- Score: 87/100 ⚠️ BELOW THRESHOLD (95)
161
-
162
- Missing items:
163
- ❌ Error handling scenarios (10%)
164
- ❌ Performance targets (5%)
165
-
166
- Auto-fixing...
167
- ✅ Added network error handling scenario
168
- ✅ Added response time targets (<500ms)
169
-
170
- Re-evaluating...
171
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
172
-
173
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
174
- 📊 QUALITY GATE [2/3]
175
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
176
- Score: 96/100 ✅ PASSED
177
-
178
- ✅ Quality Gate PASSED - proceeding to GPT/Gemini review
179
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
180
- ```
181
-
182
- ### 2.3 Auto-Fix Rules
183
-
184
- | Missing Item | Auto-Fix Method |
185
- |--------------|-----------------|
186
- | Missing AC | Auto-generate AC based on Task |
187
- | Numbers not specified | Apply project defaults (timeout 30s, etc.) |
188
- | Missing error handling | Add common error scenarios |
189
- | Missing performance targets | Apply industry standard criteria |
190
- | Missing security | Add auth/data protection requirements |
191
- | Ambiguous terms | Replace with specific values |
192
-
193
- ---
194
-
195
- ## Step 3: Race Review (GPT + Gemini Cross-Validation) - Max 3 Rounds (v2.6.9)
196
-
197
- **RULES FOR RACE REVIEW:**
198
-
199
- 1. **YOU MUST** use the Bash tool to call `llm-orchestrate.js` directly
200
- 2. **DO NOT** simulate or fake review results
201
- 3. Run rounds sequentially (each round uses updated SPEC)
202
-
203
- > Race Mode reviews SPEC with GPT and Gemini in parallel, then cross-validates findings for higher confidence.
204
-
205
- ### Convergence Rule (Early Exit)
206
-
207
- - **Round N findings == Round N-1 findings** → converged, stop immediately (no need to reach Round 3)
208
- - **Round 1 with P1 = 0** → skip Round 2 and stop
209
- - **Max 3 rounds** — if new P1s still appear after 3 rounds, record as TODO and stop
210
-
211
- ### 3.1 Review Loop (Max 3 Rounds)
212
-
213
- **For EACH round (1, 2, 3), run GPT + Gemini in PARALLEL via Bash tool. Stop early if converged.**
214
-
215
- **🚨 IMPORTANT: SPEC content is too large for CLI arguments. Use --input file method (no pipe needed).**
216
-
217
- **Procedure for each round:**
218
-
219
- **Step A: Save SPEC content + prompt as JSON to scratchpad temp file (using Write tool):**
220
- - Write JSON to `[SCRATCHPAD]/spec-review-input.json` with content:
221
- ```json
222
- {"prompt": "Review this SPEC for completeness, specificity, testability, security, and performance. Round [N]/3. Find issues and improvements. Return JSON: {issues: [{id, title, description, severity, suggestion}]}. SPEC content: [SPEC_CONTENT]"}
223
- ```
224
- - Where `[SPEC_CONTENT]` is the full SPEC text (properly JSON-escaped inside the prompt string)
225
-
226
- **Step B: Script path:**
227
- - `[LLM_SCRIPT]` = `{{VIBE_PATH}}/hooks/scripts/llm-orchestrate.js`
228
-
229
- **Step C: Run GPT + Gemini in PARALLEL (two separate Bash tool calls at once):**
230
-
231
- ```bash
232
- # GPT review (Bash tool call 1)
233
- node "[LLM_SCRIPT]" gpt orchestrate-json --input "[SCRATCHPAD]/spec-review-input.json"
234
- ```
235
-
236
- ```bash
237
- # Gemini review (Bash tool call 2 - run in parallel with GPT)
238
- node "[LLM_SCRIPT]" gemini orchestrate-json --input "[SCRATCHPAD]/spec-review-input.json"
239
- ```
240
-
241
- **🚨 MANDATORY: Replace `[SCRATCHPAD]` with the actual scratchpad directory path.**
242
- **🚨 Replace `[N]` with the current round number (1, 2, or 3).**
243
- **🚨 Replace `[LLM_SCRIPT]` with the resolved absolute path from Step B.**
244
- **🚨 Run GPT and Gemini calls in PARALLEL (two separate Bash tool calls at once).**
245
-
246
- - Round 1: Write SPEC → Run GPT + Gemini in parallel → Cross-validate → Apply fixes → Update SPEC file
247
- - Round 2: Write updated SPEC → Run → Cross-validate → Apply fixes → Update SPEC file
248
- - Round 3: Write final SPEC → Run → Cross-validate → Confirm no issues remain
249
-
250
- ### 3.2 Cross-Validation Rules
251
-
252
- | Agreement | Priority | Action |
253
- |-----------|----------|--------|
254
- | Both models agree (100%) | P1 | Auto-apply immediately |
255
- | 1 model only (50%) | P2 | Auto-apply with note |
256
-
257
- **After each round:**
258
-
259
- 1. Cross-validate findings (issues found by 2+ models → P1, single model → P2)
260
- 2. Merge feedback with confidence scores
261
- 3. Auto-apply P1/P2 improvements to SPEC and Feature files (use Edit tool)
262
- 4. Continue to next round with updated SPEC content
263
-
264
- ### 3.3 User Decision Checkpoint (Round 3 이후)
265
-
266
- **🚨 MANDATORY: 3라운드 완료 후 사용자 판단 체크포인트 실행**
267
-
268
- > Type 6 (Iterative-Reasoning) 패턴: AI가 혼자 결정하지 않고, 사용자와 함께 판단
269
-
270
- ```
271
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
272
- 🔍 USER CHECKPOINT: 리뷰 결과 검토
273
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
274
-
275
- 3라운드 리뷰에서 발견된 주요 변경사항:
276
-
277
- | # | 변경 내용 | 출처 | 신뢰도 |
278
- |---|----------|------|--------|
279
- | 1 | {변경1} | GPT+Gemini | 100% |
280
- | 2 | {변경2} | GPT only | 50% |
281
- | ... | ... | ... | ... |
282
-
283
- 질문:
284
- 1. 위 변경사항 중 제외하고 싶은 항목이 있나요?
285
- 2. 추가로 명시해야 할 요구사항이 있나요?
286
- 3. 기술적 접근 방식에 동의하시나요?
287
-
288
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
289
- ```
290
-
291
- **Checkpoint 행동 규칙:**
292
-
293
- | 상황 | 행동 |
294
- |------|------|
295
- | `ultrawork` 모드 | 체크포인트 스킵, 자동 진행 |
296
- | 일반 모드 | 반드시 사용자 응답 대기 |
297
- | 사용자가 변경 요청 | 수정 후 다시 체크포인트 |
298
- | 사용자가 승인 | Step 4로 진행 |
299
-
300
- **Output format:**
301
- ```
302
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
303
- 🏁 SPEC RACE REVIEW - Round 1/3
304
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
305
-
306
- Model Results:
307
- | Model | Issues | Duration |
308
- |--------|--------|----------|
309
- | GPT | 2 | 1823ms |
310
- | Gemini | 2 | 2156ms |
311
-
312
- Cross-Validated Issues:
313
- | Issue | GPT | Gemini | Codex | Confidence |
314
- |--------------------------|-----|--------|-------|------------|
315
- | Missing retry logic | ✅ | ✅ | ✅ | 100% → P1 |
316
- | Missing rate limiting | ✅ | ✅ | ✅ | 100% → P1 |
317
- | Token refresh unclear | ✅ | ❌ | ❌ | 50% → P2 |
318
-
319
- Auto-applying...
320
- ✅ [P1] Added retry logic (3 attempts, exponential backoff)
321
- ✅ [P1] Added rate limiting (100 req/min)
322
- ✅ [P2] Added token refresh flow
323
-
324
- ✅ Round 1 complete - 3 improvements (2 P1, 1 P2)
325
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
326
-
327
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
328
- 🏁 SPEC RACE REVIEW - Round 2/3
329
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
330
-
331
- Cross-Validated Issues:
332
- | Issue | GPT | Gemini | Codex | Confidence |
333
- |-----------------------------|-----|--------|-------|------------|
334
- | Concurrent session unclear | ✅ | ❌ | ❌ | 50% → P2 |
335
-
336
- Auto-applying...
337
- ✅ [P2] Added concurrent session policy
338
-
339
- ✅ Round 2 complete - 1 improvement
340
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
341
-
342
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
343
- 🏁 SPEC RACE REVIEW - Round 3/3
344
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
345
-
346
- Cross-Validated Issues: None
347
-
348
- ✅ No changes needed - SPEC is complete
349
- ✅ Consensus Rate: 100%
350
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
351
- ```
352
-
353
- ### Step 3.1: Codex Adversarial Review (Codex 플러그인 활성화 시)
354
-
355
- > **활성화 조건**: Codex 플러그인 설치 시 자동 실행. 미설치 시 스킵.
356
- > GPT+Gemini Race Review와 **동시에** 실행하여 3중 교차 검증.
357
-
358
- Codex adversarial review는 SPEC의 **설계 결정에 도전**합니다:
359
- - 대안적 아키텍처가 더 나은지 검증
360
- - 오버엔지니어링 또는 과소 설계 여부
361
- - 누락된 엣지케이스 및 비기능 요구사항
362
-
363
- **실행 (GPT+Gemini Race와 병렬):**
364
-
365
- ```
366
- /codex:adversarial-review
367
- ```
368
-
369
- **결과 통합**: Race Review 교차 검증 테이블에 Codex 열 추가:
370
-
371
- ```markdown
372
- | Issue | GPT | Gemini | Codex | Confidence |
373
- |-------|-----|--------|-------|------------|
374
- | {이슈} | ✅/❌ | ✅/❌ | ✅/❌ | {%} |
375
- ```
376
-
377
- - 3개 모델 중 2개 이상 동의 → **High Confidence**
378
- - Codex만 발견한 이슈 → **P2** (설계 관점 검토 필요)
379
- - 3개 모두 동의 → **P1** (즉시 수정)
380
-
381
- ---
382
-
383
- ## Step 3.5: Review Debate Team (Agent Teams)
384
-
385
- > **조건**: Agent Teams 활성화 + 3라운드 완료 후 P1/P2 이슈 2개 이상 발견 시
386
- > 여러 관점에서 교차 검증하여 오탐 제거 및 우선순위 조정
387
-
388
- **팀 구성:**
389
-
390
- | 팀원 | 역할 |
391
- |------|------|
392
- | security-reviewer (리더) | 보안 관점 우선순위 결정, 교차 검증 주도 |
393
- | architecture-reviewer | 구조적 영향 평가, 설계 일관성 확인 |
394
- | performance-reviewer | 성능 영향 평가, 불필요한 최적화 식별 |
395
- | simplicity-reviewer | 과잉 설계 여부, YAGNI 위반 식별 |
396
-
397
- **활성화 조건:**
398
-
399
- | 상황 | 행동 |
400
- |------|------|
401
- | P1/P2 이슈 2개 이상 | 자동 활성화 |
402
- | P1/P2 이슈 1개 이하 | 스킵 → Step 4로 진행 |
403
- | Agent Teams 비활성화 | 스킵 → Step 4로 진행 |
404
-
405
- **spawn 패턴:**
406
-
407
- ```text
408
- TeamCreate(team_name="spec-debate-{feature}", description="SPEC review debate for {feature}")
409
-
410
- Task(team_name="spec-debate-{feature}", name="security-reviewer", subagent_type="security-reviewer",
411
- mode="bypassPermissions",
412
- prompt="SPEC 리뷰 팀 리더. GPT/Gemini가 발견한 P1/P2 이슈를 교차 검증하세요.
413
- SPEC: {spec_content}
414
- 발견된 이슈: {p1_p2_issues}
415
- 역할: 각 이슈가 진짜인지(오탐 아닌지) 검증. 실제 영향도 기준으로 우선순위 조정.
416
- 분쟁이 있는 이슈는 해당 리뷰어에게 SendMessage로 확인 요청하세요.")
417
-
418
- Task(team_name="spec-debate-{feature}", name="architecture-reviewer", subagent_type="architecture-reviewer",
419
- mode="bypassPermissions",
420
- prompt="SPEC 리뷰 팀 아키텍처 전문가. 아키텍처 관련 이슈를 검증하세요.
421
- SPEC: {spec_content}
422
- 역할: 구조적 일관성, SOLID 원칙, 레이어 경계 검증.
423
- 우선순위 변경 필요 시 security-reviewer에게 SendMessage로 알리세요.")
424
-
425
- Task(team_name="spec-debate-{feature}", name="performance-reviewer", subagent_type="performance-reviewer",
426
- mode="bypassPermissions",
427
- prompt="SPEC 리뷰 팀 성능 전문가. 성능 관련 이슈를 검증하세요.
428
- SPEC: {spec_content}
429
- 역할: 성능 요구사항 현실성 평가, 불필요한 최적화 식별.
430
- P2→P1 승격이 필요하면 security-reviewer에게 SendMessage로 알리세요.")
431
-
432
- Task(team_name="spec-debate-{feature}", name="simplicity-reviewer", subagent_type="simplicity-reviewer",
433
- mode="bypassPermissions",
434
- prompt="SPEC 리뷰 팀 단순성 전문가. 과잉 설계 여부를 검증하세요.
435
- SPEC: {spec_content}
436
- 역할: YAGNI 위반, 불필요한 복잡성 식별.
437
- P1→P2 강등이 필요하면 security-reviewer에게 SendMessage로 알리세요.")
438
- ```
439
-
440
- **결과 통합:**
441
- - 팀 합의 결과를 SPEC에 반영 (P1 즉시 적용, P2 노트 추가)
442
- - 팀원 shutdown_request → TeamDelete로 정리
443
- - Step 4 (Final Summary)로 진행
444
-
445
- ---
446
-
447
- ## Step 4: Final Summary
448
-
449
- ```
450
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
451
- ✅ SPEC REVIEW COMPLETE: {feature-name}
452
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
453
-
454
- Quality Score: 96/100 ✅
455
- Review Rounds: 3/3 ✅
456
- Total Improvements: 4
457
- ⏱️ Started: {start_time}
458
- ⏱️ Completed: {getCurrentTime 결과}
459
-
460
- Updated files:
461
- 📋 .claude/vibe/specs/{feature-name}.md (or split folder)
462
- 📋 .claude/vibe/features/{feature-name}.feature (or split folder)
463
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
464
- ```
465
-
466
- ---
467
-
468
- ## Step 5: SPEC Summary for User Review
469
-
470
- **🚨 MANDATORY: Always output this summary before proceeding to `/vibe.run`.**
471
-
472
- After all review rounds, present the finalized SPEC to the user in a readable format:
473
-
474
- ```
475
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
476
- 📋 SPEC SUMMARY: {feature-name}
477
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
478
-
479
- ## Feature Overview
480
- {1-2 line summary of feature purpose from SPEC's <role> and <context>}
481
-
482
- ## Tech Stack
483
- {Tech stack list extracted from <context>}
484
-
485
- ## Implementation Phases
486
- | Phase | Name | Key Tasks |
487
- |-------|------|-----------|
488
- | 1 | {phase name} | {1-line summary of core task} |
489
- | 2 | {phase name} | {1-line summary of core task} |
490
- | ... | ... | ... |
491
-
492
- ## Key Scenarios ({N} total)
493
- {Scenario name list from Feature file}
494
- - Scenario: {name1}
495
- - Scenario: {name2}
496
- - ...
497
-
498
- ## Key Constraints
499
- {3-5 key items from <constraints>}
500
-
501
- ## Acceptance Criteria
502
- {Summary of key items from <acceptance>}
503
-
504
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
505
- If anything above is incorrect, please request changes.
506
- If no issues, proceed with /vibe.run "{feature-name}".
507
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
508
- ```
509
-
510
- **Important:**
511
-
512
- - List ALL Phases, Scenarios, and Constraints from SPEC without omission
513
- - Keep it concise for quick user review
514
- - Wait for user confirmation after review (unless ultrawork mode)
515
- - In ultrawork mode: output summary then auto-proceed to `/vibe.run`
516
-
517
- ### 5.1 Final User Checkpoint
518
-
519
- **🚨 MANDATORY: `/vibe.run` 진행 전 최종 사용자 확인**
520
-
521
- ```
522
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
523
- ✅ SPEC 리뷰 완료 - 최종 확인
524
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
525
-
526
- 다음 질문에 답변해 주세요:
527
-
528
- 1. **요구사항 정확성**: 위 SPEC이 원래 의도한 기능을 정확히 설명하고 있나요?
529
- 2. **범위 적절성**: 구현 범위가 너무 크거나 작지 않나요?
530
- 3. **기술 스택**: 선택된 기술 스택에 동의하시나요?
531
- 4. **우선순위**: Phase 순서와 우선순위가 맞나요?
532
-
533
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
534
- 💡 "ok" 또는 "진행"으로 승인 / 수정 사항이 있으면 말씀해 주세요
535
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
536
- ```
537
-
538
- **Why This Checkpoint Matters:**
539
-
540
- > AI가 더 많이 해준다고 좋은 게 아닙니다.
541
- > 사용자가 AI와 함께 생각하고 판단할 때 최고의 결과가 나옵니다.
542
- > 이 체크포인트는 Type 6 (Iterative-Reasoning) 패턴을 유도합니다.
543
-
544
- ---
545
-
546
- ## Next Step
547
-
548
- ```
549
- /vibe.run "{feature-name}"
550
- ```
551
-
552
- ---
553
-
554
- ## Error Handling
555
-
556
- ### SPEC Not Found
557
- ```
558
- ❌ ERROR: SPEC file not found
559
-
560
- Expected (single): .claude/vibe/specs/{feature-name}.md
561
- Expected (split): .claude/vibe/specs/{feature-name}/_index.md
562
-
563
- Please run /vibe.spec "{feature-name}" first to create the SPEC.
564
- ```
565
-
566
- ### Feature Not Found
567
- ```
568
- ❌ ERROR: Feature file not found
569
-
570
- Expected (single): .claude/vibe/features/{feature-name}.feature
571
- Expected (split): .claude/vibe/features/{feature-name}/_index.feature
572
-
573
- Please run /vibe.spec "{feature-name}" first to create the Feature file.
574
- ```
575
-
576
- ### GPT/Gemini Call Failed
577
- ```
578
- ⚠️ WARNING: {GPT|Gemini} call failed
579
-
580
- Error: {error message}
581
-
582
- Continuing with {other model} results only...
583
- ```
584
-
585
- ---
586
-
587
- ## Quick Mode
588
-
589
- For faster iteration (1 round only):
590
-
591
- ```bash
592
- /vibe.spec.review "feature-name" --quick
593
- ```
594
-
595
- ---
596
-
597
- ARGUMENTS: $ARGUMENTS
598
-
599
- **File Detection (execute before Step 1):**
600
-
601
- ```
602
- Feature name: $ARGUMENTS
603
-
604
- 1. Check split folder: .claude/vibe/specs/$ARGUMENTS/_index.md
605
- - If exists → Split mode (read all files in folder)
606
- 2. Check single file: .claude/vibe/specs/$ARGUMENTS.md
607
- - If exists → Single mode
608
- 3. Neither exists → Show error with both expected paths
609
- ```
1
+ # /vibe.spec.review - SPEC Quality Review
2
+
3
+ Review and enhance SPEC with GPT/Gemini cross-validation.
4
+
5
+ **Purpose:** Run this command in a NEW session after `/vibe.spec` to ensure accurate review execution.
6
+
7
+ ---
8
+
9
+ ## Usage
10
+
11
+ ```bash
12
+ /vibe.spec.review "feature-name"
13
+ ```
14
+
15
+ **Prerequisites:**
16
+ - SPEC file exists: `.claude/vibe/specs/{feature-name}.md` (single) or `.claude/vibe/specs/{feature-name}/_index.md` (split)
17
+ - Feature file exists: `.claude/vibe/features/{feature-name}.feature` (single) or `.claude/vibe/features/{feature-name}/_index.feature` (split)
18
+
19
+ ---
20
+
21
+ ## Codex Plugin Integration
22
+
23
+ > **Codex 플러그인 감지**: 워크플로우 시작 시 아래 명령으로 자동 감지.
24
+ >
25
+ > ```bash
26
+ > CODEX_AVAILABLE=$(node "{{VIBE_PATH}}/hooks/scripts/codex-detect.js" 2>/dev/null || echo "unavailable")
27
+ > ```
28
+ >
29
+ > `available`이면 `/codex:adversarial-review` 자동 호출. `unavailable`이면 기존 GPT+Gemini 워크플로우로 동작.
30
+
31
+ ---
32
+
33
+ > **⏱️ Timer**: Call `getCurrentTime` tool at the START. Record the result as `{start_time}`.
34
+
35
+ ## Workflow
36
+
37
+ ```
38
+ /vibe.spec "feature" → SPEC created
39
+
40
+ /new (new session)
41
+
42
+ /vibe.spec.review "feature" → Quality validation + GPT/Gemini review
43
+
44
+ /vibe.run "feature"
45
+ ```
46
+
47
+ ---
48
+
49
+ ## File Reading Policy (Mandatory)
50
+
51
+ - **Delegate SPEC reading to sub-agents** — Do NOT read all SPEC/Feature files in main session
52
+ - **Split structure (3+ phases)**: Use `Task(subagent_type="explorer-medium")` to read and summarize
53
+ - **Single file structure**: Main session may Read directly (small enough)
54
+ - **Never use Grep** for content analysis — Grep is for file location only
55
+ - **Agent spawn rule**: Include "Read target files FULLY with Read tool" in agent prompts
56
+
57
+ ## Step 1: Load SPEC Files
58
+
59
+ Detect SPEC structure (single file or split folder) and read files:
60
+
61
+ **Single file structure:**
62
+ ```
63
+ .claude/vibe/specs/{feature-name}.md
64
+ .claude/vibe/features/{feature-name}.feature
65
+ ```
66
+
67
+ **Split folder structure:**
68
+ ```
69
+ .claude/vibe/specs/{feature-name}/_index.md (+ phase files)
70
+ .claude/vibe/specs/{feature-name}/phase-*.md (phase-1-xxx.md, phase-2-xxx.md, ...)
71
+ .claude/vibe/features/{feature-name}/_index.feature (+ phase files)
72
+ .claude/vibe/features/{feature-name}/phase-*.feature
73
+ ```
74
+
75
+ **Detection logic:**
76
+ 1. Check if `.claude/vibe/specs/{feature-name}/` directory exists → Split mode
77
+ 2. Otherwise check `.claude/vibe/specs/{feature-name}.md` → Single mode
78
+ 3. If neither exists → Error
79
+
80
+ **Split mode file loading:**
81
+ 1. Read `_index.md` for master SPEC overview
82
+ 2. Glob `phase-*.md` files and read all phase SPECs
83
+ 3. Read corresponding `_index.feature` and `phase-*.feature` files
84
+
85
+ **Output:**
86
+ ```
87
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
88
+ 📋 SPEC REVIEW: {feature-name}
89
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
90
+
91
+ Loading files...
92
+ Mode: {single|split}
93
+ ✅ SPEC: .claude/vibe/specs/{feature-name}.md (or _index.md + N phase files)
94
+ ✅ Feature: .claude/vibe/features/{feature-name}.feature (or _index.feature + N phase files)
95
+
96
+ Extracted info:
97
+ - Feature: {feature description}
98
+ - Stack: {tech stack}
99
+ - Phases: {number of phases}
100
+ - Scenarios: {number of scenarios}
101
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
102
+ ```
103
+
104
+ ---
105
+
106
+ ## Step 2: Quality Validation (95-Point Gate)
107
+
108
+ **🚨 MANDATORY: Score must be ≥ 95 to proceed**
109
+
110
+ ### 2.1 Quality Checklist
111
+
112
+ | Category | Check Item | Weight |
113
+ |----------|------------|--------|
114
+ | **Completeness** | All user flows included in Task | 15% |
115
+ | **Completeness** | All ACs converted to Feature scenarios | 10% |
116
+ | **Completeness** | Error handling scenarios defined | 10% |
117
+ | **Specificity** | All numbers specified (timeout, limits, etc.) | 15% |
118
+ | **Specificity** | No ambiguous terms ("appropriate", "proper", etc.) | 10% |
119
+ | **Testability** | Each AC is verifiable | 10% |
120
+ | **Testability** | Feature scenarios have concrete Given/When/Then | 10% |
121
+ | **Security** | Auth/permission requirements specified | 10% |
122
+ | **Performance** | Response time/load requirements specified | 10% |
123
+
124
+ ### 2.2 Quality Gate Loop
125
+
126
+ ```python
127
+ max_iterations = 3
128
+ iteration = 0
129
+
130
+ while iteration < max_iterations:
131
+ iteration += 1
132
+ score = calculate_quality_score(spec, feature)
133
+
134
+ print(f"━━━ Quality Check [{iteration}/{max_iterations}] ━━━")
135
+ print(f"Score: {score}/100")
136
+
137
+ if score >= 95:
138
+ print("✅ Quality Gate PASSED")
139
+ break
140
+
141
+ # Auto-fix missing items
142
+ missing_items = identify_missing_items(spec)
143
+ for item in missing_items:
144
+ auto_fix(item)
145
+ update_spec()
146
+ update_feature()
147
+
148
+ print(f"✅ Applied {len(missing_items)} fixes - Re-evaluating...")
149
+
150
+ if score < 95:
151
+ print(f"⚠️ Score {score} < 95 after {max_iterations} iterations")
152
+ print("Remaining gaps added to TODO. Proceeding with current quality.")
153
+ ```
154
+
155
+ **Output format:**
156
+ ```
157
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
158
+ 📊 QUALITY GATE [1/3]
159
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
160
+ Score: 87/100 ⚠️ BELOW THRESHOLD (95)
161
+
162
+ Missing items:
163
+ ❌ Error handling scenarios (10%)
164
+ ❌ Performance targets (5%)
165
+
166
+ Auto-fixing...
167
+ ✅ Added network error handling scenario
168
+ ✅ Added response time targets (<500ms)
169
+
170
+ Re-evaluating...
171
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
172
+
173
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
174
+ 📊 QUALITY GATE [2/3]
175
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
176
+ Score: 96/100 ✅ PASSED
177
+
178
+ ✅ Quality Gate PASSED - proceeding to GPT/Gemini review
179
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
180
+ ```
181
+
182
+ ### 2.3 Auto-Fix Rules
183
+
184
+ | Missing Item | Auto-Fix Method |
185
+ |--------------|-----------------|
186
+ | Missing AC | Auto-generate AC based on Task |
187
+ | Numbers not specified | Apply project defaults (timeout 30s, etc.) |
188
+ | Missing error handling | Add common error scenarios |
189
+ | Missing performance targets | Apply industry standard criteria |
190
+ | Missing security | Add auth/data protection requirements |
191
+ | Ambiguous terms | Replace with specific values |
192
+
193
+ ---
194
+
195
+ ## Step 3: Race Review (GPT + Gemini Cross-Validation) - Max 3 Rounds (v2.6.9)
196
+
197
+ **RULES FOR RACE REVIEW:**
198
+
199
+ 1. **YOU MUST** use the Bash tool to call `llm-orchestrate.js` directly
200
+ 2. **DO NOT** simulate or fake review results
201
+ 3. Run rounds sequentially (each round uses updated SPEC)
202
+
203
+ > Race Mode reviews SPEC with GPT and Gemini in parallel, then cross-validates findings for higher confidence.
204
+
205
+ ### Convergence Rule (Early Exit)
206
+
207
+ - **Round N findings == Round N-1 findings** → converged, stop immediately (no need to reach Round 3)
208
+ - **Round 1 with P1 = 0** → skip Round 2 and stop
209
+ - **Max 3 rounds** — if new P1s still appear after 3 rounds, record as TODO and stop
210
+
211
+ ### 3.1 Review Loop (Max 3 Rounds)
212
+
213
+ **For EACH round (1, 2, 3), run GPT + Gemini in PARALLEL via Bash tool. Stop early if converged.**
214
+
215
+ **🚨 IMPORTANT: SPEC content is too large for CLI arguments. Use --input file method (no pipe needed).**
216
+
217
+ **Procedure for each round:**
218
+
219
+ **Step A: Save SPEC content + prompt as JSON to scratchpad temp file (using Write tool):**
220
+ - Write JSON to `[SCRATCHPAD]/spec-review-input.json` with content:
221
+ ```json
222
+ {"prompt": "Review this SPEC for completeness, specificity, testability, security, and performance. Round [N]/3. Find issues and improvements. Return JSON: {issues: [{id, title, description, severity, suggestion}]}. SPEC content: [SPEC_CONTENT]"}
223
+ ```
224
+ - Where `[SPEC_CONTENT]` is the full SPEC text (properly JSON-escaped inside the prompt string)
225
+
226
+ **Step B: Script path:**
227
+ - `[LLM_SCRIPT]` = `{{VIBE_PATH}}/hooks/scripts/llm-orchestrate.js`
228
+
229
+ **Step C: Run GPT + Gemini in PARALLEL (two separate Bash tool calls at once):**
230
+
231
+ ```bash
232
+ # GPT review (Bash tool call 1)
233
+ node "[LLM_SCRIPT]" gpt orchestrate-json --input "[SCRATCHPAD]/spec-review-input.json"
234
+ ```
235
+
236
+ ```bash
237
+ # Gemini review (Bash tool call 2 - run in parallel with GPT)
238
+ node "[LLM_SCRIPT]" gemini orchestrate-json --input "[SCRATCHPAD]/spec-review-input.json"
239
+ ```
240
+
241
+ **🚨 MANDATORY: Replace `[SCRATCHPAD]` with the actual scratchpad directory path.**
242
+ **🚨 Replace `[N]` with the current round number (1, 2, or 3).**
243
+ **🚨 Replace `[LLM_SCRIPT]` with the resolved absolute path from Step B.**
244
+ **🚨 Run GPT and Gemini calls in PARALLEL (two separate Bash tool calls at once).**
245
+
246
+ - Round 1: Write SPEC → Run GPT + Gemini in parallel → Cross-validate → Apply fixes → Update SPEC file
247
+ - Round 2: Write updated SPEC → Run → Cross-validate → Apply fixes → Update SPEC file
248
+ - Round 3: Write final SPEC → Run → Cross-validate → Confirm no issues remain
249
+
250
+ ### 3.2 Cross-Validation Rules
251
+
252
+ | Agreement | Priority | Action |
253
+ |-----------|----------|--------|
254
+ | Both models agree (100%) | P1 | Auto-apply immediately |
255
+ | 1 model only (50%) | P2 | Auto-apply with note |
256
+
257
+ **After each round:**
258
+
259
+ 1. Cross-validate findings (issues found by 2+ models → P1, single model → P2)
260
+ 2. Merge feedback with confidence scores
261
+ 3. Auto-apply P1/P2 improvements to SPEC and Feature files (use Edit tool)
262
+ 4. Continue to next round with updated SPEC content
263
+
264
+ ### 3.3 User Decision Checkpoint (Round 3 이후)
265
+
266
+ **🚨 MANDATORY: 3라운드 완료 후 사용자 판단 체크포인트 실행**
267
+
268
+ > Type 6 (Iterative-Reasoning) 패턴: AI가 혼자 결정하지 않고, 사용자와 함께 판단
269
+
270
+ ```
271
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
272
+ 🔍 USER CHECKPOINT: 리뷰 결과 검토
273
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
274
+
275
+ 3라운드 리뷰에서 발견된 주요 변경사항:
276
+
277
+ | # | 변경 내용 | 출처 | 신뢰도 |
278
+ |---|----------|------|--------|
279
+ | 1 | {변경1} | GPT+Gemini | 100% |
280
+ | 2 | {변경2} | GPT only | 50% |
281
+ | ... | ... | ... | ... |
282
+
283
+ 질문:
284
+ 1. 위 변경사항 중 제외하고 싶은 항목이 있나요?
285
+ 2. 추가로 명시해야 할 요구사항이 있나요?
286
+ 3. 기술적 접근 방식에 동의하시나요?
287
+
288
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
289
+ ```
290
+
291
+ **Checkpoint 행동 규칙:**
292
+
293
+ | 상황 | 행동 |
294
+ |------|------|
295
+ | `ultrawork` 모드 | 체크포인트 스킵, 자동 진행 |
296
+ | 일반 모드 | 반드시 사용자 응답 대기 |
297
+ | 사용자가 변경 요청 | 수정 후 다시 체크포인트 |
298
+ | 사용자가 승인 | Step 4로 진행 |
299
+
300
+ **Output format:**
301
+ ```
302
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
303
+ 🏁 SPEC RACE REVIEW - Round 1/3
304
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
305
+
306
+ Model Results:
307
+ | Model | Issues | Duration |
308
+ |--------|--------|----------|
309
+ | GPT | 2 | 1823ms |
310
+ | Gemini | 2 | 2156ms |
311
+
312
+ Cross-Validated Issues:
313
+ | Issue | GPT | Gemini | Codex | Confidence |
314
+ |--------------------------|-----|--------|-------|------------|
315
+ | Missing retry logic | ✅ | ✅ | ✅ | 100% → P1 |
316
+ | Missing rate limiting | ✅ | ✅ | ✅ | 100% → P1 |
317
+ | Token refresh unclear | ✅ | ❌ | ❌ | 50% → P2 |
318
+
319
+ Auto-applying...
320
+ ✅ [P1] Added retry logic (3 attempts, exponential backoff)
321
+ ✅ [P1] Added rate limiting (100 req/min)
322
+ ✅ [P2] Added token refresh flow
323
+
324
+ ✅ Round 1 complete - 3 improvements (2 P1, 1 P2)
325
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
326
+
327
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
328
+ 🏁 SPEC RACE REVIEW - Round 2/3
329
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
330
+
331
+ Cross-Validated Issues:
332
+ | Issue | GPT | Gemini | Codex | Confidence |
333
+ |-----------------------------|-----|--------|-------|------------|
334
+ | Concurrent session unclear | ✅ | ❌ | ❌ | 50% → P2 |
335
+
336
+ Auto-applying...
337
+ ✅ [P2] Added concurrent session policy
338
+
339
+ ✅ Round 2 complete - 1 improvement
340
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
341
+
342
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
343
+ 🏁 SPEC RACE REVIEW - Round 3/3
344
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
345
+
346
+ Cross-Validated Issues: None
347
+
348
+ ✅ No changes needed - SPEC is complete
349
+ ✅ Consensus Rate: 100%
350
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
351
+ ```
352
+
353
+ ### Step 3.1: Codex Adversarial Review (Codex 플러그인 활성화 시)
354
+
355
+ > **활성화 조건**: Codex 플러그인 설치 시 자동 실행. 미설치 시 스킵.
356
+ > GPT+Gemini Race Review와 **동시에** 실행하여 3중 교차 검증.
357
+
358
+ Codex adversarial review는 SPEC의 **설계 결정에 도전**합니다:
359
+ - 대안적 아키텍처가 더 나은지 검증
360
+ - 오버엔지니어링 또는 과소 설계 여부
361
+ - 누락된 엣지케이스 및 비기능 요구사항
362
+
363
+ **실행 (GPT+Gemini Race와 병렬):**
364
+
365
+ ```
366
+ /codex:adversarial-review
367
+ ```
368
+
369
+ **결과 통합**: Race Review 교차 검증 테이블에 Codex 열 추가:
370
+
371
+ ```markdown
372
+ | Issue | GPT | Gemini | Codex | Confidence |
373
+ |-------|-----|--------|-------|------------|
374
+ | {이슈} | ✅/❌ | ✅/❌ | ✅/❌ | {%} |
375
+ ```
376
+
377
+ - 3개 모델 중 2개 이상 동의 → **High Confidence**
378
+ - Codex만 발견한 이슈 → **P2** (설계 관점 검토 필요)
379
+ - 3개 모두 동의 → **P1** (즉시 수정)
380
+
381
+ ---
382
+
383
+ ## Step 3.5: Review Debate Team (Agent Teams)
384
+
385
+ > **조건**: Agent Teams 활성화 + 3라운드 완료 후 P1/P2 이슈 2개 이상 발견 시
386
+ > 여러 관점에서 교차 검증하여 오탐 제거 및 우선순위 조정
387
+
388
+ **팀 구성:**
389
+
390
+ | 팀원 | 역할 |
391
+ |------|------|
392
+ | security-reviewer (리더) | 보안 관점 우선순위 결정, 교차 검증 주도 |
393
+ | architecture-reviewer | 구조적 영향 평가, 설계 일관성 확인 |
394
+ | performance-reviewer | 성능 영향 평가, 불필요한 최적화 식별 |
395
+ | simplicity-reviewer | 과잉 설계 여부, YAGNI 위반 식별 |
396
+
397
+ **활성화 조건:**
398
+
399
+ | 상황 | 행동 |
400
+ |------|------|
401
+ | P1/P2 이슈 2개 이상 | 자동 활성화 |
402
+ | P1/P2 이슈 1개 이하 | 스킵 → Step 4로 진행 |
403
+ | Agent Teams 비활성화 | 스킵 → Step 4로 진행 |
404
+
405
+ **spawn 패턴:**
406
+
407
+ ```text
408
+ TeamCreate(team_name="spec-debate-{feature}", description="SPEC review debate for {feature}")
409
+
410
+ Task(team_name="spec-debate-{feature}", name="security-reviewer", subagent_type="security-reviewer",
411
+ mode="bypassPermissions",
412
+ prompt="SPEC 리뷰 팀 리더. GPT/Gemini가 발견한 P1/P2 이슈를 교차 검증하세요.
413
+ SPEC: {spec_content}
414
+ 발견된 이슈: {p1_p2_issues}
415
+ 역할: 각 이슈가 진짜인지(오탐 아닌지) 검증. 실제 영향도 기준으로 우선순위 조정.
416
+ 분쟁이 있는 이슈는 해당 리뷰어에게 SendMessage로 확인 요청하세요.")
417
+
418
+ Task(team_name="spec-debate-{feature}", name="architecture-reviewer", subagent_type="architecture-reviewer",
419
+ mode="bypassPermissions",
420
+ prompt="SPEC 리뷰 팀 아키텍처 전문가. 아키텍처 관련 이슈를 검증하세요.
421
+ SPEC: {spec_content}
422
+ 역할: 구조적 일관성, SOLID 원칙, 레이어 경계 검증.
423
+ 우선순위 변경 필요 시 security-reviewer에게 SendMessage로 알리세요.")
424
+
425
+ Task(team_name="spec-debate-{feature}", name="performance-reviewer", subagent_type="performance-reviewer",
426
+ mode="bypassPermissions",
427
+ prompt="SPEC 리뷰 팀 성능 전문가. 성능 관련 이슈를 검증하세요.
428
+ SPEC: {spec_content}
429
+ 역할: 성능 요구사항 현실성 평가, 불필요한 최적화 식별.
430
+ P2→P1 승격이 필요하면 security-reviewer에게 SendMessage로 알리세요.")
431
+
432
+ Task(team_name="spec-debate-{feature}", name="simplicity-reviewer", subagent_type="simplicity-reviewer",
433
+ mode="bypassPermissions",
434
+ prompt="SPEC 리뷰 팀 단순성 전문가. 과잉 설계 여부를 검증하세요.
435
+ SPEC: {spec_content}
436
+ 역할: YAGNI 위반, 불필요한 복잡성 식별.
437
+ P1→P2 강등이 필요하면 security-reviewer에게 SendMessage로 알리세요.")
438
+ ```
439
+
440
+ **결과 통합:**
441
+ - 팀 합의 결과를 SPEC에 반영 (P1 즉시 적용, P2 노트 추가)
442
+ - 팀원 shutdown_request → TeamDelete로 정리
443
+ - Step 4 (Final Summary)로 진행
444
+
445
+ ---
446
+
447
+ ## Step 4: Final Summary
448
+
449
+ ```
450
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
451
+ ✅ SPEC REVIEW COMPLETE: {feature-name}
452
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
453
+
454
+ Quality Score: 96/100 ✅
455
+ Review Rounds: 3/3 ✅
456
+ Total Improvements: 4
457
+ ⏱️ Started: {start_time}
458
+ ⏱️ Completed: {getCurrentTime 결과}
459
+
460
+ Updated files:
461
+ 📋 .claude/vibe/specs/{feature-name}.md (or split folder)
462
+ 📋 .claude/vibe/features/{feature-name}.feature (or split folder)
463
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
464
+ ```
465
+
466
+ ---
467
+
468
+ ## Step 5: SPEC Summary for User Review
469
+
470
+ **🚨 MANDATORY: Always output this summary before proceeding to `/vibe.run`.**
471
+
472
+ After all review rounds, present the finalized SPEC to the user in a readable format:
473
+
474
+ ```
475
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
476
+ 📋 SPEC SUMMARY: {feature-name}
477
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
478
+
479
+ ## Feature Overview
480
+ {1-2 line summary of feature purpose from SPEC's <role> and <context>}
481
+
482
+ ## Tech Stack
483
+ {Tech stack list extracted from <context>}
484
+
485
+ ## Implementation Phases
486
+ | Phase | Name | Key Tasks |
487
+ |-------|------|-----------|
488
+ | 1 | {phase name} | {1-line summary of core task} |
489
+ | 2 | {phase name} | {1-line summary of core task} |
490
+ | ... | ... | ... |
491
+
492
+ ## Key Scenarios ({N} total)
493
+ {Scenario name list from Feature file}
494
+ - Scenario: {name1}
495
+ - Scenario: {name2}
496
+ - ...
497
+
498
+ ## Key Constraints
499
+ {3-5 key items from <constraints>}
500
+
501
+ ## Acceptance Criteria
502
+ {Summary of key items from <acceptance>}
503
+
504
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
505
+ If anything above is incorrect, please request changes.
506
+ If no issues, proceed with /vibe.run "{feature-name}".
507
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
508
+ ```
509
+
510
+ **Important:**
511
+
512
+ - List ALL Phases, Scenarios, and Constraints from SPEC without omission
513
+ - Keep it concise for quick user review
514
+ - Wait for user confirmation after review (unless ultrawork mode)
515
+ - In ultrawork mode: output summary then auto-proceed to `/vibe.run`
516
+
517
+ ### 5.1 Final User Checkpoint
518
+
519
+ **🚨 MANDATORY: `/vibe.run` 진행 전 최종 사용자 확인**
520
+
521
+ ```
522
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
523
+ ✅ SPEC 리뷰 완료 - 최종 확인
524
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
525
+
526
+ 다음 질문에 답변해 주세요:
527
+
528
+ 1. **요구사항 정확성**: 위 SPEC이 원래 의도한 기능을 정확히 설명하고 있나요?
529
+ 2. **범위 적절성**: 구현 범위가 너무 크거나 작지 않나요?
530
+ 3. **기술 스택**: 선택된 기술 스택에 동의하시나요?
531
+ 4. **우선순위**: Phase 순서와 우선순위가 맞나요?
532
+
533
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
534
+ 💡 "ok" 또는 "진행"으로 승인 / 수정 사항이 있으면 말씀해 주세요
535
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
536
+ ```
537
+
538
+ **Why This Checkpoint Matters:**
539
+
540
+ > AI가 더 많이 해준다고 좋은 게 아닙니다.
541
+ > 사용자가 AI와 함께 생각하고 판단할 때 최고의 결과가 나옵니다.
542
+ > 이 체크포인트는 Type 6 (Iterative-Reasoning) 패턴을 유도합니다.
543
+
544
+ ---
545
+
546
+ ## Next Step
547
+
548
+ ```
549
+ /vibe.run "{feature-name}"
550
+ ```
551
+
552
+ ---
553
+
554
+ ## Error Handling
555
+
556
+ ### SPEC Not Found
557
+ ```
558
+ ❌ ERROR: SPEC file not found
559
+
560
+ Expected (single): .claude/vibe/specs/{feature-name}.md
561
+ Expected (split): .claude/vibe/specs/{feature-name}/_index.md
562
+
563
+ Please run /vibe.spec "{feature-name}" first to create the SPEC.
564
+ ```
565
+
566
+ ### Feature Not Found
567
+ ```
568
+ ❌ ERROR: Feature file not found
569
+
570
+ Expected (single): .claude/vibe/features/{feature-name}.feature
571
+ Expected (split): .claude/vibe/features/{feature-name}/_index.feature
572
+
573
+ Please run /vibe.spec "{feature-name}" first to create the Feature file.
574
+ ```
575
+
576
+ ### GPT/Gemini Call Failed
577
+ ```
578
+ ⚠️ WARNING: {GPT|Gemini} call failed
579
+
580
+ Error: {error message}
581
+
582
+ Continuing with {other model} results only...
583
+ ```
584
+
585
+ ---
586
+
587
+ ## Quick Mode
588
+
589
+ For faster iteration (1 round only):
590
+
591
+ ```bash
592
+ /vibe.spec.review "feature-name" --quick
593
+ ```
594
+
595
+ ---
596
+
597
+ ARGUMENTS: $ARGUMENTS
598
+
599
+ **File Detection (execute before Step 1):**
600
+
601
+ ```
602
+ Feature name: $ARGUMENTS
603
+
604
+ 1. Check split folder: .claude/vibe/specs/$ARGUMENTS/_index.md
605
+ - If exists → Split mode (read all files in folder)
606
+ 2. Check single file: .claude/vibe/specs/$ARGUMENTS.md
607
+ - If exists → Single mode
608
+ 3. Neither exists → Show error with both expected paths
609
+ ```