@su-record/vibe 2.7.13 → 2.7.15

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 (232) hide show
  1. package/.env.example +37 -37
  2. package/CLAUDE.md +134 -126
  3. package/LICENSE +21 -21
  4. package/README.md +449 -449
  5. package/agents/architect-low.md +41 -41
  6. package/agents/architect-medium.md +59 -59
  7. package/agents/architect.md +80 -80
  8. package/agents/build-error-resolver.md +115 -115
  9. package/agents/compounder.md +261 -261
  10. package/agents/diagrammer.md +178 -178
  11. package/agents/docs/api-documenter.md +99 -99
  12. package/agents/docs/changelog-writer.md +93 -93
  13. package/agents/e2e-tester.md +294 -294
  14. package/agents/explorer-low.md +42 -42
  15. package/agents/explorer-medium.md +59 -59
  16. package/agents/explorer.md +48 -48
  17. package/agents/implementer-low.md +43 -43
  18. package/agents/implementer-medium.md +52 -52
  19. package/agents/implementer.md +54 -54
  20. package/agents/junior-mentor.md +141 -141
  21. package/agents/planning/requirements-analyst.md +84 -84
  22. package/agents/planning/ux-advisor.md +83 -83
  23. package/agents/qa/acceptance-tester.md +86 -86
  24. package/agents/qa/edge-case-finder.md +93 -93
  25. package/agents/refactor-cleaner.md +143 -143
  26. package/agents/research/best-practices-agent.md +199 -199
  27. package/agents/research/codebase-patterns-agent.md +157 -157
  28. package/agents/research/framework-docs-agent.md +188 -188
  29. package/agents/research/security-advisory-agent.md +213 -213
  30. package/agents/review/architecture-reviewer.md +107 -107
  31. package/agents/review/complexity-reviewer.md +116 -116
  32. package/agents/review/data-integrity-reviewer.md +88 -88
  33. package/agents/review/git-history-reviewer.md +103 -103
  34. package/agents/review/performance-reviewer.md +86 -86
  35. package/agents/review/python-reviewer.md +150 -150
  36. package/agents/review/rails-reviewer.md +139 -139
  37. package/agents/review/react-reviewer.md +144 -144
  38. package/agents/review/security-reviewer.md +80 -80
  39. package/agents/review/simplicity-reviewer.md +140 -140
  40. package/agents/review/test-coverage-reviewer.md +116 -116
  41. package/agents/review/typescript-reviewer.md +127 -127
  42. package/agents/searcher.md +54 -54
  43. package/agents/simplifier.md +120 -120
  44. package/agents/tester.md +49 -49
  45. package/agents/ui/ui-a11y-auditor.md +93 -93
  46. package/agents/ui/ui-antipattern-detector.md +94 -94
  47. package/agents/ui/ui-dataviz-advisor.md +69 -69
  48. package/agents/ui/ui-design-system-gen.md +57 -57
  49. package/agents/ui/ui-industry-analyzer.md +49 -49
  50. package/agents/ui/ui-layout-architect.md +65 -65
  51. package/agents/ui/ui-stack-implementer.md +68 -68
  52. package/agents/ui/ux-compliance-reviewer.md +81 -81
  53. package/agents/ui-previewer.md +258 -260
  54. package/commands/vibe.analyze.md +11 -13
  55. package/commands/vibe.review.md +43 -1
  56. package/commands/vibe.run.md +2124 -2078
  57. package/commands/vibe.spec.md +9 -4
  58. package/commands/vibe.spec.review.md +569 -565
  59. package/commands/vibe.utils.md +413 -413
  60. package/commands/vibe.verify.md +33 -8
  61. package/dist/cli/collaborator.js +52 -52
  62. package/dist/cli/commands/evolution.js +12 -12
  63. package/dist/cli/commands/info.js +54 -54
  64. package/dist/cli/commands/init.js +5 -5
  65. package/dist/cli/commands/remove.js +14 -14
  66. package/dist/cli/commands/sentinel.js +27 -27
  67. package/dist/cli/commands/skills.js +5 -5
  68. package/dist/cli/commands/slack.js +10 -10
  69. package/dist/cli/commands/telegram.js +12 -12
  70. package/dist/cli/detect.js +32 -32
  71. package/dist/cli/index.js +51 -51
  72. package/dist/cli/llm/claude-commands.js +16 -16
  73. package/dist/cli/llm/config.js +19 -19
  74. package/dist/cli/llm/config.js.map +1 -1
  75. package/dist/cli/llm/gemini-commands.js +16 -16
  76. package/dist/cli/llm/gpt-commands.js +19 -19
  77. package/dist/cli/llm/help.js +21 -21
  78. package/dist/cli/postinstall/cursor-agents.js +32 -32
  79. package/dist/cli/postinstall/cursor-rules.js +83 -83
  80. package/dist/cli/postinstall/cursor-skills.js +743 -743
  81. package/dist/cli/setup/Provisioner.js +42 -42
  82. package/dist/cli/types.d.ts +0 -2
  83. package/dist/cli/types.d.ts.map +1 -1
  84. package/dist/infra/lib/DeepInit.js +24 -24
  85. package/dist/infra/lib/IterationTracker.js +11 -11
  86. package/dist/infra/lib/PythonParser.js +108 -108
  87. package/dist/infra/lib/ReviewRace.js +96 -96
  88. package/dist/infra/lib/SkillFrontmatter.js +28 -28
  89. package/dist/infra/lib/SkillQualityGate.js +9 -9
  90. package/dist/infra/lib/SkillRepository.js +159 -159
  91. package/dist/infra/lib/UltraQA.js +99 -99
  92. package/dist/infra/lib/autonomy/AuditStore.js +41 -41
  93. package/dist/infra/lib/autonomy/ConfirmationStore.js +30 -30
  94. package/dist/infra/lib/autonomy/EventOutbox.js +38 -38
  95. package/dist/infra/lib/autonomy/PolicyEngine.js +18 -18
  96. package/dist/infra/lib/autonomy/SecuritySentinel.js +1 -1
  97. package/dist/infra/lib/autonomy/SuggestionStore.js +33 -33
  98. package/dist/infra/lib/embedding/VectorStore.js +22 -22
  99. package/dist/infra/lib/evolution/AgentAnalyzer.js +10 -10
  100. package/dist/infra/lib/evolution/DescriptionOptimizer.js +21 -21
  101. package/dist/infra/lib/evolution/GenerationRegistry.js +36 -36
  102. package/dist/infra/lib/evolution/InsightStore.js +90 -90
  103. package/dist/infra/lib/evolution/RollbackManager.js +5 -5
  104. package/dist/infra/lib/evolution/SkillBenchmark.js +23 -23
  105. package/dist/infra/lib/evolution/SkillEvalRunner.js +50 -50
  106. package/dist/infra/lib/evolution/SkillGapDetector.js +10 -10
  107. package/dist/infra/lib/evolution/UsageTracker.js +28 -28
  108. package/dist/infra/lib/gemini/orchestration.js +5 -5
  109. package/dist/infra/lib/gpt/orchestration.js +4 -4
  110. package/dist/infra/lib/memory/KnowledgeGraph.js +4 -4
  111. package/dist/infra/lib/memory/MemorySearch.js +57 -57
  112. package/dist/infra/lib/memory/MemoryStorage.js +181 -181
  113. package/dist/infra/lib/memory/ObservationStore.js +28 -28
  114. package/dist/infra/lib/memory/ReflectionStore.js +30 -30
  115. package/dist/infra/lib/memory/SessionRAGRetriever.js +7 -7
  116. package/dist/infra/lib/memory/SessionRAGStore.js +225 -225
  117. package/dist/infra/lib/memory/SessionSummarizer.js +9 -9
  118. package/dist/infra/orchestrator/AgentManager.js +12 -12
  119. package/dist/infra/orchestrator/AgentRegistry.js +65 -65
  120. package/dist/infra/orchestrator/MultiLlmResearch.js +8 -8
  121. package/dist/infra/orchestrator/SwarmOrchestrator.test.js +16 -16
  122. package/dist/infra/orchestrator/parallelResearch.js +24 -24
  123. package/dist/tools/convention/analyzeComplexity.test.js +115 -115
  124. package/dist/tools/convention/validateCodeQuality.test.js +104 -104
  125. package/dist/tools/memory/createMemoryTimeline.js +10 -10
  126. package/dist/tools/memory/getMemoryGraph.js +12 -12
  127. package/dist/tools/memory/getSessionContext.js +9 -9
  128. package/dist/tools/memory/linkMemories.js +14 -14
  129. package/dist/tools/memory/listMemories.js +4 -4
  130. package/dist/tools/memory/recallMemory.js +4 -4
  131. package/dist/tools/memory/saveMemory.js +4 -4
  132. package/dist/tools/memory/searchMemoriesAdvanced.js +23 -23
  133. package/dist/tools/semantic/analyzeDependencyGraph.js +12 -12
  134. package/dist/tools/semantic/astGrep.test.js +6 -6
  135. package/dist/tools/spec/prdParser.test.js +171 -171
  136. package/dist/tools/spec/specGenerator.js +169 -169
  137. package/dist/tools/spec/traceabilityMatrix.js +64 -64
  138. package/dist/tools/spec/traceabilityMatrix.test.js +28 -28
  139. package/hooks/gemini-hooks.json +73 -73
  140. package/hooks/hooks.json +137 -137
  141. package/hooks/scripts/code-check.js +77 -70
  142. package/hooks/scripts/context-save.js +212 -212
  143. package/hooks/scripts/hud-status.js +291 -291
  144. package/hooks/scripts/keyword-detector.js +214 -214
  145. package/hooks/scripts/llm-orchestrate.js +475 -475
  146. package/hooks/scripts/post-edit.js +32 -32
  147. package/hooks/scripts/pre-tool-guard.js +125 -125
  148. package/hooks/scripts/prompt-dispatcher.js +185 -185
  149. package/hooks/scripts/sentinel-guard.js +104 -104
  150. package/hooks/scripts/session-start.js +106 -106
  151. package/hooks/scripts/stop-notify.js +209 -209
  152. package/hooks/scripts/utils.js +100 -100
  153. package/languages/csharp-unity.md +515 -515
  154. package/languages/gdscript-godot.md +470 -470
  155. package/languages/ruby-rails.md +489 -489
  156. package/languages/typescript-angular.md +433 -433
  157. package/languages/typescript-astro.md +416 -416
  158. package/languages/typescript-electron.md +406 -406
  159. package/languages/typescript-nestjs.md +524 -524
  160. package/languages/typescript-svelte.md +407 -407
  161. package/languages/typescript-tauri.md +365 -365
  162. package/package.json +121 -121
  163. package/skills/agents-md/SKILL.md +120 -120
  164. package/skills/arch-guard/SKILL.md +180 -180
  165. package/skills/brand-assets/SKILL.md +146 -146
  166. package/skills/capability-loop/SKILL.md +167 -167
  167. package/skills/characterization-test/SKILL.md +206 -206
  168. package/skills/commerce-patterns/SKILL.md +59 -59
  169. package/skills/commit-push-pr/SKILL.md +75 -75
  170. package/skills/context7-usage/SKILL.md +105 -105
  171. package/skills/core-capabilities/SKILL.md +48 -48
  172. package/skills/e2e-commerce/SKILL.md +57 -57
  173. package/skills/exec-plan/SKILL.md +147 -147
  174. package/skills/frontend-design/SKILL.md +73 -73
  175. package/skills/git-worktree/SKILL.md +72 -72
  176. package/skills/handoff/SKILL.md +109 -109
  177. package/skills/parallel-research/SKILL.md +87 -87
  178. package/skills/priority-todos/SKILL.md +63 -63
  179. package/skills/seo-checklist/SKILL.md +57 -57
  180. package/skills/techdebt/SKILL.md +122 -122
  181. package/skills/tool-fallback/SKILL.md +103 -103
  182. package/skills/typescript-advanced-types/SKILL.md +66 -65
  183. package/skills/ui-ux-pro-max/SKILL.md +206 -206
  184. package/skills/vercel-react-best-practices/SKILL.md +59 -59
  185. package/skills/video-production/SKILL.md +51 -51
  186. package/vibe/config.json +29 -29
  187. package/vibe/constitution.md +227 -227
  188. package/vibe/rules/principles/communication-guide.md +98 -98
  189. package/vibe/rules/principles/development-philosophy.md +52 -52
  190. package/vibe/rules/principles/quick-start.md +102 -102
  191. package/vibe/rules/quality/bdd-contract-testing.md +393 -393
  192. package/vibe/rules/quality/checklist.md +276 -276
  193. package/vibe/rules/quality/performance.md +236 -236
  194. package/vibe/rules/quality/testing-strategy.md +440 -440
  195. package/vibe/rules/standards/anti-patterns.md +541 -541
  196. package/vibe/rules/standards/code-structure.md +291 -291
  197. package/vibe/rules/standards/complexity-metrics.md +313 -313
  198. package/vibe/rules/standards/git-workflow.md +237 -237
  199. package/vibe/rules/standards/naming-conventions.md +198 -198
  200. package/vibe/rules/standards/security.md +305 -305
  201. package/vibe/rules/writing/document-style.md +74 -74
  202. package/vibe/setup.sh +31 -31
  203. package/vibe/templates/constitution-template.md +252 -252
  204. package/vibe/templates/contract-backend-template.md +526 -526
  205. package/vibe/templates/contract-frontend-template.md +599 -599
  206. package/vibe/templates/feature-template.md +96 -96
  207. package/vibe/templates/spec-template.md +221 -221
  208. package/vibe/ui-ux-data/charts.csv +26 -26
  209. package/vibe/ui-ux-data/colors.csv +97 -97
  210. package/vibe/ui-ux-data/icons.csv +101 -101
  211. package/vibe/ui-ux-data/landing.csv +31 -31
  212. package/vibe/ui-ux-data/products.csv +96 -96
  213. package/vibe/ui-ux-data/react-performance.csv +45 -45
  214. package/vibe/ui-ux-data/stacks/astro.csv +54 -54
  215. package/vibe/ui-ux-data/stacks/flutter.csv +53 -53
  216. package/vibe/ui-ux-data/stacks/html-tailwind.csv +56 -56
  217. package/vibe/ui-ux-data/stacks/jetpack-compose.csv +53 -53
  218. package/vibe/ui-ux-data/stacks/nextjs.csv +53 -53
  219. package/vibe/ui-ux-data/stacks/nuxt-ui.csv +51 -51
  220. package/vibe/ui-ux-data/stacks/nuxtjs.csv +59 -59
  221. package/vibe/ui-ux-data/stacks/react-native.csv +52 -52
  222. package/vibe/ui-ux-data/stacks/react.csv +54 -54
  223. package/vibe/ui-ux-data/stacks/shadcn.csv +61 -61
  224. package/vibe/ui-ux-data/stacks/svelte.csv +54 -54
  225. package/vibe/ui-ux-data/stacks/swiftui.csv +51 -51
  226. package/vibe/ui-ux-data/stacks/vue.csv +50 -50
  227. package/vibe/ui-ux-data/styles.csv +68 -68
  228. package/vibe/ui-ux-data/typography.csv +57 -57
  229. package/vibe/ui-ux-data/ui-reasoning.csv +101 -101
  230. package/vibe/ui-ux-data/ux-guidelines.csv +99 -99
  231. package/vibe/ui-ux-data/version.json +31 -31
  232. package/vibe/ui-ux-data/web-interface.csv +31 -31
@@ -1,167 +1,167 @@
1
- ---
2
- name: capability-loop
3
- description: "When an agent fails, diagnose which capability is missing and build it into the repo."
4
- triggers: [capability loop, failure loop, build capability, missing capability, agent failed, why did it fail]
5
- priority: 75
6
- ---
7
-
8
- # Capability Loop — Failure → Capability Building
9
-
10
- > **Principle**: "Ask what capability is missing, not why it failed." Every failure is a missing tool, guardrail, abstraction, or piece of documentation. Build the capability so the failure NEVER recurs.
11
-
12
- ## When to Use
13
-
14
- | Trigger | Signal |
15
- |---------|--------|
16
- | Agent fails a task | Error, wrong output, timeout, confusion |
17
- | Same error occurs twice | Pattern of missing capability |
18
- | Agent asks clarifying question | Information not discoverable |
19
- | Review finds recurring issue | Systemic gap, not one-off mistake |
20
- | Manual intervention needed | Agent should have been self-sufficient |
21
-
22
- ## Core Flow
23
-
24
- ```
25
- FAILURE → DIAGNOSE → CLASSIFY → BUILD → VERIFY → PERSIST
26
- ```
27
-
28
- ### Step 1: DIAGNOSE — What Capability is Missing?
29
-
30
- Do NOT ask "why did it fail?" Instead ask: **"What would have prevented this failure?"**
31
-
32
- ```
33
- Diagnosis questions (answer ALL):
34
-
35
- 1. TOOL: Did the agent lack a tool to accomplish the task?
36
- → Missing CLI command, missing API, missing utility function
37
-
38
- 2. GUARDRAIL: Did the agent do something it shouldn't have?
39
- → Missing lint rule, missing test, missing hook check
40
-
41
- 3. ABSTRACTION: Did the agent struggle with unnecessary complexity?
42
- → Missing helper, missing wrapper, missing shared module
43
-
44
- 4. DOCUMENTATION: Did the agent lack discoverable information?
45
- → Missing CLAUDE.md entry, missing code comment, missing type definition
46
-
47
- 5. FEEDBACK: Did the agent not know it was doing the wrong thing?
48
- → Missing error message, missing test assertion, missing type error
49
- ```
50
-
51
- ### Step 2: CLASSIFY — What Type of Capability?
52
-
53
- | Category | Example | Where to Build |
54
- |----------|---------|---------------|
55
- | **Tool** | "No way to validate schema" | New CLI command or skill |
56
- | **Guardrail** | "Accidentally deleted migration" | New hook or test |
57
- | **Abstraction** | "Copy-pasted auth logic 3 times" | New shared module |
58
- | **Documentation** | "Didn't know config format" | CLAUDE.md or code comments |
59
- | **Feedback** | "Didn't realize test was wrong" | Better error messages or types |
60
-
61
- ### Step 3: BUILD — Create the Capability
62
-
63
- Based on classification, build the appropriate artifact:
64
-
65
- #### Tool → New Skill or Command
66
- ```
67
- 1. Create skills/{capability-name}/SKILL.md
68
- 2. Add triggers for automatic activation
69
- 3. Test with a simulated scenario
70
- ```
71
-
72
- #### Guardrail → New Test or Hook
73
- ```
74
- 1. Add test to tests/arch-guard.test.ts (if structural)
75
- 2. Or add check to hooks/scripts/ (if runtime)
76
- 3. Verify it catches the original failure
77
- ```
78
-
79
- #### Abstraction → New Module
80
- ```
81
- 1. Extract shared code into appropriate location
82
- 2. Update existing callers to use new abstraction
83
- 3. Add tests for the abstraction
84
- ```
85
-
86
- #### Documentation → CLAUDE.md or Inline
87
- ```
88
- 1. If it's a constraint/gotcha → add to CLAUDE.md "Gotchas" section
89
- 2. If it's discoverable from code → add code comment or type definition
90
- 3. If it's a pattern → add to relevant language rule file
91
- ```
92
-
93
- #### Feedback → Better Types or Errors
94
- ```
95
- 1. Add TypeScript type that prevents the mistake at compile time
96
- 2. Or add runtime validation with clear error message
97
- 3. Or add test that catches the mistake early
98
- ```
99
-
100
- ### Step 4: VERIFY — Reproduce and Confirm Fix
101
-
102
- ```
103
- 1. Reproduce the original failure scenario
104
- 2. Confirm the new capability prevents it
105
- 3. Run existing tests to verify no regressions
106
- 4. If the capability is a test, verify it FAILS without the fix
107
- ```
108
-
109
- ### Step 5: PERSIST — Record for Future Reference
110
-
111
- Save the capability-building decision:
112
-
113
- ```
114
- save_memory("capability-{name}", {
115
- failure: "description of what failed",
116
- diagnosis: "what capability was missing",
117
- category: "tool|guardrail|abstraction|documentation|feedback",
118
- solution: "what was built",
119
- files_changed: ["list of files"]
120
- })
121
- ```
122
-
123
- Update `.claude/vibe/capabilities-log.md`:
124
-
125
- ```markdown
126
- ## {date} — {capability-name}
127
-
128
- **Failure**: {what happened}
129
- **Missing**: {what capability was absent}
130
- **Built**: {what was created}
131
- **Files**: {list}
132
- **Prevents**: {what class of failures this prevents}
133
- ```
134
-
135
- ## Decision Tree
136
-
137
- ```
138
- Agent failed
139
-
140
- ├─ Could a TOOL have done it automatically?
141
- │ YES → Build tool (skill/command/script)
142
-
143
- ├─ Should the agent have been PREVENTED from doing it?
144
- │ YES → Build guardrail (hook/test/lint rule)
145
-
146
- ├─ Was the agent REPEATING work that should be shared?
147
- │ YES → Build abstraction (module/helper/utility)
148
-
149
- ├─ Did the agent lack KNOWLEDGE it needed?
150
- │ YES → Add documentation (CLAUDE.md/comments/types)
151
-
152
- └─ Did the agent not KNOW it was wrong?
153
- YES → Build feedback (types/errors/tests)
154
- ```
155
-
156
- ## Anti-patterns
157
-
158
- - "Add a note to be more careful" → Build a guardrail instead
159
- - "Document the right way to do it" → If possible, make the wrong way a compile/test error
160
- - "Tell the agent to check X first" → Make X discoverable automatically
161
- - "It was a one-off mistake" → If it happened once, it will happen again. Build the capability.
162
-
163
- ## Integration Points
164
-
165
- - After `/vibe.run` failure → auto-trigger capability-loop diagnosis
166
- - After `/vibe.review` findings → suggest capability-loop for recurring patterns
167
- - After manual agent correction → prompt "What capability would have prevented this?"
1
+ ---
2
+ name: capability-loop
3
+ description: "When an agent fails, diagnose which capability is missing and build it into the repo."
4
+ triggers: [capability loop, failure loop, build capability, missing capability, agent failed, why did it fail]
5
+ priority: 75
6
+ ---
7
+
8
+ # Capability Loop — Failure → Capability Building
9
+
10
+ > **Principle**: "Ask what capability is missing, not why it failed." Every failure is a missing tool, guardrail, abstraction, or piece of documentation. Build the capability so the failure NEVER recurs.
11
+
12
+ ## When to Use
13
+
14
+ | Trigger | Signal |
15
+ |---------|--------|
16
+ | Agent fails a task | Error, wrong output, timeout, confusion |
17
+ | Same error occurs twice | Pattern of missing capability |
18
+ | Agent asks clarifying question | Information not discoverable |
19
+ | Review finds recurring issue | Systemic gap, not one-off mistake |
20
+ | Manual intervention needed | Agent should have been self-sufficient |
21
+
22
+ ## Core Flow
23
+
24
+ ```
25
+ FAILURE → DIAGNOSE → CLASSIFY → BUILD → VERIFY → PERSIST
26
+ ```
27
+
28
+ ### Step 1: DIAGNOSE — What Capability is Missing?
29
+
30
+ Do NOT ask "why did it fail?" Instead ask: **"What would have prevented this failure?"**
31
+
32
+ ```
33
+ Diagnosis questions (answer ALL):
34
+
35
+ 1. TOOL: Did the agent lack a tool to accomplish the task?
36
+ → Missing CLI command, missing API, missing utility function
37
+
38
+ 2. GUARDRAIL: Did the agent do something it shouldn't have?
39
+ → Missing lint rule, missing test, missing hook check
40
+
41
+ 3. ABSTRACTION: Did the agent struggle with unnecessary complexity?
42
+ → Missing helper, missing wrapper, missing shared module
43
+
44
+ 4. DOCUMENTATION: Did the agent lack discoverable information?
45
+ → Missing CLAUDE.md entry, missing code comment, missing type definition
46
+
47
+ 5. FEEDBACK: Did the agent not know it was doing the wrong thing?
48
+ → Missing error message, missing test assertion, missing type error
49
+ ```
50
+
51
+ ### Step 2: CLASSIFY — What Type of Capability?
52
+
53
+ | Category | Example | Where to Build |
54
+ |----------|---------|---------------|
55
+ | **Tool** | "No way to validate schema" | New CLI command or skill |
56
+ | **Guardrail** | "Accidentally deleted migration" | New hook or test |
57
+ | **Abstraction** | "Copy-pasted auth logic 3 times" | New shared module |
58
+ | **Documentation** | "Didn't know config format" | CLAUDE.md or code comments |
59
+ | **Feedback** | "Didn't realize test was wrong" | Better error messages or types |
60
+
61
+ ### Step 3: BUILD — Create the Capability
62
+
63
+ Based on classification, build the appropriate artifact:
64
+
65
+ #### Tool → New Skill or Command
66
+ ```
67
+ 1. Create skills/{capability-name}/SKILL.md
68
+ 2. Add triggers for automatic activation
69
+ 3. Test with a simulated scenario
70
+ ```
71
+
72
+ #### Guardrail → New Test or Hook
73
+ ```
74
+ 1. Add test to tests/arch-guard.test.ts (if structural)
75
+ 2. Or add check to hooks/scripts/ (if runtime)
76
+ 3. Verify it catches the original failure
77
+ ```
78
+
79
+ #### Abstraction → New Module
80
+ ```
81
+ 1. Extract shared code into appropriate location
82
+ 2. Update existing callers to use new abstraction
83
+ 3. Add tests for the abstraction
84
+ ```
85
+
86
+ #### Documentation → CLAUDE.md or Inline
87
+ ```
88
+ 1. If it's a constraint/gotcha → add to CLAUDE.md "Gotchas" section
89
+ 2. If it's discoverable from code → add code comment or type definition
90
+ 3. If it's a pattern → add to relevant language rule file
91
+ ```
92
+
93
+ #### Feedback → Better Types or Errors
94
+ ```
95
+ 1. Add TypeScript type that prevents the mistake at compile time
96
+ 2. Or add runtime validation with clear error message
97
+ 3. Or add test that catches the mistake early
98
+ ```
99
+
100
+ ### Step 4: VERIFY — Reproduce and Confirm Fix
101
+
102
+ ```
103
+ 1. Reproduce the original failure scenario
104
+ 2. Confirm the new capability prevents it
105
+ 3. Run existing tests to verify no regressions
106
+ 4. If the capability is a test, verify it FAILS without the fix
107
+ ```
108
+
109
+ ### Step 5: PERSIST — Record for Future Reference
110
+
111
+ Save the capability-building decision:
112
+
113
+ ```
114
+ save_memory("capability-{name}", {
115
+ failure: "description of what failed",
116
+ diagnosis: "what capability was missing",
117
+ category: "tool|guardrail|abstraction|documentation|feedback",
118
+ solution: "what was built",
119
+ files_changed: ["list of files"]
120
+ })
121
+ ```
122
+
123
+ Update `.claude/vibe/capabilities-log.md`:
124
+
125
+ ```markdown
126
+ ## {date} — {capability-name}
127
+
128
+ **Failure**: {what happened}
129
+ **Missing**: {what capability was absent}
130
+ **Built**: {what was created}
131
+ **Files**: {list}
132
+ **Prevents**: {what class of failures this prevents}
133
+ ```
134
+
135
+ ## Decision Tree
136
+
137
+ ```
138
+ Agent failed
139
+
140
+ ├─ Could a TOOL have done it automatically?
141
+ │ YES → Build tool (skill/command/script)
142
+
143
+ ├─ Should the agent have been PREVENTED from doing it?
144
+ │ YES → Build guardrail (hook/test/lint rule)
145
+
146
+ ├─ Was the agent REPEATING work that should be shared?
147
+ │ YES → Build abstraction (module/helper/utility)
148
+
149
+ ├─ Did the agent lack KNOWLEDGE it needed?
150
+ │ YES → Add documentation (CLAUDE.md/comments/types)
151
+
152
+ └─ Did the agent not KNOW it was wrong?
153
+ YES → Build feedback (types/errors/tests)
154
+ ```
155
+
156
+ ## Anti-patterns
157
+
158
+ - "Add a note to be more careful" → Build a guardrail instead
159
+ - "Document the right way to do it" → If possible, make the wrong way a compile/test error
160
+ - "Tell the agent to check X first" → Make X discoverable automatically
161
+ - "It was a one-off mistake" → If it happened once, it will happen again. Build the capability.
162
+
163
+ ## Integration Points
164
+
165
+ - After `/vibe.run` failure → auto-trigger capability-loop diagnosis
166
+ - After `/vibe.review` findings → suggest capability-loop for recurring patterns
167
+ - After manual agent correction → prompt "What capability would have prevented this?"