@su-record/vibe 2.9.18 → 2.9.20

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 (459) hide show
  1. package/.env.example +37 -37
  2. package/CLAUDE.md +6 -2
  3. package/LICENSE +21 -21
  4. package/agents/architect-low.md +41 -41
  5. package/agents/architect-medium.md +59 -59
  6. package/agents/architect.md +80 -80
  7. package/agents/build-error-resolver.md +115 -115
  8. package/agents/compounder.md +261 -261
  9. package/agents/diagrammer.md +178 -178
  10. package/agents/docs/api-documenter.md +99 -99
  11. package/agents/docs/changelog-writer.md +93 -93
  12. package/agents/e2e-tester.md +294 -294
  13. package/agents/event/event-comms.md +78 -78
  14. package/agents/event/event-content.md +68 -68
  15. package/agents/event/event-image.md +95 -95
  16. package/agents/event/event-ops.md +84 -84
  17. package/agents/event/event-scheduler.md +69 -69
  18. package/agents/event/event-speaker.md +86 -86
  19. package/agents/explorer-low.md +42 -42
  20. package/agents/explorer-medium.md +59 -59
  21. package/agents/explorer.md +48 -48
  22. package/agents/implementer-low.md +43 -43
  23. package/agents/implementer-medium.md +52 -52
  24. package/agents/implementer.md +54 -54
  25. package/agents/junior-mentor.md +141 -141
  26. package/agents/planning/requirements-analyst.md +84 -84
  27. package/agents/planning/ux-advisor.md +83 -83
  28. package/agents/qa/acceptance-tester.md +86 -86
  29. package/agents/qa/edge-case-finder.md +93 -93
  30. package/agents/qa/qa-coordinator.md +131 -131
  31. package/agents/refactor-cleaner.md +143 -143
  32. package/agents/research/best-practices-agent.md +199 -199
  33. package/agents/research/codebase-patterns-agent.md +157 -157
  34. package/agents/research/framework-docs-agent.md +188 -188
  35. package/agents/research/security-advisory-agent.md +213 -213
  36. package/agents/review/architecture-reviewer.md +107 -107
  37. package/agents/review/complexity-reviewer.md +116 -116
  38. package/agents/review/data-integrity-reviewer.md +88 -88
  39. package/agents/review/git-history-reviewer.md +103 -103
  40. package/agents/review/performance-reviewer.md +86 -86
  41. package/agents/review/python-reviewer.md +150 -150
  42. package/agents/review/rails-reviewer.md +139 -139
  43. package/agents/review/react-reviewer.md +144 -144
  44. package/agents/review/security-reviewer.md +80 -80
  45. package/agents/review/simplicity-reviewer.md +140 -140
  46. package/agents/review/test-coverage-reviewer.md +116 -116
  47. package/agents/review/typescript-reviewer.md +127 -127
  48. package/agents/searcher.md +54 -54
  49. package/agents/simplifier.md +120 -120
  50. package/agents/teams/debug-team.md +70 -70
  51. package/agents/teams/dev-team.md +88 -88
  52. package/agents/teams/docs-team.md +80 -80
  53. package/agents/teams/figma/figma-analyst.md +52 -52
  54. package/agents/teams/figma/figma-architect.md +112 -112
  55. package/agents/teams/figma/figma-auditor.md +82 -82
  56. package/agents/teams/figma/figma-builder.md +100 -100
  57. package/agents/teams/figma-team.md +85 -85
  58. package/agents/teams/fullstack-team.md +83 -83
  59. package/agents/teams/lite-team.md +69 -69
  60. package/agents/teams/migration-team.md +78 -78
  61. package/agents/teams/refactor-team.md +94 -94
  62. package/agents/teams/research-team.md +86 -86
  63. package/agents/teams/review-debate-team.md +125 -125
  64. package/agents/teams/security-team.md +81 -81
  65. package/agents/tester.md +49 -49
  66. package/agents/ui/ui-a11y-auditor.md +93 -93
  67. package/agents/ui/ui-antipattern-detector.md +102 -102
  68. package/agents/ui/ui-dataviz-advisor.md +69 -69
  69. package/agents/ui/ui-design-system-gen.md +57 -57
  70. package/agents/ui/ui-industry-analyzer.md +49 -49
  71. package/agents/ui/ui-layout-architect.md +65 -65
  72. package/agents/ui/ui-stack-implementer.md +68 -68
  73. package/agents/ui/ux-compliance-reviewer.md +81 -81
  74. package/agents/ui-previewer.md +258 -258
  75. package/commands/vibe.analyze.md +533 -533
  76. package/commands/vibe.contract.md +105 -0
  77. package/commands/vibe.docs.md +33 -33
  78. package/commands/vibe.event.md +163 -163
  79. package/commands/vibe.figma.md +584 -584
  80. package/commands/vibe.harness.md +177 -177
  81. package/commands/vibe.regress.md +73 -0
  82. package/commands/vibe.review.md +624 -624
  83. package/commands/vibe.run.md +1940 -1925
  84. package/commands/vibe.scaffold.md +195 -195
  85. package/commands/vibe.spec.md +577 -565
  86. package/commands/vibe.trace.md +276 -276
  87. package/commands/vibe.utils.md +413 -413
  88. package/commands/vibe.verify.md +550 -519
  89. package/dist/cli/collaborator.js +52 -52
  90. package/dist/cli/commands/codex-proxy.js +15 -15
  91. package/dist/cli/commands/config.js +9 -9
  92. package/dist/cli/commands/evolution.js +12 -12
  93. package/dist/cli/commands/figma.js +20 -20
  94. package/dist/cli/commands/info.js +52 -52
  95. package/dist/cli/commands/init.js +5 -5
  96. package/dist/cli/commands/remove.js +14 -14
  97. package/dist/cli/commands/sentinel.js +27 -27
  98. package/dist/cli/commands/skills.js +5 -5
  99. package/dist/cli/commands/slack.js +10 -10
  100. package/dist/cli/commands/stats.js +6 -6
  101. package/dist/cli/commands/telegram.js +12 -12
  102. package/dist/cli/detect.js +32 -32
  103. package/dist/cli/index.js +33 -33
  104. package/dist/cli/llm/claude-commands.js +16 -16
  105. package/dist/cli/llm/config.js +18 -18
  106. package/dist/cli/llm/gemini-commands.js +16 -16
  107. package/dist/cli/llm/gpt-commands.js +19 -19
  108. package/dist/cli/llm/help.js +21 -21
  109. package/dist/cli/postinstall/cursor-agents.js +32 -32
  110. package/dist/cli/postinstall/cursor-rules.js +83 -83
  111. package/dist/cli/postinstall/cursor-skills.js +743 -743
  112. package/dist/cli/setup/GlobalInstaller.d.ts.map +1 -1
  113. package/dist/cli/setup/GlobalInstaller.js +9 -0
  114. package/dist/cli/setup/GlobalInstaller.js.map +1 -1
  115. package/dist/cli/setup/Provisioner.js +42 -42
  116. package/dist/infra/lib/DeepInit.js +24 -24
  117. package/dist/infra/lib/IterationTracker.js +11 -11
  118. package/dist/infra/lib/PythonParser.js +108 -108
  119. package/dist/infra/lib/ReviewRace.js +96 -96
  120. package/dist/infra/lib/SkillFrontmatter.js +28 -28
  121. package/dist/infra/lib/SkillQualityGate.js +9 -9
  122. package/dist/infra/lib/SkillRepository.js +159 -159
  123. package/dist/infra/lib/UltraQA.js +99 -99
  124. package/dist/infra/lib/autonomy/AuditStore.js +41 -41
  125. package/dist/infra/lib/autonomy/ConfirmationStore.js +30 -30
  126. package/dist/infra/lib/autonomy/EventOutbox.js +38 -38
  127. package/dist/infra/lib/autonomy/PolicyEngine.d.ts +3 -3
  128. package/dist/infra/lib/autonomy/PolicyEngine.js +18 -18
  129. package/dist/infra/lib/autonomy/SecuritySentinel.js +1 -1
  130. package/dist/infra/lib/autonomy/SuggestionStore.js +33 -33
  131. package/dist/infra/lib/embedding/VectorStore.js +22 -22
  132. package/dist/infra/lib/evolution/AgentAnalyzer.js +10 -10
  133. package/dist/infra/lib/evolution/DescriptionOptimizer.js +21 -21
  134. package/dist/infra/lib/evolution/GenerationRegistry.js +36 -36
  135. package/dist/infra/lib/evolution/InsightStore.js +90 -90
  136. package/dist/infra/lib/evolution/ParityTester.js +57 -57
  137. package/dist/infra/lib/evolution/RollbackManager.js +5 -5
  138. package/dist/infra/lib/evolution/SkillBenchmark.js +23 -23
  139. package/dist/infra/lib/evolution/SkillEvalRunner.js +50 -50
  140. package/dist/infra/lib/evolution/SkillGapDetector.js +10 -10
  141. package/dist/infra/lib/evolution/UsageTracker.js +28 -28
  142. package/dist/infra/lib/gemini/orchestration.js +5 -5
  143. package/dist/infra/lib/gpt/orchestration.js +4 -4
  144. package/dist/infra/lib/memory/KnowledgeGraph.js +4 -4
  145. package/dist/infra/lib/memory/MemorySearch.js +57 -57
  146. package/dist/infra/lib/memory/MemoryStorage.js +181 -181
  147. package/dist/infra/lib/memory/ObservationStore.js +28 -28
  148. package/dist/infra/lib/memory/ReflectionStore.js +30 -30
  149. package/dist/infra/lib/memory/SessionRAGRetriever.js +7 -7
  150. package/dist/infra/lib/memory/SessionRAGStore.js +225 -225
  151. package/dist/infra/lib/memory/SessionSummarizer.js +9 -9
  152. package/dist/infra/orchestrator/AgentManager.js +12 -12
  153. package/dist/infra/orchestrator/AgentRegistry.js +65 -65
  154. package/dist/infra/orchestrator/MultiLlmResearch.js +8 -8
  155. package/dist/infra/orchestrator/SwarmOrchestrator.test.js +16 -16
  156. package/dist/infra/orchestrator/parallelResearch.js +24 -24
  157. package/dist/tools/convention/analyzeComplexity.test.js +115 -115
  158. package/dist/tools/convention/validateCodeQuality.test.js +104 -104
  159. package/dist/tools/memory/createMemoryTimeline.js +10 -10
  160. package/dist/tools/memory/getMemoryGraph.js +12 -12
  161. package/dist/tools/memory/getSessionContext.js +9 -9
  162. package/dist/tools/memory/linkMemories.js +14 -14
  163. package/dist/tools/memory/listMemories.js +4 -4
  164. package/dist/tools/memory/recallMemory.js +4 -4
  165. package/dist/tools/memory/saveMemory.js +4 -4
  166. package/dist/tools/memory/searchMemoriesAdvanced.js +23 -23
  167. package/dist/tools/semantic/analyzeDependencyGraph.js +12 -12
  168. package/dist/tools/semantic/astGrep.test.js +6 -6
  169. package/dist/tools/spec/prdParser.test.js +171 -171
  170. package/dist/tools/spec/specGenerator.js +169 -169
  171. package/dist/tools/spec/traceabilityMatrix.js +64 -64
  172. package/dist/tools/spec/traceabilityMatrix.test.js +28 -28
  173. package/hooks/gemini-hooks.json +73 -73
  174. package/hooks/hooks.json +126 -126
  175. package/hooks/scripts/__tests__/keyword-detector.test.js +199 -199
  176. package/hooks/scripts/__tests__/pre-tool-guard.test.js +287 -287
  177. package/hooks/scripts/__tests__/sentinel-guard.test.js +208 -208
  178. package/hooks/scripts/auto-commit.js +97 -97
  179. package/hooks/scripts/auto-format.js +64 -64
  180. package/hooks/scripts/auto-test.js +81 -81
  181. package/hooks/scripts/code-check.js +268 -268
  182. package/hooks/scripts/codex-detect.js +46 -46
  183. package/hooks/scripts/codex-review-gate.js +80 -80
  184. package/hooks/scripts/command-log.js +32 -32
  185. package/hooks/scripts/context-save.js +353 -353
  186. package/hooks/scripts/evolution-engine.js +91 -91
  187. package/hooks/scripts/figma-extract.js +635 -635
  188. package/hooks/scripts/figma-guard.js +219 -219
  189. package/hooks/scripts/figma-refine.js +315 -315
  190. package/hooks/scripts/figma-to-scss.js +394 -394
  191. package/hooks/scripts/figma-validate.js +353 -353
  192. package/hooks/scripts/hud-status.js +321 -321
  193. package/hooks/scripts/keyword-detector.js +214 -214
  194. package/hooks/scripts/llm-orchestrate.js +645 -645
  195. package/hooks/scripts/post-edit.js +32 -32
  196. package/hooks/scripts/pr-test-gate.js +52 -52
  197. package/hooks/scripts/pre-tool-guard.js +213 -213
  198. package/hooks/scripts/prompt-dispatcher.js +190 -190
  199. package/hooks/scripts/sentinel-guard.js +130 -130
  200. package/hooks/scripts/session-start.js +177 -177
  201. package/hooks/scripts/skill-injector.js +83 -83
  202. package/hooks/scripts/stop-notify.js +209 -209
  203. package/hooks/scripts/utils.js +257 -243
  204. package/languages/csharp-unity.md +515 -515
  205. package/languages/gdscript-godot.md +470 -470
  206. package/languages/ruby-rails.md +489 -489
  207. package/languages/typescript-angular.md +433 -433
  208. package/languages/typescript-astro.md +416 -416
  209. package/languages/typescript-electron.md +406 -406
  210. package/languages/typescript-nestjs.md +524 -524
  211. package/languages/typescript-svelte.md +407 -407
  212. package/languages/typescript-tauri.md +365 -365
  213. package/package.json +101 -101
  214. package/skills/agents-md/SKILL.md +121 -121
  215. package/skills/agents-md/rubrics/what-to-keep.md +49 -49
  216. package/skills/agents-md/templates/agents-md.md +36 -36
  217. package/skills/arch-guard/SKILL.md +181 -181
  218. package/skills/arch-guard/agents/detector.md +48 -48
  219. package/skills/arch-guard/agents/reporter.md +48 -48
  220. package/skills/arch-guard/agents/rule-generator.md +49 -49
  221. package/skills/arch-guard/agents/violation-checker.md +51 -51
  222. package/skills/arch-guard/frameworks/clean-architecture.md +108 -108
  223. package/skills/arch-guard/frameworks/solid.md +102 -102
  224. package/skills/arch-guard/scripts/check-boundaries.js +90 -90
  225. package/skills/arch-guard/templates/arch-rules.json +47 -47
  226. package/skills/arch-guard/templates/violation-report.md +53 -53
  227. package/skills/brand-assets/SKILL.md +147 -147
  228. package/skills/brand-assets/rubrics/asset-checklist.md +98 -98
  229. package/skills/brand-assets/templates/brand-guide.md +161 -161
  230. package/skills/capability-loop/SKILL.md +272 -272
  231. package/skills/capability-loop/agents/capability-designer.md +61 -61
  232. package/skills/capability-loop/agents/failure-analyst.md +55 -55
  233. package/skills/capability-loop/agents/implementer.md +50 -50
  234. package/skills/capability-loop/agents/tester.md +53 -53
  235. package/skills/capability-loop/templates/capability-spec.md +118 -118
  236. package/skills/capability-loop/templates/failure-analysis.md +118 -118
  237. package/skills/characterization-test/SKILL.md +207 -207
  238. package/skills/characterization-test/agents/behavior-capturer.md +50 -50
  239. package/skills/characterization-test/agents/coverage-checker.md +54 -54
  240. package/skills/characterization-test/agents/reporter.md +50 -50
  241. package/skills/characterization-test/agents/test-writer.md +49 -49
  242. package/skills/characterization-test/rubrics/coverage-criteria.md +53 -53
  243. package/skills/characterization-test/templates/test-template.ts +101 -101
  244. package/skills/chub-usage/SKILL.md +139 -139
  245. package/skills/claude-md-guide/SKILL.md +351 -351
  246. package/skills/claude-md-guide/rubrics/anti-patterns.md +88 -88
  247. package/skills/claude-md-guide/templates/claude-md.md +54 -54
  248. package/skills/commerce-patterns/SKILL.md +64 -64
  249. package/skills/commerce-patterns/rubrics/checkout-flow.md +48 -48
  250. package/skills/commerce-patterns/templates/product-schema.md +85 -85
  251. package/skills/commit-push-pr/SKILL.md +77 -77
  252. package/skills/commit-push-pr/agents/change-analyzer.md +55 -55
  253. package/skills/commit-push-pr/agents/message-writer.md +50 -50
  254. package/skills/commit-push-pr/agents/pr-writer.md +58 -58
  255. package/skills/commit-push-pr/agents/reviewer.md +52 -52
  256. package/skills/commit-push-pr/rubrics/commit-message.md +73 -73
  257. package/skills/commit-push-pr/templates/pr-body.md +63 -63
  258. package/skills/context7-usage/SKILL.md +106 -106
  259. package/skills/context7-usage/rubrics/when-to-use.md +50 -50
  260. package/skills/create-prd/SKILL.md +90 -90
  261. package/skills/create-prd/agents/edge-case-finder.md +48 -48
  262. package/skills/create-prd/agents/prioritizer.md +60 -60
  263. package/skills/create-prd/agents/requirements-writer.md +48 -48
  264. package/skills/create-prd/agents/researcher.md +55 -55
  265. package/skills/create-prd/agents/reviewer.md +54 -54
  266. package/skills/create-prd/frameworks/jobs-to-be-done.md +96 -96
  267. package/skills/create-prd/frameworks/rice-scoring.md +97 -97
  268. package/skills/create-prd/orchestrator.md +70 -70
  269. package/skills/create-prd/rubrics/completeness.md +58 -58
  270. package/skills/create-prd/templates/prd.md +139 -139
  271. package/skills/design-audit/SKILL.md +152 -152
  272. package/skills/design-audit/agents/a11y-auditor.md +43 -43
  273. package/skills/design-audit/agents/performance-auditor.md +46 -46
  274. package/skills/design-audit/agents/responsive-auditor.md +46 -46
  275. package/skills/design-audit/agents/scorer.md +47 -47
  276. package/skills/design-audit/agents/slop-detector.md +47 -47
  277. package/skills/design-audit/frameworks/core-web-vitals.md +107 -107
  278. package/skills/design-audit/frameworks/wcag-checklist.md +64 -64
  279. package/skills/design-audit/orchestrator.md +64 -64
  280. package/skills/design-audit/rubrics/ai-slop-patterns.md +83 -83
  281. package/skills/design-audit/rubrics/scoring.md +63 -63
  282. package/skills/design-audit/templates/report.md +88 -88
  283. package/skills/design-critique/SKILL.md +139 -139
  284. package/skills/design-critique/rubrics/ux-heuristics.md +143 -143
  285. package/skills/design-critique/templates/critique-report.md +86 -86
  286. package/skills/design-distill/SKILL.md +130 -130
  287. package/skills/design-distill/templates/design-system.md +132 -132
  288. package/skills/design-normalize/SKILL.md +133 -133
  289. package/skills/design-normalize/rubrics/token-naming.md +117 -117
  290. package/skills/design-normalize/templates/token-audit.md +89 -89
  291. package/skills/design-polish/SKILL.md +131 -131
  292. package/skills/design-polish/rubrics/polish-checklist.md +68 -68
  293. package/skills/design-polish/templates/polish-report.md +64 -64
  294. package/skills/design-teach/SKILL.md +182 -182
  295. package/skills/design-teach/rubrics/brand-personality.md +73 -73
  296. package/skills/design-teach/templates/design-context.json +36 -36
  297. package/skills/devlog/SKILL.md +143 -143
  298. package/skills/e2e-commerce/SKILL.md +62 -62
  299. package/skills/e2e-commerce/templates/test-scenarios.md +170 -170
  300. package/skills/event-comms/SKILL.md +172 -172
  301. package/skills/event-comms/templates/email-invite.md +99 -99
  302. package/skills/event-comms/templates/sns-post.md +133 -133
  303. package/skills/event-ops/SKILL.md +207 -207
  304. package/skills/event-ops/rubrics/contingency.md +85 -85
  305. package/skills/event-ops/templates/d-day-checklist.md +65 -65
  306. package/skills/event-planning/SKILL.md +144 -144
  307. package/skills/event-planning/rubrics/timeline.md +70 -70
  308. package/skills/event-planning/templates/event-plan.md +91 -91
  309. package/skills/exec-plan/SKILL.md +149 -149
  310. package/skills/exec-plan/agents/decomposer.md +47 -47
  311. package/skills/exec-plan/agents/dependency-mapper.md +44 -44
  312. package/skills/exec-plan/agents/estimator.md +43 -43
  313. package/skills/exec-plan/agents/validator.md +55 -55
  314. package/skills/exec-plan/orchestrator.md +70 -70
  315. package/skills/exec-plan/rubrics/complexity-scoring.md +75 -75
  316. package/skills/exec-plan/templates/plan.md +147 -147
  317. package/skills/git-worktree/SKILL.md +73 -73
  318. package/skills/git-worktree/rubrics/when-to-use.md +55 -55
  319. package/skills/handoff/SKILL.md +110 -110
  320. package/skills/handoff/agents/context-summarizer.md +51 -51
  321. package/skills/handoff/agents/document-writer.md +63 -63
  322. package/skills/handoff/agents/state-collector.md +53 -53
  323. package/skills/handoff/agents/verifier.md +48 -48
  324. package/skills/handoff/rubrics/completeness.md +62 -62
  325. package/skills/handoff/templates/handoff.md +107 -107
  326. package/skills/parallel-research/SKILL.md +104 -89
  327. package/skills/parallel-research/agents/best-practices.md +43 -43
  328. package/skills/parallel-research/agents/codebase-patterns.md +46 -46
  329. package/skills/parallel-research/agents/framework-docs.md +45 -45
  330. package/skills/parallel-research/agents/security-advisory.md +46 -46
  331. package/skills/parallel-research/agents/synthesizer.md +57 -52
  332. package/skills/parallel-research/experts/best-practices.md +50 -50
  333. package/skills/parallel-research/experts/codebase-patterns.md +70 -70
  334. package/skills/parallel-research/experts/framework-docs.md +65 -65
  335. package/skills/parallel-research/experts/security-advisory.md +69 -69
  336. package/skills/parallel-research/orchestrator.md +79 -65
  337. package/skills/parallel-research/templates/awesome-list.md +32 -0
  338. package/skills/parallel-research/templates/paper.md +88 -0
  339. package/skills/parallel-research/templates/synthesis.md +101 -101
  340. package/skills/prioritization-frameworks/SKILL.md +87 -87
  341. package/skills/prioritization-frameworks/rubrics/frameworks.md +79 -79
  342. package/skills/prioritization-frameworks/templates/scoring-matrix.md +69 -69
  343. package/skills/priority-todos/SKILL.md +64 -64
  344. package/skills/priority-todos/rubrics/prioritization.md +70 -70
  345. package/skills/priority-todos/templates/todo-board.md +59 -59
  346. package/skills/seo-checklist/SKILL.md +58 -58
  347. package/skills/seo-checklist/frameworks/structured-data.md +153 -153
  348. package/skills/seo-checklist/rubrics/content-seo.md +42 -42
  349. package/skills/seo-checklist/rubrics/technical-seo.md +48 -48
  350. package/skills/techdebt/SKILL.md +124 -124
  351. package/skills/techdebt/agents/analyzer.md +50 -50
  352. package/skills/techdebt/agents/fixer.md +41 -41
  353. package/skills/techdebt/agents/reviewer.md +47 -47
  354. package/skills/techdebt/agents/scanner.md +44 -44
  355. package/skills/techdebt/orchestrator.md +70 -70
  356. package/skills/techdebt/rubrics/severity.md +51 -51
  357. package/skills/techdebt/scripts/scan.js +90 -90
  358. package/skills/techdebt/templates/report.md +86 -86
  359. package/skills/tool-fallback/SKILL.md +104 -104
  360. package/skills/tool-fallback/rubrics/fallback-chain.md +58 -58
  361. package/skills/typescript-advanced-types/SKILL.md +67 -67
  362. package/skills/typescript-advanced-types/rubrics/type-patterns.md +109 -109
  363. package/skills/ui-ux-pro-max/SKILL.md +236 -236
  364. package/skills/ui-ux-pro-max/reference/color-and-contrast.md +517 -517
  365. package/skills/ui-ux-pro-max/reference/interaction-design.md +544 -544
  366. package/skills/ui-ux-pro-max/reference/motion-design.md +591 -591
  367. package/skills/ui-ux-pro-max/reference/responsive-design.md +463 -463
  368. package/skills/ui-ux-pro-max/reference/spatial-design.md +390 -390
  369. package/skills/ui-ux-pro-max/reference/typography.md +455 -455
  370. package/skills/ui-ux-pro-max/reference/ux-writing.md +469 -469
  371. package/skills/ui-ux-pro-max/rubrics/interaction-states.md +83 -83
  372. package/skills/ui-ux-pro-max/rubrics/responsive-breakpoints.md +99 -99
  373. package/skills/user-personas/SKILL.md +75 -75
  374. package/skills/user-personas/rubrics/research-methods.md +56 -56
  375. package/skills/user-personas/templates/persona.md +89 -89
  376. package/skills/vercel-react-best-practices/SKILL.md +60 -60
  377. package/skills/vercel-react-best-practices/rubrics/performance.md +82 -82
  378. package/skills/vercel-react-best-practices/rubrics/server-components.md +86 -86
  379. package/skills/vibe-contract/SKILL.md +166 -0
  380. package/skills/vibe-docs/templates/architecture.md +80 -80
  381. package/skills/vibe-docs/templates/readme.md +84 -84
  382. package/skills/vibe-docs/templates/release-notes.md +74 -74
  383. package/skills/vibe-figma/SKILL.md +363 -363
  384. package/skills/vibe-figma/rubrics/extraction-checklist.md +51 -51
  385. package/skills/vibe-figma/templates/component-index.md +126 -126
  386. package/skills/vibe-figma/templates/component-spec.md +168 -168
  387. package/skills/vibe-figma/templates/figma-handoff.md +100 -100
  388. package/skills/vibe-figma/templates/remapped-tree.md +277 -277
  389. package/skills/vibe-figma-convert/SKILL.md +235 -235
  390. package/skills/vibe-figma-convert/rubrics/conversion-rules.md +141 -141
  391. package/skills/vibe-figma-convert/templates/component.md +140 -140
  392. package/skills/vibe-figma-extract/SKILL.md +219 -219
  393. package/skills/vibe-figma-extract/rubrics/image-rules.md +157 -157
  394. package/skills/vibe-interview/SKILL.md +358 -358
  395. package/skills/vibe-interview/checklists/api.md +101 -101
  396. package/skills/vibe-interview/checklists/feature.md +88 -88
  397. package/skills/vibe-interview/checklists/library.md +95 -95
  398. package/skills/vibe-interview/checklists/mobile.md +89 -89
  399. package/skills/vibe-interview/checklists/webapp.md +97 -97
  400. package/skills/vibe-interview/checklists/website.md +99 -99
  401. package/skills/vibe-plan/SKILL.md +254 -254
  402. package/skills/vibe-regress/SKILL.md +174 -0
  403. package/skills/vibe-regress/templates/bug.md +44 -0
  404. package/skills/vibe-regress/templates/test-jest.md +29 -0
  405. package/skills/vibe-regress/templates/test-vitest.md +30 -0
  406. package/skills/vibe-spec/SKILL.md +1195 -1155
  407. package/skills/vibe-spec-review/SKILL.md +726 -726
  408. package/skills/video-production/SKILL.md +52 -52
  409. package/skills/video-production/rubrics/quality-checklist.md +58 -58
  410. package/skills/video-production/templates/production-plan.md +104 -104
  411. package/vibe/config.json +29 -29
  412. package/vibe/constitution.md +227 -227
  413. package/vibe/rules/principles/communication-guide.md +98 -98
  414. package/vibe/rules/principles/development-philosophy.md +52 -52
  415. package/vibe/rules/principles/quick-start.md +102 -102
  416. package/vibe/rules/quality/bdd-contract-testing.md +393 -393
  417. package/vibe/rules/quality/checklist.md +276 -276
  418. package/vibe/rules/quality/performance.md +236 -236
  419. package/vibe/rules/quality/testing-strategy.md +440 -440
  420. package/vibe/rules/standards/anti-patterns.md +541 -541
  421. package/vibe/rules/standards/code-structure.md +291 -291
  422. package/vibe/rules/standards/complexity-metrics.md +313 -313
  423. package/vibe/rules/standards/git-workflow.md +237 -237
  424. package/vibe/rules/standards/naming-conventions.md +198 -198
  425. package/vibe/rules/standards/security.md +305 -305
  426. package/vibe/rules/writing/document-style.md +74 -74
  427. package/vibe/setup.sh +31 -31
  428. package/vibe/templates/claudemd-template.md +74 -74
  429. package/vibe/templates/constitution-template.md +267 -267
  430. package/vibe/templates/contract-backend-template.md +526 -526
  431. package/vibe/templates/contract-frontend-template.md +599 -599
  432. package/vibe/templates/feature-template.md +96 -96
  433. package/vibe/templates/plan-template.md +194 -194
  434. package/vibe/templates/spec-template.md +221 -221
  435. package/vibe/ui-ux-data/charts.csv +26 -26
  436. package/vibe/ui-ux-data/colors.csv +97 -97
  437. package/vibe/ui-ux-data/icons.csv +101 -101
  438. package/vibe/ui-ux-data/landing.csv +31 -31
  439. package/vibe/ui-ux-data/products.csv +96 -96
  440. package/vibe/ui-ux-data/react-performance.csv +45 -45
  441. package/vibe/ui-ux-data/stacks/astro.csv +54 -54
  442. package/vibe/ui-ux-data/stacks/flutter.csv +53 -53
  443. package/vibe/ui-ux-data/stacks/html-tailwind.csv +56 -56
  444. package/vibe/ui-ux-data/stacks/jetpack-compose.csv +53 -53
  445. package/vibe/ui-ux-data/stacks/nextjs.csv +53 -53
  446. package/vibe/ui-ux-data/stacks/nuxt-ui.csv +51 -51
  447. package/vibe/ui-ux-data/stacks/nuxtjs.csv +59 -59
  448. package/vibe/ui-ux-data/stacks/react-native.csv +52 -52
  449. package/vibe/ui-ux-data/stacks/react.csv +54 -54
  450. package/vibe/ui-ux-data/stacks/shadcn.csv +61 -61
  451. package/vibe/ui-ux-data/stacks/svelte.csv +54 -54
  452. package/vibe/ui-ux-data/stacks/swiftui.csv +51 -51
  453. package/vibe/ui-ux-data/stacks/vue.csv +50 -50
  454. package/vibe/ui-ux-data/styles.csv +68 -68
  455. package/vibe/ui-ux-data/typography.csv +57 -57
  456. package/vibe/ui-ux-data/ui-reasoning.csv +101 -101
  457. package/vibe/ui-ux-data/ux-guidelines.csv +99 -99
  458. package/vibe/ui-ux-data/version.json +31 -31
  459. package/vibe/ui-ux-data/web-interface.csv +31 -31
@@ -1,565 +1,577 @@
1
- ---
2
- description: 프로젝트 명세 통합 진입점 — interview → plan → spec → review → run/figma 전체 워크플로 오케스트레이션
3
- argument-hint: "(선택) feature name, plan/interview file path, or idea"
4
- ---
5
-
6
- # /vibe.spec
7
-
8
- **vibe 워크플로 통합 진입점.** "무엇을 개발할지" 질문으로 시작해서 interview → plan → SPEC 작성 → review → 구현 + UI 디자인까지 전체 흐름을 오케스트레이션한다.
9
-
10
- ## Usage
11
-
12
- ```
13
- /vibe.spec # 빈 시작 — "무엇을 만들까요?"부터
14
- /vibe.spec "패럴랙스 웹사이트" # 아이디어/피처명 지정 시작
15
- /vibe.spec ".claude/vibe/plans/{feature}.md" # 기획서 입력 (plan 단계 스킵)
16
- /vibe.spec ".claude/vibe/interviews/{feature}.md" # interview 입력 (interview 단계 스킵)
17
- /vibe.spec "docs/prd.md" # 외부 PRD/아이디어 파일 입력
18
- /vibe.spec + 📎 첨부 # 첨부 기반 시작
19
- /vibe.spec "feature-name" ultrawork # 중단 게이트 없이 자동 전 흐름 실행
20
- ```
21
-
22
- ## Philosophy
23
-
24
- > **사용자는 "무엇을 만들지"만 말하면 된다. 어떤 스킬을 언제 부를지는 vibe가 결정한다.**
25
-
26
- - **단일 진입점**: `/vibe.spec` 하나로 전체 워크플로 시작. 다른 `/vibe.*` 커맨드 이름 외울 필요 없음.
27
- - **Smart resume**: 기존 interview/plan/spec 파일 존재 여부로 어느 단계부터 시작할지 자동 판단.
28
- - **자동 체이닝**: 스킬 `chain-next` 메타데이터 따라 vibe-interview → vibe-plan → vibe-spec → vibe-spec-review 진행.
29
- - **분기 판단**: 기획서의 `type` 필드로 UI 트랙/로직 트랙 여부 결정.
30
- - **사용자 제어**: 각 단계 사이에 사용자 확인 지점(stop gate) 제공 (ultrawork 모드는 스킵).
31
-
32
- ## Flow
33
-
34
- ```
35
- /vibe.spec ["input"?]
36
-
37
- Phase 0: Git branch setup
38
-
39
- Phase 0.5: Input 분석 + Smart resume 결정
40
- - 첨부/파일/아이디어 감지
41
- - 기존 .claude/vibe/{interviews,plans,specs}/ 확인
42
- - 시작 단계 결정: interview | plan | spec | review
43
-
44
- Phase 1: Interview (skill: vibe-interview)
45
- - 조건: interview 파일 없음
46
- - 사용자 "그만"까지 반복 인터뷰
47
- - 출력: .claude/vibe/interviews/{feature}.md
48
-
49
- [Stop Gate 1] — ultrawork 모드에서는 스킵
50
-
51
- Phase 2: Plan (skill: vibe-plan)
52
- - 조건: plan 파일 없음
53
- - interview → 마크다운 기획서 정제
54
- - 출력: .claude/vibe/plans/{feature}.md
55
-
56
- [Stop Gate 2 + 분기 판단]
57
- 기획서 type 읽고 경로 결정:
58
- - website/webapp/mobile → UI + Logic 병렬
59
- - api/library/feature-data → Logic만
60
-
61
- Phase 3: SPEC 작성 (skill: vibe-spec)
62
- - PTCF 구조 SPEC 문서 + Feature(BDD) 파일
63
- - Parallel research (GPT/Gemini/Claude agents)
64
- - Large scope 자동 분할
65
- - Ambiguity scan + 품질 게이트(100점, 수렴까지 루프)
66
- - 출력: .claude/vibe/specs/{feature}.md + .claude/vibe/features/{feature}.feature
67
-
68
- Phase 4: SPEC Review (skill: vibe-spec-review)
69
- - Race Review (GPT + Gemini, 라운드 수 캡 없음, 수렴까지 루프)
70
- - (옵션) Codex adversarial review
71
- - 사용자 최종 체크포인트
72
-
73
- Phase 5a: Logic Track → /vibe.run
74
- Phase 5b: UI Track (병렬, UI 프로젝트만) → /vibe.figma
75
-
76
- Phase 6: Verify (/vibe.verify)
77
- Phase 7: Trace (/vibe.trace)
78
-
79
- Done
80
- ```
81
-
82
- ## Rules Reference
83
-
84
- **`~/.claude/vibe/rules/` (global) 준수:**
85
-
86
- - `core/development-philosophy.md`
87
- - `core/quick-start.md` — Korean first
88
- - `core/communication-guide.md`
89
-
90
- ## Process
91
-
92
- > **⏱️ Timer**: 시작 시 `getCurrentTime` 호출, `{start_time}`로 기록.
93
-
94
- ### Phase 0: Git Branch Setup (MANDATORY)
95
-
96
- ```bash
97
- git branch --show-current
98
- ```
99
-
100
- | 현재 | 행동 |
101
- |-----|-----|
102
- | `main`/`master` | 임시 이름으로 `git checkout -b vibe/tmp` (이후 feature 이름 확정되면 리네임) |
103
- | `feature/*`, `plan/*`, `interview/*`, `vibe/*` | 확인: "이 브랜치에서 계속?" |
104
- | 기타 | 사용자 확인 |
105
-
106
- ### Phase 0.5: Input 분석 + Smart Resume
107
-
108
- **입력 우선순위:**
109
-
110
- ```
111
- 1. 📎 첨부 파일 있음? → 첨부 분석 → feature name 추출
112
- 2. 인자가 파일 경로? → 파일 위치로 시작 단계 결정:
113
- .claude/vibe/interviews/*.md → Phase 2 (plan)
114
- .claude/vibe/plans/*.md → Phase 3 (spec)
115
- .claude/vibe/specs/*.md → Phase 4 (review)
116
- 기타 (.md/.txt/.pdf) → Phase 2 (plan, 외부 PRD 흡수)
117
- 3. 인자가 feature name? → .claude/vibe/에서 기존 파일 검색
118
- existing spec → "리뷰 재실행? 이어서? 재작성?" 물음
119
- existing plan → Phase 3 (spec)
120
- existing interview → Phase 2 (plan)
121
- 아무것도 없음 → Phase 1 (interview)
122
- 4. 인자 없음 → Smart Resume Fallback 알고리즘 실행 (아래 참조)
123
- ```
124
-
125
- #### Smart Resume Fallback (인자 없는 `/vibe.spec` 호출 시)
126
-
127
- **목적**: feature 이름을 기억하지 못해도 진행 중 작업을 자동 발견해서 이어서 진행할 수 있게 한다.
128
-
129
- ```
130
- 알고리즘:
131
-
132
- Step 1) .claude/vibe/.last-feature 확인 (pointer 파일)
133
- - 파일 없음 → Step 2로
134
- - 존재 → 해당 feature의 상태 요약 출력 + 확인 질문:
135
- "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
136
- 🔄 마지막 작업: {feature-name}
137
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
138
- ✅ interview: .claude/vibe/interviews/{feature}.md (status: complete, N일 전)
139
- ✅ plan: .claude/vibe/plans/{feature}.md (N일 전)
140
- ❌ spec: 없음
141
- → 다음 단계: Phase 3 (vibe-spec 스킬 — SPEC 작성)
142
-
143
- 이어서 진행할까요?
144
- Enter / yes → 이어서 진행
145
- list → 다른 진행 중 작업 목록 보기
146
- new → 새 아이디어로 시작
147
- abort → 종료"
148
-
149
- - yes → Phase 0.5의 인자 분석 경로 3번 (feature name)으로 진입
150
- - list → Step 2로
151
- - new → Step 3으로
152
- - abort → 종료
153
-
154
- Step 2) 진행 중 작업 목록 표시 (.claude/vibe/ 디렉토리 스캔)
155
- 수집:
156
- features = {} (feature name → {hasInterview, hasPlan, hasSpec, mtime})
157
- for each file in .claude/vibe/interviews/*.md:
158
- feature = basename without .md
159
- features[feature].hasInterview = true
160
- features[feature].interviewMtime = file.mtime
161
- features[feature].interviewStatus = frontmatter의 status (complete/partial)
162
- 동일하게 plans/*.md, specs/*.md 스캔
163
-
164
- 정렬: 가장 최근 작업 (max mtime) 순
165
- 최대 10개까지 표시
166
-
167
- 진행 중 작업 0개 → Step 3으로
168
- 1개 이상 → 목록 출력 + 선택 질문:
169
- "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
170
- 🔍 진행 중인 작업
171
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
172
-
173
- 1. bean-landing [interview: partial] 2일 전
174
- 2. todo-app [plan: complete] 어제
175
- 3. payment-api [spec: complete] 방금 전
176
- ─────────────────────────────────────────────
177
- n. ➕ 새로 시작
178
- a. 종료
179
-
180
- 선택 번호 또는 feature 이름을 입력하세요:"
181
-
182
- 사용자 응답 처리:
183
- - 숫자 (1~N) → 해당 feature 선택 → 인자 분석 경로 3번으로
184
- - 정확한 feature 이름 → 인자 분석 경로 3번으로
185
- - "n" 또는 "new" → Step 3으로
186
- - "a" 또는 "abort" → 종료
187
- - 자유 텍스트 (매칭 없음) → "{입력}은 기존 feature가 아닙니다. 새로 시작할까요? (y/n)" 확인
188
-
189
- Step 3) 빈 시작 (기존 동작)
190
- "👋 무엇을 만들고 싶으신가요?" 질문 → Phase 1 (interview)
191
- ```
192
-
193
- #### `.last-feature` 포인터 파일 갱신 규칙
194
-
195
- ```
196
- 경로: .claude/vibe/.last-feature
197
- 형식: 한 줄, feature name만 저장
198
- 예: "bean-landing\n"
199
-
200
- ⚠ 이 파일은 **개인 작업 포인터**이므로 git에 커밋하지 않는다.
201
- `.gitignore` 에 `.claude/vibe/.last-feature` 엔트리 필수.
202
-
203
- 갱신 시점:
204
- - Phase 1 (interview) 진입 시 → feature name 결정되면 즉시 기록
205
- - Phase 2 (plan) 진입 시 → 기록 (이미 맞으면 no-op)
206
- - Phase 3 (spec) 진입 시 → 기록
207
- - Phase 4 (review) 진입 시 → 기록
208
-
209
- 즉, 어느 Phase에서 멈추든 다음 /vibe.spec 호출 시 이 feature가 1순위로 제안된다.
210
-
211
- 삭제 시점:
212
- - Phase 7 (trace) 완료 시 → 파일 삭제 (워크플로 완주)
213
- - 사용자가 명시적으로 종료/abort 선택 시 → 삭제하지 않음 (재개 가능하게)
214
- ```
215
-
216
- **출력 예시:**
217
-
218
- ```
219
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
220
- 🔍 Input 분석
221
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
222
-
223
- 입력: "패럴랙스 웹사이트"
224
- 분류: 신규 아이디어
225
- 기존 파일: 없음
226
-
227
- → 시작 단계: Phase 1 (vibe-interview)
228
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
229
- ```
230
-
231
- ### Phase 1: Interview (조건부)
232
-
233
- **진입 조건:** interview 파일이 아직 없음
234
-
235
- **진입 방식:**
236
-
237
- 1. **인자 있음** (`/vibe.spec "아이디어"`)
238
- → `vibe-interview` 스킬 로드 + 아이디어 전달
239
-
240
- 2. **인자 없음** (`/vibe.spec`)
241
- → **Smart Resume Fallback 먼저** (Phase 0.5 참조):
242
- - `.last-feature` 있고 사용자가 "이어서" 선택 → 해당 feature로 진입 (이 Phase 1 건너뛸 수 있음)
243
- - 진행 중 작업 목록에서 선택 → 해당 feature로 진입
244
- - "new" 선택 or 진행 중 작업 없음 → 아래 질문으로 빈 시작
245
- → 빈 시작 질문:
246
- ```
247
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
248
- 👋 무엇을 만들고 싶으신가요?
249
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
250
-
251
- 예:
252
- - "패럴랙스 웹사이트"
253
- - "할 일 관리 앱"
254
- - "Stripe 결제 연동 API"
255
- - 또는 자유롭게 설명
256
-
257
- (파일/이미지 첨부도 가능)
258
- ```
259
- → 사용자 응답 → `vibe-interview` 스킬 로드
260
-
261
- **스킬 로드:**
262
-
263
- ```
264
- Load skill `vibe-interview` with input: {user_idea}
265
- ```
266
-
267
- > **`.last-feature` 갱신**: vibe-interview 스킬이 feature name을 확정하는 즉시 `.claude/vibe/.last-feature` 에 한 줄로 기록. 이후 Phase 2/3/4 진입 시에도 동일 기록 유지 (값이 같으면 no-op).
268
-
269
- `vibe-interview` 스킬이 자체적으로:
270
- - 프로젝트 타입 감지 (website/webapp/mobile/api/library/feature)
271
- - 타입별 체크리스트 로드 (`skills/vibe-interview/checklists/{type}.md`)
272
- - 반복 인터뷰 실행 (사용자 "그만"까지)
273
- - `.claude/vibe/interviews/{feature-name}.md` 저장
274
-
275
- **Stop Gate 1**: Interview 완료 후 (ultrawork 모드 스킵)
276
-
277
- ```
278
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
279
- ✅ Interview 완료
280
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
281
-
282
- 📄 .claude/vibe/interviews/{feature}.md
283
- Required: N/M | Optional: K/L | Discovered: X
284
-
285
- 다음 단계: 기획서 작성
286
- 1. 계속 진행 (기본)
287
- 2. Interview만 저장하고 종료
288
- 3. Interview 수정 후 다시 (vibe-interview 재실행)
289
-
290
- Enter → 계속
291
- ```
292
-
293
- ### Phase 2: Plan (조건부)
294
-
295
- **진입 조건:** plan 파일이 아직 없음
296
-
297
- ```
298
- Load skill `vibe-plan` with input: .claude/vibe/interviews/{feature}.md
299
- ```
300
-
301
- `vibe-plan` 스킬이 자체적으로:
302
- - 템플릿 로드 (`~/.claude/vibe/templates/plan-template.md`)
303
- - Interview 섹션별 정제
304
- - UI 섹션 조건부 포함 (type 기반)
305
- - `.claude/vibe/plans/{feature}.md` 저장
306
-
307
- **Stop Gate 2**: 기획서 완료 후 + 분기 판단 (ultrawork 모드 스킵)
308
-
309
- ```
310
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
311
- ✅ 기획서 완성
312
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
313
-
314
- 📄 .claude/vibe/plans/{feature}.md
315
- Type: {type}
316
-
317
- {type ∈ UI}:
318
- 자동 경로: SPEC 작성 → Review → Logic Track + UI Track 병렬 실행
319
- 1. 계속 (권장)
320
- 2. Logic Track만 (SPEC만)
321
- 3. UI Track만 (/vibe.figma 바로)
322
- 4. 여기서 종료
323
-
324
- {type ∈ non-UI}:
325
- 자동 경로: SPEC 작성 → Review → Logic Track
326
- 1. 계속 (권장)
327
- 2. 여기서 종료
328
-
329
- Enter → 계속
330
- ```
331
-
332
- ### Phase 3: SPEC 작성
333
-
334
- **진입 조건:** spec 파일이 아직 없음 (또는 재작성 요청)
335
-
336
- ```
337
- Load skill `vibe-spec` with input: .claude/vibe/plans/{feature}.md
338
- ```
339
-
340
- `vibe-spec` 스킬이 PTCF 구조 SPEC 문서 + Feature(BDD) 파일 생성.
341
-
342
- **핵심 단계** (상세는 `skills/vibe-spec/SKILL.md` 참조):
343
-
344
- 1. Project analysis (explorer agent)
345
- 2. config.json references 로드
346
- 3. Parallel research (GPT + Gemini + Claude agents, 8개 병렬)
347
- 4. UI/UX Design Intelligence (UI 키워드 시 자동)
348
- 5. PTCF SPEC 작성 (Large scope 자동 분할)
349
- 6. Feature file (BDD) 생성
350
- 7. Ambiguity scan
351
- 8. Quality gate (100점, 수렴까지 루프)
352
-
353
- **출력:**
354
-
355
- - `.claude/vibe/specs/{feature-name}.md` (또는 split folder)
356
- - `.claude/vibe/features/{feature-name}.feature` (또는 split folder)
357
-
358
- ### Phase 4: SPEC Review
359
-
360
- ```
361
- Load skill `vibe-spec-review` with feature: {feature-name}
362
- ```
363
-
364
- `vibe-spec-review` 스킬이 Race Review + 품질 검증 + 사용자 체크포인트 실행.
365
-
366
- **핵심 단계** (상세는 `skills/vibe-spec-review/SKILL.md` 참조):
367
-
368
- 1. SPEC/Feature 파일 로드 (single/split 자동 감지)
369
- 2. Quality Validation (100점 게이트, 수렴까지 auto-fix 루프)
370
- 3. Race Review (GPT + Gemini parallel, 라운드 수 캡 없음, P1=0 + 수렴 시 종료)
371
- 4. (옵션) Codex adversarial review
372
- 5. Review Debate Team (2+ P1/P2 이슈 시)
373
- 6. 사용자 최종 체크포인트
374
-
375
- ### Phase 5a: Logic Track
376
-
377
- ```
378
- /vibe.run "{feature-name}"
379
- ```
380
-
381
- SPEC 코드 구현.
382
-
383
- ### Phase 5b: UI Track (type {website, webapp, mobile}일 때만)
384
-
385
- **5a와 병렬 실행** (또는 순차 — 사용자 선택):
386
-
387
- ```
388
- /vibe.figma
389
- ```
390
-
391
- **`/vibe.figma`에 전달할 컨텍스트:**
392
-
393
- - `.claude/vibe/plans/{feature}.md` 경로
394
- - 기획서의 §7 Look & Feel, §8 레이아웃, §9 반응형 섹션을 Phase 1 스토리보드 입력으로 사용
395
-
396
- ### Phase 6: Verify
397
-
398
- ```
399
- /vibe.verify "{feature-name}"
400
- ```
401
-
402
- UI + 로직 + 연결 검증 (후속 PR에서 3축 확장 예정).
403
-
404
- ### Phase 7: Trace
405
-
406
- ```
407
- /vibe.trace "{feature-name}"
408
- ```
409
-
410
- SPEC ↔ 구현 추적.
411
-
412
- > **Phase 7 완료 시**: `.claude/vibe/.last-feature` 삭제 (워크플로 완주 — 다음 `/vibe.spec` 호출은 빈 시작 또는 진행 중 작업 목록에서 시작).
413
-
414
- ## ultrawork 모드
415
-
416
- `ultrawork` (또는 `ulw`)가 인자에 포함되면:
417
-
418
- - **모든 Stop Gate 스킵**
419
- - interview → plan → spec → review → run → (figma 병렬) 전체 자동 실행
420
- - askUser 체크포인트 스킵, 기본값 사용
421
- - 수동 개입 없이 완주
422
-
423
- ```
424
- /vibe.spec "패럴랙스 웹사이트" ultrawork
425
- ```
426
-
427
- ## Smart Resume 예시
428
-
429
- ### 예시 1: 신규 프로젝트
430
- ```
431
- User: /vibe.spec "원두 브랜드 랜딩"
432
-
433
- Claude: 🔍 Input 분석
434
- 입력: "원두 브랜드 랜딩"
435
- 분류: 신규 아이디어
436
- 기존 파일: 없음
437
- → 시작 단계: Phase 1 (vibe-interview)
438
-
439
- [vibe-interview 스킬 로드]
440
- Type: website 감지 → checklists/website.md 로드
441
- ...
442
- ```
443
-
444
- ### 예시 2: 기획서에서 시작
445
- ```
446
- User: /vibe.spec ".claude/vibe/plans/bean-landing.md"
447
-
448
- Claude: 🔍 Input 분석
449
- 입력: plan 파일 경로
450
- 분류: 기존 기획서
451
- Feature: bean-landing
452
- 시작 단계: Phase 3 (vibe-spec)
453
-
454
- [vibe-spec 스킬 로드]
455
- 기획서 읽기 → research → PTCF 작성 ...
456
- ```
457
-
458
- ### 예시 3: 기존 feature 재개
459
- ```
460
- User: /vibe.spec "bean-landing"
461
-
462
- Claude: 🔍 Input 분석
463
- 입력: feature name
464
- 기존 파일 검색...
465
- ✅ interview: .claude/vibe/interviews/bean-landing.md
466
- plan: .claude/vibe/plans/bean-landing.md
467
- spec: 없음
468
- → 시작 단계: Phase 3 (vibe-spec)
469
-
470
- [vibe-spec 스킬 로드]
471
- ...
472
- ```
473
-
474
- ### 예시 4: SPEC 리뷰 재실행
475
- ```
476
- User: /vibe.spec "bean-landing"
477
-
478
- Claude: 🔍 Input 분석
479
- 기존 파일:
480
- spec: .claude/vibe/specs/bean-landing.md
481
- ✅ feature: .claude/vibe/features/bean-landing.feature
482
-
483
- 이미 SPEC이 존재합니다. 어떻게 진행할까요?
484
- 1. SPEC 리뷰 (Phase 4: vibe-spec-review 스킬 로드)
485
- 2. /vibe.run 실행 (구현)
486
- 3. SPEC 재작성 (기존 백업 후 새로 작성)
487
- 4. 종료
488
- ```
489
-
490
- ### 예시 5: feature 이름을 잊고 인자 없이 호출 (Smart Resume Fallback)
491
- ```
492
- User: /vibe.spec
493
-
494
- Claude: (.last-feature 읽기 → "bean-landing" 발견)
495
-
496
- 🔄 마지막 작업: bean-landing
497
- interview: .claude/vibe/interviews/bean-landing.md (status: partial, 2일 전)
498
- plan: 없음
499
- spec: 없음
500
- → 다음 단계: Phase 2 (vibe-plan — 기획서 작성)
501
-
502
- 이어서 진행할까요?
503
- Enter / yes → 이어서 진행
504
- list → 다른 진행 중 작업 목록 보기
505
- new → 새 아이디어로 시작
506
- abort 종료
507
-
508
- User: yes
509
-
510
- Claude: [Phase 2 진입]
511
- .last-feature = bean-landing
512
- [vibe-plan 스킬 로드]
513
- ...
514
- ```
515
-
516
- ### 예시 6: 여러 feature 선택 (Fallback list 모드)
517
- ```
518
- User: /vibe.spec
519
-
520
- Claude: (.last-feature 없음 → 디렉토리 스캔)
521
-
522
- 🔍 진행 중인 작업
523
-
524
- 1. bean-landing [interview: partial] 2일 전
525
- 2. todo-app [plan: complete] 어제
526
- 3. payment-api [spec: complete] 방금 전
527
- ─────────────────────────────────────────────
528
- n. 새로 시작
529
- a. 종료
530
-
531
- 선택 번호 또는 feature 이름을 입력하세요:
532
-
533
- User: 2
534
-
535
- Claude: Feature: todo-app 선택
536
- plan 완성 → Phase 3 (vibe-spec) 진입
537
- .last-feature = todo-app
538
- ...
539
- ```
540
-
541
- ## Rollback / Resume
542
-
543
- - Phase 종료 상태가 `.claude/vibe/{interviews,plans,specs,features}/`에 저장됨
544
- - **`.claude/vibe/.last-feature` pointer**가 각 Phase 진입 시 갱신되어 "가장 최근에 작업한 feature" 추적 (Phase 7 완주 시 삭제)
545
- - 중단 시 다시 `/vibe.spec`으로 돌아오면 Smart Resume Fallback 동작:
546
- - 인자 있음 (`/vibe.spec "feature-name"` 또는 파일 경로) → 해당 feature의 가장 진행된 단계 다음으로 바로 진입
547
- - 인자 없음 → `.last-feature` 우선 제안 → 거부하면 진행 중 작업 목록 제시 → 또 거부하면 빈 시작
548
- - 수동 개입 필요시 스킬 직접 호출 가능 (`Load skill vibe-interview` 등)
549
-
550
- ## Next Step
551
-
552
- ```
553
- # 전형적인 사용
554
- /vibe.spec "프로젝트 아이디어"
555
-
556
- # 중간 단계 재개
557
- /vibe.spec "feature-name"
558
-
559
- # ultrawork 자동 완주
560
- /vibe.spec "feature-name" ultrawork
561
- ```
562
-
563
- ---
564
-
565
- ARGUMENTS: $ARGUMENTS
1
+ ---
2
+ description: 프로젝트 명세 통합 진입점 — interview → plan → spec → review → run/figma 전체 워크플로 오케스트레이션
3
+ argument-hint: "(선택) feature name, plan/interview file path, or idea"
4
+ ---
5
+
6
+ # /vibe.spec
7
+
8
+ **vibe 워크플로 통합 진입점.** "무엇을 개발할지" 질문으로 시작해서 interview → plan → SPEC 작성 → review → 구현 + UI 디자인까지 전체 흐름을 오케스트레이션한다.
9
+
10
+ ## Usage
11
+
12
+ ```
13
+ /vibe.spec # 빈 시작 — "무엇을 만들까요?"부터
14
+ /vibe.spec "패럴랙스 웹사이트" # 아이디어/피처명 지정 시작
15
+ /vibe.spec ".claude/vibe/plans/{feature}.md" # 기획서 입력 (plan 단계 스킵)
16
+ /vibe.spec ".claude/vibe/interviews/{feature}.md" # interview 입력 (interview 단계 스킵)
17
+ /vibe.spec "docs/prd.md" # 외부 PRD/아이디어 파일 입력
18
+ /vibe.spec + 📎 첨부 # 첨부 기반 시작
19
+ /vibe.spec "feature-name" ultrawork # 중단 게이트 없이 자동 전 흐름 실행
20
+ ```
21
+
22
+ ## Philosophy
23
+
24
+ > **사용자는 "무엇을 만들지"만 말하면 된다. 어떤 스킬을 언제 부를지는 vibe가 결정한다.**
25
+
26
+ - **단일 진입점**: `/vibe.spec` 하나로 전체 워크플로 시작. 다른 `/vibe.*` 커맨드 이름 외울 필요 없음.
27
+ - **Smart resume**: 기존 interview/plan/spec 파일 존재 여부로 어느 단계부터 시작할지 자동 판단.
28
+ - **자동 체이닝**: 스킬 `chain-next` 메타데이터 따라 vibe-interview → vibe-plan → vibe-spec → vibe-spec-review 진행.
29
+ - **분기 판단**: 기획서의 `type` 필드로 UI 트랙/로직 트랙 여부 결정.
30
+ - **사용자 제어**: 각 단계 사이에 사용자 확인 지점(stop gate) 제공 (ultrawork 모드는 스킵).
31
+
32
+ ## Flow
33
+
34
+ ```
35
+ /vibe.spec ["input"?]
36
+
37
+ Phase 0: Git branch setup
38
+
39
+ Phase 0.5: Input 분석 + Smart resume 결정
40
+ - 첨부/파일/아이디어 감지
41
+ - 기존 .claude/vibe/{interviews,plans,specs}/ 확인
42
+ - 시작 단계 결정: interview | plan | spec | review
43
+
44
+ Phase 1: Interview (skill: vibe-interview)
45
+ - 조건: interview 파일 없음
46
+ - 사용자 "그만"까지 반복 인터뷰
47
+ - 출력: .claude/vibe/interviews/{feature}.md
48
+
49
+ [Stop Gate 1] — ultrawork 모드에서는 스킵
50
+
51
+ Phase 2: Plan (skill: vibe-plan)
52
+ - 조건: plan 파일 없음
53
+ - interview → 마크다운 기획서 정제
54
+ - 출력: .claude/vibe/plans/{feature}.md
55
+
56
+ [Stop Gate 2 + 분기 판단]
57
+ 기획서 type 읽고 경로 결정:
58
+ - website/webapp/mobile → UI + Logic 병렬
59
+ - api/library/feature-data → Logic만
60
+
61
+ Phase 3: SPEC 작성 (skill: vibe-spec)
62
+ - PTCF 구조 SPEC 문서 + Feature(BDD) 파일
63
+ - Parallel research (GPT/Gemini/Claude agents)
64
+ - Large scope 자동 분할
65
+ - Ambiguity scan + 품질 게이트(100점, 수렴까지 루프)
66
+ - 출력: .claude/vibe/specs/{feature}.md + .claude/vibe/features/{feature}.feature
67
+
68
+ Phase 4: SPEC Review (skill: vibe-spec-review)
69
+ - Race Review (GPT + Gemini, 라운드 수 캡 없음, 수렴까지 루프)
70
+ - (옵션) Codex adversarial review
71
+ - 사용자 최종 체크포인트
72
+
73
+ Phase 5a: Logic Track → /vibe.run
74
+ Phase 5b: UI Track (병렬, UI 프로젝트만) → /vibe.figma
75
+
76
+ Phase 6: Verify (/vibe.verify)
77
+ Phase 7: Trace (/vibe.trace)
78
+
79
+ Done
80
+ ```
81
+
82
+ ## Rules Reference
83
+
84
+ **`~/.claude/vibe/rules/` (global) 준수:**
85
+
86
+ - `core/development-philosophy.md`
87
+ - `core/quick-start.md` — Korean first
88
+ - `core/communication-guide.md`
89
+
90
+ ## Process
91
+
92
+ > **⏱️ Timer**: 시작 시 `getCurrentTime` 호출, `{start_time}`로 기록.
93
+
94
+ ### Phase 0: Git Branch Setup (MANDATORY)
95
+
96
+ ```bash
97
+ git branch --show-current
98
+ ```
99
+
100
+ | 현재 | 행동 |
101
+ |-----|-----|
102
+ | `main`/`master` | 임시 이름으로 `git checkout -b vibe/tmp` (이후 feature 이름 확정되면 리네임) |
103
+ | `feature/*`, `plan/*`, `interview/*`, `vibe/*` | 확인: "이 브랜치에서 계속?" |
104
+ | 기타 | 사용자 확인 |
105
+
106
+ ### Phase 0.5: Input 분석 + Smart Resume
107
+
108
+ **입력 우선순위:**
109
+
110
+ ```
111
+ 1. 📎 첨부 파일 있음? → 첨부 분석 → feature name 추출
112
+ 2. 인자가 파일 경로? → 파일 위치로 시작 단계 결정:
113
+ .claude/vibe/interviews/*.md → Phase 2 (plan)
114
+ .claude/vibe/plans/*.md → Phase 3 (spec)
115
+ .claude/vibe/specs/*.md → Phase 4 (review)
116
+ 기타 (.md/.txt/.pdf) → Phase 2 (plan, 외부 PRD 흡수)
117
+ 3. 인자가 feature name? → .claude/vibe/에서 기존 파일 검색
118
+ existing spec → "리뷰 재실행? 이어서? 재작성?" 물음
119
+ existing plan → Phase 3 (spec)
120
+ existing interview → Phase 2 (plan)
121
+ 아무것도 없음 → Phase 1 (interview)
122
+ 4. 인자 없음 → Smart Resume Fallback 알고리즘 실행 (아래 참조)
123
+ ```
124
+
125
+ #### Smart Resume Fallback (인자 없는 `/vibe.spec` 호출 시)
126
+
127
+ **목적**: feature 이름을 기억하지 못해도 진행 중 작업을 자동 발견해서 이어서 진행할 수 있게 한다.
128
+
129
+ ```
130
+ 알고리즘:
131
+
132
+ Step 1) .claude/vibe/.last-feature 확인 (pointer 파일)
133
+ - 파일 없음 → Step 2로
134
+ - 존재 → 해당 feature의 상태 요약 출력 + 확인 질문:
135
+ "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
136
+ 🔄 마지막 작업: {feature-name}
137
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
138
+ ✅ interview: .claude/vibe/interviews/{feature}.md (status: complete, N일 전)
139
+ ✅ plan: .claude/vibe/plans/{feature}.md (N일 전)
140
+ ❌ spec: 없음
141
+ → 다음 단계: Phase 3 (vibe-spec 스킬 — SPEC 작성)
142
+
143
+ 이어서 진행할까요?
144
+ Enter / yes → 이어서 진행
145
+ list → 다른 진행 중 작업 목록 보기
146
+ new → 새 아이디어로 시작
147
+ abort → 종료"
148
+
149
+ - yes → Phase 0.5의 인자 분석 경로 3번 (feature name)으로 진입
150
+ - list → Step 2로
151
+ - new → Step 3으로
152
+ - abort → 종료
153
+
154
+ Step 2) 진행 중 작업 목록 표시 (.claude/vibe/ 디렉토리 스캔)
155
+ 수집:
156
+ features = {} (feature name → {hasInterview, hasPlan, hasSpec, mtime})
157
+ for each file in .claude/vibe/interviews/*.md:
158
+ feature = basename without .md
159
+ features[feature].hasInterview = true
160
+ features[feature].interviewMtime = file.mtime
161
+ features[feature].interviewStatus = frontmatter의 status (complete/partial)
162
+ 동일하게 plans/*.md, specs/*.md 스캔
163
+
164
+ 정렬: 가장 최근 작업 (max mtime) 순
165
+ 최대 10개까지 표시
166
+
167
+ 진행 중 작업 0개 → Step 3으로
168
+ 1개 이상 → 목록 출력 + 선택 질문:
169
+ "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
170
+ 🔍 진행 중인 작업
171
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
172
+
173
+ 1. bean-landing [interview: partial] 2일 전
174
+ 2. todo-app [plan: complete] 어제
175
+ 3. payment-api [spec: complete] 방금 전
176
+ ─────────────────────────────────────────────
177
+ n. ➕ 새로 시작
178
+ a. 종료
179
+
180
+ 선택 번호 또는 feature 이름을 입력하세요:"
181
+
182
+ 사용자 응답 처리:
183
+ - 숫자 (1~N) → 해당 feature 선택 → 인자 분석 경로 3번으로
184
+ - 정확한 feature 이름 → 인자 분석 경로 3번으로
185
+ - "n" 또는 "new" → Step 3으로
186
+ - "a" 또는 "abort" → 종료
187
+ - 자유 텍스트 (매칭 없음) → "{입력}은 기존 feature가 아닙니다. 새로 시작할까요? (y/n)" 확인
188
+
189
+ Step 3) 빈 시작 (기존 동작)
190
+ "👋 무엇을 만들고 싶으신가요?" 질문 → Phase 1 (interview)
191
+ ```
192
+
193
+ #### `.last-feature` 포인터 파일 갱신 규칙
194
+
195
+ ```
196
+ 경로: .claude/vibe/.last-feature
197
+ 형식: 한 줄, feature name만 저장
198
+ 예: "bean-landing\n"
199
+
200
+ ⚠ 이 파일은 **개인 작업 포인터**이므로 git에 커밋하지 않는다.
201
+ `.gitignore` 에 `.claude/vibe/.last-feature` 엔트리 필수.
202
+
203
+ 갱신 시점:
204
+ - Phase 1 (interview) 진입 시 → feature name 결정되면 즉시 기록
205
+ - Phase 2 (plan) 진입 시 → 기록 (이미 맞으면 no-op)
206
+ - Phase 3 (spec) 진입 시 → 기록
207
+ - Phase 4 (review) 진입 시 → 기록
208
+
209
+ 즉, 어느 Phase에서 멈추든 다음 /vibe.spec 호출 시 이 feature가 1순위로 제안된다.
210
+
211
+ 삭제 시점:
212
+ - Phase 7 (trace) 완료 시 → 파일 삭제 (워크플로 완주)
213
+ - 사용자가 명시적으로 종료/abort 선택 시 → 삭제하지 않음 (재개 가능하게)
214
+ ```
215
+
216
+ **출력 예시:**
217
+
218
+ ```
219
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
220
+ 🔍 Input 분석
221
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
222
+
223
+ 입력: "패럴랙스 웹사이트"
224
+ 분류: 신규 아이디어
225
+ 기존 파일: 없음
226
+
227
+ → 시작 단계: Phase 1 (vibe-interview)
228
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
229
+ ```
230
+
231
+ ### Phase 1: Interview (조건부)
232
+
233
+ **진입 조건:** interview 파일이 아직 없음
234
+
235
+ **진입 방식:**
236
+
237
+ 1. **인자 있음** (`/vibe.spec "아이디어"`)
238
+ → `vibe-interview` 스킬 로드 + 아이디어 전달
239
+
240
+ 2. **인자 없음** (`/vibe.spec`)
241
+ → **Smart Resume Fallback 먼저** (Phase 0.5 참조):
242
+ - `.last-feature` 있고 사용자가 "이어서" 선택 → 해당 feature로 진입 (이 Phase 1 건너뛸 수 있음)
243
+ - 진행 중 작업 목록에서 선택 → 해당 feature로 진입
244
+ - "new" 선택 or 진행 중 작업 없음 → 아래 질문으로 빈 시작
245
+ → 빈 시작 질문:
246
+ ```
247
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
248
+ 👋 무엇을 만들고 싶으신가요?
249
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
250
+
251
+ 예:
252
+ - "패럴랙스 웹사이트"
253
+ - "할 일 관리 앱"
254
+ - "Stripe 결제 연동 API"
255
+ - 또는 자유롭게 설명
256
+
257
+ (파일/이미지 첨부도 가능)
258
+ ```
259
+ → 사용자 응답 → `vibe-interview` 스킬 로드
260
+
261
+ **스킬 로드:**
262
+
263
+ ```
264
+ Load skill `vibe-interview` with input: {user_idea}
265
+ ```
266
+
267
+ > **`.last-feature` 갱신**: vibe-interview 스킬이 feature name을 확정하는 즉시 `.claude/vibe/.last-feature` 에 한 줄로 기록. 이후 Phase 2/3/4 진입 시에도 동일 기록 유지 (값이 같으면 no-op).
268
+
269
+ `vibe-interview` 스킬이 자체적으로:
270
+ - 프로젝트 타입 감지 (website/webapp/mobile/api/library/feature)
271
+ - 타입별 체크리스트 로드 (`skills/vibe-interview/checklists/{type}.md`)
272
+ - 반복 인터뷰 실행 (사용자 "그만"까지)
273
+ - `.claude/vibe/interviews/{feature-name}.md` 저장
274
+
275
+ **Stop Gate 1**: Interview 완료 후 (ultrawork 모드 스킵)
276
+
277
+ ```
278
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
279
+ ✅ Interview 완료
280
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
281
+
282
+ 📄 .claude/vibe/interviews/{feature}.md
283
+ Required: N/M | Optional: K/L | Discovered: X
284
+
285
+ 다음 단계: 기획서 작성
286
+ 1. 계속 진행 (기본)
287
+ 2. Interview만 저장하고 종료
288
+ 3. Interview 수정 후 다시 (vibe-interview 재실행)
289
+
290
+ Enter → 계속
291
+ ```
292
+
293
+ ### Phase 2: Plan (조건부)
294
+
295
+ **진입 조건:** plan 파일이 아직 없음
296
+
297
+ ```
298
+ Load skill `vibe-plan` with input: .claude/vibe/interviews/{feature}.md
299
+ ```
300
+
301
+ `vibe-plan` 스킬이 자체적으로:
302
+ - 템플릿 로드 (`~/.claude/vibe/templates/plan-template.md`)
303
+ - Interview 섹션별 정제
304
+ - UI 섹션 조건부 포함 (type 기반)
305
+ - `.claude/vibe/plans/{feature}.md` 저장
306
+
307
+ **Stop Gate 2**: 기획서 완료 후 + 분기 판단 (ultrawork 모드 스킵)
308
+
309
+ ```
310
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
311
+ ✅ 기획서 완성
312
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
313
+
314
+ 📄 .claude/vibe/plans/{feature}.md
315
+ Type: {type}
316
+
317
+ {type ∈ UI}:
318
+ 자동 경로: SPEC 작성 → Review → Logic Track + UI Track 병렬 실행
319
+ 1. 계속 (권장)
320
+ 2. Logic Track만 (SPEC만)
321
+ 3. UI Track만 (/vibe.figma 바로)
322
+ 4. 여기서 종료
323
+
324
+ {type ∈ non-UI}:
325
+ 자동 경로: SPEC 작성 → Review → Logic Track
326
+ 1. 계속 (권장)
327
+ 2. 여기서 종료
328
+
329
+ Enter → 계속
330
+ ```
331
+
332
+ ### Phase 3: SPEC 작성
333
+
334
+ **진입 조건:** spec 파일이 아직 없음 (또는 재작성 요청)
335
+
336
+ ```
337
+ Load skill `vibe-spec` with input: .claude/vibe/plans/{feature}.md
338
+ ```
339
+
340
+ `vibe-spec` 스킬이 PTCF 구조 SPEC 문서 + Feature(BDD) 파일 생성.
341
+
342
+ **핵심 단계** (상세는 `skills/vibe-spec/SKILL.md` 참조):
343
+
344
+ 1. Project analysis (explorer agent)
345
+ 2. config.json references 로드
346
+ 3. Parallel research (GPT + Gemini + Claude agents, 8개 병렬)
347
+ 4. UI/UX Design Intelligence (UI 키워드 시 자동)
348
+ 5. PTCF SPEC 작성 (Large scope 자동 분할)
349
+ 6. Feature file (BDD) 생성
350
+ 7. Ambiguity scan
351
+ 8. Quality gate (100점, 수렴까지 루프)
352
+
353
+ **출력:**
354
+
355
+ - `.claude/vibe/specs/{feature-name}.md` (또는 split folder)
356
+ - `.claude/vibe/features/{feature-name}.feature` (또는 split folder)
357
+
358
+ ### Phase 4: SPEC Review
359
+
360
+ ```
361
+ Load skill `vibe-spec-review` with feature: {feature-name}
362
+ ```
363
+
364
+ `vibe-spec-review` 스킬이 Race Review + 품질 검증 + 사용자 체크포인트 실행.
365
+
366
+ **핵심 단계** (상세는 `skills/vibe-spec-review/SKILL.md` 참조):
367
+
368
+ 1. SPEC/Feature 파일 로드 (single/split 자동 감지)
369
+ 2. Quality Validation (100점 게이트, 수렴까지 auto-fix 루프)
370
+ 3. Race Review (GPT + Gemini parallel, 라운드 수 캡 없음, P1=0 + 수렴 시 종료)
371
+ 4. (옵션) Codex adversarial review
372
+ 5. Review Debate Team (2+ P1/P2 이슈 시)
373
+ 6. 사용자 최종 체크포인트
374
+
375
+ ### Phase 4.5: Contract Extract (자동, API 있는 feature만)
376
+
377
+ ```
378
+ Load skill `vibe-contract` with: extract "{feature-name}"
379
+ ```
380
+
381
+ SPEC `## API` / `## Endpoints` / `## Interface` 섹션이 있으면 계약을 `.claude/vibe/contracts/{feature-name}.md`로 추출. 섹션이 없으면 에러 없이 스킵 (모든 feature가 API를 갖지 않음).
382
+
383
+ 계약은 Phase 5a 구현 참조되고, `/vibe.verify` 종료 drift 검사에 사용됨.
384
+
385
+ ### Phase 5a: Logic Track
386
+
387
+ ```
388
+ /vibe.run "{feature-name}"
389
+ ```
390
+
391
+ SPEC 코드 구현. 시작 시 자동 체크:
392
+ - `/vibe.regress list --feature {feature-name}` — 미해결 회귀 항목 있으면 경고
393
+ - `.claude/vibe/contracts/{feature-name}.md` — 있으면 로드하여 구현 가이드
394
+
395
+ ### Phase 5b: UI Track (type ∈ {website, webapp, mobile}일 때만)
396
+
397
+ **5a와 병렬 실행** (또는 순차 — 사용자 선택):
398
+
399
+ ```
400
+ /vibe.figma
401
+ ```
402
+
403
+ **`/vibe.figma`에 전달할 컨텍스트:**
404
+
405
+ - `.claude/vibe/plans/{feature}.md` 경로
406
+ - 기획서의 §7 Look & Feel, §8 레이아웃, §9 반응형 섹션을 Phase 1 스토리보드 입력으로 사용
407
+
408
+ ### Phase 6: Verify
409
+
410
+ ```
411
+ /vibe.verify "{feature-name}"
412
+ ```
413
+
414
+ UI + 로직 + 연결 검증 (후속 PR에서 3축 확장 예정).
415
+
416
+ ### Phase 7: Trace
417
+
418
+ ```
419
+ /vibe.trace "{feature-name}"
420
+ ```
421
+
422
+ SPEC ↔ 구현 추적.
423
+
424
+ > **Phase 7 완료 시**: `.claude/vibe/.last-feature` 삭제 (워크플로 완주 — 다음 `/vibe.spec` 호출은 시작 또는 진행 중 작업 목록에서 시작).
425
+
426
+ ## ultrawork 모드
427
+
428
+ `ultrawork` (또는 `ulw`)가 인자에 포함되면:
429
+
430
+ - **모든 Stop Gate 스킵**
431
+ - interview → plan → spec review → run → (figma 병렬) 전체 자동 실행
432
+ - askUser 체크포인트 스킵, 기본값 사용
433
+ - 수동 개입 없이 완주
434
+
435
+ ```
436
+ /vibe.spec "패럴랙스 웹사이트" ultrawork
437
+ ```
438
+
439
+ ## Smart Resume 예시
440
+
441
+ ### 예시 1: 신규 프로젝트
442
+ ```
443
+ User: /vibe.spec "원두 브랜드 랜딩"
444
+
445
+ Claude: 🔍 Input 분석
446
+ 입력: "원두 브랜드 랜딩"
447
+ 분류: 신규 아이디어
448
+ 기존 파일: 없음
449
+ 시작 단계: Phase 1 (vibe-interview)
450
+
451
+ [vibe-interview 스킬 로드]
452
+ Type: website 감지 checklists/website.md 로드
453
+ ...
454
+ ```
455
+
456
+ ### 예시 2: 기획서에서 시작
457
+ ```
458
+ User: /vibe.spec ".claude/vibe/plans/bean-landing.md"
459
+
460
+ Claude: 🔍 Input 분석
461
+ 입력: plan 파일 경로
462
+ 분류: 기존 기획서
463
+ Feature: bean-landing
464
+ 시작 단계: Phase 3 (vibe-spec)
465
+
466
+ [vibe-spec 스킬 로드]
467
+ 기획서 읽기 → research → PTCF 작성 ...
468
+ ```
469
+
470
+ ### 예시 3: 기존 feature 재개
471
+ ```
472
+ User: /vibe.spec "bean-landing"
473
+
474
+ Claude: 🔍 Input 분석
475
+ 입력: feature name
476
+ 기존 파일 검색...
477
+ ✅ interview: .claude/vibe/interviews/bean-landing.md
478
+ ✅ plan: .claude/vibe/plans/bean-landing.md
479
+ spec: 없음
480
+ 시작 단계: Phase 3 (vibe-spec)
481
+
482
+ [vibe-spec 스킬 로드]
483
+ ...
484
+ ```
485
+
486
+ ### 예시 4: SPEC 리뷰 재실행
487
+ ```
488
+ User: /vibe.spec "bean-landing"
489
+
490
+ Claude: 🔍 Input 분석
491
+ 기존 파일:
492
+ ✅ spec: .claude/vibe/specs/bean-landing.md
493
+ ✅ feature: .claude/vibe/features/bean-landing.feature
494
+
495
+ 이미 SPEC이 존재합니다. 어떻게 진행할까요?
496
+ 1. SPEC 리뷰 (Phase 4: vibe-spec-review 스킬 로드)
497
+ 2. /vibe.run 실행 (구현)
498
+ 3. SPEC 재작성 (기존 백업 후 새로 작성)
499
+ 4. 종료
500
+ ```
501
+
502
+ ### 예시 5: feature 이름을 잊고 인자 없이 호출 (Smart Resume Fallback)
503
+ ```
504
+ User: /vibe.spec
505
+
506
+ Claude: (.last-feature 읽기 "bean-landing" 발견)
507
+
508
+ 🔄 마지막 작업: bean-landing
509
+ ✅ interview: .claude/vibe/interviews/bean-landing.md (status: partial, 2일 전)
510
+ ❌ plan: 없음
511
+ spec: 없음
512
+ → 다음 단계: Phase 2 (vibe-plan 기획서 작성)
513
+
514
+ 이어서 진행할까요?
515
+ Enter / yes → 이어서 진행
516
+ list → 다른 진행작업 목록 보기
517
+ new → 새 아이디어로 시작
518
+ abort → 종료
519
+
520
+ User: yes
521
+
522
+ Claude: [Phase 2 진입]
523
+ .last-feature = bean-landing
524
+ [vibe-plan 스킬 로드]
525
+ ...
526
+ ```
527
+
528
+ ### 예시 6: 여러 feature 중 선택 (Fallback list 모드)
529
+ ```
530
+ User: /vibe.spec
531
+
532
+ Claude: (.last-feature 없음 → 디렉토리 스캔)
533
+
534
+ 🔍 진행 중인 작업
535
+
536
+ 1. bean-landing [interview: partial] 2일
537
+ 2. todo-app [plan: complete] 어제
538
+ 3. payment-api [spec: complete] 방금 전
539
+ ─────────────────────────────────────────────
540
+ n. ➕ 새로 시작
541
+ a. 종료
542
+
543
+ 선택 번호 또는 feature 이름을 입력하세요:
544
+
545
+ User: 2
546
+
547
+ Claude: Feature: todo-app 선택
548
+ plan 완성 Phase 3 (vibe-spec) 진입
549
+ .last-feature = todo-app
550
+ ...
551
+ ```
552
+
553
+ ## Rollback / Resume
554
+
555
+ - 각 Phase 종료 시 상태가 `.claude/vibe/{interviews,plans,specs,features}/`에 저장됨
556
+ - **`.claude/vibe/.last-feature` pointer**가 각 Phase 진입 시 갱신되어 "가장 최근에 작업한 feature" 추적 (Phase 7 완주 시 삭제)
557
+ - 중단 시 다시 `/vibe.spec`으로 돌아오면 Smart Resume Fallback 동작:
558
+ - 인자 있음 (`/vibe.spec "feature-name"` 또는 파일 경로) → 해당 feature의 가장 진행된 단계 다음으로 바로 진입
559
+ - 인자 없음 → `.last-feature` 우선 제안 → 거부하면 진행 중 작업 목록 제시 → 또 거부하면 빈 시작
560
+ - 수동 개입 필요시 스킬 직접 호출 가능 (`Load skill vibe-interview` 등)
561
+
562
+ ## Next Step
563
+
564
+ ```
565
+ # 전형적인 사용
566
+ /vibe.spec "프로젝트 아이디어"
567
+
568
+ # 중간 단계 재개
569
+ /vibe.spec "feature-name"
570
+
571
+ # ultrawork 자동 완주
572
+ /vibe.spec "feature-name" ultrawork
573
+ ```
574
+
575
+ ---
576
+
577
+ ARGUMENTS: $ARGUMENTS