@su-record/vibe 2.7.17 → 2.7.18

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 (245) hide show
  1. package/.env.example +37 -37
  2. package/CLAUDE.md +153 -134
  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 -258
  54. package/commands/vibe.analyze.md +379 -379
  55. package/commands/vibe.review.md +607 -607
  56. package/commands/vibe.run.md +2124 -2124
  57. package/commands/vibe.spec.md +1195 -1195
  58. package/commands/vibe.spec.review.md +569 -569
  59. package/commands/vibe.utils.md +413 -413
  60. package/commands/vibe.verify.md +484 -484
  61. package/dist/cli/collaborator.js +52 -52
  62. package/dist/cli/commands/evolution.js +12 -12
  63. package/dist/cli/commands/info.js +51 -51
  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 +18 -18
  74. package/dist/cli/llm/gemini-commands.js +16 -16
  75. package/dist/cli/llm/gpt-commands.js +19 -19
  76. package/dist/cli/llm/help.js +21 -21
  77. package/dist/cli/postinstall/cursor-agents.js +32 -32
  78. package/dist/cli/postinstall/cursor-rules.js +83 -83
  79. package/dist/cli/postinstall/cursor-skills.js +743 -743
  80. package/dist/cli/setup/Provisioner.js +42 -42
  81. package/dist/infra/lib/DeepInit.js +24 -24
  82. package/dist/infra/lib/IterationTracker.js +11 -11
  83. package/dist/infra/lib/PythonParser.js +108 -108
  84. package/dist/infra/lib/ReviewRace.js +96 -96
  85. package/dist/infra/lib/SkillFrontmatter.js +28 -28
  86. package/dist/infra/lib/SkillQualityGate.js +9 -9
  87. package/dist/infra/lib/SkillRepository.js +159 -159
  88. package/dist/infra/lib/UltraQA.js +99 -99
  89. package/dist/infra/lib/autonomy/AuditStore.js +41 -41
  90. package/dist/infra/lib/autonomy/ConfirmationStore.js +30 -30
  91. package/dist/infra/lib/autonomy/EventOutbox.js +38 -38
  92. package/dist/infra/lib/autonomy/PolicyEngine.js +18 -18
  93. package/dist/infra/lib/autonomy/SecuritySentinel.js +1 -1
  94. package/dist/infra/lib/autonomy/SuggestionStore.js +33 -33
  95. package/dist/infra/lib/embedding/VectorStore.js +22 -22
  96. package/dist/infra/lib/evolution/AgentAnalyzer.js +10 -10
  97. package/dist/infra/lib/evolution/DescriptionOptimizer.js +21 -21
  98. package/dist/infra/lib/evolution/GenerationRegistry.js +36 -36
  99. package/dist/infra/lib/evolution/InsightStore.js +90 -90
  100. package/dist/infra/lib/evolution/RollbackManager.js +5 -5
  101. package/dist/infra/lib/evolution/SkillBenchmark.js +23 -23
  102. package/dist/infra/lib/evolution/SkillEvalRunner.js +50 -50
  103. package/dist/infra/lib/evolution/SkillGapDetector.js +10 -10
  104. package/dist/infra/lib/evolution/UsageTracker.js +28 -28
  105. package/dist/infra/lib/gemini/orchestration.js +5 -5
  106. package/dist/infra/lib/gpt/orchestration.js +4 -4
  107. package/dist/infra/lib/memory/KnowledgeGraph.js +4 -4
  108. package/dist/infra/lib/memory/MemorySearch.js +57 -57
  109. package/dist/infra/lib/memory/MemoryStorage.js +181 -181
  110. package/dist/infra/lib/memory/ObservationStore.js +28 -28
  111. package/dist/infra/lib/memory/ReflectionStore.js +30 -30
  112. package/dist/infra/lib/memory/SessionRAGRetriever.js +7 -7
  113. package/dist/infra/lib/memory/SessionRAGStore.js +225 -225
  114. package/dist/infra/lib/memory/SessionSummarizer.js +9 -9
  115. package/dist/infra/lib/telemetry/SkillTelemetry.d.ts +52 -0
  116. package/dist/infra/lib/telemetry/SkillTelemetry.d.ts.map +1 -0
  117. package/dist/infra/lib/telemetry/SkillTelemetry.js +117 -0
  118. package/dist/infra/lib/telemetry/SkillTelemetry.js.map +1 -0
  119. package/dist/infra/lib/telemetry/SkillTelemetry.test.d.ts +2 -0
  120. package/dist/infra/lib/telemetry/SkillTelemetry.test.d.ts.map +1 -0
  121. package/dist/infra/lib/telemetry/SkillTelemetry.test.js +91 -0
  122. package/dist/infra/lib/telemetry/SkillTelemetry.test.js.map +1 -0
  123. package/dist/infra/orchestrator/AgentManager.js +12 -12
  124. package/dist/infra/orchestrator/AgentRegistry.js +65 -65
  125. package/dist/infra/orchestrator/MultiLlmResearch.js +8 -8
  126. package/dist/infra/orchestrator/SwarmOrchestrator.test.js +16 -16
  127. package/dist/infra/orchestrator/parallelResearch.js +24 -24
  128. package/dist/test-helpers/index.d.ts +36 -0
  129. package/dist/test-helpers/index.d.ts.map +1 -0
  130. package/dist/test-helpers/index.js +85 -0
  131. package/dist/test-helpers/index.js.map +1 -0
  132. package/dist/test-helpers/index.test.d.ts +2 -0
  133. package/dist/test-helpers/index.test.d.ts.map +1 -0
  134. package/dist/test-helpers/index.test.js +92 -0
  135. package/dist/test-helpers/index.test.js.map +1 -0
  136. package/dist/tools/convention/analyzeComplexity.test.js +115 -115
  137. package/dist/tools/convention/validateCodeQuality.test.js +104 -104
  138. package/dist/tools/memory/createMemoryTimeline.js +10 -10
  139. package/dist/tools/memory/getMemoryGraph.js +12 -12
  140. package/dist/tools/memory/getSessionContext.js +9 -9
  141. package/dist/tools/memory/linkMemories.js +14 -14
  142. package/dist/tools/memory/listMemories.js +4 -4
  143. package/dist/tools/memory/recallMemory.js +4 -4
  144. package/dist/tools/memory/saveMemory.js +4 -4
  145. package/dist/tools/memory/searchMemoriesAdvanced.js +23 -23
  146. package/dist/tools/semantic/analyzeDependencyGraph.js +12 -12
  147. package/dist/tools/semantic/astGrep.test.js +6 -6
  148. package/dist/tools/spec/prdParser.test.js +171 -171
  149. package/dist/tools/spec/specGenerator.js +169 -169
  150. package/dist/tools/spec/traceabilityMatrix.js +64 -64
  151. package/dist/tools/spec/traceabilityMatrix.test.js +28 -28
  152. package/hooks/gemini-hooks.json +73 -73
  153. package/hooks/hooks.json +137 -137
  154. package/hooks/scripts/code-check.js +77 -77
  155. package/hooks/scripts/context-save.js +212 -212
  156. package/hooks/scripts/hud-status.js +291 -291
  157. package/hooks/scripts/keyword-detector.js +214 -214
  158. package/hooks/scripts/llm-orchestrate.js +475 -475
  159. package/hooks/scripts/post-edit.js +32 -32
  160. package/hooks/scripts/pre-tool-guard.js +125 -125
  161. package/hooks/scripts/prompt-dispatcher.js +185 -185
  162. package/hooks/scripts/sentinel-guard.js +104 -104
  163. package/hooks/scripts/session-start.js +106 -106
  164. package/hooks/scripts/stop-notify.js +209 -209
  165. package/hooks/scripts/utils.js +100 -100
  166. package/languages/csharp-unity.md +515 -515
  167. package/languages/gdscript-godot.md +470 -470
  168. package/languages/ruby-rails.md +489 -489
  169. package/languages/typescript-angular.md +433 -433
  170. package/languages/typescript-astro.md +416 -416
  171. package/languages/typescript-electron.md +406 -406
  172. package/languages/typescript-nestjs.md +524 -524
  173. package/languages/typescript-svelte.md +407 -407
  174. package/languages/typescript-tauri.md +365 -365
  175. package/package.json +123 -121
  176. package/skills/agents-md/SKILL.md +120 -120
  177. package/skills/arch-guard/SKILL.md +180 -180
  178. package/skills/brand-assets/SKILL.md +146 -146
  179. package/skills/capability-loop/SKILL.md +167 -167
  180. package/skills/characterization-test/SKILL.md +206 -206
  181. package/skills/commerce-patterns/SKILL.md +63 -63
  182. package/skills/commit-push-pr/SKILL.md +75 -75
  183. package/skills/context7-usage/SKILL.md +105 -105
  184. package/skills/core-capabilities/SKILL.md +13 -13
  185. package/skills/e2e-commerce/SKILL.md +61 -61
  186. package/skills/exec-plan/SKILL.md +147 -147
  187. package/skills/frontend-design/SKILL.md +12 -12
  188. package/skills/git-worktree/SKILL.md +72 -72
  189. package/skills/handoff/SKILL.md +109 -109
  190. package/skills/parallel-research/SKILL.md +87 -87
  191. package/skills/priority-todos/SKILL.md +63 -63
  192. package/skills/seo-checklist/SKILL.md +57 -57
  193. package/skills/techdebt/SKILL.md +122 -122
  194. package/skills/tool-fallback/SKILL.md +103 -103
  195. package/skills/typescript-advanced-types/SKILL.md +66 -66
  196. package/skills/ui-ux-pro-max/SKILL.md +221 -221
  197. package/skills/vercel-react-best-practices/SKILL.md +59 -59
  198. package/skills/video-production/SKILL.md +51 -51
  199. package/vibe/config.json +29 -29
  200. package/vibe/constitution.md +227 -227
  201. package/vibe/rules/principles/communication-guide.md +98 -98
  202. package/vibe/rules/principles/development-philosophy.md +52 -52
  203. package/vibe/rules/principles/quick-start.md +102 -102
  204. package/vibe/rules/quality/bdd-contract-testing.md +393 -393
  205. package/vibe/rules/quality/checklist.md +276 -276
  206. package/vibe/rules/quality/performance.md +236 -236
  207. package/vibe/rules/quality/testing-strategy.md +440 -440
  208. package/vibe/rules/standards/anti-patterns.md +541 -541
  209. package/vibe/rules/standards/code-structure.md +291 -291
  210. package/vibe/rules/standards/complexity-metrics.md +313 -313
  211. package/vibe/rules/standards/git-workflow.md +237 -237
  212. package/vibe/rules/standards/naming-conventions.md +198 -198
  213. package/vibe/rules/standards/security.md +305 -305
  214. package/vibe/rules/writing/document-style.md +74 -74
  215. package/vibe/setup.sh +31 -31
  216. package/vibe/templates/constitution-template.md +252 -252
  217. package/vibe/templates/contract-backend-template.md +526 -526
  218. package/vibe/templates/contract-frontend-template.md +599 -599
  219. package/vibe/templates/feature-template.md +96 -96
  220. package/vibe/templates/spec-template.md +221 -221
  221. package/vibe/ui-ux-data/charts.csv +26 -26
  222. package/vibe/ui-ux-data/colors.csv +97 -97
  223. package/vibe/ui-ux-data/icons.csv +101 -101
  224. package/vibe/ui-ux-data/landing.csv +31 -31
  225. package/vibe/ui-ux-data/products.csv +96 -96
  226. package/vibe/ui-ux-data/react-performance.csv +45 -45
  227. package/vibe/ui-ux-data/stacks/astro.csv +54 -54
  228. package/vibe/ui-ux-data/stacks/flutter.csv +53 -53
  229. package/vibe/ui-ux-data/stacks/html-tailwind.csv +56 -56
  230. package/vibe/ui-ux-data/stacks/jetpack-compose.csv +53 -53
  231. package/vibe/ui-ux-data/stacks/nextjs.csv +53 -53
  232. package/vibe/ui-ux-data/stacks/nuxt-ui.csv +51 -51
  233. package/vibe/ui-ux-data/stacks/nuxtjs.csv +59 -59
  234. package/vibe/ui-ux-data/stacks/react-native.csv +52 -52
  235. package/vibe/ui-ux-data/stacks/react.csv +54 -54
  236. package/vibe/ui-ux-data/stacks/shadcn.csv +61 -61
  237. package/vibe/ui-ux-data/stacks/svelte.csv +54 -54
  238. package/vibe/ui-ux-data/stacks/swiftui.csv +51 -51
  239. package/vibe/ui-ux-data/stacks/vue.csv +50 -50
  240. package/vibe/ui-ux-data/styles.csv +68 -68
  241. package/vibe/ui-ux-data/typography.csv +57 -57
  242. package/vibe/ui-ux-data/ui-reasoning.csv +101 -101
  243. package/vibe/ui-ux-data/ux-guidelines.csv +99 -99
  244. package/vibe/ui-ux-data/version.json +31 -31
  245. 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?"