@su-record/vibe 2.9.3 → 2.9.5

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