@su-record/vibe 2.7.12 → 2.7.14

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 (331) hide show
  1. package/.env.example +37 -37
  2. package/CLAUDE.md +126 -126
  3. package/LICENSE +21 -21
  4. package/README.md +449 -580
  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 -266
  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 +8 -0
  55. package/commands/vibe.review.md +10 -3
  56. package/commands/vibe.run.md +2078 -2022
  57. package/commands/vibe.spec.md +10 -10
  58. package/commands/vibe.spec.review.md +565 -558
  59. package/commands/vibe.utils.md +413 -413
  60. package/commands/vibe.verify.md +45 -0
  61. package/dist/cli/auth.d.ts.map +1 -1
  62. package/dist/cli/auth.js +1 -7
  63. package/dist/cli/auth.js.map +1 -1
  64. package/dist/cli/collaborator.js +52 -52
  65. package/dist/cli/commands/evolution.js +12 -12
  66. package/dist/cli/commands/info.d.ts.map +1 -1
  67. package/dist/cli/commands/info.js +55 -70
  68. package/dist/cli/commands/info.js.map +1 -1
  69. package/dist/cli/commands/init.d.ts.map +1 -1
  70. package/dist/cli/commands/init.js +6 -7
  71. package/dist/cli/commands/init.js.map +1 -1
  72. package/dist/cli/commands/remove.js +14 -14
  73. package/dist/cli/commands/sentinel.js +27 -27
  74. package/dist/cli/commands/setup.js +1 -1
  75. package/dist/cli/commands/setup.js.map +1 -1
  76. package/dist/cli/commands/skills.js +5 -5
  77. package/dist/cli/commands/slack.js +10 -10
  78. package/dist/cli/commands/telegram.js +12 -12
  79. package/dist/cli/commands/update.d.ts.map +1 -1
  80. package/dist/cli/commands/update.js +3 -4
  81. package/dist/cli/commands/update.js.map +1 -1
  82. package/dist/cli/detect.js +32 -32
  83. package/dist/cli/index.js +51 -55
  84. package/dist/cli/index.js.map +1 -1
  85. package/dist/cli/llm/claude-commands.js +16 -16
  86. package/dist/cli/llm/config.js +20 -20
  87. package/dist/cli/llm/config.js.map +1 -1
  88. package/dist/cli/llm/gemini-commands.d.ts +4 -6
  89. package/dist/cli/llm/gemini-commands.d.ts.map +1 -1
  90. package/dist/cli/llm/gemini-commands.js +52 -322
  91. package/dist/cli/llm/gemini-commands.js.map +1 -1
  92. package/dist/cli/llm/gpt-commands.js +21 -21
  93. package/dist/cli/llm/gpt-commands.js.map +1 -1
  94. package/dist/cli/llm/help.js +21 -21
  95. package/dist/cli/postinstall/constants.js +1 -1
  96. package/dist/cli/postinstall/constants.js.map +1 -1
  97. package/dist/cli/postinstall/cursor-agents.js +32 -32
  98. package/dist/cli/postinstall/cursor-rules.js +83 -83
  99. package/dist/cli/postinstall/cursor-skills.js +743 -743
  100. package/dist/cli/postinstall/inline-skills.js +1 -1
  101. package/dist/cli/postinstall/inline-skills.js.map +1 -1
  102. package/dist/cli/setup/Provisioner.js +42 -42
  103. package/dist/cli/types.d.ts +2 -18
  104. package/dist/cli/types.d.ts.map +1 -1
  105. package/dist/cli/utils.d.ts +0 -9
  106. package/dist/cli/utils.d.ts.map +1 -1
  107. package/dist/cli/utils.js +0 -28
  108. package/dist/cli/utils.js.map +1 -1
  109. package/dist/infra/lib/DeepInit.js +24 -24
  110. package/dist/infra/lib/IterationTracker.js +11 -11
  111. package/dist/infra/lib/PythonParser.js +108 -108
  112. package/dist/infra/lib/ReviewRace.js +96 -96
  113. package/dist/infra/lib/SkillFrontmatter.js +28 -28
  114. package/dist/infra/lib/SkillQualityGate.js +9 -9
  115. package/dist/infra/lib/SkillRepository.js +159 -159
  116. package/dist/infra/lib/UltraQA.js +99 -99
  117. package/dist/infra/lib/autonomy/AuditStore.js +41 -41
  118. package/dist/infra/lib/autonomy/ConfirmationStore.js +30 -30
  119. package/dist/infra/lib/autonomy/EventOutbox.js +38 -38
  120. package/dist/infra/lib/autonomy/PolicyEngine.js +18 -18
  121. package/dist/infra/lib/autonomy/SecuritySentinel.js +1 -1
  122. package/dist/infra/lib/autonomy/SuggestionStore.js +33 -33
  123. package/dist/infra/lib/config/GlobalConfigManager.d.ts +0 -2
  124. package/dist/infra/lib/config/GlobalConfigManager.d.ts.map +1 -1
  125. package/dist/infra/lib/config/GlobalConfigManager.js +0 -27
  126. package/dist/infra/lib/config/GlobalConfigManager.js.map +1 -1
  127. package/dist/infra/lib/embedding/VectorStore.js +22 -22
  128. package/dist/infra/lib/evolution/AgentAnalyzer.js +10 -10
  129. package/dist/infra/lib/evolution/DescriptionOptimizer.js +21 -21
  130. package/dist/infra/lib/evolution/GenerationRegistry.js +36 -36
  131. package/dist/infra/lib/evolution/InsightStore.js +90 -90
  132. package/dist/infra/lib/evolution/RollbackManager.js +5 -5
  133. package/dist/infra/lib/evolution/SkillBenchmark.js +23 -23
  134. package/dist/infra/lib/evolution/SkillEvalRunner.js +50 -50
  135. package/dist/infra/lib/evolution/SkillGapDetector.js +10 -10
  136. package/dist/infra/lib/evolution/UsageTracker.js +28 -28
  137. package/dist/infra/lib/gemini/auth.d.ts +4 -16
  138. package/dist/infra/lib/gemini/auth.d.ts.map +1 -1
  139. package/dist/infra/lib/gemini/auth.js +10 -405
  140. package/dist/infra/lib/gemini/auth.js.map +1 -1
  141. package/dist/infra/lib/gemini/capabilities.d.ts +4 -8
  142. package/dist/infra/lib/gemini/capabilities.d.ts.map +1 -1
  143. package/dist/infra/lib/gemini/capabilities.js +8 -166
  144. package/dist/infra/lib/gemini/capabilities.js.map +1 -1
  145. package/dist/infra/lib/gemini/chat.d.ts +4 -13
  146. package/dist/infra/lib/gemini/chat.d.ts.map +1 -1
  147. package/dist/infra/lib/gemini/chat.js +10 -323
  148. package/dist/infra/lib/gemini/chat.js.map +1 -1
  149. package/dist/infra/lib/gemini/completion.d.ts +5 -15
  150. package/dist/infra/lib/gemini/completion.d.ts.map +1 -1
  151. package/dist/infra/lib/gemini/completion.js +6 -97
  152. package/dist/infra/lib/gemini/completion.js.map +1 -1
  153. package/dist/infra/lib/gemini/constants.d.ts +2 -31
  154. package/dist/infra/lib/gemini/constants.d.ts.map +1 -1
  155. package/dist/infra/lib/gemini/constants.js +2 -77
  156. package/dist/infra/lib/gemini/constants.js.map +1 -1
  157. package/dist/infra/lib/gemini/index.d.ts +5 -8
  158. package/dist/infra/lib/gemini/index.d.ts.map +1 -1
  159. package/dist/infra/lib/gemini/index.js +4 -7
  160. package/dist/infra/lib/gemini/index.js.map +1 -1
  161. package/dist/infra/lib/gemini/models.d.ts +3 -4
  162. package/dist/infra/lib/gemini/models.d.ts.map +1 -1
  163. package/dist/infra/lib/gemini/models.js +8 -84
  164. package/dist/infra/lib/gemini/models.js.map +1 -1
  165. package/dist/infra/lib/gemini/orchestration.js +5 -5
  166. package/dist/infra/lib/gemini/types.d.ts +16 -44
  167. package/dist/infra/lib/gemini/types.d.ts.map +1 -1
  168. package/dist/infra/lib/gemini/types.js +1 -1
  169. package/dist/infra/lib/gpt/auth.d.ts +2 -5
  170. package/dist/infra/lib/gpt/auth.d.ts.map +1 -1
  171. package/dist/infra/lib/gpt/auth.js +8 -38
  172. package/dist/infra/lib/gpt/auth.js.map +1 -1
  173. package/dist/infra/lib/gpt/chat.d.ts +3 -3
  174. package/dist/infra/lib/gpt/chat.d.ts.map +1 -1
  175. package/dist/infra/lib/gpt/chat.js +37 -53
  176. package/dist/infra/lib/gpt/chat.js.map +1 -1
  177. package/dist/infra/lib/gpt/constants.d.ts +2 -5
  178. package/dist/infra/lib/gpt/constants.d.ts.map +1 -1
  179. package/dist/infra/lib/gpt/constants.js +4 -9
  180. package/dist/infra/lib/gpt/constants.js.map +1 -1
  181. package/dist/infra/lib/gpt/embedding.d.ts +1 -1
  182. package/dist/infra/lib/gpt/embedding.js +3 -3
  183. package/dist/infra/lib/gpt/embedding.js.map +1 -1
  184. package/dist/infra/lib/gpt/oauth.d.ts +6 -39
  185. package/dist/infra/lib/gpt/oauth.d.ts.map +1 -1
  186. package/dist/infra/lib/gpt/oauth.js +8 -340
  187. package/dist/infra/lib/gpt/oauth.js.map +1 -1
  188. package/dist/infra/lib/gpt/orchestration.js +5 -5
  189. package/dist/infra/lib/gpt/orchestration.js.map +1 -1
  190. package/dist/infra/lib/gpt/specializations.d.ts +2 -2
  191. package/dist/infra/lib/gpt/specializations.js +3 -3
  192. package/dist/infra/lib/gpt/specializations.js.map +1 -1
  193. package/dist/infra/lib/gpt/types.d.ts +1 -1
  194. package/dist/infra/lib/gpt/types.d.ts.map +1 -1
  195. package/dist/infra/lib/llm/auth/AuthProfileManager.d.ts +2 -2
  196. package/dist/infra/lib/llm/auth/AuthProfileManager.d.ts.map +1 -1
  197. package/dist/infra/lib/llm/auth/AuthProfileManager.js.map +1 -1
  198. package/dist/infra/lib/llm/auth/AuthProfileManager.test.js +1 -1
  199. package/dist/infra/lib/llm/auth/AuthProfileManager.test.js.map +1 -1
  200. package/dist/infra/lib/llm/auth/TokenRefresher.d.ts +1 -1
  201. package/dist/infra/lib/llm/auth/TokenRefresher.js +1 -1
  202. package/dist/infra/lib/llm/auth/index.d.ts +2 -12
  203. package/dist/infra/lib/llm/auth/index.d.ts.map +1 -1
  204. package/dist/infra/lib/llm/auth/index.js +5 -63
  205. package/dist/infra/lib/llm/auth/index.js.map +1 -1
  206. package/dist/infra/lib/llm/types.d.ts +1 -1
  207. package/dist/infra/lib/llm/types.d.ts.map +1 -1
  208. package/dist/infra/lib/memory/KnowledgeGraph.js +4 -4
  209. package/dist/infra/lib/memory/MemorySearch.js +57 -57
  210. package/dist/infra/lib/memory/MemoryStorage.js +181 -181
  211. package/dist/infra/lib/memory/ObservationStore.js +28 -28
  212. package/dist/infra/lib/memory/ReflectionStore.js +30 -30
  213. package/dist/infra/lib/memory/SessionRAGRetriever.js +7 -7
  214. package/dist/infra/lib/memory/SessionRAGStore.js +225 -225
  215. package/dist/infra/lib/memory/SessionSummarizer.js +9 -9
  216. package/dist/infra/orchestrator/AgentManager.js +12 -12
  217. package/dist/infra/orchestrator/AgentRegistry.js +65 -65
  218. package/dist/infra/orchestrator/MultiLlmResearch.js +8 -8
  219. package/dist/infra/orchestrator/SwarmOrchestrator.test.js +16 -16
  220. package/dist/infra/orchestrator/parallelResearch.js +24 -24
  221. package/dist/tools/convention/analyzeComplexity.test.js +115 -115
  222. package/dist/tools/convention/validateCodeQuality.test.js +104 -104
  223. package/dist/tools/memory/createMemoryTimeline.js +10 -10
  224. package/dist/tools/memory/getMemoryGraph.js +12 -12
  225. package/dist/tools/memory/getSessionContext.js +9 -9
  226. package/dist/tools/memory/linkMemories.js +14 -14
  227. package/dist/tools/memory/listMemories.js +4 -4
  228. package/dist/tools/memory/recallMemory.js +4 -4
  229. package/dist/tools/memory/saveMemory.js +4 -4
  230. package/dist/tools/memory/searchMemoriesAdvanced.js +23 -23
  231. package/dist/tools/semantic/analyzeDependencyGraph.js +12 -12
  232. package/dist/tools/semantic/astGrep.test.js +6 -6
  233. package/dist/tools/spec/prdParser.test.js +171 -171
  234. package/dist/tools/spec/specGenerator.js +169 -169
  235. package/dist/tools/spec/traceabilityMatrix.js +64 -64
  236. package/dist/tools/spec/traceabilityMatrix.test.js +28 -28
  237. package/hooks/gemini-hooks.json +73 -73
  238. package/hooks/hooks.json +137 -137
  239. package/hooks/scripts/code-check.js +70 -70
  240. package/hooks/scripts/context-save.js +212 -212
  241. package/hooks/scripts/hud-status.js +291 -291
  242. package/hooks/scripts/keyword-detector.js +214 -214
  243. package/hooks/scripts/llm-orchestrate.js +475 -646
  244. package/hooks/scripts/post-edit.js +32 -32
  245. package/hooks/scripts/pre-tool-guard.js +125 -125
  246. package/hooks/scripts/prompt-dispatcher.js +185 -185
  247. package/hooks/scripts/sentinel-guard.js +104 -104
  248. package/hooks/scripts/session-start.js +106 -106
  249. package/hooks/scripts/stop-notify.js +209 -209
  250. package/hooks/scripts/utils.js +100 -100
  251. package/languages/csharp-unity.md +515 -515
  252. package/languages/gdscript-godot.md +470 -470
  253. package/languages/ruby-rails.md +489 -489
  254. package/languages/typescript-angular.md +433 -433
  255. package/languages/typescript-astro.md +416 -416
  256. package/languages/typescript-electron.md +406 -406
  257. package/languages/typescript-nestjs.md +524 -524
  258. package/languages/typescript-svelte.md +407 -407
  259. package/languages/typescript-tauri.md +365 -365
  260. package/package.json +121 -121
  261. package/skills/agents-md/SKILL.md +120 -120
  262. package/skills/arch-guard/SKILL.md +180 -180
  263. package/skills/brand-assets/SKILL.md +146 -146
  264. package/skills/capability-loop/SKILL.md +167 -167
  265. package/skills/characterization-test/SKILL.md +206 -206
  266. package/skills/commerce-patterns/SKILL.md +59 -59
  267. package/skills/commit-push-pr/SKILL.md +75 -75
  268. package/skills/context7-usage/SKILL.md +105 -105
  269. package/skills/core-capabilities/SKILL.md +48 -48
  270. package/skills/e2e-commerce/SKILL.md +57 -57
  271. package/skills/exec-plan/SKILL.md +147 -147
  272. package/skills/frontend-design/SKILL.md +73 -73
  273. package/skills/git-worktree/SKILL.md +72 -72
  274. package/skills/handoff/SKILL.md +109 -109
  275. package/skills/parallel-research/SKILL.md +87 -87
  276. package/skills/priority-todos/SKILL.md +63 -63
  277. package/skills/seo-checklist/SKILL.md +57 -57
  278. package/skills/techdebt/SKILL.md +122 -122
  279. package/skills/tool-fallback/SKILL.md +103 -103
  280. package/skills/typescript-advanced-types/SKILL.md +66 -65
  281. package/skills/ui-ux-pro-max/SKILL.md +206 -206
  282. package/skills/vercel-react-best-practices/SKILL.md +59 -59
  283. package/skills/video-production/SKILL.md +51 -51
  284. package/vibe/config.json +29 -29
  285. package/vibe/constitution.md +227 -227
  286. package/vibe/rules/principles/communication-guide.md +98 -98
  287. package/vibe/rules/principles/development-philosophy.md +52 -52
  288. package/vibe/rules/principles/quick-start.md +102 -102
  289. package/vibe/rules/quality/bdd-contract-testing.md +393 -393
  290. package/vibe/rules/quality/checklist.md +276 -276
  291. package/vibe/rules/quality/performance.md +236 -236
  292. package/vibe/rules/quality/testing-strategy.md +440 -440
  293. package/vibe/rules/standards/anti-patterns.md +541 -541
  294. package/vibe/rules/standards/code-structure.md +291 -291
  295. package/vibe/rules/standards/complexity-metrics.md +313 -313
  296. package/vibe/rules/standards/git-workflow.md +237 -237
  297. package/vibe/rules/standards/naming-conventions.md +198 -198
  298. package/vibe/rules/standards/security.md +305 -305
  299. package/vibe/rules/writing/document-style.md +74 -74
  300. package/vibe/setup.sh +31 -31
  301. package/vibe/templates/constitution-template.md +252 -252
  302. package/vibe/templates/contract-backend-template.md +526 -526
  303. package/vibe/templates/contract-frontend-template.md +599 -599
  304. package/vibe/templates/feature-template.md +96 -96
  305. package/vibe/templates/spec-template.md +221 -221
  306. package/vibe/ui-ux-data/charts.csv +26 -26
  307. package/vibe/ui-ux-data/colors.csv +97 -97
  308. package/vibe/ui-ux-data/icons.csv +101 -101
  309. package/vibe/ui-ux-data/landing.csv +31 -31
  310. package/vibe/ui-ux-data/products.csv +96 -96
  311. package/vibe/ui-ux-data/react-performance.csv +45 -45
  312. package/vibe/ui-ux-data/stacks/astro.csv +54 -54
  313. package/vibe/ui-ux-data/stacks/flutter.csv +53 -53
  314. package/vibe/ui-ux-data/stacks/html-tailwind.csv +56 -56
  315. package/vibe/ui-ux-data/stacks/jetpack-compose.csv +53 -53
  316. package/vibe/ui-ux-data/stacks/nextjs.csv +53 -53
  317. package/vibe/ui-ux-data/stacks/nuxt-ui.csv +51 -51
  318. package/vibe/ui-ux-data/stacks/nuxtjs.csv +59 -59
  319. package/vibe/ui-ux-data/stacks/react-native.csv +52 -52
  320. package/vibe/ui-ux-data/stacks/react.csv +54 -54
  321. package/vibe/ui-ux-data/stacks/shadcn.csv +61 -61
  322. package/vibe/ui-ux-data/stacks/svelte.csv +54 -54
  323. package/vibe/ui-ux-data/stacks/swiftui.csv +51 -51
  324. package/vibe/ui-ux-data/stacks/vue.csv +50 -50
  325. package/vibe/ui-ux-data/styles.csv +68 -68
  326. package/vibe/ui-ux-data/typography.csv +57 -57
  327. package/vibe/ui-ux-data/ui-reasoning.csv +101 -101
  328. package/vibe/ui-ux-data/ux-guidelines.csv +99 -99
  329. package/vibe/ui-ux-data/version.json +31 -31
  330. package/vibe/ui-ux-data/web-interface.csv +31 -31
  331. package/commands/vibe.voice.md +0 -79
@@ -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?"