@su-record/vibe 2.16.3 → 3.0.0

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 (353) hide show
  1. package/.env.example +15 -0
  2. package/CLAUDE.md +8 -8
  3. package/README.en.md +46 -29
  4. package/README.md +41 -24
  5. package/agents/acceptance-tester.md +56 -0
  6. package/agents/architect.md +25 -67
  7. package/agents/build-error-resolver.md +28 -97
  8. package/agents/code-reviewer.md +89 -0
  9. package/agents/diagrammer.md +34 -165
  10. package/agents/documenter.md +43 -0
  11. package/agents/e2e-tester.md +46 -277
  12. package/agents/event/event-ops.md +54 -77
  13. package/agents/event/event-planner.md +63 -0
  14. package/agents/figma/figma-engineer.md +76 -0
  15. package/agents/implementer.md +26 -41
  16. package/agents/security-reviewer.md +56 -0
  17. package/agents/tester.md +37 -33
  18. package/agents/ui/design-reviewer.md +62 -0
  19. package/agents/ui/design-system-gen.md +63 -0
  20. package/dist/__tests__/agent-model-sync.test.d.ts +2 -0
  21. package/dist/__tests__/agent-model-sync.test.d.ts.map +1 -0
  22. package/dist/__tests__/agent-model-sync.test.js +71 -0
  23. package/dist/__tests__/agent-model-sync.test.js.map +1 -0
  24. package/dist/cli/auth.d.ts.map +1 -1
  25. package/dist/cli/auth.js +8 -1
  26. package/dist/cli/auth.js.map +1 -1
  27. package/dist/cli/commands/index.d.ts +1 -0
  28. package/dist/cli/commands/index.d.ts.map +1 -1
  29. package/dist/cli/commands/index.js +1 -0
  30. package/dist/cli/commands/index.js.map +1 -1
  31. package/dist/cli/commands/info.d.ts.map +1 -1
  32. package/dist/cli/commands/info.js +2 -0
  33. package/dist/cli/commands/info.js.map +1 -1
  34. package/dist/cli/commands/llm.d.ts +11 -0
  35. package/dist/cli/commands/llm.d.ts.map +1 -0
  36. package/dist/cli/commands/llm.js +62 -0
  37. package/dist/cli/commands/llm.js.map +1 -0
  38. package/dist/cli/commands/remove.d.ts.map +1 -1
  39. package/dist/cli/commands/remove.js +8 -10
  40. package/dist/cli/commands/remove.js.map +1 -1
  41. package/dist/cli/commands/setup.d.ts.map +1 -1
  42. package/dist/cli/commands/setup.js +35 -1
  43. package/dist/cli/commands/setup.js.map +1 -1
  44. package/dist/cli/index.d.ts +0 -4
  45. package/dist/cli/index.d.ts.map +1 -1
  46. package/dist/cli/index.js +59 -6
  47. package/dist/cli/index.js.map +1 -1
  48. package/dist/cli/llm/config.d.ts.map +1 -1
  49. package/dist/cli/llm/config.js +7 -0
  50. package/dist/cli/llm/config.js.map +1 -1
  51. package/dist/cli/llm/index.d.ts +1 -0
  52. package/dist/cli/llm/index.d.ts.map +1 -1
  53. package/dist/cli/llm/index.js +1 -0
  54. package/dist/cli/llm/index.js.map +1 -1
  55. package/dist/cli/llm/model-refresh.d.ts +29 -0
  56. package/dist/cli/llm/model-refresh.d.ts.map +1 -0
  57. package/dist/cli/llm/model-refresh.js +139 -0
  58. package/dist/cli/llm/model-refresh.js.map +1 -0
  59. package/dist/cli/llm/zai-commands.d.ts +15 -0
  60. package/dist/cli/llm/zai-commands.d.ts.map +1 -0
  61. package/dist/cli/llm/zai-commands.js +64 -0
  62. package/dist/cli/llm/zai-commands.js.map +1 -0
  63. package/dist/cli/postinstall/claude-agents.d.ts.map +1 -1
  64. package/dist/cli/postinstall/claude-agents.js +16 -77
  65. package/dist/cli/postinstall/claude-agents.js.map +1 -1
  66. package/dist/cli/postinstall/constants.d.ts.map +1 -1
  67. package/dist/cli/postinstall/constants.js +81 -296
  68. package/dist/cli/postinstall/constants.js.map +1 -1
  69. package/dist/cli/postinstall/cursor-agents.d.ts +5 -0
  70. package/dist/cli/postinstall/cursor-agents.d.ts.map +1 -1
  71. package/dist/cli/postinstall/cursor-agents.js +26 -68
  72. package/dist/cli/postinstall/cursor-agents.js.map +1 -1
  73. package/dist/cli/postinstall/cursor-skills.d.ts.map +1 -1
  74. package/dist/cli/postinstall/cursor-skills.js +26 -30
  75. package/dist/cli/postinstall/cursor-skills.js.map +1 -1
  76. package/dist/cli/postinstall/main.d.ts.map +1 -1
  77. package/dist/cli/postinstall/main.js +0 -2
  78. package/dist/cli/postinstall/main.js.map +1 -1
  79. package/dist/cli/setup/Provisioner.d.ts.map +1 -1
  80. package/dist/cli/setup/Provisioner.js +19 -21
  81. package/dist/cli/setup/Provisioner.js.map +1 -1
  82. package/dist/cli/types.d.ts +15 -0
  83. package/dist/cli/types.d.ts.map +1 -1
  84. package/dist/cli/utils.d.ts +4 -1
  85. package/dist/cli/utils.d.ts.map +1 -1
  86. package/dist/cli/utils.js +4 -1
  87. package/dist/cli/utils.js.map +1 -1
  88. package/dist/infra/lib/FrameworkDetector.js +4 -4
  89. package/dist/infra/lib/FrameworkDetector.js.map +1 -1
  90. package/dist/infra/lib/OrchestrateWorkflow.js +2 -2
  91. package/dist/infra/lib/OrchestrateWorkflow.js.map +1 -1
  92. package/dist/infra/lib/browser/launch.js +1 -1
  93. package/dist/infra/lib/browser/launch.js.map +1 -1
  94. package/dist/infra/lib/browser/types.d.ts +1 -1
  95. package/dist/infra/lib/browser/types.js +1 -1
  96. package/dist/infra/lib/config/GlobalConfigManager.d.ts +2 -0
  97. package/dist/infra/lib/config/GlobalConfigManager.d.ts.map +1 -1
  98. package/dist/infra/lib/config/GlobalConfigManager.js +6 -0
  99. package/dist/infra/lib/config/GlobalConfigManager.js.map +1 -1
  100. package/dist/infra/lib/constants.d.ts +1 -1
  101. package/dist/infra/lib/constants.d.ts.map +1 -1
  102. package/dist/infra/lib/constants.js +4 -5
  103. package/dist/infra/lib/constants.js.map +1 -1
  104. package/dist/infra/lib/evolution/__tests__/integration.test.js +7 -7
  105. package/dist/infra/lib/evolution/__tests__/integration.test.js.map +1 -1
  106. package/dist/infra/lib/llm-availability.d.ts +4 -0
  107. package/dist/infra/lib/llm-availability.d.ts.map +1 -1
  108. package/dist/infra/lib/llm-availability.js +9 -1
  109. package/dist/infra/lib/llm-availability.js.map +1 -1
  110. package/dist/infra/lib/memory/index.d.ts +0 -2
  111. package/dist/infra/lib/memory/index.d.ts.map +1 -1
  112. package/dist/infra/lib/memory/index.js +0 -2
  113. package/dist/infra/lib/memory/index.js.map +1 -1
  114. package/dist/infra/lib/telemetry/SkillTelemetry.test.js +1 -1
  115. package/dist/infra/lib/telemetry/SkillTelemetry.test.js.map +1 -1
  116. package/dist/infra/lib/zai/client.d.ts +30 -0
  117. package/dist/infra/lib/zai/client.d.ts.map +1 -0
  118. package/dist/infra/lib/zai/client.js +124 -0
  119. package/dist/infra/lib/zai/client.js.map +1 -0
  120. package/dist/infra/lib/zai/index.d.ts +11 -0
  121. package/dist/infra/lib/zai/index.d.ts.map +1 -0
  122. package/dist/infra/lib/zai/index.js +10 -0
  123. package/dist/infra/lib/zai/index.js.map +1 -0
  124. package/dist/infra/lib/zai/orchestration.d.ts +15 -0
  125. package/dist/infra/lib/zai/orchestration.d.ts.map +1 -0
  126. package/dist/infra/lib/zai/orchestration.js +54 -0
  127. package/dist/infra/lib/zai/orchestration.js.map +1 -0
  128. package/dist/infra/lib/zai/types.d.ts +40 -0
  129. package/dist/infra/lib/zai/types.d.ts.map +1 -0
  130. package/dist/infra/lib/zai/types.js +5 -0
  131. package/dist/infra/lib/zai/types.js.map +1 -0
  132. package/dist/infra/orchestrator/SmartRouter.d.ts.map +1 -1
  133. package/dist/infra/orchestrator/SmartRouter.js +16 -34
  134. package/dist/infra/orchestrator/SmartRouter.js.map +1 -1
  135. package/dist/infra/orchestrator/index.d.ts +1 -0
  136. package/dist/infra/orchestrator/index.d.ts.map +1 -1
  137. package/dist/infra/orchestrator/index.js +11 -9
  138. package/dist/infra/orchestrator/index.js.map +1 -1
  139. package/dist/infra/orchestrator/types.d.ts +32 -9
  140. package/dist/infra/orchestrator/types.d.ts.map +1 -1
  141. package/dist/infra/orchestrator/types.js +68 -37
  142. package/dist/infra/orchestrator/types.js.map +1 -1
  143. package/dist/infra/orchestrator/types.test.d.ts +2 -0
  144. package/dist/infra/orchestrator/types.test.d.ts.map +1 -0
  145. package/dist/infra/orchestrator/types.test.js +57 -0
  146. package/dist/infra/orchestrator/types.test.js.map +1 -0
  147. package/dist/tools/index.d.ts +0 -4
  148. package/dist/tools/index.d.ts.map +1 -1
  149. package/dist/tools/index.js +0 -4
  150. package/dist/tools/index.js.map +1 -1
  151. package/dist/tools/memory/autoSaveContext.d.ts +0 -1
  152. package/dist/tools/memory/autoSaveContext.d.ts.map +1 -1
  153. package/dist/tools/memory/autoSaveContext.js +13 -27
  154. package/dist/tools/memory/autoSaveContext.js.map +1 -1
  155. package/hooks/scripts/__tests__/code-check-detectors.test.js +2 -2
  156. package/hooks/scripts/__tests__/run-ledger.test.js +1 -1
  157. package/hooks/scripts/__tests__/scope-from-spec.test.js +12 -12
  158. package/hooks/scripts/__tests__/step-counter.test.js +1 -1
  159. package/hooks/scripts/code-check.js +16 -203
  160. package/hooks/scripts/context-save.js +0 -11
  161. package/hooks/scripts/lib/scope-from-spec.js +9 -6
  162. package/hooks/scripts/llm-orchestrate.js +49 -0
  163. package/hooks/scripts/post-edit-dispatcher.js +1 -1
  164. package/hooks/scripts/prompt-dispatcher.js +7 -18
  165. package/hooks/scripts/session-start.js +25 -35
  166. package/package.json +4 -4
  167. package/skills/agents-md/SKILL.md +62 -15
  168. package/skills/arch-guard/SKILL.md +1 -1
  169. package/skills/brand-assets/SKILL.md +2 -2
  170. package/skills/capability-loop/SKILL.md +1 -1
  171. package/skills/chub-usage/SKILL.md +1 -1
  172. package/skills/commerce-patterns/SKILL.md +2 -2
  173. package/skills/commit-push-pr/SKILL.md +0 -1
  174. package/skills/context7-usage/SKILL.md +1 -1
  175. package/skills/create-prd/agents/edge-case-finder.md +4 -4
  176. package/skills/create-prd/agents/prioritizer.md +4 -4
  177. package/skills/create-prd/agents/requirements-writer.md +3 -3
  178. package/skills/create-prd/agents/researcher.md +3 -3
  179. package/skills/create-prd/agents/reviewer.md +3 -3
  180. package/skills/create-prd/orchestrator.md +2 -0
  181. package/skills/design-refine/SKILL.md +140 -0
  182. package/skills/{design-polish → design-refine}/templates/polish-report.md +1 -1
  183. package/skills/{design-normalize → design-refine}/templates/token-audit.md +3 -3
  184. package/skills/design-review/SKILL.md +143 -0
  185. package/skills/{design-audit → design-review}/agents/a11y-auditor.md +1 -1
  186. package/skills/{design-audit → design-review}/agents/performance-auditor.md +1 -1
  187. package/skills/{design-audit → design-review}/agents/responsive-auditor.md +1 -1
  188. package/skills/{design-audit → design-review}/agents/slop-detector.md +1 -1
  189. package/skills/{design-audit → design-review}/frameworks/core-web-vitals.md +1 -1
  190. package/skills/{design-audit → design-review}/frameworks/wcag-checklist.md +1 -1
  191. package/skills/{design-audit → design-review}/orchestrator.md +5 -3
  192. package/skills/{design-critique → design-review}/templates/critique-report.md +3 -3
  193. package/skills/{design-audit → design-review}/templates/report.md +3 -3
  194. package/skills/design-teach/SKILL.md +11 -11
  195. package/skills/docs/SKILL.md +14 -16
  196. package/skills/e2e-commerce/SKILL.md +1 -1
  197. package/skills/event-comms/SKILL.md +1 -1
  198. package/skills/event-ops/SKILL.md +2 -2
  199. package/skills/event-planning/SKILL.md +1 -1
  200. package/skills/exec-plan/SKILL.md +2 -2
  201. package/skills/exec-plan/orchestrator.md +2 -0
  202. package/skills/figma/SKILL.md +240 -148
  203. package/skills/figma/rubrics/css-mapping.md +125 -0
  204. package/skills/git-worktree/SKILL.md +1 -1
  205. package/skills/handoff/SKILL.md +1 -1
  206. package/skills/parallel-research/SKILL.md +14 -28
  207. package/skills/parallel-research/orchestrator.md +2 -0
  208. package/skills/priority-todos/SKILL.md +1 -1
  209. package/skills/regress/SKILL.md +11 -0
  210. package/skills/restraint/SKILL.md +72 -0
  211. package/skills/seo-checklist/SKILL.md +2 -2
  212. package/skills/spec/SKILL.md +65 -836
  213. package/skills/test/SKILL.md +3 -3
  214. package/skills/tool-fallback/SKILL.md +2 -2
  215. package/skills/vercel-react-best-practices/SKILL.md +1 -1
  216. package/skills/vibe/SKILL.md +20 -35
  217. package/skills/vibe.analyze/SKILL.md +7 -9
  218. package/skills/vibe.docs/SKILL.md +1 -1
  219. package/skills/vibe.event/SKILL.md +27 -27
  220. package/skills/vibe.figma/SKILL.md +14 -18
  221. package/skills/vibe.harness/SKILL.md +5 -5
  222. package/skills/vibe.llm/SKILL.md +50 -0
  223. package/skills/vibe.reason/SKILL.md +0 -2
  224. package/skills/vibe.review/SKILL.md +45 -49
  225. package/skills/vibe.run/SKILL.md +2 -5
  226. package/skills/vibe.run/references/parallel-agents.md +33 -98
  227. package/skills/vibe.spec/SKILL.md +38 -535
  228. package/skills/vibe.utils/SKILL.md +3 -3
  229. package/skills/vibe.verify/SKILL.md +70 -542
  230. package/skills/video-production/SKILL.md +1 -1
  231. package/vibe/rules/orchestrator-contract.md +57 -0
  232. package/vibe/rules/quality/performance.md +1 -1
  233. package/vibe/templates/claudemd-template.md +1 -1
  234. package/vibe/templates/spec-template.md +35 -185
  235. package/agents/architect-low.md +0 -41
  236. package/agents/architect-medium.md +0 -59
  237. package/agents/compounder.md +0 -261
  238. package/agents/docs/api-documenter.md +0 -99
  239. package/agents/docs/changelog-writer.md +0 -93
  240. package/agents/event/event-comms.md +0 -78
  241. package/agents/event/event-content.md +0 -68
  242. package/agents/event/event-image.md +0 -95
  243. package/agents/event/event-scheduler.md +0 -69
  244. package/agents/event/event-speaker.md +0 -86
  245. package/agents/explorer-low.md +0 -42
  246. package/agents/explorer-medium.md +0 -59
  247. package/agents/explorer.md +0 -48
  248. package/agents/figma/figma-analyst.md +0 -52
  249. package/agents/figma/figma-architect.md +0 -112
  250. package/agents/figma/figma-auditor.md +0 -82
  251. package/agents/figma/figma-builder.md +0 -100
  252. package/agents/implementer-low.md +0 -43
  253. package/agents/implementer-medium.md +0 -52
  254. package/agents/junior-mentor.md +0 -141
  255. package/agents/planning/requirements-analyst.md +0 -84
  256. package/agents/planning/ux-advisor.md +0 -83
  257. package/agents/qa/acceptance-tester.md +0 -86
  258. package/agents/qa/edge-case-finder.md +0 -93
  259. package/agents/qa/qa-coordinator.md +0 -131
  260. package/agents/refactor-cleaner.md +0 -143
  261. package/agents/research/best-practices.md +0 -199
  262. package/agents/research/codebase-patterns.md +0 -157
  263. package/agents/research/framework-docs.md +0 -188
  264. package/agents/research/security-advisory.md +0 -213
  265. package/agents/review/architecture-reviewer.md +0 -107
  266. package/agents/review/complexity-reviewer.md +0 -116
  267. package/agents/review/data-integrity-reviewer.md +0 -88
  268. package/agents/review/git-history-reviewer.md +0 -103
  269. package/agents/review/performance-reviewer.md +0 -86
  270. package/agents/review/python-reviewer.md +0 -150
  271. package/agents/review/rails-reviewer.md +0 -139
  272. package/agents/review/react-reviewer.md +0 -144
  273. package/agents/review/security-reviewer.md +0 -80
  274. package/agents/review/simplicity-reviewer.md +0 -140
  275. package/agents/review/test-coverage-reviewer.md +0 -116
  276. package/agents/review/typescript-reviewer.md +0 -127
  277. package/agents/searcher.md +0 -54
  278. package/agents/simplifier.md +0 -120
  279. package/agents/teams/debug-team.md +0 -70
  280. package/agents/teams/dev-team.md +0 -88
  281. package/agents/teams/docs-team.md +0 -80
  282. package/agents/teams/figma-team.md +0 -85
  283. package/agents/teams/fullstack-team.md +0 -83
  284. package/agents/teams/lite-team.md +0 -69
  285. package/agents/teams/migration-team.md +0 -78
  286. package/agents/teams/refactor-team.md +0 -94
  287. package/agents/teams/research-team.md +0 -86
  288. package/agents/teams/review-debate-team.md +0 -125
  289. package/agents/teams/security-team.md +0 -81
  290. package/agents/ui/ui-a11y-auditor.md +0 -93
  291. package/agents/ui/ui-antipattern-detector.md +0 -102
  292. package/agents/ui/ui-dataviz-advisor.md +0 -69
  293. package/agents/ui/ui-design-system-gen.md +0 -57
  294. package/agents/ui/ui-industry-analyzer.md +0 -49
  295. package/agents/ui/ui-layout-architect.md +0 -65
  296. package/agents/ui/ui-stack-implementer.md +0 -68
  297. package/agents/ui/ux-compliance-reviewer.md +0 -81
  298. package/agents/ui-previewer.md +0 -258
  299. package/hooks/scripts/__tests__/keyword-detector.test.js +0 -242
  300. package/hooks/scripts/keyword-detector.js +0 -226
  301. package/skills/characterization-test/SKILL.md +0 -209
  302. package/skills/characterization-test/agents/behavior-capturer.md +0 -50
  303. package/skills/characterization-test/agents/coverage-checker.md +0 -54
  304. package/skills/characterization-test/agents/reporter.md +0 -50
  305. package/skills/characterization-test/agents/test-writer.md +0 -49
  306. package/skills/characterization-test/rubrics/coverage-criteria.md +0 -53
  307. package/skills/characterization-test/templates/test-template.ts +0 -101
  308. package/skills/claude-md-guide/SKILL.md +0 -353
  309. package/skills/claude-md-guide/rubrics/anti-patterns.md +0 -88
  310. package/skills/design-audit/SKILL.md +0 -154
  311. package/skills/design-critique/SKILL.md +0 -140
  312. package/skills/design-distill/SKILL.md +0 -131
  313. package/skills/design-normalize/SKILL.md +0 -135
  314. package/skills/design-polish/SKILL.md +0 -132
  315. package/skills/figma-convert/SKILL.md +0 -236
  316. package/skills/figma-extract/SKILL.md +0 -242
  317. package/skills/interview/SKILL.md +0 -358
  318. package/skills/interview/checklists/api.md +0 -101
  319. package/skills/interview/checklists/feature.md +0 -88
  320. package/skills/interview/checklists/library.md +0 -95
  321. package/skills/interview/checklists/mobile.md +0 -89
  322. package/skills/interview/checklists/webapp.md +0 -97
  323. package/skills/interview/checklists/website.md +0 -99
  324. package/skills/plan/SKILL.md +0 -254
  325. package/skills/rob-pike/SKILL.md +0 -66
  326. package/skills/spec/references/askuser-examples.md +0 -57
  327. package/skills/spec/references/example-session.md +0 -87
  328. package/skills/spec/references/templates.md +0 -194
  329. package/skills/spec-review/SKILL.md +0 -725
  330. package/skills/systematic-debugging/SKILL.md +0 -142
  331. package/skills/techdebt/SKILL.md +0 -126
  332. package/skills/techdebt/agents/analyzer.md +0 -50
  333. package/skills/techdebt/agents/fixer.md +0 -41
  334. package/skills/techdebt/agents/reviewer.md +0 -47
  335. package/skills/techdebt/agents/scanner.md +0 -44
  336. package/skills/techdebt/orchestrator.md +0 -70
  337. package/skills/techdebt/rubrics/severity.md +0 -51
  338. package/skills/techdebt/scripts/scan.js +0 -90
  339. package/skills/techdebt/templates/report.md +0 -86
  340. package/skills/typescript-advanced-types/SKILL.md +0 -68
  341. package/skills/typescript-advanced-types/rubrics/type-patterns.md +0 -109
  342. package/skills/yagni-ladder/SKILL.md +0 -90
  343. /package/skills/{claude-md-guide → agents-md}/templates/claude-md.md +0 -0
  344. /package/skills/{design-polish → design-refine}/rubrics/polish-checklist.md +0 -0
  345. /package/skills/{design-normalize → design-refine}/rubrics/token-naming.md +0 -0
  346. /package/skills/{design-distill → design-refine}/templates/design-system.md +0 -0
  347. /package/skills/{design-audit → design-review}/agents/scorer.md +0 -0
  348. /package/skills/{design-audit → design-review}/rubrics/ai-slop-patterns.md +0 -0
  349. /package/skills/{design-audit → design-review}/rubrics/scoring.md +0 -0
  350. /package/skills/{design-critique → design-review}/rubrics/ux-heuristics.md +0 -0
  351. /package/skills/{figma-convert → figma}/rubrics/conversion-rules.md +0 -0
  352. /package/skills/{figma-extract → figma}/rubrics/image-rules.md +0 -0
  353. /package/skills/{figma-convert → figma}/templates/component.md +0 -0
@@ -1,579 +1,82 @@
1
1
  ---
2
2
  name: vibe.spec
3
- description: 프로젝트 명세 통합 진입점 — interview plan specreview → run/figma 전체 워크플로 오케스트레이션
4
- argument-hint: "(선택) feature name, plan/interview file path, or idea"
3
+ description: SPEC 진입점 — 자연어 요구사항(+첨부)을 받아 단일 패스 SPEC 작성 1회 승인 /vibe.run 핸드오프
4
+ argument-hint: "(선택) feature name, requirement, file path, or idea"
5
5
  user-invocable: true
6
6
  ---
7
7
 
8
8
  # /vibe.spec
9
9
 
10
- **vibe 워크플로 통합 진입점.** "무엇을 개발할지" 질문으로 시작해서 interview → plan → SPEC 작성 → review 구현 + UI 디자인까지 전체 흐름을 오케스트레이션한다.
10
+ **SPEC 단계의 얇은 진입점.** 요구사항을 받아 `spec` 스킬(단일 패스)을 실행하고, SPEC 승인(유일한 의무 게이트) 후 `/vibe.run` 으로 넘긴다. interview → plan → spec → review 다단계 파이프라인은 폐지되었다 명확화 질문은 spec 패스 안에서 인라인으로, 리뷰는 셀프 리뷰 1회로 흡수됐다.
11
11
 
12
12
  ## Usage
13
13
 
14
14
  ```
15
- /vibe.spec # 빈 시작 — "무엇을 만들까요?"부터
16
- /vibe.spec "패럴랙스 웹사이트" # 아이디어/피처명 지정 시작
17
- /vibe.spec ".vibe/plans/{feature}.md" # 기획서 입력 (plan 단계 스킵)
18
- /vibe.spec ".vibe/interviews/{feature}.md" # interview 입력 (interview 단계 스킵)
19
- /vibe.spec "docs/prd.md" # 외부 PRD/아이디어 파일 입력
20
- /vibe.spec + 📎 첨부 # 첨부 기반 시작
21
- /vibe.spec "feature-name" ultrawork # 중단 게이트 없이 자동 전 흐름 실행
15
+ /vibe.spec # 빈 시작 — Smart Resume 또는 "무엇을 만들까요?"
16
+ /vibe.spec "패럴랙스 웹사이트" # 아이디어/요구사항으로 시작
17
+ /vibe.spec "docs/prd.md" # 외부 PRD/아이디어 파일 입력
18
+ /vibe.spec + 📎 첨부 # 첨부 기반 시작
19
+ /vibe.spec "feature-name" # 기존 feature 재개
22
20
  ```
23
21
 
24
- ## Philosophy
25
-
26
- > **사용자는 "무엇을 만들지"만 말하면 된다. 어떤 스킬을 언제 부를지는 vibe가 결정한다.**
27
-
28
- - **단일 진입점**: `/vibe.spec` 하나로 전체 워크플로 시작. 다른 `/vibe.*` 커맨드 이름 외울 필요 없음.
29
- - **Smart resume**: 기존 interview/plan/spec 파일 존재 여부로 어느 단계부터 시작할지 자동 판단.
30
- - **자동 체이닝**: 스킬 `chain-next` 메타데이터 따라 interview → plan → spec → spec-review 진행.
31
- - **분기 판단**: 기획서의 `type` 필드로 UI 트랙/로직 트랙 여부 결정.
32
- - **사용자 제어**: 각 단계 사이에 사용자 확인 지점(stop gate) 제공 (ultrawork 모드는 스킵).
33
-
34
22
  ## Flow
35
23
 
36
24
  ```
37
25
  /vibe.spec ["input"?]
38
26
 
39
- Phase 0: Git branch setup
40
-
41
- Phase 0.5: Input 분석 + Smart resume 결정
42
- - 첨부/파일/아이디어 감지
43
- - 기존 .vibe/{interviews,plans,specs}/ 확인
44
- - 시작 단계 결정: interview | plan | spec | review
45
-
46
- Phase 1: Interview (skill: interview)
47
- - 조건: interview 파일 없음
48
- - 사용자 "그만"까지 반복 인터뷰
49
- - 출력: .vibe/interviews/{feature}.md
50
-
51
- [Stop Gate 1] — ultrawork 모드에서는 스킵
27
+ Input 분석 + Smart Resume
52
28
 
53
- Phase 2: Plan (skill: plan)
54
- - 조건: plan 파일 없음
55
- - interview → 마크다운 기획서 정제
56
- - 출력: .vibe/plans/{feature}.md
29
+ Load skill `spec` — 단일 패스: 컨텍스트 수집 → (필요시) 인라인 질문 → SPEC + Feature 작성 → 셀프 리뷰 1회
57
30
 
58
- [Stop Gate 2 + 분기 판단]
59
- 기획서 type 읽고 경로 결정:
60
- - website/webapp/mobile → UI + Logic 병렬
61
- - api/library/feature-data → Logic만
31
+ SPEC 승인 (1회 automationLevel: autonomous 면 생략)
62
32
 
63
- Phase 3: SPEC 작성 (skill: spec)
64
- - PTCF 구조 SPEC 문서 + Feature(BDD) 파일
65
- - Parallel research (GPT/Antigravity/Claude agents)
66
- - Large scope 자동 분할
67
- - Ambiguity scan + 품질 게이트(100점, 수렴까지 루프)
68
- - 출력: .vibe/specs/{feature}.md + .vibe/features/{feature}.feature
69
-
70
- Phase 4: SPEC Review (skill: spec-review)
71
- - Race Review (GPT + Antigravity, 라운드 수 캡 없음, 수렴까지 루프)
72
- - (옵션) Codex adversarial review
73
- - 사용자 최종 체크포인트
74
-
75
- Phase 5a: Logic Track → /vibe.run
76
- Phase 5b: UI Track (병렬, UI 프로젝트만) → /vibe.figma
77
-
78
- Phase 6: Verify (/vibe.verify)
79
- Phase 7: Trace (/vibe.trace)
80
-
81
- Done
82
- ```
83
-
84
- ## Rules Reference
85
-
86
- **`~/.claude/vibe/rules/` (global) 준수:**
87
-
88
- - `core/development-philosophy.md`
89
- - `core/quick-start.md` — Korean first
90
- - `core/communication-guide.md`
91
-
92
- ## Process
93
-
94
- > **⏱️ Timer**: 시작 시 `getCurrentTime` 호출, `{start_time}`로 기록.
95
-
96
- ### Phase 0: Git Branch Setup (MANDATORY)
97
-
98
- ```bash
99
- git branch --show-current
100
- ```
101
-
102
- | 현재 | 행동 |
103
- |-----|-----|
104
- | `main`/`master` | 임시 이름으로 `git checkout -b vibe/tmp` (이후 feature 이름 확정되면 리네임) |
105
- | `feature/*`, `plan/*`, `interview/*`, `vibe/*` | 확인: "이 브랜치에서 계속?" |
106
- | 기타 | 사용자 확인 |
107
-
108
- ### Phase 0.5: Input 분석 + Smart Resume
109
-
110
- **입력 우선순위:**
111
-
112
- ```
113
- 1. 📎 첨부 파일 있음? → 첨부 분석 → feature name 추출
114
- 2. 인자가 파일 경로? → 파일 위치로 시작 단계 결정:
115
- .vibe/interviews/*.md → Phase 2 (plan)
116
- .vibe/plans/*.md → Phase 3 (spec)
117
- .vibe/specs/*.md → Phase 4 (review)
118
- 기타 (.md/.txt/.pdf) → Phase 2 (plan, 외부 PRD 흡수)
119
- 3. 인자가 feature name? → .vibe/에서 기존 파일 검색
120
- existing spec → "리뷰 재실행? 이어서? 재작성?" 물음
121
- existing plan → Phase 3 (spec)
122
- existing interview → Phase 2 (plan)
123
- 아무것도 없음 → Phase 1 (interview)
124
- 4. 인자 없음 → Smart Resume Fallback 알고리즘 실행 (아래 참조)
125
- ```
126
-
127
- #### Smart Resume Fallback (인자 없는 `/vibe.spec` 호출 시)
128
-
129
- **목적**: feature 이름을 기억하지 못해도 진행 중 작업을 자동 발견해서 이어서 진행할 수 있게 한다.
130
-
131
- ```
132
- 알고리즘:
133
-
134
- Step 1) .vibe/.last-feature 확인 (pointer 파일)
135
- - 파일 없음 → Step 2로
136
- - 존재 → 해당 feature의 상태 요약 출력 + 확인 질문:
137
- "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
138
- 🔄 마지막 작업: {feature-name}
139
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
140
- ✅ interview: .vibe/interviews/{feature}.md (status: complete, N일 전)
141
- ✅ plan: .vibe/plans/{feature}.md (N일 전)
142
- ❌ spec: 없음
143
- → 다음 단계: Phase 3 (spec 스킬 — SPEC 작성)
144
-
145
- 이어서 진행할까요?
146
- Enter / yes → 이어서 진행
147
- list → 다른 진행 중 작업 목록 보기
148
- new → 새 아이디어로 시작
149
- abort → 종료"
150
-
151
- - yes → Phase 0.5의 인자 분석 경로 3번 (feature name)으로 진입
152
- - list → Step 2로
153
- - new → Step 3으로
154
- - abort → 종료
155
-
156
- Step 2) 진행 중 작업 목록 표시 (.vibe/ 디렉토리 스캔)
157
- 수집:
158
- features = {} (feature name → {hasInterview, hasPlan, hasSpec, mtime})
159
- for each file in .vibe/interviews/*.md:
160
- feature = basename without .md
161
- features[feature].hasInterview = true
162
- features[feature].interviewMtime = file.mtime
163
- features[feature].interviewStatus = frontmatter의 status (complete/partial)
164
- 동일하게 plans/*.md, specs/*.md 스캔
165
-
166
- 정렬: 가장 최근 작업 (max mtime) 순
167
- 최대 10개까지 표시
168
-
169
- 진행 중 작업 0개 → Step 3으로
170
- 1개 이상 → 목록 출력 + 선택 질문:
171
- "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
172
- 🔍 진행 중인 작업
173
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
174
-
175
- 1. bean-landing [interview: partial] 2일 전
176
- 2. todo-app [plan: complete] 어제
177
- 3. payment-api [spec: complete] 방금 전
178
- ─────────────────────────────────────────────
179
- n. ➕ 새로 시작
180
- a. 종료
181
-
182
- 선택 번호 또는 feature 이름을 입력하세요:"
183
-
184
- 사용자 응답 처리:
185
- - 숫자 (1~N) → 해당 feature 선택 → 인자 분석 경로 3번으로
186
- - 정확한 feature 이름 → 인자 분석 경로 3번으로
187
- - "n" 또는 "new" → Step 3으로
188
- - "a" 또는 "abort" → 종료
189
- - 자유 텍스트 (매칭 없음) → "{입력}은 기존 feature가 아닙니다. 새로 시작할까요? (y/n)" 확인
190
-
191
- Step 3) 빈 시작 (기존 동작)
192
- "👋 무엇을 만들고 싶으신가요?" 질문 → Phase 1 (interview)
193
- ```
194
-
195
- #### `.last-feature` 포인터 파일 갱신 규칙
196
-
197
- ```
198
- 경로: .vibe/.last-feature
199
- 형식: 한 줄, feature name만 저장
200
- 예: "bean-landing\n"
201
-
202
- ⚠ 이 파일은 **개인 작업 포인터**이므로 git에 커밋하지 않는다.
203
- `.gitignore` 에 `.vibe/.last-feature` 엔트리 필수.
204
-
205
- 갱신 시점:
206
- - Phase 1 (interview) 진입 시 → feature name 결정되면 즉시 기록
207
- - Phase 2 (plan) 진입 시 → 기록 (이미 맞으면 no-op)
208
- - Phase 3 (spec) 진입 시 → 기록
209
- - Phase 4 (review) 진입 시 → 기록
210
-
211
- 즉, 어느 Phase에서 멈추든 다음 /vibe.spec 호출 시 이 feature가 1순위로 제안된다.
212
-
213
- 삭제 시점:
214
- - Phase 7 (trace) 완료 시 → 파일 삭제 (워크플로 완주)
215
- - 사용자가 명시적으로 종료/abort 선택 시 → 삭제하지 않음 (재개 가능하게)
216
- ```
217
-
218
- **출력 예시:**
219
-
220
- ```
221
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
222
- 🔍 Input 분석
223
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
224
-
225
- 입력: "패럴랙스 웹사이트"
226
- 분류: 신규 아이디어
227
- 기존 파일: 없음
228
-
229
- → 시작 단계: Phase 1 (interview)
230
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
231
- ```
232
-
233
- ### Phase 1: Interview (조건부)
234
-
235
- **진입 조건:** interview 파일이 아직 없음
236
-
237
- **진입 방식:**
238
-
239
- 1. **인자 있음** (`/vibe.spec "아이디어"`)
240
- → `interview` 스킬 로드 + 아이디어 전달
241
-
242
- 2. **인자 없음** (`/vibe.spec`)
243
- → **Smart Resume Fallback 먼저** (Phase 0.5 참조):
244
- - `.last-feature` 있고 사용자가 "이어서" 선택 → 해당 feature로 진입 (이 Phase 1 건너뛸 수 있음)
245
- - 진행 중 작업 목록에서 선택 → 해당 feature로 진입
246
- - "new" 선택 or 진행 중 작업 없음 → 아래 질문으로 빈 시작
247
- → 빈 시작 질문:
248
- ```
249
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
250
- 👋 무엇을 만들고 싶으신가요?
251
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
252
-
253
- 예:
254
- - "패럴랙스 웹사이트"
255
- - "할 일 관리 앱"
256
- - "Stripe 결제 연동 API"
257
- - 또는 자유롭게 설명
258
-
259
- (파일/이미지 첨부도 가능)
260
- ```
261
- → 사용자 응답 → `interview` 스킬 로드
262
-
263
- **스킬 로드:**
264
-
265
- ```
266
- Load skill `interview` with input: {user_idea}
267
- ```
268
-
269
- > **`.last-feature` 갱신**: interview 스킬이 feature name을 확정하는 즉시 `.vibe/.last-feature` 에 한 줄로 기록. 이후 Phase 2/3/4 진입 시에도 동일 기록 유지 (값이 같으면 no-op).
270
-
271
- `interview` 스킬이 자체적으로:
272
- - 프로젝트 타입 감지 (website/webapp/mobile/api/library/feature)
273
- - 타입별 체크리스트 로드 (`skills/interview/checklists/{type}.md`)
274
- - 반복 인터뷰 실행 (사용자 "그만"까지)
275
- - `.vibe/interviews/{feature-name}.md` 저장
276
-
277
- **Stop Gate 1**: Interview 완료 후 (ultrawork 모드 스킵)
278
-
279
- ```
280
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
281
- ✅ Interview 완료
282
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
283
-
284
- 📄 .vibe/interviews/{feature}.md
285
- Required: N/M | Optional: K/L | Discovered: X
286
-
287
- 다음 단계: 기획서 작성
288
- 1. 계속 진행 (기본)
289
- 2. Interview만 저장하고 종료
290
- 3. Interview 수정 후 다시 (interview 재실행)
291
-
292
- Enter → 계속
293
- ```
294
-
295
- ### Phase 2: Plan (조건부)
296
-
297
- **진입 조건:** plan 파일이 아직 없음
298
-
299
- ```
300
- Load skill `plan` with input: .vibe/interviews/{feature}.md
301
- ```
302
-
303
- `plan` 스킬이 자체적으로:
304
- - 템플릿 로드 (`~/.claude/vibe/templates/plan-template.md`)
305
- - Interview 섹션별 정제
306
- - UI 섹션 조건부 포함 (type 기반)
307
- - `.vibe/plans/{feature}.md` 저장
308
-
309
- **Stop Gate 2**: 기획서 완료 후 + 분기 판단 (ultrawork 모드 스킵)
310
-
311
- ```
312
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
313
- ✅ 기획서 완성
314
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
315
-
316
- 📄 .vibe/plans/{feature}.md
317
- Type: {type}
318
-
319
- {type ∈ UI}:
320
- 자동 경로: SPEC 작성 → Review → Logic Track + UI Track 병렬 실행
321
- 1. 계속 (권장)
322
- 2. Logic Track만 (SPEC만)
323
- 3. UI Track만 (/vibe.figma 바로)
324
- 4. 여기서 종료
325
-
326
- {type ∈ non-UI}:
327
- 자동 경로: SPEC 작성 → Review → Logic Track
328
- 1. 계속 (권장)
329
- 2. 여기서 종료
330
-
331
- Enter → 계속
332
- ```
333
-
334
- ### Phase 3: SPEC 작성
335
-
336
- **진입 조건:** spec 파일이 아직 없음 (또는 재작성 요청)
337
-
338
- ```
339
- Load skill `spec` with input: .vibe/plans/{feature}.md
340
- ```
341
-
342
- `spec` 스킬이 PTCF 구조 SPEC 문서 + Feature(BDD) 파일 생성.
343
-
344
- **핵심 단계** (상세는 `skills/spec/SKILL.md` 참조):
345
-
346
- 1. Project analysis (explorer agent)
347
- 2. config.json references 로드
348
- 3. Parallel research (GPT + Antigravity + Claude agents, 8개 병렬)
349
- 4. UI/UX Design Intelligence (UI 키워드 시 자동)
350
- 5. PTCF SPEC 작성 (Large scope 자동 분할)
351
- 6. Feature file (BDD) 생성
352
- 7. Ambiguity scan
353
- 8. Quality gate (100점, 수렴까지 루프)
354
-
355
- **출력:**
356
-
357
- - `.vibe/specs/{feature-name}.md` (또는 split folder)
358
- - `.vibe/features/{feature-name}.feature` (또는 split folder)
359
-
360
- ### Phase 4: SPEC Review
361
-
362
- ```
363
- Load skill `spec-review` with feature: {feature-name}
364
- ```
365
-
366
- `spec-review` 스킬이 Race Review + 품질 검증 + 사용자 체크포인트 실행.
367
-
368
- **핵심 단계** (상세는 `skills/spec-review/SKILL.md` 참조):
369
-
370
- 1. SPEC/Feature 파일 로드 (single/split 자동 감지)
371
- 2. Quality Validation (100점 게이트, 수렴까지 auto-fix 루프)
372
- 3. Race Review (GPT + Antigravity parallel, 라운드 수 캡 없음, P1=0 + 수렴 시 종료)
373
- 4. (옵션) Codex adversarial review
374
- 5. Review Debate Team (2+ P1/P2 이슈 시)
375
- 6. 사용자 최종 체크포인트
376
-
377
- ### Phase 4.5: Contract Extract (auto, only for features with an API)
378
-
379
- ```
380
- Load skill `contract` with: extract "{feature-name}"
381
- ```
382
-
383
- If the SPEC has a `## API` / `## Endpoints` / `## Interface` section, extract the contract to `.vibe/contracts/{feature-name}.md`. If the section is absent, exit cleanly (not every feature has an API).
384
-
385
- The contract is referenced during Phase 5a implementation, and used by `/vibe.verify` for drift detection.
386
-
387
- ### Phase 5a: Logic Track
388
-
389
- ```
390
33
  /vibe.run "{feature-name}"
391
34
  ```
392
35
 
393
- SPEC code. Auto-checks at start:
394
- - `/vibe.regress list --feature {feature-name}` — warn if any open regressions exist
395
- - `.vibe/contracts/{feature-name}.md` — load if present, use as implementation guide
396
-
397
- ### Phase 5b: UI Track (type ∈ {website, webapp, mobile}일 때만)
398
-
399
- **5a와 병렬 실행** (또는 순차 — 사용자 선택):
36
+ ## Input 분석 + Smart Resume
400
37
 
401
38
  ```
402
- /vibe.figma
39
+ 1. 📎 첨부 있음 → 첨부를 spec 입력으로 전달
40
+ 2. 인자가 파일 경로 →
41
+ .vibe/specs/*.md → 기존 SPEC: "승인 재확인? 재작성? /vibe.run 진행?" 질문
42
+ 기타 (.md/.txt/.pdf) → 외부 PRD 로 spec 입력에 병합
43
+ 3. 인자가 feature name → .vibe/ 검색:
44
+ spec 존재 → "재작성? 이어서 /vibe.run?" 질문
45
+ spec 없음 → spec 패스 시작 (레거시 아티팩트가 있으면 입력으로)
46
+ 4. 인자 없음 → .vibe/.last-feature 확인 → 있으면 "이어서 진행?" 제안,
47
+ 없으면 .vibe/specs/ 스캔해 진행 중 목록 제시, 그것도 없으면
48
+ "👋 무엇을 만들고 싶으신가요?" 로 빈 시작
403
49
  ```
404
50
 
405
- **`/vibe.figma`에 전달할 컨텍스트:**
51
+ ### 레거시 아티팩트 호환 (구버전 .vibe/interviews/, .vibe/plans/)
406
52
 
407
- - `.vibe/plans/{feature}.md` 경로
408
- - 기획서의 §7 Look & Feel, §8 레이아웃, §9 반응형 섹션을 Phase 1 스토리보드 입력으로 사용
53
+ 구버전 vibe 가 남긴 `.vibe/interviews/{feature}.md`, `.vibe/plans/{feature}.md` 가 존재할 수 있다:
409
54
 
410
- ### Phase 6: Verify
55
+ - **존재하면**: spec 패스의 **입력 컨텍스트**로 읽어 활용한다 (이미 답한 질문을 다시 묻지 않게).
56
+ - **절대 요구하거나 재생성하지 않는다**: 이 파일들의 부재는 결함이 아니라 정상 상태다. interview/plan 스킬은 더 이상 존재하지 않는다.
411
57
 
412
- ```
413
- /vibe.verify "{feature-name}"
414
- ```
58
+ ### `.last-feature` 포인터
415
59
 
416
- UI + 로직 + 연결 검증 (후속 PR에서 3축 확장 예정).
60
+ - spec 패스에서 feature 이름 확정 `.vibe/.last-feature` 줄 기록 (spec 스킬이 수행).
61
+ - 개인 작업 포인터이므로 git 커밋 금지 (`.gitignore` 에 `.vibe/.last-feature`).
62
+ - 워크플로 완주(verify 통과) 시 삭제.
417
63
 
418
- ### Phase 7: Trace
64
+ ## 승인과 루프
419
65
 
420
- ```
421
- /vibe.trace "{feature-name}"
422
- ```
423
-
424
- SPEC ↔ 구현 추적.
425
-
426
- > **Phase 7 완료 시**: `.vibe/.last-feature` 삭제 (워크플로 완주 — 다음 `/vibe.spec` 호출은 빈 시작 또는 진행 중 작업 목록에서 시작).
427
-
428
- ## ultrawork 모드
429
-
430
- `ultrawork` (또는 `ulw`)가 인자에 포함되면:
431
-
432
- - **모든 Stop Gate 스킵**
433
- - interview → plan → spec → review → run → (figma 병렬) 전체 자동 실행
434
- - askUser 체크포인트 스킵, 기본값 사용
435
- - 수동 개입 없이 완주
436
-
437
- ```
438
- /vibe.spec "패럴랙스 웹사이트" ultrawork
439
- ```
66
+ SPEC 승인이 `vibe/rules/loop-contract.md` 가 정의하는 **유일한 의무적 사람 개입**이다. 승인 후에는 ANCHOR→ACT→JUDGE→RECORD 루프가 게이트 통과까지 자동 반복한다 (`/vibe.run` → `/vibe.verify`). 별도의 파이프라인 승인·단계별 stop gate 는 없다.
440
67
 
441
- ## Smart Resume 예시
442
-
443
- ### 예시 1: 신규 프로젝트
444
- ```
445
- User: /vibe.spec "원두 브랜드 랜딩"
446
-
447
- Claude: 🔍 Input 분석
448
- 입력: "원두 브랜드 랜딩"
449
- 분류: 신규 아이디어
450
- 기존 파일: 없음
451
- → 시작 단계: Phase 1 (interview)
452
-
453
- [interview 스킬 로드]
454
- Type: website 감지 → checklists/website.md 로드
455
- ...
456
- ```
457
-
458
- ### 예시 2: 기획서에서 시작
459
- ```
460
- User: /vibe.spec ".vibe/plans/bean-landing.md"
461
-
462
- Claude: 🔍 Input 분석
463
- 입력: plan 파일 경로
464
- 분류: 기존 기획서
465
- Feature: bean-landing
466
- → 시작 단계: Phase 3 (spec)
467
-
468
- [spec 스킬 로드]
469
- 기획서 읽기 → research → PTCF 작성 ...
470
- ```
471
-
472
- ### 예시 3: 기존 feature 재개
473
- ```
474
- User: /vibe.spec "bean-landing"
475
-
476
- Claude: 🔍 Input 분석
477
- 입력: feature name
478
- 기존 파일 검색...
479
- ✅ interview: .vibe/interviews/bean-landing.md
480
- ✅ plan: .vibe/plans/bean-landing.md
481
- ❌ spec: 없음
482
- → 시작 단계: Phase 3 (spec)
483
-
484
- [spec 스킬 로드]
485
- ...
486
- ```
487
-
488
- ### 예시 4: SPEC 리뷰 재실행
489
- ```
490
- User: /vibe.spec "bean-landing"
491
-
492
- Claude: 🔍 Input 분석
493
- 기존 파일:
494
- ✅ spec: .vibe/specs/bean-landing.md
495
- ✅ feature: .vibe/features/bean-landing.feature
496
-
497
- 이미 SPEC이 존재합니다. 어떻게 진행할까요?
498
- 1. SPEC 리뷰 (Phase 4: spec-review 스킬 로드)
499
- 2. /vibe.run 실행 (구현)
500
- 3. SPEC 재작성 (기존 백업 후 새로 작성)
501
- 4. 종료
502
- ```
503
-
504
- ### 예시 5: feature 이름을 잊고 인자 없이 호출 (Smart Resume Fallback)
505
- ```
506
- User: /vibe.spec
507
-
508
- Claude: (.last-feature 읽기 → "bean-landing" 발견)
509
-
510
- 🔄 마지막 작업: bean-landing
511
- ✅ interview: .vibe/interviews/bean-landing.md (status: partial, 2일 전)
512
- ❌ plan: 없음
513
- ❌ spec: 없음
514
- → 다음 단계: Phase 2 (plan — 기획서 작성)
515
-
516
- 이어서 진행할까요?
517
- Enter / yes → 이어서 진행
518
- list → 다른 진행 중 작업 목록 보기
519
- new → 새 아이디어로 시작
520
- abort → 종료
521
-
522
- User: yes
523
-
524
- Claude: [Phase 2 진입]
525
- .last-feature = bean-landing
526
- [plan 스킬 로드]
527
- ...
528
- ```
529
-
530
- ### 예시 6: 여러 feature 중 선택 (Fallback list 모드)
531
- ```
532
- User: /vibe.spec
533
-
534
- Claude: (.last-feature 없음 → 디렉토리 스캔)
535
-
536
- 🔍 진행 중인 작업
537
-
538
- 1. bean-landing [interview: partial] 2일 전
539
- 2. todo-app [plan: complete] 어제
540
- 3. payment-api [spec: complete] 방금 전
541
- ─────────────────────────────────────────────
542
- n. ➕ 새로 시작
543
- a. 종료
544
-
545
- 선택 번호 또는 feature 이름을 입력하세요:
546
-
547
- User: 2
548
-
549
- Claude: Feature: todo-app 선택
550
- ✅ plan 완성 → Phase 3 (spec) 진입
551
- .last-feature = todo-app
552
- ...
553
- ```
554
-
555
- ## Rollback / Resume
556
-
557
- - 각 Phase 종료 시 상태가 `.vibe/{interviews,plans,specs,features}/`에 저장됨
558
- - **`.vibe/.last-feature` pointer**가 각 Phase 진입 시 갱신되어 "가장 최근에 작업한 feature" 추적 (Phase 7 완주 시 삭제)
559
- - 중단 시 다시 `/vibe.spec`으로 돌아오면 Smart Resume Fallback 동작:
560
- - 인자 있음 (`/vibe.spec "feature-name"` 또는 파일 경로) → 해당 feature의 가장 진행된 단계 다음으로 바로 진입
561
- - 인자 없음 → `.last-feature` 우선 제안 → 거부하면 진행 중 작업 목록 제시 → 또 거부하면 빈 시작
562
- - 수동 개입 필요시 스킬 직접 호출 가능 (`Load skill interview` 등)
68
+ - `automationLevel: autonomous` (`.vibe/config.json`) 또는 deprecated `ultrawork`/`ulw` 별칭 → SPEC 승인도 생략, 비대화형 완주.
69
+ - `--interactive` → 회전마다 확인 (과거 기본값).
563
70
 
564
71
  ## Next Step
565
72
 
566
73
  ```
567
- # 전형적인 사용
568
- /vibe.spec "프로젝트 아이디어"
569
-
570
- # 중간 단계 재개
571
- /vibe.spec "feature-name"
572
-
573
- # ultrawork 자동 완주
574
- /vibe.spec "feature-name" ultrawork
74
+ /vibe.run "{feature-name}" # 승인된 SPEC 구현 (spec 승인 직후 자동 제안)
75
+ /vibe.verify "{feature-name}" # Done Criteria 판정 → run-ledger 기록
575
76
  ```
576
77
 
78
+ trace(`/vibe.trace`)·contract(`/vibe.contract`) 는 사용자가 요청하거나 SPEC 에 API Contract 섹션이 있을 때만 체인한다.
79
+
577
80
  ---
578
81
 
579
82
  ARGUMENTS: $ARGUMENTS
@@ -31,7 +31,7 @@ Collection of utility tools. Use with options.
31
31
 
32
32
  ## --ui (UI Preview)
33
33
 
34
- Read and follow `agents/ui-previewer.md` for UI preview generation.
34
+ Generate the UI preview directly in the main session (native capability — no dedicated agent).
35
35
 
36
36
  Generate UI preview from description or design folder.
37
37
 
@@ -217,7 +217,7 @@ Fix TypeScript/build errors with minimal changes.
217
217
 
218
218
  ## --clean (Dead Code Removal)
219
219
 
220
- Read and follow `agents/refactor-cleaner.md` for safe dead code removal.
220
+ Perform safe dead code removal directly (native capability — the `/simplify` skill covers reuse/simplification cleanups; this mode handles detection + removal with an audit trail).
221
221
 
222
222
  Detect and remove unused code with audit trail.
223
223
 
@@ -280,7 +280,7 @@ docs/CODEMAPS/
280
280
 
281
281
  ## --compound (Solution Documentation)
282
282
 
283
- Read and follow `agents/compounder.md` for solution documentation.
283
+ Document the solved problem directly (native capability — no dedicated agent).
284
284
 
285
285
  Document solved problems for knowledge accumulation.
286
286