@su-record/vibe 2.9.22 β†’ 2.9.23

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