@su-record/vibe 2.7.18 → 2.7.20

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