@su-record/vibe 2.8.48 → 2.8.50

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