@su-record/vibe 2.7.14 → 2.7.16
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.
- package/.env.example +37 -37
- package/CLAUDE.md +134 -126
- package/LICENSE +21 -21
- package/README.md +449 -449
- package/agents/architect-low.md +41 -41
- package/agents/architect-medium.md +59 -59
- package/agents/architect.md +80 -80
- package/agents/build-error-resolver.md +115 -115
- package/agents/compounder.md +261 -261
- package/agents/diagrammer.md +178 -178
- package/agents/docs/api-documenter.md +99 -99
- package/agents/docs/changelog-writer.md +93 -93
- package/agents/e2e-tester.md +294 -294
- package/agents/explorer-low.md +42 -42
- package/agents/explorer-medium.md +59 -59
- package/agents/explorer.md +48 -48
- package/agents/implementer-low.md +43 -43
- package/agents/implementer-medium.md +52 -52
- package/agents/implementer.md +54 -54
- package/agents/junior-mentor.md +141 -141
- package/agents/planning/requirements-analyst.md +84 -84
- package/agents/planning/ux-advisor.md +83 -83
- package/agents/qa/acceptance-tester.md +86 -86
- package/agents/qa/edge-case-finder.md +93 -93
- package/agents/refactor-cleaner.md +143 -143
- package/agents/research/best-practices-agent.md +199 -199
- package/agents/research/codebase-patterns-agent.md +157 -157
- package/agents/research/framework-docs-agent.md +188 -188
- package/agents/research/security-advisory-agent.md +213 -213
- package/agents/review/architecture-reviewer.md +107 -107
- package/agents/review/complexity-reviewer.md +116 -116
- package/agents/review/data-integrity-reviewer.md +88 -88
- package/agents/review/git-history-reviewer.md +103 -103
- package/agents/review/performance-reviewer.md +86 -86
- package/agents/review/python-reviewer.md +150 -150
- package/agents/review/rails-reviewer.md +139 -139
- package/agents/review/react-reviewer.md +144 -144
- package/agents/review/security-reviewer.md +80 -80
- package/agents/review/simplicity-reviewer.md +140 -140
- package/agents/review/test-coverage-reviewer.md +116 -116
- package/agents/review/typescript-reviewer.md +127 -127
- package/agents/searcher.md +54 -54
- package/agents/simplifier.md +120 -120
- package/agents/tester.md +49 -49
- package/agents/ui/ui-a11y-auditor.md +93 -93
- package/agents/ui/ui-antipattern-detector.md +94 -94
- package/agents/ui/ui-dataviz-advisor.md +69 -69
- package/agents/ui/ui-design-system-gen.md +57 -57
- package/agents/ui/ui-industry-analyzer.md +49 -49
- package/agents/ui/ui-layout-architect.md +65 -65
- package/agents/ui/ui-stack-implementer.md +68 -68
- package/agents/ui/ux-compliance-reviewer.md +81 -81
- package/agents/ui-previewer.md +258 -258
- package/commands/vibe.analyze.md +11 -13
- package/commands/vibe.review.md +43 -1
- package/commands/vibe.run.md +2124 -2078
- package/commands/vibe.spec.md +9 -4
- package/commands/vibe.spec.review.md +569 -565
- package/commands/vibe.utils.md +413 -413
- package/commands/vibe.verify.md +33 -8
- package/dist/cli/collaborator.js +52 -52
- package/dist/cli/commands/evolution.js +12 -12
- package/dist/cli/commands/info.d.ts.map +1 -1
- package/dist/cli/commands/info.js +51 -55
- package/dist/cli/commands/info.js.map +1 -1
- package/dist/cli/commands/init.js +5 -5
- package/dist/cli/commands/remove.js +14 -14
- package/dist/cli/commands/sentinel.js +27 -27
- package/dist/cli/commands/skills.js +5 -5
- package/dist/cli/commands/slack.js +10 -10
- package/dist/cli/commands/telegram.js +12 -12
- package/dist/cli/detect.js +32 -32
- package/dist/cli/index.js +51 -51
- package/dist/cli/llm/claude-commands.js +16 -16
- package/dist/cli/llm/config.js +18 -18
- package/dist/cli/llm/gemini-commands.js +16 -16
- package/dist/cli/llm/gpt-commands.js +19 -19
- package/dist/cli/llm/help.js +21 -21
- package/dist/cli/postinstall/constants.d.ts.map +1 -1
- package/dist/cli/postinstall/constants.js +7 -8
- package/dist/cli/postinstall/constants.js.map +1 -1
- package/dist/cli/postinstall/cursor-agents.js +32 -32
- package/dist/cli/postinstall/cursor-rules.js +83 -83
- package/dist/cli/postinstall/cursor-skills.js +743 -743
- package/dist/cli/setup/Provisioner.js +42 -42
- package/dist/infra/lib/DeepInit.js +24 -24
- package/dist/infra/lib/IterationTracker.js +11 -11
- package/dist/infra/lib/PythonParser.js +108 -108
- package/dist/infra/lib/ReviewRace.js +96 -96
- package/dist/infra/lib/SkillFrontmatter.js +28 -28
- package/dist/infra/lib/SkillQualityGate.js +9 -9
- package/dist/infra/lib/SkillRepository.js +159 -159
- package/dist/infra/lib/UltraQA.js +99 -99
- package/dist/infra/lib/autonomy/AuditStore.js +41 -41
- package/dist/infra/lib/autonomy/ConfirmationStore.js +30 -30
- package/dist/infra/lib/autonomy/EventOutbox.js +38 -38
- package/dist/infra/lib/autonomy/PolicyEngine.js +18 -18
- package/dist/infra/lib/autonomy/SecuritySentinel.js +1 -1
- package/dist/infra/lib/autonomy/SuggestionStore.js +33 -33
- package/dist/infra/lib/embedding/VectorStore.js +22 -22
- package/dist/infra/lib/evolution/AgentAnalyzer.js +10 -10
- package/dist/infra/lib/evolution/DescriptionOptimizer.js +21 -21
- package/dist/infra/lib/evolution/GenerationRegistry.js +36 -36
- package/dist/infra/lib/evolution/InsightStore.js +90 -90
- package/dist/infra/lib/evolution/RollbackManager.js +5 -5
- package/dist/infra/lib/evolution/SkillBenchmark.js +23 -23
- package/dist/infra/lib/evolution/SkillEvalRunner.js +50 -50
- package/dist/infra/lib/evolution/SkillGapDetector.js +10 -10
- package/dist/infra/lib/evolution/UsageTracker.js +28 -28
- package/dist/infra/lib/gemini/orchestration.js +5 -5
- package/dist/infra/lib/gpt/orchestration.js +4 -4
- package/dist/infra/lib/memory/KnowledgeGraph.js +4 -4
- package/dist/infra/lib/memory/MemorySearch.js +57 -57
- package/dist/infra/lib/memory/MemoryStorage.js +181 -181
- package/dist/infra/lib/memory/ObservationStore.js +28 -28
- package/dist/infra/lib/memory/ReflectionStore.js +30 -30
- package/dist/infra/lib/memory/SessionRAGRetriever.js +7 -7
- package/dist/infra/lib/memory/SessionRAGStore.js +225 -225
- package/dist/infra/lib/memory/SessionSummarizer.js +9 -9
- package/dist/infra/orchestrator/AgentManager.js +12 -12
- package/dist/infra/orchestrator/AgentRegistry.js +65 -65
- package/dist/infra/orchestrator/MultiLlmResearch.js +8 -8
- package/dist/infra/orchestrator/SwarmOrchestrator.test.js +16 -16
- package/dist/infra/orchestrator/parallelResearch.js +24 -24
- package/dist/tools/convention/analyzeComplexity.test.js +115 -115
- package/dist/tools/convention/validateCodeQuality.test.js +104 -104
- package/dist/tools/memory/createMemoryTimeline.js +10 -10
- package/dist/tools/memory/getMemoryGraph.js +12 -12
- package/dist/tools/memory/getSessionContext.js +9 -9
- package/dist/tools/memory/linkMemories.js +14 -14
- package/dist/tools/memory/listMemories.js +4 -4
- package/dist/tools/memory/recallMemory.js +4 -4
- package/dist/tools/memory/saveMemory.js +4 -4
- package/dist/tools/memory/searchMemoriesAdvanced.js +23 -23
- package/dist/tools/semantic/analyzeDependencyGraph.js +12 -12
- package/dist/tools/semantic/astGrep.test.js +6 -6
- package/dist/tools/spec/prdParser.test.js +171 -171
- package/dist/tools/spec/specGenerator.js +169 -169
- package/dist/tools/spec/traceabilityMatrix.js +64 -64
- package/dist/tools/spec/traceabilityMatrix.test.js +28 -28
- package/hooks/gemini-hooks.json +73 -73
- package/hooks/hooks.json +137 -137
- package/hooks/scripts/code-check.js +77 -70
- package/hooks/scripts/context-save.js +212 -212
- package/hooks/scripts/hud-status.js +291 -291
- package/hooks/scripts/keyword-detector.js +214 -214
- package/hooks/scripts/llm-orchestrate.js +475 -475
- package/hooks/scripts/post-edit.js +32 -32
- package/hooks/scripts/pre-tool-guard.js +125 -125
- package/hooks/scripts/prompt-dispatcher.js +185 -185
- package/hooks/scripts/sentinel-guard.js +104 -104
- package/hooks/scripts/session-start.js +106 -106
- package/hooks/scripts/stop-notify.js +209 -209
- package/hooks/scripts/utils.js +100 -100
- package/languages/csharp-unity.md +515 -515
- package/languages/gdscript-godot.md +470 -470
- package/languages/ruby-rails.md +489 -489
- package/languages/typescript-angular.md +433 -433
- package/languages/typescript-astro.md +416 -416
- package/languages/typescript-electron.md +406 -406
- package/languages/typescript-nestjs.md +524 -524
- package/languages/typescript-svelte.md +407 -407
- package/languages/typescript-tauri.md +365 -365
- package/package.json +121 -121
- package/skills/agents-md/SKILL.md +120 -120
- package/skills/arch-guard/SKILL.md +180 -180
- package/skills/brand-assets/SKILL.md +146 -146
- package/skills/capability-loop/SKILL.md +167 -167
- package/skills/characterization-test/SKILL.md +206 -206
- package/skills/commerce-patterns/SKILL.md +63 -59
- package/skills/commit-push-pr/SKILL.md +75 -75
- package/skills/context7-usage/SKILL.md +105 -105
- package/skills/core-capabilities/SKILL.md +13 -48
- package/skills/e2e-commerce/SKILL.md +61 -57
- package/skills/exec-plan/SKILL.md +147 -147
- package/skills/frontend-design/SKILL.md +12 -73
- package/skills/git-worktree/SKILL.md +72 -72
- package/skills/handoff/SKILL.md +109 -109
- package/skills/parallel-research/SKILL.md +87 -87
- package/skills/priority-todos/SKILL.md +63 -63
- package/skills/seo-checklist/SKILL.md +57 -57
- package/skills/techdebt/SKILL.md +122 -122
- package/skills/tool-fallback/SKILL.md +103 -103
- package/skills/typescript-advanced-types/SKILL.md +66 -66
- package/skills/ui-ux-pro-max/SKILL.md +221 -206
- package/skills/vercel-react-best-practices/SKILL.md +59 -59
- package/skills/video-production/SKILL.md +51 -51
- package/vibe/config.json +29 -29
- package/vibe/constitution.md +227 -227
- package/vibe/rules/principles/communication-guide.md +98 -98
- package/vibe/rules/principles/development-philosophy.md +52 -52
- package/vibe/rules/principles/quick-start.md +102 -102
- package/vibe/rules/quality/bdd-contract-testing.md +393 -393
- package/vibe/rules/quality/checklist.md +276 -276
- package/vibe/rules/quality/performance.md +236 -236
- package/vibe/rules/quality/testing-strategy.md +440 -440
- package/vibe/rules/standards/anti-patterns.md +541 -541
- package/vibe/rules/standards/code-structure.md +291 -291
- package/vibe/rules/standards/complexity-metrics.md +313 -313
- package/vibe/rules/standards/git-workflow.md +237 -237
- package/vibe/rules/standards/naming-conventions.md +198 -198
- package/vibe/rules/standards/security.md +305 -305
- package/vibe/rules/writing/document-style.md +74 -74
- package/vibe/setup.sh +31 -31
- package/vibe/templates/constitution-template.md +252 -252
- package/vibe/templates/contract-backend-template.md +526 -526
- package/vibe/templates/contract-frontend-template.md +599 -599
- package/vibe/templates/feature-template.md +96 -96
- package/vibe/templates/spec-template.md +221 -221
- package/vibe/ui-ux-data/charts.csv +26 -26
- package/vibe/ui-ux-data/colors.csv +97 -97
- package/vibe/ui-ux-data/icons.csv +101 -101
- package/vibe/ui-ux-data/landing.csv +31 -31
- package/vibe/ui-ux-data/products.csv +96 -96
- package/vibe/ui-ux-data/react-performance.csv +45 -45
- package/vibe/ui-ux-data/stacks/astro.csv +54 -54
- package/vibe/ui-ux-data/stacks/flutter.csv +53 -53
- package/vibe/ui-ux-data/stacks/html-tailwind.csv +56 -56
- package/vibe/ui-ux-data/stacks/jetpack-compose.csv +53 -53
- package/vibe/ui-ux-data/stacks/nextjs.csv +53 -53
- package/vibe/ui-ux-data/stacks/nuxt-ui.csv +51 -51
- package/vibe/ui-ux-data/stacks/nuxtjs.csv +59 -59
- package/vibe/ui-ux-data/stacks/react-native.csv +52 -52
- package/vibe/ui-ux-data/stacks/react.csv +54 -54
- package/vibe/ui-ux-data/stacks/shadcn.csv +61 -61
- package/vibe/ui-ux-data/stacks/svelte.csv +54 -54
- package/vibe/ui-ux-data/stacks/swiftui.csv +51 -51
- package/vibe/ui-ux-data/stacks/vue.csv +50 -50
- package/vibe/ui-ux-data/styles.csv +68 -68
- package/vibe/ui-ux-data/typography.csv +57 -57
- package/vibe/ui-ux-data/ui-reasoning.csv +101 -101
- package/vibe/ui-ux-data/ux-guidelines.csv +99 -99
- package/vibe/ui-ux-data/version.json +31 -31
- 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?"
|