@su-record/vibe 2.8.49 → 2.8.51

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 (421) hide show
  1. package/.env.example +37 -37
  2. package/CLAUDE.md +169 -169
  3. package/LICENSE +21 -21
  4. package/README.ko.md +190 -0
  5. package/README.md +97 -461
  6. package/agents/architect-low.md +41 -41
  7. package/agents/architect-medium.md +59 -59
  8. package/agents/architect.md +80 -80
  9. package/agents/build-error-resolver.md +115 -115
  10. package/agents/compounder.md +261 -261
  11. package/agents/diagrammer.md +178 -178
  12. package/agents/docs/api-documenter.md +99 -99
  13. package/agents/docs/changelog-writer.md +93 -93
  14. package/agents/e2e-tester.md +294 -294
  15. package/agents/event/event-comms.md +78 -78
  16. package/agents/event/event-content.md +68 -68
  17. package/agents/event/event-image.md +95 -95
  18. package/agents/event/event-ops.md +84 -84
  19. package/agents/event/event-scheduler.md +69 -69
  20. package/agents/event/event-speaker.md +86 -86
  21. package/agents/explorer-low.md +42 -42
  22. package/agents/explorer-medium.md +59 -59
  23. package/agents/explorer.md +48 -48
  24. package/agents/implementer-low.md +43 -43
  25. package/agents/implementer-medium.md +52 -52
  26. package/agents/implementer.md +54 -54
  27. package/agents/junior-mentor.md +141 -141
  28. package/agents/planning/requirements-analyst.md +84 -84
  29. package/agents/planning/ux-advisor.md +83 -83
  30. package/agents/qa/acceptance-tester.md +86 -86
  31. package/agents/qa/edge-case-finder.md +93 -93
  32. package/agents/qa/qa-coordinator.md +131 -131
  33. package/agents/refactor-cleaner.md +143 -143
  34. package/agents/research/best-practices-agent.md +199 -199
  35. package/agents/research/codebase-patterns-agent.md +157 -157
  36. package/agents/research/framework-docs-agent.md +188 -188
  37. package/agents/research/security-advisory-agent.md +213 -213
  38. package/agents/review/architecture-reviewer.md +107 -107
  39. package/agents/review/complexity-reviewer.md +116 -116
  40. package/agents/review/data-integrity-reviewer.md +88 -88
  41. package/agents/review/git-history-reviewer.md +103 -103
  42. package/agents/review/performance-reviewer.md +86 -86
  43. package/agents/review/python-reviewer.md +150 -150
  44. package/agents/review/rails-reviewer.md +139 -139
  45. package/agents/review/react-reviewer.md +144 -144
  46. package/agents/review/security-reviewer.md +80 -80
  47. package/agents/review/simplicity-reviewer.md +140 -140
  48. package/agents/review/test-coverage-reviewer.md +116 -116
  49. package/agents/review/typescript-reviewer.md +127 -127
  50. package/agents/searcher.md +54 -54
  51. package/agents/simplifier.md +120 -120
  52. package/agents/tester.md +49 -49
  53. package/agents/ui/ui-a11y-auditor.md +93 -93
  54. package/agents/ui/ui-antipattern-detector.md +102 -102
  55. package/agents/ui/ui-dataviz-advisor.md +69 -69
  56. package/agents/ui/ui-design-system-gen.md +57 -57
  57. package/agents/ui/ui-industry-analyzer.md +49 -49
  58. package/agents/ui/ui-layout-architect.md +65 -65
  59. package/agents/ui/ui-stack-implementer.md +68 -68
  60. package/agents/ui/ux-compliance-reviewer.md +81 -81
  61. package/agents/ui-previewer.md +258 -258
  62. package/commands/vibe.analyze.md +379 -379
  63. package/commands/vibe.docs.md +32 -32
  64. package/commands/vibe.event.md +163 -163
  65. package/commands/vibe.figma.md +69 -69
  66. package/commands/vibe.review.md +686 -686
  67. package/commands/vibe.run.md +2276 -2276
  68. package/commands/vibe.spec.md +1195 -1195
  69. package/commands/vibe.spec.review.md +609 -609
  70. package/commands/vibe.trace.md +259 -259
  71. package/commands/vibe.utils.md +413 -413
  72. package/commands/vibe.verify.md +510 -510
  73. package/dist/cli/collaborator.js +52 -52
  74. package/dist/cli/commands/config.js +9 -9
  75. package/dist/cli/commands/evolution.js +12 -12
  76. package/dist/cli/commands/figma.js +20 -20
  77. package/dist/cli/commands/info.js +53 -53
  78. package/dist/cli/commands/init.js +5 -5
  79. package/dist/cli/commands/remove.js +14 -14
  80. package/dist/cli/commands/sentinel.js +27 -27
  81. package/dist/cli/commands/skills.js +5 -5
  82. package/dist/cli/commands/slack.js +10 -10
  83. package/dist/cli/commands/stats.js +6 -6
  84. package/dist/cli/commands/telegram.js +12 -12
  85. package/dist/cli/detect.js +32 -32
  86. package/dist/cli/index.d.ts.map +1 -1
  87. package/dist/cli/index.js +52 -57
  88. package/dist/cli/index.js.map +1 -1
  89. package/dist/cli/llm/claude-commands.js +16 -16
  90. package/dist/cli/llm/config.js +18 -18
  91. package/dist/cli/llm/gemini-commands.js +16 -16
  92. package/dist/cli/llm/gpt-commands.js +19 -19
  93. package/dist/cli/llm/help.js +21 -21
  94. package/dist/cli/postinstall/cursor-agents.js +32 -32
  95. package/dist/cli/postinstall/cursor-rules.js +83 -83
  96. package/dist/cli/postinstall/cursor-skills.js +743 -743
  97. package/dist/cli/postinstall/inline-skills.js +2 -2
  98. package/dist/cli/postinstall/inline-skills.js.map +1 -1
  99. package/dist/cli/postinstall/main.js +1 -1
  100. package/dist/cli/postinstall/main.js.map +1 -1
  101. package/dist/cli/setup/Provisioner.js +42 -42
  102. package/dist/infra/lib/DeepInit.js +24 -24
  103. package/dist/infra/lib/IterationTracker.js +11 -11
  104. package/dist/infra/lib/PythonParser.js +108 -108
  105. package/dist/infra/lib/ReviewRace.js +96 -96
  106. package/dist/infra/lib/SkillFrontmatter.js +28 -28
  107. package/dist/infra/lib/SkillQualityGate.js +9 -9
  108. package/dist/infra/lib/SkillRepository.js +159 -159
  109. package/dist/infra/lib/UltraQA.js +99 -99
  110. package/dist/infra/lib/autonomy/AuditStore.js +41 -41
  111. package/dist/infra/lib/autonomy/ConfirmationStore.js +30 -30
  112. package/dist/infra/lib/autonomy/EventOutbox.js +38 -38
  113. package/dist/infra/lib/autonomy/PolicyEngine.d.ts +3 -3
  114. package/dist/infra/lib/autonomy/PolicyEngine.js +18 -18
  115. package/dist/infra/lib/autonomy/SecuritySentinel.js +1 -1
  116. package/dist/infra/lib/autonomy/SuggestionStore.js +33 -33
  117. package/dist/infra/lib/embedding/VectorStore.js +22 -22
  118. package/dist/infra/lib/evolution/AgentAnalyzer.js +10 -10
  119. package/dist/infra/lib/evolution/DescriptionOptimizer.js +21 -21
  120. package/dist/infra/lib/evolution/GenerationRegistry.js +36 -36
  121. package/dist/infra/lib/evolution/InsightStore.js +90 -90
  122. package/dist/infra/lib/evolution/ParityTester.js +57 -57
  123. package/dist/infra/lib/evolution/RollbackManager.js +5 -5
  124. package/dist/infra/lib/evolution/SkillBenchmark.js +23 -23
  125. package/dist/infra/lib/evolution/SkillEvalRunner.js +50 -50
  126. package/dist/infra/lib/evolution/SkillGapDetector.js +10 -10
  127. package/dist/infra/lib/evolution/UsageTracker.js +28 -28
  128. package/dist/infra/lib/gemini/orchestration.js +5 -5
  129. package/dist/infra/lib/gpt/orchestration.js +4 -4
  130. package/dist/infra/lib/memory/KnowledgeGraph.js +4 -4
  131. package/dist/infra/lib/memory/MemorySearch.js +57 -57
  132. package/dist/infra/lib/memory/MemoryStorage.js +181 -181
  133. package/dist/infra/lib/memory/ObservationStore.js +28 -28
  134. package/dist/infra/lib/memory/ReflectionStore.js +30 -30
  135. package/dist/infra/lib/memory/SessionRAGRetriever.js +7 -7
  136. package/dist/infra/lib/memory/SessionRAGStore.js +225 -225
  137. package/dist/infra/lib/memory/SessionSummarizer.js +9 -9
  138. package/dist/infra/orchestrator/AgentManager.js +12 -12
  139. package/dist/infra/orchestrator/AgentRegistry.js +65 -65
  140. package/dist/infra/orchestrator/MultiLlmResearch.js +8 -8
  141. package/dist/infra/orchestrator/SwarmOrchestrator.test.js +16 -16
  142. package/dist/infra/orchestrator/parallelResearch.js +24 -24
  143. package/dist/tools/convention/analyzeComplexity.test.js +115 -115
  144. package/dist/tools/convention/validateCodeQuality.test.js +104 -104
  145. package/dist/tools/memory/createMemoryTimeline.js +10 -10
  146. package/dist/tools/memory/getMemoryGraph.js +12 -12
  147. package/dist/tools/memory/getSessionContext.js +9 -9
  148. package/dist/tools/memory/linkMemories.js +14 -14
  149. package/dist/tools/memory/listMemories.js +4 -4
  150. package/dist/tools/memory/recallMemory.js +4 -4
  151. package/dist/tools/memory/saveMemory.js +4 -4
  152. package/dist/tools/memory/searchMemoriesAdvanced.js +23 -23
  153. package/dist/tools/semantic/analyzeDependencyGraph.js +12 -12
  154. package/dist/tools/semantic/astGrep.test.js +6 -6
  155. package/dist/tools/spec/prdParser.test.js +171 -171
  156. package/dist/tools/spec/specGenerator.js +169 -169
  157. package/dist/tools/spec/traceabilityMatrix.js +64 -64
  158. package/dist/tools/spec/traceabilityMatrix.test.js +28 -28
  159. package/hooks/gemini-hooks.json +73 -73
  160. package/hooks/hooks.json +170 -170
  161. package/hooks/scripts/__tests__/keyword-detector.test.js +199 -199
  162. package/hooks/scripts/__tests__/pre-tool-guard.test.js +286 -286
  163. package/hooks/scripts/__tests__/sentinel-guard.test.js +210 -210
  164. package/hooks/scripts/auto-commit.js +97 -65
  165. package/hooks/scripts/auto-format.js +64 -64
  166. package/hooks/scripts/auto-test.js +81 -81
  167. package/hooks/scripts/code-check.js +268 -216
  168. package/hooks/scripts/codex-detect.js +46 -46
  169. package/hooks/scripts/codex-review-gate.js +80 -80
  170. package/hooks/scripts/command-log.js +32 -32
  171. package/hooks/scripts/context-save.js +353 -353
  172. package/hooks/scripts/evolution-engine.js +91 -91
  173. package/hooks/scripts/figma-extract.js +477 -602
  174. package/hooks/scripts/hud-status.js +321 -321
  175. package/hooks/scripts/keyword-detector.js +214 -214
  176. package/hooks/scripts/llm-orchestrate.js +572 -555
  177. package/hooks/scripts/post-edit.js +32 -32
  178. package/hooks/scripts/pr-test-gate.js +52 -52
  179. package/hooks/scripts/pre-tool-guard.js +159 -159
  180. package/hooks/scripts/prompt-dispatcher.js +185 -185
  181. package/hooks/scripts/sentinel-guard.js +131 -131
  182. package/hooks/scripts/session-start.js +177 -106
  183. package/hooks/scripts/skill-injector.js +83 -83
  184. package/hooks/scripts/stop-notify.js +209 -209
  185. package/hooks/scripts/utils.js +243 -186
  186. package/languages/csharp-unity.md +515 -515
  187. package/languages/gdscript-godot.md +470 -470
  188. package/languages/ruby-rails.md +489 -489
  189. package/languages/typescript-angular.md +433 -433
  190. package/languages/typescript-astro.md +416 -416
  191. package/languages/typescript-electron.md +406 -406
  192. package/languages/typescript-nestjs.md +524 -524
  193. package/languages/typescript-svelte.md +407 -407
  194. package/languages/typescript-tauri.md +365 -365
  195. package/package.json +101 -100
  196. package/skills/agents-md/SKILL.md +121 -121
  197. package/skills/agents-md/rubrics/what-to-keep.md +49 -49
  198. package/skills/agents-md/templates/agents-md.md +36 -36
  199. package/skills/arch-guard/SKILL.md +181 -181
  200. package/skills/arch-guard/agents/detector.md +48 -48
  201. package/skills/arch-guard/agents/reporter.md +48 -48
  202. package/skills/arch-guard/agents/rule-generator.md +49 -49
  203. package/skills/arch-guard/agents/violation-checker.md +51 -51
  204. package/skills/arch-guard/frameworks/clean-architecture.md +108 -108
  205. package/skills/arch-guard/frameworks/solid.md +102 -102
  206. package/skills/arch-guard/scripts/check-boundaries.js +90 -90
  207. package/skills/arch-guard/templates/arch-rules.json +47 -47
  208. package/skills/arch-guard/templates/violation-report.md +53 -53
  209. package/skills/brand-assets/SKILL.md +147 -147
  210. package/skills/brand-assets/rubrics/asset-checklist.md +98 -98
  211. package/skills/brand-assets/templates/brand-guide.md +161 -161
  212. package/skills/capability-loop/SKILL.md +168 -168
  213. package/skills/capability-loop/agents/capability-designer.md +61 -61
  214. package/skills/capability-loop/agents/failure-analyst.md +55 -55
  215. package/skills/capability-loop/agents/implementer.md +50 -50
  216. package/skills/capability-loop/agents/tester.md +53 -53
  217. package/skills/capability-loop/templates/capability-spec.md +118 -118
  218. package/skills/capability-loop/templates/failure-analysis.md +118 -118
  219. package/skills/characterization-test/SKILL.md +207 -207
  220. package/skills/characterization-test/agents/behavior-capturer.md +50 -50
  221. package/skills/characterization-test/agents/coverage-checker.md +54 -54
  222. package/skills/characterization-test/agents/reporter.md +50 -50
  223. package/skills/characterization-test/agents/test-writer.md +49 -49
  224. package/skills/characterization-test/rubrics/coverage-criteria.md +53 -53
  225. package/skills/characterization-test/templates/test-template.ts +101 -101
  226. package/skills/chub-usage/SKILL.md +139 -115
  227. package/skills/claude-md-guide/SKILL.md +351 -351
  228. package/skills/claude-md-guide/rubrics/anti-patterns.md +88 -88
  229. package/skills/claude-md-guide/templates/claude-md.md +54 -54
  230. package/skills/commerce-patterns/SKILL.md +64 -64
  231. package/skills/commerce-patterns/rubrics/checkout-flow.md +48 -48
  232. package/skills/commerce-patterns/templates/product-schema.md +85 -85
  233. package/skills/commit-push-pr/SKILL.md +77 -77
  234. package/skills/commit-push-pr/agents/change-analyzer.md +55 -55
  235. package/skills/commit-push-pr/agents/message-writer.md +50 -50
  236. package/skills/commit-push-pr/agents/pr-writer.md +58 -58
  237. package/skills/commit-push-pr/agents/reviewer.md +52 -52
  238. package/skills/commit-push-pr/rubrics/commit-message.md +73 -73
  239. package/skills/commit-push-pr/templates/pr-body.md +63 -63
  240. package/skills/context7-usage/SKILL.md +106 -106
  241. package/skills/context7-usage/rubrics/when-to-use.md +50 -50
  242. package/skills/create-prd/SKILL.md +90 -90
  243. package/skills/create-prd/agents/edge-case-finder.md +48 -48
  244. package/skills/create-prd/agents/prioritizer.md +60 -60
  245. package/skills/create-prd/agents/requirements-writer.md +48 -48
  246. package/skills/create-prd/agents/researcher.md +55 -55
  247. package/skills/create-prd/agents/reviewer.md +54 -54
  248. package/skills/create-prd/frameworks/jobs-to-be-done.md +96 -96
  249. package/skills/create-prd/frameworks/rice-scoring.md +97 -97
  250. package/skills/create-prd/orchestrator.md +70 -70
  251. package/skills/create-prd/rubrics/completeness.md +58 -58
  252. package/skills/create-prd/templates/prd.md +139 -139
  253. package/skills/design-audit/SKILL.md +152 -152
  254. package/skills/design-audit/agents/a11y-auditor.md +43 -43
  255. package/skills/design-audit/agents/performance-auditor.md +46 -46
  256. package/skills/design-audit/agents/responsive-auditor.md +46 -46
  257. package/skills/design-audit/agents/scorer.md +47 -47
  258. package/skills/design-audit/agents/slop-detector.md +47 -47
  259. package/skills/design-audit/frameworks/core-web-vitals.md +107 -107
  260. package/skills/design-audit/frameworks/wcag-checklist.md +64 -64
  261. package/skills/design-audit/orchestrator.md +64 -64
  262. package/skills/design-audit/rubrics/ai-slop-patterns.md +83 -83
  263. package/skills/design-audit/rubrics/scoring.md +63 -63
  264. package/skills/design-audit/templates/report.md +88 -88
  265. package/skills/design-critique/SKILL.md +139 -139
  266. package/skills/design-critique/rubrics/ux-heuristics.md +143 -143
  267. package/skills/design-critique/templates/critique-report.md +86 -86
  268. package/skills/design-distill/SKILL.md +130 -130
  269. package/skills/design-distill/templates/design-system.md +132 -132
  270. package/skills/design-normalize/SKILL.md +133 -133
  271. package/skills/design-normalize/rubrics/token-naming.md +117 -117
  272. package/skills/design-normalize/templates/token-audit.md +89 -89
  273. package/skills/design-polish/SKILL.md +131 -131
  274. package/skills/design-polish/rubrics/polish-checklist.md +68 -68
  275. package/skills/design-polish/templates/polish-report.md +64 -64
  276. package/skills/design-teach/SKILL.md +182 -182
  277. package/skills/design-teach/rubrics/brand-personality.md +73 -73
  278. package/skills/design-teach/templates/design-context.json +36 -36
  279. package/skills/e2e-commerce/SKILL.md +62 -62
  280. package/skills/e2e-commerce/templates/test-scenarios.md +170 -170
  281. package/skills/event-comms/SKILL.md +162 -162
  282. package/skills/event-comms/templates/email-invite.md +99 -99
  283. package/skills/event-comms/templates/sns-post.md +133 -133
  284. package/skills/event-ops/SKILL.md +198 -198
  285. package/skills/event-ops/rubrics/contingency.md +85 -85
  286. package/skills/event-ops/templates/d-day-checklist.md +65 -65
  287. package/skills/event-planning/SKILL.md +132 -132
  288. package/skills/event-planning/rubrics/timeline.md +70 -70
  289. package/skills/event-planning/templates/event-plan.md +91 -91
  290. package/skills/exec-plan/SKILL.md +149 -149
  291. package/skills/exec-plan/agents/decomposer.md +47 -47
  292. package/skills/exec-plan/agents/dependency-mapper.md +44 -44
  293. package/skills/exec-plan/agents/estimator.md +43 -43
  294. package/skills/exec-plan/agents/validator.md +55 -55
  295. package/skills/exec-plan/orchestrator.md +70 -70
  296. package/skills/exec-plan/rubrics/complexity-scoring.md +75 -75
  297. package/skills/exec-plan/templates/plan.md +147 -147
  298. package/skills/git-worktree/SKILL.md +73 -73
  299. package/skills/git-worktree/rubrics/when-to-use.md +55 -55
  300. package/skills/handoff/SKILL.md +110 -110
  301. package/skills/handoff/agents/context-summarizer.md +51 -51
  302. package/skills/handoff/agents/document-writer.md +63 -63
  303. package/skills/handoff/agents/state-collector.md +53 -53
  304. package/skills/handoff/agents/verifier.md +48 -48
  305. package/skills/handoff/rubrics/completeness.md +62 -62
  306. package/skills/handoff/templates/handoff.md +107 -107
  307. package/skills/parallel-research/SKILL.md +89 -89
  308. package/skills/parallel-research/agents/best-practices.md +43 -43
  309. package/skills/parallel-research/agents/codebase-patterns.md +46 -46
  310. package/skills/parallel-research/agents/framework-docs.md +45 -45
  311. package/skills/parallel-research/agents/security-advisory.md +46 -46
  312. package/skills/parallel-research/agents/synthesizer.md +52 -52
  313. package/skills/parallel-research/experts/best-practices.md +50 -50
  314. package/skills/parallel-research/experts/codebase-patterns.md +70 -70
  315. package/skills/parallel-research/experts/framework-docs.md +65 -65
  316. package/skills/parallel-research/experts/security-advisory.md +69 -69
  317. package/skills/parallel-research/orchestrator.md +65 -65
  318. package/skills/parallel-research/templates/synthesis.md +101 -101
  319. package/skills/prioritization-frameworks/SKILL.md +87 -87
  320. package/skills/prioritization-frameworks/rubrics/frameworks.md +79 -79
  321. package/skills/prioritization-frameworks/templates/scoring-matrix.md +69 -69
  322. package/skills/priority-todos/SKILL.md +64 -64
  323. package/skills/priority-todos/rubrics/prioritization.md +70 -70
  324. package/skills/priority-todos/templates/todo-board.md +59 -59
  325. package/skills/seo-checklist/SKILL.md +58 -58
  326. package/skills/seo-checklist/frameworks/structured-data.md +153 -153
  327. package/skills/seo-checklist/rubrics/content-seo.md +42 -42
  328. package/skills/seo-checklist/rubrics/technical-seo.md +48 -48
  329. package/skills/techdebt/SKILL.md +124 -124
  330. package/skills/techdebt/agents/analyzer.md +50 -50
  331. package/skills/techdebt/agents/fixer.md +41 -41
  332. package/skills/techdebt/agents/reviewer.md +47 -47
  333. package/skills/techdebt/agents/scanner.md +44 -44
  334. package/skills/techdebt/orchestrator.md +70 -70
  335. package/skills/techdebt/rubrics/severity.md +51 -51
  336. package/skills/techdebt/scripts/scan.js +90 -90
  337. package/skills/techdebt/templates/report.md +86 -86
  338. package/skills/tool-fallback/SKILL.md +104 -104
  339. package/skills/tool-fallback/rubrics/fallback-chain.md +58 -58
  340. package/skills/typescript-advanced-types/SKILL.md +67 -67
  341. package/skills/typescript-advanced-types/rubrics/type-patterns.md +109 -109
  342. package/skills/ui-ux-pro-max/SKILL.md +236 -236
  343. package/skills/ui-ux-pro-max/reference/color-and-contrast.md +517 -517
  344. package/skills/ui-ux-pro-max/reference/interaction-design.md +544 -544
  345. package/skills/ui-ux-pro-max/reference/motion-design.md +591 -591
  346. package/skills/ui-ux-pro-max/reference/responsive-design.md +463 -463
  347. package/skills/ui-ux-pro-max/reference/spatial-design.md +390 -390
  348. package/skills/ui-ux-pro-max/reference/typography.md +455 -455
  349. package/skills/ui-ux-pro-max/reference/ux-writing.md +469 -469
  350. package/skills/ui-ux-pro-max/rubrics/interaction-states.md +83 -83
  351. package/skills/ui-ux-pro-max/rubrics/responsive-breakpoints.md +99 -99
  352. package/skills/user-personas/SKILL.md +75 -75
  353. package/skills/user-personas/rubrics/research-methods.md +56 -56
  354. package/skills/user-personas/templates/persona.md +89 -89
  355. package/skills/vercel-react-best-practices/SKILL.md +60 -60
  356. package/skills/vercel-react-best-practices/rubrics/performance.md +82 -82
  357. package/skills/vercel-react-best-practices/rubrics/server-components.md +86 -86
  358. package/skills/vibe.docs/SKILL.md +171 -171
  359. package/skills/vibe.docs/templates/architecture.md +80 -80
  360. package/skills/vibe.docs/templates/readme.md +84 -84
  361. package/skills/vibe.docs/templates/release-notes.md +74 -74
  362. package/skills/vibe.figma/SKILL.md +982 -209
  363. package/skills/vibe.figma/rubrics/extraction-checklist.md +51 -51
  364. package/skills/vibe.figma/templates/component-index.md +126 -126
  365. package/skills/vibe.figma/templates/figma-handoff.md +100 -100
  366. package/skills/vibe.figma/templates/remapped-tree.md +277 -277
  367. package/skills/vibe.figma.convert/SKILL.md +511 -630
  368. package/skills/vibe.figma.convert/rubrics/conversion-rules.md +113 -129
  369. package/skills/vibe.figma.convert/templates/component.md +140 -140
  370. package/skills/vibe.figma.extract/SKILL.md +300 -349
  371. package/skills/vibe.figma.extract/rubrics/image-rules.md +137 -145
  372. package/skills/video-production/SKILL.md +52 -52
  373. package/skills/video-production/rubrics/quality-checklist.md +58 -58
  374. package/skills/video-production/templates/production-plan.md +104 -104
  375. package/vibe/config.json +29 -29
  376. package/vibe/constitution.md +227 -227
  377. package/vibe/rules/principles/communication-guide.md +98 -98
  378. package/vibe/rules/principles/development-philosophy.md +52 -52
  379. package/vibe/rules/principles/quick-start.md +102 -102
  380. package/vibe/rules/quality/bdd-contract-testing.md +393 -393
  381. package/vibe/rules/quality/checklist.md +276 -276
  382. package/vibe/rules/quality/performance.md +236 -236
  383. package/vibe/rules/quality/testing-strategy.md +440 -440
  384. package/vibe/rules/standards/anti-patterns.md +541 -541
  385. package/vibe/rules/standards/code-structure.md +291 -291
  386. package/vibe/rules/standards/complexity-metrics.md +313 -313
  387. package/vibe/rules/standards/git-workflow.md +237 -237
  388. package/vibe/rules/standards/naming-conventions.md +198 -198
  389. package/vibe/rules/standards/security.md +305 -305
  390. package/vibe/rules/writing/document-style.md +74 -74
  391. package/vibe/setup.sh +31 -31
  392. package/vibe/templates/constitution-template.md +252 -252
  393. package/vibe/templates/contract-backend-template.md +526 -526
  394. package/vibe/templates/contract-frontend-template.md +599 -599
  395. package/vibe/templates/feature-template.md +96 -96
  396. package/vibe/templates/spec-template.md +221 -221
  397. package/vibe/ui-ux-data/charts.csv +26 -26
  398. package/vibe/ui-ux-data/colors.csv +97 -97
  399. package/vibe/ui-ux-data/icons.csv +101 -101
  400. package/vibe/ui-ux-data/landing.csv +31 -31
  401. package/vibe/ui-ux-data/products.csv +96 -96
  402. package/vibe/ui-ux-data/react-performance.csv +45 -45
  403. package/vibe/ui-ux-data/stacks/astro.csv +54 -54
  404. package/vibe/ui-ux-data/stacks/flutter.csv +53 -53
  405. package/vibe/ui-ux-data/stacks/html-tailwind.csv +56 -56
  406. package/vibe/ui-ux-data/stacks/jetpack-compose.csv +53 -53
  407. package/vibe/ui-ux-data/stacks/nextjs.csv +53 -53
  408. package/vibe/ui-ux-data/stacks/nuxt-ui.csv +51 -51
  409. package/vibe/ui-ux-data/stacks/nuxtjs.csv +59 -59
  410. package/vibe/ui-ux-data/stacks/react-native.csv +52 -52
  411. package/vibe/ui-ux-data/stacks/react.csv +54 -54
  412. package/vibe/ui-ux-data/stacks/shadcn.csv +61 -61
  413. package/vibe/ui-ux-data/stacks/svelte.csv +54 -54
  414. package/vibe/ui-ux-data/stacks/swiftui.csv +51 -51
  415. package/vibe/ui-ux-data/stacks/vue.csv +50 -50
  416. package/vibe/ui-ux-data/styles.csv +68 -68
  417. package/vibe/ui-ux-data/typography.csv +57 -57
  418. package/vibe/ui-ux-data/ui-reasoning.csv +101 -101
  419. package/vibe/ui-ux-data/ux-guidelines.csv +99 -99
  420. package/vibe/ui-ux-data/version.json +31 -31
  421. 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
+ ```