@su-record/vibe 2.16.4 → 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 (267) hide show
  1. package/CLAUDE.md +8 -8
  2. package/README.en.md +46 -29
  3. package/README.md +41 -24
  4. package/agents/acceptance-tester.md +56 -0
  5. package/agents/architect.md +25 -67
  6. package/agents/build-error-resolver.md +28 -97
  7. package/agents/code-reviewer.md +89 -0
  8. package/agents/diagrammer.md +34 -169
  9. package/agents/documenter.md +43 -0
  10. package/agents/e2e-tester.md +46 -281
  11. package/agents/event/event-ops.md +54 -77
  12. package/agents/event/event-planner.md +63 -0
  13. package/agents/figma/figma-engineer.md +76 -0
  14. package/agents/implementer.md +26 -41
  15. package/agents/security-reviewer.md +56 -0
  16. package/agents/tester.md +37 -33
  17. package/agents/ui/design-reviewer.md +62 -0
  18. package/agents/ui/design-system-gen.md +63 -0
  19. package/dist/cli/commands/remove.d.ts.map +1 -1
  20. package/dist/cli/commands/remove.js +8 -10
  21. package/dist/cli/commands/remove.js.map +1 -1
  22. package/dist/cli/index.d.ts +0 -4
  23. package/dist/cli/index.d.ts.map +1 -1
  24. package/dist/cli/index.js +0 -4
  25. package/dist/cli/index.js.map +1 -1
  26. package/dist/cli/llm/model-refresh.js +1 -1
  27. package/dist/cli/llm/model-refresh.js.map +1 -1
  28. package/dist/cli/postinstall/claude-agents.d.ts.map +1 -1
  29. package/dist/cli/postinstall/claude-agents.js +16 -77
  30. package/dist/cli/postinstall/claude-agents.js.map +1 -1
  31. package/dist/cli/postinstall/constants.d.ts.map +1 -1
  32. package/dist/cli/postinstall/constants.js +80 -296
  33. package/dist/cli/postinstall/constants.js.map +1 -1
  34. package/dist/cli/postinstall/cursor-agents.d.ts +5 -0
  35. package/dist/cli/postinstall/cursor-agents.d.ts.map +1 -1
  36. package/dist/cli/postinstall/cursor-agents.js +26 -68
  37. package/dist/cli/postinstall/cursor-agents.js.map +1 -1
  38. package/dist/cli/postinstall/cursor-skills.d.ts.map +1 -1
  39. package/dist/cli/postinstall/cursor-skills.js +26 -30
  40. package/dist/cli/postinstall/cursor-skills.js.map +1 -1
  41. package/dist/cli/postinstall/main.d.ts.map +1 -1
  42. package/dist/cli/postinstall/main.js +0 -2
  43. package/dist/cli/postinstall/main.js.map +1 -1
  44. package/dist/cli/setup/Provisioner.d.ts.map +1 -1
  45. package/dist/cli/setup/Provisioner.js +19 -21
  46. package/dist/cli/setup/Provisioner.js.map +1 -1
  47. package/dist/cli/utils.d.ts +4 -1
  48. package/dist/cli/utils.d.ts.map +1 -1
  49. package/dist/cli/utils.js +4 -1
  50. package/dist/cli/utils.js.map +1 -1
  51. package/dist/infra/lib/FrameworkDetector.js +4 -4
  52. package/dist/infra/lib/FrameworkDetector.js.map +1 -1
  53. package/dist/infra/lib/OrchestrateWorkflow.js +2 -2
  54. package/dist/infra/lib/OrchestrateWorkflow.js.map +1 -1
  55. package/dist/infra/lib/browser/launch.js +1 -1
  56. package/dist/infra/lib/browser/launch.js.map +1 -1
  57. package/dist/infra/lib/browser/types.d.ts +1 -1
  58. package/dist/infra/lib/browser/types.js +1 -1
  59. package/dist/infra/lib/constants.d.ts +1 -1
  60. package/dist/infra/lib/constants.d.ts.map +1 -1
  61. package/dist/infra/lib/constants.js +4 -5
  62. package/dist/infra/lib/constants.js.map +1 -1
  63. package/dist/infra/lib/evolution/__tests__/integration.test.js +7 -7
  64. package/dist/infra/lib/evolution/__tests__/integration.test.js.map +1 -1
  65. package/dist/infra/lib/memory/index.d.ts +0 -2
  66. package/dist/infra/lib/memory/index.d.ts.map +1 -1
  67. package/dist/infra/lib/memory/index.js +0 -2
  68. package/dist/infra/lib/memory/index.js.map +1 -1
  69. package/dist/infra/lib/telemetry/SkillTelemetry.test.js +1 -1
  70. package/dist/infra/lib/telemetry/SkillTelemetry.test.js.map +1 -1
  71. package/dist/tools/index.d.ts +0 -4
  72. package/dist/tools/index.d.ts.map +1 -1
  73. package/dist/tools/index.js +0 -4
  74. package/dist/tools/index.js.map +1 -1
  75. package/dist/tools/memory/autoSaveContext.d.ts +0 -1
  76. package/dist/tools/memory/autoSaveContext.d.ts.map +1 -1
  77. package/dist/tools/memory/autoSaveContext.js +13 -27
  78. package/dist/tools/memory/autoSaveContext.js.map +1 -1
  79. package/hooks/scripts/__tests__/code-check-detectors.test.js +2 -2
  80. package/hooks/scripts/__tests__/run-ledger.test.js +1 -1
  81. package/hooks/scripts/__tests__/scope-from-spec.test.js +12 -12
  82. package/hooks/scripts/__tests__/step-counter.test.js +1 -1
  83. package/hooks/scripts/code-check.js +16 -203
  84. package/hooks/scripts/context-save.js +0 -11
  85. package/hooks/scripts/lib/scope-from-spec.js +9 -6
  86. package/hooks/scripts/post-edit-dispatcher.js +1 -1
  87. package/hooks/scripts/prompt-dispatcher.js +7 -18
  88. package/hooks/scripts/session-start.js +25 -35
  89. package/package.json +2 -4
  90. package/skills/agents-md/SKILL.md +62 -15
  91. package/skills/arch-guard/SKILL.md +1 -1
  92. package/skills/brand-assets/SKILL.md +2 -2
  93. package/skills/capability-loop/SKILL.md +1 -1
  94. package/skills/chub-usage/SKILL.md +1 -1
  95. package/skills/commerce-patterns/SKILL.md +2 -2
  96. package/skills/commit-push-pr/SKILL.md +0 -1
  97. package/skills/context7-usage/SKILL.md +1 -1
  98. package/skills/design-refine/SKILL.md +140 -0
  99. package/skills/{design-polish → design-refine}/templates/polish-report.md +1 -1
  100. package/skills/{design-normalize → design-refine}/templates/token-audit.md +3 -3
  101. package/skills/design-review/SKILL.md +143 -0
  102. package/skills/{design-audit → design-review}/agents/a11y-auditor.md +1 -1
  103. package/skills/{design-audit → design-review}/agents/performance-auditor.md +1 -1
  104. package/skills/{design-audit → design-review}/agents/responsive-auditor.md +1 -1
  105. package/skills/{design-audit → design-review}/agents/slop-detector.md +1 -1
  106. package/skills/{design-audit → design-review}/frameworks/core-web-vitals.md +1 -1
  107. package/skills/{design-audit → design-review}/frameworks/wcag-checklist.md +1 -1
  108. package/skills/{design-audit → design-review}/orchestrator.md +3 -3
  109. package/skills/{design-critique → design-review}/templates/critique-report.md +3 -3
  110. package/skills/{design-audit → design-review}/templates/report.md +3 -3
  111. package/skills/design-teach/SKILL.md +11 -11
  112. package/skills/docs/SKILL.md +14 -16
  113. package/skills/e2e-commerce/SKILL.md +1 -1
  114. package/skills/event-comms/SKILL.md +1 -1
  115. package/skills/event-ops/SKILL.md +2 -2
  116. package/skills/event-planning/SKILL.md +1 -1
  117. package/skills/exec-plan/SKILL.md +2 -2
  118. package/skills/figma/SKILL.md +240 -148
  119. package/skills/figma/rubrics/css-mapping.md +125 -0
  120. package/skills/git-worktree/SKILL.md +1 -1
  121. package/skills/handoff/SKILL.md +1 -1
  122. package/skills/parallel-research/SKILL.md +14 -28
  123. package/skills/priority-todos/SKILL.md +1 -1
  124. package/skills/regress/SKILL.md +11 -0
  125. package/skills/restraint/SKILL.md +72 -0
  126. package/skills/seo-checklist/SKILL.md +2 -2
  127. package/skills/spec/SKILL.md +65 -836
  128. package/skills/test/SKILL.md +3 -3
  129. package/skills/tool-fallback/SKILL.md +2 -2
  130. package/skills/vercel-react-best-practices/SKILL.md +1 -1
  131. package/skills/vibe/SKILL.md +20 -35
  132. package/skills/vibe.analyze/SKILL.md +7 -9
  133. package/skills/vibe.docs/SKILL.md +1 -1
  134. package/skills/vibe.event/SKILL.md +27 -27
  135. package/skills/vibe.figma/SKILL.md +14 -18
  136. package/skills/vibe.harness/SKILL.md +5 -5
  137. package/skills/vibe.reason/SKILL.md +0 -2
  138. package/skills/vibe.review/SKILL.md +45 -49
  139. package/skills/vibe.run/SKILL.md +2 -5
  140. package/skills/vibe.run/references/parallel-agents.md +33 -98
  141. package/skills/vibe.spec/SKILL.md +38 -535
  142. package/skills/vibe.utils/SKILL.md +3 -3
  143. package/skills/vibe.verify/SKILL.md +70 -542
  144. package/skills/video-production/SKILL.md +1 -1
  145. package/vibe/rules/orchestrator-contract.md +5 -4
  146. package/vibe/rules/quality/performance.md +1 -1
  147. package/vibe/templates/claudemd-template.md +1 -1
  148. package/vibe/templates/spec-template.md +35 -185
  149. package/agents/architect-low.md +0 -41
  150. package/agents/architect-medium.md +0 -59
  151. package/agents/compounder.md +0 -265
  152. package/agents/docs/api-documenter.md +0 -99
  153. package/agents/docs/changelog-writer.md +0 -93
  154. package/agents/event/event-comms.md +0 -78
  155. package/agents/event/event-content.md +0 -68
  156. package/agents/event/event-image.md +0 -95
  157. package/agents/event/event-scheduler.md +0 -69
  158. package/agents/event/event-speaker.md +0 -86
  159. package/agents/explorer-low.md +0 -42
  160. package/agents/explorer-medium.md +0 -59
  161. package/agents/explorer.md +0 -48
  162. package/agents/figma/figma-analyst.md +0 -56
  163. package/agents/figma/figma-architect.md +0 -116
  164. package/agents/figma/figma-auditor.md +0 -86
  165. package/agents/figma/figma-builder.md +0 -104
  166. package/agents/implementer-low.md +0 -43
  167. package/agents/implementer-medium.md +0 -52
  168. package/agents/junior-mentor.md +0 -141
  169. package/agents/planning/requirements-analyst.md +0 -84
  170. package/agents/planning/ux-advisor.md +0 -83
  171. package/agents/qa/acceptance-tester.md +0 -86
  172. package/agents/qa/edge-case-finder.md +0 -93
  173. package/agents/qa/qa-coordinator.md +0 -131
  174. package/agents/refactor-cleaner.md +0 -143
  175. package/agents/research/best-practices.md +0 -199
  176. package/agents/research/codebase-patterns.md +0 -157
  177. package/agents/research/framework-docs.md +0 -188
  178. package/agents/research/security-advisory.md +0 -213
  179. package/agents/review/architecture-reviewer.md +0 -107
  180. package/agents/review/complexity-reviewer.md +0 -116
  181. package/agents/review/data-integrity-reviewer.md +0 -88
  182. package/agents/review/git-history-reviewer.md +0 -103
  183. package/agents/review/performance-reviewer.md +0 -86
  184. package/agents/review/python-reviewer.md +0 -150
  185. package/agents/review/rails-reviewer.md +0 -139
  186. package/agents/review/react-reviewer.md +0 -144
  187. package/agents/review/security-reviewer.md +0 -80
  188. package/agents/review/simplicity-reviewer.md +0 -140
  189. package/agents/review/test-coverage-reviewer.md +0 -116
  190. package/agents/review/typescript-reviewer.md +0 -127
  191. package/agents/searcher.md +0 -54
  192. package/agents/simplifier.md +0 -124
  193. package/agents/teams/debug-team.md +0 -74
  194. package/agents/teams/dev-team.md +0 -92
  195. package/agents/teams/docs-team.md +0 -84
  196. package/agents/teams/figma-team.md +0 -89
  197. package/agents/teams/fullstack-team.md +0 -87
  198. package/agents/teams/lite-team.md +0 -73
  199. package/agents/teams/migration-team.md +0 -82
  200. package/agents/teams/refactor-team.md +0 -98
  201. package/agents/teams/research-team.md +0 -90
  202. package/agents/teams/review-debate-team.md +0 -129
  203. package/agents/teams/security-team.md +0 -85
  204. package/agents/ui/ui-a11y-auditor.md +0 -93
  205. package/agents/ui/ui-antipattern-detector.md +0 -102
  206. package/agents/ui/ui-dataviz-advisor.md +0 -69
  207. package/agents/ui/ui-design-system-gen.md +0 -57
  208. package/agents/ui/ui-industry-analyzer.md +0 -49
  209. package/agents/ui/ui-layout-architect.md +0 -65
  210. package/agents/ui/ui-stack-implementer.md +0 -68
  211. package/agents/ui/ux-compliance-reviewer.md +0 -81
  212. package/agents/ui-previewer.md +0 -262
  213. package/hooks/scripts/__tests__/keyword-detector.test.js +0 -242
  214. package/hooks/scripts/keyword-detector.js +0 -226
  215. package/skills/characterization-test/SKILL.md +0 -209
  216. package/skills/characterization-test/agents/behavior-capturer.md +0 -50
  217. package/skills/characterization-test/agents/coverage-checker.md +0 -54
  218. package/skills/characterization-test/agents/reporter.md +0 -50
  219. package/skills/characterization-test/agents/test-writer.md +0 -49
  220. package/skills/characterization-test/rubrics/coverage-criteria.md +0 -53
  221. package/skills/characterization-test/templates/test-template.ts +0 -101
  222. package/skills/claude-md-guide/SKILL.md +0 -353
  223. package/skills/claude-md-guide/rubrics/anti-patterns.md +0 -88
  224. package/skills/design-audit/SKILL.md +0 -154
  225. package/skills/design-critique/SKILL.md +0 -140
  226. package/skills/design-distill/SKILL.md +0 -131
  227. package/skills/design-normalize/SKILL.md +0 -135
  228. package/skills/design-polish/SKILL.md +0 -132
  229. package/skills/figma-convert/SKILL.md +0 -236
  230. package/skills/figma-extract/SKILL.md +0 -242
  231. package/skills/interview/SKILL.md +0 -358
  232. package/skills/interview/checklists/api.md +0 -101
  233. package/skills/interview/checklists/feature.md +0 -88
  234. package/skills/interview/checklists/library.md +0 -95
  235. package/skills/interview/checklists/mobile.md +0 -89
  236. package/skills/interview/checklists/webapp.md +0 -97
  237. package/skills/interview/checklists/website.md +0 -99
  238. package/skills/plan/SKILL.md +0 -254
  239. package/skills/rob-pike/SKILL.md +0 -66
  240. package/skills/spec/references/askuser-examples.md +0 -57
  241. package/skills/spec/references/example-session.md +0 -87
  242. package/skills/spec/references/templates.md +0 -194
  243. package/skills/spec-review/SKILL.md +0 -725
  244. package/skills/systematic-debugging/SKILL.md +0 -142
  245. package/skills/techdebt/SKILL.md +0 -126
  246. package/skills/techdebt/agents/analyzer.md +0 -50
  247. package/skills/techdebt/agents/fixer.md +0 -41
  248. package/skills/techdebt/agents/reviewer.md +0 -47
  249. package/skills/techdebt/agents/scanner.md +0 -44
  250. package/skills/techdebt/orchestrator.md +0 -72
  251. package/skills/techdebt/rubrics/severity.md +0 -51
  252. package/skills/techdebt/scripts/scan.js +0 -90
  253. package/skills/techdebt/templates/report.md +0 -86
  254. package/skills/typescript-advanced-types/SKILL.md +0 -68
  255. package/skills/typescript-advanced-types/rubrics/type-patterns.md +0 -109
  256. package/skills/yagni-ladder/SKILL.md +0 -90
  257. /package/skills/{claude-md-guide → agents-md}/templates/claude-md.md +0 -0
  258. /package/skills/{design-polish → design-refine}/rubrics/polish-checklist.md +0 -0
  259. /package/skills/{design-normalize → design-refine}/rubrics/token-naming.md +0 -0
  260. /package/skills/{design-distill → design-refine}/templates/design-system.md +0 -0
  261. /package/skills/{design-audit → design-review}/agents/scorer.md +0 -0
  262. /package/skills/{design-audit → design-review}/rubrics/ai-slop-patterns.md +0 -0
  263. /package/skills/{design-audit → design-review}/rubrics/scoring.md +0 -0
  264. /package/skills/{design-critique → design-review}/rubrics/ux-heuristics.md +0 -0
  265. /package/skills/{figma-convert → figma}/rubrics/conversion-rules.md +0 -0
  266. /package/skills/{figma-extract → figma}/rubrics/image-rules.md +0 -0
  267. /package/skills/{figma-convert → figma}/templates/component.md +0 -0
@@ -3,7 +3,7 @@ name: video-production
3
3
  invocation: [auto]
4
4
  tier: standard
5
5
  description: "Video processing gotchas — FFmpeg commands, transcoding pipelines, HLS/DASH streaming setup, subtitle embedding (SRT/VTT), and thumbnail extraction. Use when the project involves any video manipulation, media processing, or streaming infrastructure. Covers codec selection, bitrate optimization, and common FFmpeg pitfalls. Must use this skill when user works with video files, mentions FFmpeg, or needs media processing — even for simple tasks like 'generate a thumbnail'."
6
- triggers: [video, ffmpeg, transcode, encode, stream, media, subtitle, thumbnail, hls, dash]
6
+ triggers: [video, ffmpeg, transcode, subtitle, thumbnail, hls, video encoding, media processing]
7
7
  priority: 60
8
8
  ---
9
9
 
@@ -4,7 +4,7 @@
4
4
  > **구조·스키마·네이밍 규칙**의 유일한 정의다. 각 orchestrator.md 는 이 스키마를 따르되
5
5
  > **내용(phase·실패모드·에이전트)은 스킬별로 고유**하다 — 내용을 공유 파일로 병합하지 않는다.
6
6
  >
7
- > 대상: `skills/{techdebt,parallel-research,exec-plan,design-audit,create-prd}/orchestrator.md`
7
+ > 대상: `skills/{techdebt,parallel-research,exec-plan,design-review,create-prd}/orchestrator.md`
8
8
 
9
9
  ## Frontmatter
10
10
 
@@ -48,9 +48,10 @@ skill-local 에이전트는 접두사를 붙인다:
48
48
  |-------|--------|-----|
49
49
  | techdebt | `techdebt` | `techdebt-scanner` |
50
50
  | exec-plan | `plan` | `plan-decomposer` |
51
- | design-audit | `design` | `design-a11y-auditor` |
51
+ | design-review | `design` | `design-a11y-auditor` |
52
52
  | parallel-research | `research` | `research-best-practices` |
53
53
  | create-prd | `prd` | `prd-requirements-writer` |
54
54
 
55
- > WHY: `edge-case-finder`, `reviewer`, `researcher` 등은 전역 에이전트/리뷰어와 basename 이
56
- > 겹친다. 접두사가 없으면 조율 LLM 이 전역 에이전트와 skill-local 에이전트를 혼동한다.
55
+ > WHY: `reviewer`, `scorer`, `a11y-auditor` 등은 전역 에이전트/리뷰어(code-reviewer,
56
+ > design-reviewer 등)와 basename 이 겹치거나 혼동된다. 접두사가 없으면 조율 LLM 이
57
+ > 전역 에이전트와 skill-local 에이전트를 혼동한다.
@@ -233,4 +233,4 @@ function findDuplicates(arr: string[]): string[] {
233
233
  - [ ] 대량 데이터 처리 시 스트리밍/청크 처리 적용
234
234
  - [ ] 메모리 누수 점검 (이벤트 리스너 해제, 타이머 정리)
235
235
 
236
- > **vibe 도구 연계**: `core_analyze_complexity`로 함수 복잡도 측정, `/vibe.review`의 performance-reviewer 에이전트로 자동 성능 리뷰
236
+ > **vibe 도구 연계**: `core_analyze_complexity`로 함수 복잡도 측정, `/vibe.review`의 code-reviewer(focus: performance) 에이전트로 자동 성능 리뷰
@@ -68,7 +68,7 @@ At 85%+ context: `save_memory` → `/new` → `/vibe.utils --continue` (raised f
68
68
 
69
69
  ## Git Commit Rules
70
70
 
71
- **Include:** `.vibe/plans/`, `.vibe/specs/`, `.vibe/features/`, `.vibe/config.json`, `CLAUDE.md`
71
+ **Include:** `.vibe/specs/`, `.vibe/features/`, `.vibe/config.json`, `CLAUDE.md` (legacy `.vibe/plans/` 는 있으면 유지)
72
72
  **Exclude:** `~/.claude/vibe/rules/`, `~/.claude/commands/`, `~/.claude/agents/`, `~/.claude/skills/`, `.claude/settings.local.json`
73
73
 
74
74
  <!-- VIBE:END -->
@@ -1,221 +1,71 @@
1
1
  # SPEC: {Feature Name}
2
2
 
3
- ## Metadata
4
-
5
3
  - **Created**: {YYYY-MM-DD}
6
- - **Author**: {Name}
7
- - **Status**: DRAFT
8
- - **Priority**: {HIGH | MEDIUM | LOW}
9
- - **Language**: {en | ko}
10
- - **Assigned Agent**: {Agent Name}
11
- - **Tech Stack**: {Project Tech Stack Summary}
4
+ - **Status**: DRAFT | APPROVED
5
+ - **Tech Stack**: {Project tech stack summary}
12
6
 
13
7
  ---
14
8
 
15
- ## 1. Feature Overview
16
-
17
- {1-2 sentence summary}
18
-
19
- ### Background
20
-
21
- {Why is this feature needed}
22
-
23
- ### Goals
24
-
25
- - Goal 1
26
- - Goal 2
27
-
28
- ### Non-Goals
29
-
30
- - What we won't do this time 1
31
- - What we won't do this time 2
9
+ ## 1. Overview / Goal
32
10
 
33
- ### Tech Stack Context
11
+ {What and why — 1-3 sentences.}
34
12
 
35
- **Existing Technology:**
13
+ ### Assumptions
36
14
 
37
- - Backend: {FastAPI, Django, Express, etc.}
38
- - Frontend: {React, Flutter, Vue, etc.}
39
- - Database: {PostgreSQL, MySQL, MongoDB, etc.}
40
- - Infrastructure: {GCP, AWS, Azure, etc.}
41
-
42
- **New Technology Required for This Feature:**
43
-
44
- - {New library/service 1} - {Reason}
45
- - {New library/service 2} - {Reason}
46
-
47
- **External API/Service Integration:**
48
-
49
- - {Service name} - {Purpose}
50
-
51
- **Constraints:**
52
-
53
- - Cost limit: {Amount}
54
- - Performance requirements: {Target response time, throughput, etc.}
15
+ - {Default adopted without asking — e.g., session expiry 24h}
55
16
 
56
17
  ---
57
18
 
58
- ## 2. User Stories
59
-
60
- ### Story 1: {Story Title}
61
-
62
- **As a** {User role}
63
- **I want** {Desired functionality}
64
- **So that** {Reason/Value}
19
+ ## 2. Done Criteria (deterministic gates)
65
20
 
66
- #### Acceptance Criteria
21
+ > Each criterion must be judgeable by a command or observable behavior — never by self-report.
22
+ > These are the JUDGE inputs of the loop (`vibe/rules/loop-contract.md`); `/vibe.verify` records the result in `.vibe/metrics/run-ledger.json`.
67
23
 
68
- - [ ] {Verifiable condition 1}
69
- - [ ] {Verifiable condition 2}
24
+ | # | Criterion | Verified by |
25
+ |---|-----------|-------------|
26
+ | D1 | {e.g., all scenarios in the feature file pass} | {e.g., `npx vitest run` exit 0} |
27
+ | D2 | {e.g., build succeeds with no type errors} | {e.g., `npm run build` exit 0} |
70
28
 
71
29
  ---
72
30
 
73
- ## 3. Requirements (EARS Format)
31
+ ## 3. Scenarios
74
32
 
75
- ### REQ-001: {Requirement Title}
33
+ > Mirrored to `.vibe/features/{feature}.feature` (gherkin). Every scenario maps to a Done criterion.
76
34
 
77
- **WHEN** {Specific condition}
78
- **THEN** {System behavior} (SHALL | SHOULD | MAY)
79
-
80
- #### Acceptance Criteria
81
-
82
- - [ ] {Testable criterion 1}
83
- - [ ] {Testable criterion 2}
84
-
85
- #### Example
86
-
87
- ```text
88
- Input: {...}
89
- Output: {...}
35
+ ```gherkin
36
+ Scenario: {Happy path title} # D1
37
+ Given {precondition}
38
+ When {action}
39
+ Then {expected result}
40
+
41
+ Scenario: {Edge case title} # D1
42
+ Given {precondition}
43
+ When {action}
44
+ Then {expected result}
90
45
  ```
91
46
 
92
47
  ---
93
48
 
94
- ## 4. Non-Functional Requirements
95
-
96
- ### Performance
97
-
98
- - Response time: {Target}
99
- - Throughput: {Target}
100
-
101
- ### Security
102
-
103
- - Authentication: {Method}
104
- - Authorization: {Rules}
105
-
106
- ### Scalability
107
-
108
- - Expected growth rate: {Value}
109
-
110
- ---
111
-
112
- ## 5. Data Model (Draft)
113
-
114
- ### Entity: {Name}
49
+ ## 4. Out of Scope
115
50
 
116
- ```json
117
- {
118
- "field1": "type",
119
- "field2": "type"
120
- }
121
- ```
51
+ - {Explicitly not doing this time — must not be empty}
122
52
 
123
53
  ---
124
54
 
125
- ## 6. API Contract (Draft)
55
+ ## 5. API Contract (only if the feature exposes an API)
126
56
 
127
- ### Endpoint: {Name}
57
+ > Presence of this section enables `/vibe.contract` drift detection.
128
58
 
129
59
  ```text
130
- POST /api/v1/resource
60
+ POST /api/v1/{resource}
131
61
  Request: {...}
132
- Response: {...}
133
- ```
134
-
135
- ---
136
-
137
- ## 7. Test Strategy
138
-
139
- ### BDD Scenarios (Gherkin)
140
-
141
- **Generate Command**: `vibe feature "{feature name}"`
142
-
143
- ```gherkin
144
- Scenario: {Scenario title}
145
- Given {Precondition}
146
- When {User action}
147
- Then {Expected result}
148
- ```
149
-
150
- **Mapping**:
151
-
152
- - REQ-001 → Scenario 1, 2
153
- - REQ-002 → Scenario 3
154
-
155
- ### Contract Tests (API Schema)
156
-
157
- **Generate Command**: `vibe contract "{feature name}"`
158
-
159
- **Backend Contract**:
160
-
161
- ```json
162
- {
163
- "request": {
164
- "method": "POST",
165
- "path": "/api/v1/{resource}",
166
- "schema": {JSON Schema}
167
- },
168
- "response": {
169
- "status": 201,
170
- "schema": {JSON Schema}
171
- }
172
- }
62
+ Response: 201 {...}
173
63
  ```
174
64
 
175
- **Frontend Contract**:
176
-
177
- - Independent testing with mock server
178
- - Response schema validation (Zod, JSON Schema)
179
-
180
- ### Test Coverage Goals
181
-
182
- - [ ] BDD: Cover all Acceptance Criteria
183
- - [ ] Contract: Cover all API endpoints
184
- - [ ] Unit: 70%+ coverage
185
- - [ ] Integration: Cover critical paths
186
-
187
- ---
188
-
189
- ## 8. Out of Scope
190
-
191
- - ❌ {Excluded item 1}
192
- - ❌ {Excluded item 2}
193
-
194
65
  ---
195
66
 
196
- ## 9. Verification Checklist
197
-
198
- ### Requirements
199
-
200
- - [ ] Are all requirements testable?
201
- - [ ] Is SHALL/SHOULD/MAY clear?
202
- - [ ] Are Acceptance Criteria specific?
203
- - [ ] Are performance goals measurable?
204
-
205
- ### Testing
206
-
207
- - [ ] BDD Feature file generation complete?
208
- - [ ] Contract tests defined?
209
- - [ ] Step Definitions written?
210
- - [ ] Test coverage goal achieved?
211
-
212
- ---
213
-
214
- ## 10. Approval
215
-
216
- - [ ] User approval
217
- - [ ] Technical review complete
218
- - [ ] Test plan approved
67
+ ## 6. Verification
219
68
 
220
- Approval Date: ____________
221
- Approver: ____________
69
+ - `/vibe.run "{feature}"` implements scenario-by-scenario, verifying each immediately.
70
+ - `/vibe.verify "{feature}"` judges the Done Criteria and sets `verifyPassed` in the run-ledger.
71
+ - Gate = all Done Criteria pass (exit codes / observed behavior) — loop continues until gates pass, stuck, or max iterations.
@@ -1,41 +0,0 @@
1
- # Architect Agent - Low Tier (Haiku)
2
-
3
- Quick architecture queries and pattern matching.
4
-
5
- ## Role
6
-
7
- - Architecture pattern lookup
8
- - Quick structure analysis
9
- - Simple design questions
10
-
11
- ## Model
12
-
13
- **Haiku** — Fast pattern matching
14
-
15
- ## When to Use
16
-
17
- - "What pattern does this use?"
18
- - "Where is X defined?"
19
- - Simple structural questions
20
-
21
- ## Usage
22
-
23
- ```
24
- Task(model: "haiku", subagent_type: "general-purpose", prompt: "What architecture pattern does this service use?")
25
- ```
26
-
27
- ## Process
28
-
29
- 1. Quick codebase scan
30
- 2. Pattern identification
31
- 3. Return finding
32
-
33
- ## Output
34
-
35
- ```markdown
36
- ## Architecture Query Result
37
-
38
- Pattern: Repository Pattern
39
- Location: src/repositories/
40
- Evidence: UserRepository, ProductRepository classes
41
- ```
@@ -1,59 +0,0 @@
1
- # Architect Agent - Medium Tier (Sonnet)
2
-
3
- Module-level architecture and design.
4
-
5
- ## Role
6
-
7
- - Module architecture
8
- - Component design
9
- - API design
10
- - Local optimization
11
-
12
- ## Model
13
-
14
- **Sonnet** — Balanced for module-level decisions
15
-
16
- ## When to Use
17
-
18
- - Single module design
19
- - API endpoint design
20
- - Component hierarchy
21
- - Local refactoring decisions
22
-
23
- ## Usage
24
-
25
- ```
26
- Task(model: "sonnet", subagent_type: "general-purpose", prompt: "Design the user service module")
27
- ```
28
-
29
- ## Process
30
-
31
- 1. Understand module requirements
32
- 2. Review existing patterns
33
- 3. Design component structure
34
- 4. Define interfaces
35
- 5. Document decision
36
-
37
- ## Output
38
-
39
- ```markdown
40
- ## Module Design
41
-
42
- ### Structure
43
- ```
44
- src/user/
45
- ├── index.ts (exports)
46
- ├── service.ts (business logic)
47
- ├── repository.ts (data access)
48
- ├── types.ts (type definitions)
49
- └── __tests__/
50
- ```
51
-
52
- ### Interfaces
53
- - UserService: create, read, update, delete
54
- - UserRepository: find, save, remove
55
-
56
- ### Dependencies
57
- - Depends on: auth, database
58
- - Used by: profile, settings
59
- ```
@@ -1,265 +0,0 @@
1
- ---
2
- description: Auto-document solutions for knowledge compounding
3
- argument-hint: "solution description (optional)"
4
- ---
5
-
6
- # /vibe.compound
7
-
8
- **Knowledge Compounding** - Auto-document solved problems to boost future productivity
9
-
10
- > "Each solution documented makes future problems easier to solve."
11
-
12
- ## Model
13
-
14
- **Sonnet** — Balanced reasoning and quality
15
-
16
- ## Usage
17
-
18
- ```
19
- /vibe.compound # Auto-detect recent solutions
20
- /vibe.compound "Redis cache invalidation" # Document specific solution
21
- ```
22
-
23
- ## Auto-Triggers
24
-
25
- Automatically suggested when these patterns detected:
26
- - "it's fixed", "fixed", "solved", "resolved"
27
- - After PR merge
28
- - After `/vibe.verify` passes
29
-
30
- ## Process
31
-
32
- ### Phase 1: Solution Extraction
33
-
34
- Parallel agents analyze the solution:
35
-
36
- ```
37
- ┌─────────────────────────────────────────────────────────────────┐
38
- │ 🔍 PARALLEL SOLUTION ANALYSIS │
39
- ├─────────────────────────────────────────────────────────────────┤
40
- │ │
41
- │ Task 1: problem-analyzer │
42
- │ ├── Identify original problem │
43
- │ ├── Symptoms and error messages │
44
- │ └── Impact scope │
45
- │ │
46
- │ Task 2: solution-extractor │
47
- │ ├── Applied fixes │
48
- │ ├── Key code changes │
49
- │ └── Configuration changes │
50
- │ │
51
- │ Task 3: root-cause-analyzer │
52
- │ ├── Root cause identification │
53
- │ ├── Why it happened │
54
- │ └── Prevention methods │
55
- │ │
56
- │ Task 4: pattern-recognizer │
57
- │ ├── Similar problem patterns │
58
- │ ├── Related tech stack │
59
- │ └── Search keywords │
60
- │ │
61
- │ Task 5: category-classifier │
62
- │ ├── Category classification │
63
- │ ├── Tag generation │
64
- │ └── Related doc links │
65
- │ │
66
- │ Task 6: code-snippet-extractor │
67
- │ ├── Before/After code │
68
- │ ├── Key change highlights │
69
- │ └── Copy-paste snippets │
70
- │ │
71
- │ Task 7: prevention-advisor │
72
- │ ├── Prevention checklist │
73
- │ ├── Suggested linter rules │
74
- │ └── Test case suggestions │
75
- │ │
76
- └─────────────────────────────────────────────────────────────────┘
77
- ```
78
-
79
- ### Phase 2: Category Classification
80
-
81
- ```
82
- .vibe/solutions/
83
- ├── security/ # Security related
84
- │ ├── sql-injection-prevention.md
85
- │ └── xss-sanitization.md
86
- ├── performance/ # Performance optimization
87
- │ ├── n1-query-fix.md
88
- │ └── redis-cache-invalidation.md
89
- ├── database/ # Database related
90
- │ ├── migration-rollback.md
91
- │ └── deadlock-resolution.md
92
- ├── integration/ # External integrations
93
- │ ├── stripe-webhook-retry.md
94
- │ └── aws-s3-timeout.md
95
- ├── frontend/ # Frontend issues
96
- │ ├── react-hydration-mismatch.md
97
- │ └── infinite-scroll-memory.md
98
- ├── testing/ # Testing related
99
- │ ├── flaky-test-fix.md
100
- │ └── mock-timezone.md
101
- └── deployment/ # Deployment issues
102
- ├── docker-layer-cache.md
103
- └── k8s-rolling-update.md
104
- ```
105
-
106
- ### Phase 3: Document Generation
107
-
108
- ```markdown
109
- # [Solution] Redis Cache Invalidation
110
-
111
- ## TL;DR
112
- Added version suffix to Redis cache key to fix invalidation issue
113
-
114
- ## Problem
115
- ### Symptoms
116
- - User profile shows stale data after update
117
- - Refresh doesn't fix the issue
118
-
119
- ### Error/Logs
120
- ```
121
- Cache hit: user:123 (stale data)
122
- ```
123
-
124
- ### Impact Scope
125
- - User profile page
126
- - API: GET /api/users/:id
127
-
128
- ## Root Cause
129
- Cache key only used user_id, not invalidated on update
130
-
131
- ```python
132
- # Before
133
- cache_key = f"user:{user_id}" # No version
134
- ```
135
-
136
- ## Solution
137
- ### Key Change
138
- Add updated_at timestamp to cache key
139
-
140
- ```python
141
- # After
142
- cache_key = f"user:{user_id}:v{updated_at.timestamp()}"
143
- ```
144
-
145
- ### Changed Files
146
- - src/services/cache.py:42
147
- - src/api/users.py:78
148
-
149
- ## Prevention
150
- - [ ] Always include version/timestamp in cache keys
151
- - [ ] Add cache invalidation tests
152
- - [ ] Linter rule: cache_key pattern check
153
-
154
- ## Related
155
- - Similar issue: #234 (Session cache)
156
- - Docs: docs/caching-strategy.md
157
- - Tags: #redis #cache #invalidation
158
-
159
- ## Metadata
160
- - Resolved: 2026-01-11
161
- - Time spent: 2 hours
162
- - Difficulty: Medium
163
- - Reusability: High
164
- ```
165
-
166
- ### Phase 4: Index Update
167
-
168
- Auto-update `.vibe/solutions/index.md`:
169
-
170
- ```markdown
171
- # Solution Index
172
-
173
- ## Recently Added
174
- | Date | Category | Title | Tags |
175
- |------|----------|-------|------|
176
- | 2026-01-11 | performance | Redis cache invalidation | #redis #cache |
177
- | 2026-01-10 | security | SQL Injection prevention | #sql #security |
178
-
179
- ## By Category
180
- - **Security** (5 solutions)
181
- - **Performance** (8 solutions)
182
- - **Database** (4 solutions)
183
- ...
184
-
185
- ## Search Keywords
186
- - redis → performance/redis-cache-invalidation.md
187
- - n+1 → performance/n1-query-fix.md
188
- - sql injection → security/sql-injection-prevention.md
189
- ```
190
-
191
- ## Auto-Suggestion
192
-
193
- When similar problem detected:
194
-
195
- ```
196
- ┌─────────────────────────────────────────────────────────────────┐
197
- │ 💡 Similar Solution Found! │
198
- ├─────────────────────────────────────────────────────────────────┤
199
- │ │
200
- │ You're working on: "Cache not updating" │
201
- │ │
202
- │ Related solution (85% match): │
203
- │ 📄 .vibe/solutions/performance/redis-cache-invalidation.md │
204
- │ │
205
- │ Key insight: Add version suffix to cache key │
206
- │ │
207
- │ Apply this solution? [Y/n] │
208
- │ │
209
- └─────────────────────────────────────────────────────────────────┘
210
- ```
211
-
212
- ## Output
213
-
214
- ```
215
- ┌─────────────────────────────────────────────────────────────────┐
216
- │ 📚 SOLUTION DOCUMENTED │
217
- ├─────────────────────────────────────────────────────────────────┤
218
- │ │
219
- │ ✅ Created: .vibe/solutions/performance/redis-cache-invalid... │
220
- │ │
221
- │ 📊 Knowledge Base Stats: │
222
- │ ├── Total Solutions: 42 │
223
- │ ├── This Month: 8 │
224
- │ └── Most Used Category: performance │
225
- │ │
226
- │ 🔗 Similar solutions linked: 2 │
227
- │ 🏷️ Tags: #redis #cache #invalidation #performance │
228
- │ │
229
- │ 💡 Prevention rules added to ~/.claude/vibe/rules/ │
230
- │ │
231
- │ "This solution will help future you (or teammates) save hours" │
232
- │ │
233
- └─────────────────────────────────────────────────────────────────┘
234
- ```
235
-
236
- ## Integration with Memory
237
-
238
- Auto-invoke `core_save_memory`:
239
-
240
- ```json
241
- {
242
- "type": "solution",
243
- "category": "performance",
244
- "title": "Redis cache invalidation",
245
- "keywords": ["redis", "cache", "invalidation"],
246
- "file": ".vibe/solutions/performance/redis-cache-invalidation.md"
247
- }
248
- ```
249
-
250
- ## Workflow Integration
251
-
252
- ```
253
- /vibe.spec → /vibe.run → /vibe.verify → /vibe.compound
254
-
255
-
256
- .vibe/solutions/
257
-
258
-
259
- Future problem?
260
- Auto-suggest!
261
- ```
262
-
263
- ---
264
-
265
- ARGUMENTS: $ARGUMENTS