@su-record/vibe 2.8.52 → 2.9.1

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