@soleri/forge 8.1.0 → 9.0.1
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/dist/agent-schema.d.ts +16 -18
- package/dist/agent-schema.js +6 -6
- package/dist/agent-schema.js.map +1 -1
- package/dist/scaffold-filetree.js +19 -3
- package/dist/scaffold-filetree.js.map +1 -1
- package/dist/scaffolder.js +0 -4
- package/dist/scaffolder.js.map +1 -1
- package/dist/skills/brain-debrief/SKILL.md +66 -0
- package/dist/skills/brainstorming/SKILL.md +85 -0
- package/dist/skills/code-patrol/SKILL.md +86 -0
- package/dist/skills/context-resume/SKILL.md +92 -0
- package/dist/skills/executing-plans/SKILL.md +87 -0
- package/dist/skills/fix-and-learn/SKILL.md +98 -0
- package/dist/skills/health-check/SKILL.md +131 -0
- package/dist/skills/knowledge-harvest/SKILL.md +93 -0
- package/dist/skills/onboard-me/SKILL.md +118 -0
- package/dist/skills/retrospective/SKILL.md +95 -0
- package/dist/skills/second-opinion/SKILL.md +97 -0
- package/dist/skills/systematic-debugging/SKILL.md +99 -0
- package/dist/skills/test-driven-development/SKILL.md +91 -0
- package/dist/skills/vault-capture/SKILL.md +82 -0
- package/dist/skills/vault-navigator/SKILL.md +80 -0
- package/dist/skills/verification-before-completion/SKILL.md +82 -0
- package/dist/skills/writing-plans/SKILL.md +105 -0
- package/dist/templates/agents-md.js +0 -1
- package/dist/templates/agents-md.js.map +1 -1
- package/dist/templates/claude-md-template.js +2 -2
- package/dist/templates/claude-md-template.js.map +1 -1
- package/dist/templates/entry-point.js +1 -1
- package/dist/templates/entry-point.js.map +1 -1
- package/dist/templates/shared-rules.js +19 -0
- package/dist/templates/shared-rules.js.map +1 -1
- package/dist/templates/test-facades.js +0 -11
- package/dist/templates/test-facades.js.map +1 -1
- package/dist/types.d.ts +20 -20
- package/dist/types.js +6 -6
- package/dist/types.js.map +1 -1
- package/package.json +2 -2
- package/src/__tests__/scaffold-filetree.test.ts +0 -2
- package/src/agent-schema.ts +6 -6
- package/src/scaffold-filetree.ts +21 -2
- package/src/scaffolder.ts +0 -4
- package/src/skills/brain-debrief/SKILL.md +66 -0
- package/src/skills/brainstorming/SKILL.md +85 -0
- package/src/skills/code-patrol/SKILL.md +86 -0
- package/src/skills/context-resume/SKILL.md +92 -0
- package/src/skills/executing-plans/SKILL.md +87 -0
- package/src/skills/fix-and-learn/SKILL.md +98 -0
- package/src/skills/health-check/SKILL.md +131 -0
- package/src/skills/knowledge-harvest/SKILL.md +93 -0
- package/src/skills/onboard-me/SKILL.md +118 -0
- package/src/skills/retrospective/SKILL.md +95 -0
- package/src/skills/second-opinion/SKILL.md +97 -0
- package/src/skills/systematic-debugging/SKILL.md +99 -0
- package/src/skills/test-driven-development/SKILL.md +91 -0
- package/src/skills/vault-capture/SKILL.md +82 -0
- package/src/skills/vault-navigator/SKILL.md +80 -0
- package/src/skills/verification-before-completion/SKILL.md +82 -0
- package/src/skills/writing-plans/SKILL.md +105 -0
- package/src/templates/agents-md.ts +0 -1
- package/src/templates/claude-md-template.ts +1 -2
- package/src/templates/entry-point.ts +1 -1
- package/src/templates/shared-rules.ts +20 -0
- package/src/templates/test-facades.ts +0 -11
- package/src/types.ts +6 -6
- package/dist/skills/agent-dev.md +0 -122
- package/dist/skills/agent-guide.md +0 -110
- package/dist/skills/agent-persona.md +0 -66
- package/dist/skills/brain-debrief.md +0 -214
- package/dist/skills/brainstorming.md +0 -180
- package/dist/skills/code-patrol.md +0 -178
- package/dist/skills/context-resume.md +0 -146
- package/dist/skills/deliver-and-ship.md +0 -123
- package/dist/skills/env-setup.md +0 -151
- package/dist/skills/executing-plans.md +0 -216
- package/dist/skills/fix-and-learn.md +0 -167
- package/dist/skills/health-check.md +0 -231
- package/dist/skills/knowledge-harvest.md +0 -185
- package/dist/skills/onboard-me.md +0 -198
- package/dist/skills/retrospective.md +0 -205
- package/dist/skills/second-opinion.md +0 -149
- package/dist/skills/systematic-debugging.md +0 -241
- package/dist/skills/test-driven-development.md +0 -281
- package/dist/skills/vault-capture.md +0 -170
- package/dist/skills/vault-curate.md +0 -107
- package/dist/skills/vault-navigator.md +0 -140
- package/dist/skills/verification-before-completion.md +0 -182
- package/dist/skills/writing-plans.md +0 -215
- package/src/skills/agent-dev.md +0 -122
- package/src/skills/agent-guide.md +0 -110
- package/src/skills/agent-persona.md +0 -66
- package/src/skills/brain-debrief.md +0 -214
- package/src/skills/brainstorming.md +0 -180
- package/src/skills/code-patrol.md +0 -178
- package/src/skills/context-resume.md +0 -146
- package/src/skills/deliver-and-ship.md +0 -123
- package/src/skills/env-setup.md +0 -151
- package/src/skills/executing-plans.md +0 -216
- package/src/skills/fix-and-learn.md +0 -167
- package/src/skills/health-check.md +0 -231
- package/src/skills/knowledge-harvest.md +0 -185
- package/src/skills/onboard-me.md +0 -198
- package/src/skills/retrospective.md +0 -205
- package/src/skills/second-opinion.md +0 -149
- package/src/skills/systematic-debugging.md +0 -241
- package/src/skills/test-driven-development.md +0 -281
- package/src/skills/vault-capture.md +0 -170
- package/src/skills/vault-curate.md +0 -107
- package/src/skills/vault-navigator.md +0 -140
- package/src/skills/verification-before-completion.md +0 -182
- package/src/skills/writing-plans.md +0 -215
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: retrospective
|
|
3
|
+
description: Use when reflecting on recent work — sprint retros, weekly summaries, learning reports, or extracting actionable insights from accumulated session data.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Retrospective — Learning Report From Real Data
|
|
7
|
+
|
|
8
|
+
Generate a data-driven retrospective from session data, vault captures, plan outcomes, and brain intelligence.
|
|
9
|
+
|
|
10
|
+
## Steps
|
|
11
|
+
|
|
12
|
+
### 1. Gather Data
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
ernesto_core op:brain_stats
|
|
16
|
+
ernesto_core op:brain_stats params: { since: "<start of period>" }
|
|
17
|
+
ernesto_core op:brain_strengths
|
|
18
|
+
ernesto_core op:vault_recent
|
|
19
|
+
ernesto_core op:memory_topics
|
|
20
|
+
ernesto_core op:memory_stats
|
|
21
|
+
ernesto_core op:plan_stats
|
|
22
|
+
ernesto_core op:admin_search_insights
|
|
23
|
+
ernesto_core op:admin_vault_analytics
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### 2. Analyze Patterns
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
ernesto_core op:vault_age_report
|
|
30
|
+
ernesto_core op:curator_detect_duplicates
|
|
31
|
+
ernesto_core op:curator_contradictions
|
|
32
|
+
ernesto_core op:curator_health_audit
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### 3. Present the Retrospective
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
## Retrospective: [Period]
|
|
39
|
+
|
|
40
|
+
### By the Numbers
|
|
41
|
+
| Metric | This Period | Previous | Trend |
|
|
42
|
+
|--------|-----------|----------|-------|
|
|
43
|
+
| Patterns captured | X | Y | up/down |
|
|
44
|
+
| Plans completed | X | Y | up/down |
|
|
45
|
+
| Brain strength (avg) | X | Y | up/down |
|
|
46
|
+
| Search misses | X | Y | up/down |
|
|
47
|
+
|
|
48
|
+
### What Went Well
|
|
49
|
+
[High brain strength patterns, completed plans, growing domains]
|
|
50
|
+
|
|
51
|
+
### What Didn't Go Well
|
|
52
|
+
[Recurring anti-patterns, failed plans, knowledge gaps]
|
|
53
|
+
|
|
54
|
+
### Vault Health
|
|
55
|
+
Quality: X/100 | Duplicates: N | Contradictions: N | Stale: N
|
|
56
|
+
|
|
57
|
+
### Recommendations
|
|
58
|
+
1. [Data-driven action item]
|
|
59
|
+
2. [Data-driven action item]
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### 4. Capture the Retrospective
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
ernesto_core op:capture_knowledge
|
|
66
|
+
params: {
|
|
67
|
+
title: "Retrospective — [period]",
|
|
68
|
+
description: "<key findings and action items>",
|
|
69
|
+
type: "workflow",
|
|
70
|
+
category: "meta",
|
|
71
|
+
tags: ["retrospective"]
|
|
72
|
+
}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### 5. Clean Up (Optional)
|
|
76
|
+
|
|
77
|
+
If quality issues found: `op:curator_consolidate` then `op:brain_build_intelligence`.
|
|
78
|
+
|
|
79
|
+
## Common Mistakes
|
|
80
|
+
|
|
81
|
+
- Presenting AI opinions instead of actual vault/brain metrics
|
|
82
|
+
- Not comparing periods (missing trends)
|
|
83
|
+
- Skipping the capture step (retrospective insights are lost)
|
|
84
|
+
|
|
85
|
+
## Quick Reference
|
|
86
|
+
|
|
87
|
+
| Op | When to Use |
|
|
88
|
+
|----|-------------|
|
|
89
|
+
| `brain_stats` / `brain_strengths` | Metrics and patterns |
|
|
90
|
+
| `vault_recent` | Recent captures |
|
|
91
|
+
| `memory_topics` / `memory_stats` | Knowledge clusters |
|
|
92
|
+
| `plan_stats` | Plan completion |
|
|
93
|
+
| `admin_search_insights` | Search misses |
|
|
94
|
+
| `curator_health_audit` | Vault quality |
|
|
95
|
+
| `capture_knowledge` | Persist retrospective |
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: second-opinion
|
|
3
|
+
description: Use when facing a technical decision, comparing approaches, or needing an informed recommendation backed by vault knowledge, brain patterns, and web research.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Second Opinion — Decision Support From All Sources
|
|
7
|
+
|
|
8
|
+
Get an informed recommendation that synthesizes vault knowledge, brain patterns, cross-project experience, and web research before making any technical decision.
|
|
9
|
+
|
|
10
|
+
## Steps
|
|
11
|
+
|
|
12
|
+
### 1. Understand the Decision
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
ernesto_core op:route_intent
|
|
16
|
+
params: { prompt: "<user's question>" }
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
### 2. Search All Knowledge Sources
|
|
20
|
+
|
|
21
|
+
**Vault** — previous decisions, patterns, anti-patterns:
|
|
22
|
+
```
|
|
23
|
+
ernesto_core op:search_intelligent
|
|
24
|
+
params: { query: "<the decision or options>" }
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
**Brain** — proven approaches:
|
|
28
|
+
```
|
|
29
|
+
ernesto_core op:brain_strengths
|
|
30
|
+
ernesto_core op:brain_recommend
|
|
31
|
+
params: { projectName: "<current project>" }
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
**Cross-project** — what other projects chose:
|
|
35
|
+
```
|
|
36
|
+
ernesto_core op:memory_cross_project_search
|
|
37
|
+
params: { query: "<topic>", crossProject: true }
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
**Web** — community consensus, benchmarks, comparison articles.
|
|
41
|
+
|
|
42
|
+
### 3. Synthesize and Present
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
## Decision: [Question]
|
|
46
|
+
|
|
47
|
+
### What the Vault Says
|
|
48
|
+
[Existing decisions, patterns, anti-patterns]
|
|
49
|
+
|
|
50
|
+
### What the Brain Recommends
|
|
51
|
+
[Proven patterns, cross-project insights]
|
|
52
|
+
|
|
53
|
+
### What the Web Says
|
|
54
|
+
[Community consensus, benchmarks]
|
|
55
|
+
|
|
56
|
+
### Options Analysis
|
|
57
|
+
| Criteria | Option A | Option B |
|
|
58
|
+
|----------|----------|----------|
|
|
59
|
+
| [criteria] | ... | ... |
|
|
60
|
+
| Vault support | [patterns?] | [patterns?] |
|
|
61
|
+
|
|
62
|
+
### Recommendation
|
|
63
|
+
[Clear recommendation with reasoning]
|
|
64
|
+
|
|
65
|
+
### Risks
|
|
66
|
+
[What could go wrong]
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### 4. Capture the Decision
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
ernesto_core op:capture_knowledge
|
|
73
|
+
params: {
|
|
74
|
+
title: "<decision title>",
|
|
75
|
+
description: "<chosen option, rationale, rejected alternatives>",
|
|
76
|
+
type: "decision",
|
|
77
|
+
category: "<domain>",
|
|
78
|
+
tags: ["decision"]
|
|
79
|
+
}
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Common Mistakes
|
|
83
|
+
|
|
84
|
+
- Giving a generic AI opinion instead of searching vault/brain first
|
|
85
|
+
- Not capturing the final decision (next person faces the same question blind)
|
|
86
|
+
- Skipping cross-project search (another project may have solved this)
|
|
87
|
+
|
|
88
|
+
## Quick Reference
|
|
89
|
+
|
|
90
|
+
| Op | When to Use |
|
|
91
|
+
|----|-------------|
|
|
92
|
+
| `route_intent` | Classify decision type |
|
|
93
|
+
| `search_intelligent` | Find previous decisions |
|
|
94
|
+
| `brain_strengths` / `brain_recommend` | Proven approaches |
|
|
95
|
+
| `memory_cross_project_search` | Other projects' choices |
|
|
96
|
+
| `memory_search` | Session context |
|
|
97
|
+
| `capture_knowledge` | Persist the decision |
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: systematic-debugging
|
|
3
|
+
description: Use when encountering any bug, test failure, or unexpected behavior — before proposing fixes.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Systematic Debugging
|
|
7
|
+
|
|
8
|
+
**Core principle:** ALWAYS find root cause before attempting fixes. Symptom fixes are failure.
|
|
9
|
+
|
|
10
|
+
## Phase 0: Search Before Investigating
|
|
11
|
+
|
|
12
|
+
**BEFORE touching any code:**
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
ernesto_core op:search_intelligent
|
|
16
|
+
params: { query: "<bug or error message>" }
|
|
17
|
+
ernesto_core op:brain_strengths
|
|
18
|
+
ernesto_core op:memory_search
|
|
19
|
+
params: { query: "<error or symptom>" }
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
If vault has a match — apply it directly. Then search web: exact error message, GitHub issues, Stack Overflow, official docs.
|
|
23
|
+
|
|
24
|
+
Only if vault and web produce no answer, proceed to Phase 1.
|
|
25
|
+
|
|
26
|
+
## Start a Debug Loop
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
ernesto_core op:loop_start
|
|
30
|
+
params: { prompt: "Debug: <bug>", mode: "custom" }
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## The Four Phases
|
|
34
|
+
|
|
35
|
+
### Phase 1: Root Cause Investigation
|
|
36
|
+
|
|
37
|
+
1. Read error messages carefully
|
|
38
|
+
2. Reproduce consistently
|
|
39
|
+
3. Check recent changes
|
|
40
|
+
4. Gather evidence at component boundaries
|
|
41
|
+
5. Trace data flow backward through call stack
|
|
42
|
+
|
|
43
|
+
Track each step with `op:loop_iterate`.
|
|
44
|
+
|
|
45
|
+
### Phase 2: Pattern Analysis
|
|
46
|
+
|
|
47
|
+
Find working examples, compare against references (read completely), identify differences, understand dependencies. Use `op:search_intelligent` for comparison.
|
|
48
|
+
|
|
49
|
+
### Phase 3: Hypothesis and Testing
|
|
50
|
+
|
|
51
|
+
Form single hypothesis, test minimally (one variable at a time), verify before continuing. If unsure — ask for help.
|
|
52
|
+
|
|
53
|
+
### Phase 4: Implementation
|
|
54
|
+
|
|
55
|
+
1. Create failing test (use test-driven-development skill)
|
|
56
|
+
2. Implement single fix (root cause only)
|
|
57
|
+
3. Verify fix
|
|
58
|
+
4. If < 3 attempts failed, return to Phase 1. If >= 3, STOP — question architecture with human partner.
|
|
59
|
+
|
|
60
|
+
## Phase 5: Capture the Learning
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
ernesto_core op:loop_complete
|
|
64
|
+
ernesto_core op:capture_knowledge
|
|
65
|
+
params: {
|
|
66
|
+
title: "<bug>",
|
|
67
|
+
description: "<root cause, solution, what made it hard to find>",
|
|
68
|
+
type: "anti-pattern",
|
|
69
|
+
category: "<domain>",
|
|
70
|
+
tags: ["<relevant>"]
|
|
71
|
+
}
|
|
72
|
+
ernesto_core op:session_capture
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Red Flags — STOP and Return to Phase 1
|
|
76
|
+
|
|
77
|
+
- "Quick fix for now" / "Just try changing X"
|
|
78
|
+
- Proposing solutions before tracing data flow
|
|
79
|
+
- "One more fix attempt" after 2+ failures
|
|
80
|
+
- Each fix reveals a new problem elsewhere
|
|
81
|
+
|
|
82
|
+
## Common Mistakes
|
|
83
|
+
|
|
84
|
+
- Skipping vault search ("I know this one") — 30 seconds saves hours
|
|
85
|
+
- Making multiple changes at once (can't isolate what worked)
|
|
86
|
+
- Skipping the capture step (same bug will recur)
|
|
87
|
+
|
|
88
|
+
## Quick Reference
|
|
89
|
+
|
|
90
|
+
| Phase | Key Activities | Tools |
|
|
91
|
+
|-------|---------------|-------|
|
|
92
|
+
| 0. Search | Vault, web, memory | `search_intelligent`, `brain_strengths`, `memory_search` |
|
|
93
|
+
| 1. Root Cause | Read errors, reproduce, trace | `loop_iterate` |
|
|
94
|
+
| 2. Pattern | Find working examples, compare | `search_intelligent` |
|
|
95
|
+
| 3. Hypothesis | Form theory, test minimally | `loop_iterate` |
|
|
96
|
+
| 4. Implementation | Test, fix, verify | `loop_iterate` |
|
|
97
|
+
| 5. Capture | Persist root cause | `capture_knowledge`, `loop_complete` |
|
|
98
|
+
|
|
99
|
+
**Related skills:** test-driven-development, verification-before-completion, fix-and-learn
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: test-driven-development
|
|
3
|
+
description: Use when implementing any feature or bugfix — write failing tests before implementation code.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Test-Driven Development (TDD)
|
|
7
|
+
|
|
8
|
+
**Core principle:** If you didn't watch the test fail, you don't know if it tests the right thing.
|
|
9
|
+
|
|
10
|
+
## Before You Start — Search First
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
ernesto_core op:search_intelligent
|
|
14
|
+
params: { query: "<what you're about to test>" }
|
|
15
|
+
ernesto_core op:brain_strengths
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
If vault has testing guidance for this domain, follow it.
|
|
19
|
+
|
|
20
|
+
## Start a TDD Loop
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
ernesto_core op:loop_start
|
|
24
|
+
params: { prompt: "TDD: <feature>", mode: "custom" }
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## The Iron Law
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
NO PRODUCTION CODE WITHOUT A FAILING TEST FIRST
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Write code before the test? Delete it. Start over. No exceptions.
|
|
34
|
+
|
|
35
|
+
## Red-Green-Refactor
|
|
36
|
+
|
|
37
|
+
### RED — Write Failing Test
|
|
38
|
+
|
|
39
|
+
One behavior, clear name, real code (no mocks unless unavoidable). Run test, confirm it **fails** for the expected reason (feature missing, not typos). Track: `op:loop_iterate`.
|
|
40
|
+
|
|
41
|
+
### GREEN — Minimal Code
|
|
42
|
+
|
|
43
|
+
Simplest code to pass the test. Don't add features beyond the test. Run test, confirm it **passes** and other tests still pass. Track: `op:loop_iterate`.
|
|
44
|
+
|
|
45
|
+
### REFACTOR — Clean Up
|
|
46
|
+
|
|
47
|
+
After green only: remove duplication, improve names, extract helpers. Keep tests green. Don't add behavior.
|
|
48
|
+
|
|
49
|
+
### Repeat
|
|
50
|
+
|
|
51
|
+
Next failing test for next behavior.
|
|
52
|
+
|
|
53
|
+
## Verification Checklist
|
|
54
|
+
|
|
55
|
+
- [ ] Every new function has a test
|
|
56
|
+
- [ ] Watched each test fail before implementing
|
|
57
|
+
- [ ] Failed for expected reason (not typo)
|
|
58
|
+
- [ ] Wrote minimal code to pass
|
|
59
|
+
- [ ] All tests pass, output pristine
|
|
60
|
+
- [ ] Mocks only where unavoidable
|
|
61
|
+
- [ ] Edge cases and errors covered
|
|
62
|
+
|
|
63
|
+
## After TDD
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
ernesto_core op:loop_complete
|
|
67
|
+
ernesto_core op:capture_quick
|
|
68
|
+
params: { title: "<testing pattern>", description: "<what you learned>" }
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Common Mistakes
|
|
72
|
+
|
|
73
|
+
- Writing implementation before tests ("I'll test after")
|
|
74
|
+
- Keeping pre-test code as "reference" (delete means delete)
|
|
75
|
+
- Test passes immediately (testing existing behavior, not new)
|
|
76
|
+
- Multiple behaviors in one test ("and" in name means split it)
|
|
77
|
+
|
|
78
|
+
| Problem | Solution |
|
|
79
|
+
|---------|----------|
|
|
80
|
+
| Don't know how to test | Write wished-for API first |
|
|
81
|
+
| Must mock everything | Code too coupled — use DI |
|
|
82
|
+
| Test setup huge | Extract helpers or simplify design |
|
|
83
|
+
|
|
84
|
+
## Quick Reference
|
|
85
|
+
|
|
86
|
+
| Op | When to Use |
|
|
87
|
+
|----|-------------|
|
|
88
|
+
| `search_intelligent` | Find testing patterns |
|
|
89
|
+
| `brain_strengths` | Proven testing approaches |
|
|
90
|
+
| `loop_start` / `loop_iterate` / `loop_complete` | TDD cycle tracking |
|
|
91
|
+
| `capture_quick` | Capture new testing patterns |
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vault-capture
|
|
3
|
+
description: Use when persisting a pattern, anti-pattern, workflow, decision, or principle to the knowledge base — after discovering something worth remembering.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Vault Capture — Persist Knowledge
|
|
7
|
+
|
|
8
|
+
Capture patterns, anti-patterns, workflows, and principles to the vault. Captured knowledge compounds — it informs future searches, brain recommendations, and team reviews.
|
|
9
|
+
|
|
10
|
+
## Steps
|
|
11
|
+
|
|
12
|
+
### 1. Check for Duplicates
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
ernesto_core op:search_intelligent
|
|
16
|
+
params: { query: "<knowledge title or description>" }
|
|
17
|
+
ernesto_core op:curator_detect_duplicates
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
If similar entry exists, update it instead of creating a duplicate.
|
|
21
|
+
|
|
22
|
+
### 2. Classify the Knowledge
|
|
23
|
+
|
|
24
|
+
| Type | Description |
|
|
25
|
+
|------|-------------|
|
|
26
|
+
| **pattern** | Works and should be repeated |
|
|
27
|
+
| **anti-pattern** | Fails and should be avoided |
|
|
28
|
+
| **workflow** | Steps for a specific task |
|
|
29
|
+
| **principle** | Guiding rule or heuristic |
|
|
30
|
+
| **decision** | Architectural choice with rationale |
|
|
31
|
+
|
|
32
|
+
### 3. Capture
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
ernesto_core op:capture_knowledge
|
|
36
|
+
params: {
|
|
37
|
+
title: "<clear, searchable name>",
|
|
38
|
+
description: "<what it is and when it applies>",
|
|
39
|
+
type: "<pattern|anti-pattern|workflow|principle|decision>",
|
|
40
|
+
category: "<domain>",
|
|
41
|
+
tags: ["<tag1>", "<tag2>"],
|
|
42
|
+
example: "<code or before/after>",
|
|
43
|
+
why: "<reasoning>"
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
For quick captures: `ernesto_core op:capture_quick params: { title: "<name>", description: "<details>" }`
|
|
48
|
+
|
|
49
|
+
### 4. Post-Capture Quality
|
|
50
|
+
|
|
51
|
+
- `op:curator_groom params: { entryId: "<id>" }` — normalize tags
|
|
52
|
+
- `op:curator_enrich params: { entryId: "<id>" }` — LLM enrichment
|
|
53
|
+
- `op:curator_contradictions` — check for conflicts
|
|
54
|
+
|
|
55
|
+
### 5. Governance (if enabled)
|
|
56
|
+
|
|
57
|
+
If capture returns a `proposalId`, entry is queued: `op:governance_proposals params: { action: "list" }`.
|
|
58
|
+
|
|
59
|
+
### 6. Promote to Global (Optional)
|
|
60
|
+
|
|
61
|
+
For cross-project knowledge: `op:memory_promote_to_global params: { entryId: "<id>" }`.
|
|
62
|
+
|
|
63
|
+
### 7. Verify
|
|
64
|
+
|
|
65
|
+
`op:admin_health` and `op:admin_vault_analytics` to confirm storage and quality.
|
|
66
|
+
|
|
67
|
+
## Common Mistakes
|
|
68
|
+
|
|
69
|
+
- Not checking for duplicates before capturing
|
|
70
|
+
- Missing the `why` field (makes entries not actionable)
|
|
71
|
+
- Skipping post-capture grooming (tags stay unnormalized)
|
|
72
|
+
|
|
73
|
+
## Quick Reference
|
|
74
|
+
|
|
75
|
+
| Op | When to Use |
|
|
76
|
+
|----|-------------|
|
|
77
|
+
| `search_intelligent` | Check for duplicates |
|
|
78
|
+
| `capture_knowledge` / `capture_quick` | Persist to vault |
|
|
79
|
+
| `curator_groom` / `curator_enrich` | Post-capture quality |
|
|
80
|
+
| `curator_contradictions` | Find conflicts |
|
|
81
|
+
| `memory_promote_to_global` | Share cross-project |
|
|
82
|
+
| `admin_health` | Verify health |
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vault-navigator
|
|
3
|
+
description: Use when querying the knowledge base for existing solutions, patterns, best practices, or prior art before building something new.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Vault Navigator — Knowledge Oracle
|
|
7
|
+
|
|
8
|
+
Navigate the vault intelligently. Picks the right search strategy based on what the user needs.
|
|
9
|
+
|
|
10
|
+
## Search Strategy Decision Tree
|
|
11
|
+
|
|
12
|
+
### "Have we seen this?" / "Best practice for X"
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
ernesto_core op:search_intelligent
|
|
16
|
+
params: { query: "<question>" }
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
If results are weak, fall back to `op:search` with explicit filters (type, category, tags, severity).
|
|
20
|
+
|
|
21
|
+
### "Show me everything about X" (Exploration)
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
ernesto_core op:vault_tags
|
|
25
|
+
ernesto_core op:vault_domains
|
|
26
|
+
ernesto_core op:vault_recent
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### "What's stale?" / "What needs updating?"
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
ernesto_core op:vault_age_report
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### "What do other projects do?"
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
ernesto_core op:memory_cross_project_search
|
|
39
|
+
params: { query: "<topic>", crossProject: true }
|
|
40
|
+
ernesto_core op:project_linked_projects
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### "Has brain learned about X?"
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
ernesto_core op:brain_strengths
|
|
47
|
+
ernesto_core op:brain_global_patterns
|
|
48
|
+
params: { domain: "<domain>" }
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Broad exploration ("What do I know about X?")
|
|
52
|
+
|
|
53
|
+
Chain: `search_intelligent` -> `vault_tags` / `vault_domains` -> `memory_cross_project_search` -> `brain_strengths`. Label each finding with its source.
|
|
54
|
+
|
|
55
|
+
## Presenting Results
|
|
56
|
+
|
|
57
|
+
Always include: **Source** (vault/memory/brain), **Confidence** (score), **Relevance** (why it matches), **Next step** (how to apply).
|
|
58
|
+
|
|
59
|
+
## Fallback: Web Search
|
|
60
|
+
|
|
61
|
+
If all vault strategies return nothing, search the web. If web finds something useful, offer to capture: `op:capture_quick`.
|
|
62
|
+
|
|
63
|
+
## Common Mistakes
|
|
64
|
+
|
|
65
|
+
- Using only one search strategy instead of trying multiple
|
|
66
|
+
- Not labeling result sources (user can't judge confidence)
|
|
67
|
+
- Saying "nothing found" without trying web search fallback
|
|
68
|
+
|
|
69
|
+
## Quick Reference
|
|
70
|
+
|
|
71
|
+
| Op | When to Use |
|
|
72
|
+
|----|-------------|
|
|
73
|
+
| `search_intelligent` | Default semantic search |
|
|
74
|
+
| `search` | Structured search with filters |
|
|
75
|
+
| `vault_tags` / `vault_domains` | Browse knowledge landscape |
|
|
76
|
+
| `vault_recent` | Recently modified entries |
|
|
77
|
+
| `vault_age_report` | Stale entries |
|
|
78
|
+
| `memory_cross_project_search` | Cross-project search |
|
|
79
|
+
| `brain_strengths` / `brain_global_patterns` | Proven patterns |
|
|
80
|
+
| `capture_quick` | Capture web findings |
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: verification-before-completion
|
|
3
|
+
description: Use when about to claim work is complete, fixed, or passing — before committing, creating PRs, or moving to the next task.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Verification Before Completion
|
|
7
|
+
|
|
8
|
+
**Core principle:** Evidence before claims, always.
|
|
9
|
+
|
|
10
|
+
## The Iron Law
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
If you haven't run the verification command in this message, you cannot claim it passes.
|
|
17
|
+
|
|
18
|
+
## The Gate Function
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
1. IDENTIFY: What command proves this claim?
|
|
22
|
+
2. RUN: Execute the FULL command (fresh, complete)
|
|
23
|
+
3. READ: Full output, check exit code, count failures
|
|
24
|
+
4. VERIFY: Does output confirm the claim?
|
|
25
|
+
- NO → State actual status with evidence
|
|
26
|
+
- YES → State claim WITH evidence
|
|
27
|
+
5. AGENT CHECK: Run system diagnostics
|
|
28
|
+
6. ONLY THEN: Make the claim
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Agent System Checks
|
|
32
|
+
|
|
33
|
+
After passing verification commands:
|
|
34
|
+
|
|
35
|
+
- `ernesto_core op:admin_health` — catches vault corruption, stale caches
|
|
36
|
+
- `ernesto_core op:admin_diagnostic` — module status, database integrity, config validity
|
|
37
|
+
- `ernesto_core op:admin_vault_analytics` — knowledge quality metrics
|
|
38
|
+
|
|
39
|
+
If any check reports problems, address before claiming completion.
|
|
40
|
+
|
|
41
|
+
## Common Failures
|
|
42
|
+
|
|
43
|
+
| Claim | Requires | Not Sufficient |
|
|
44
|
+
|-------|----------|----------------|
|
|
45
|
+
| Tests pass | Test output: 0 failures | Previous run, "should pass" |
|
|
46
|
+
| Build succeeds | Build command: exit 0 | Linter passing |
|
|
47
|
+
| Bug fixed | Original symptom passes | "Code changed, assumed fixed" |
|
|
48
|
+
| Requirements met | Line-by-line checklist | Tests passing alone |
|
|
49
|
+
|
|
50
|
+
## Red Flags — STOP
|
|
51
|
+
|
|
52
|
+
- Using "should", "probably", "seems to"
|
|
53
|
+
- Expressing satisfaction before verification
|
|
54
|
+
- About to commit/push/PR without verification
|
|
55
|
+
- Relying on partial verification
|
|
56
|
+
|
|
57
|
+
| Excuse | Reality |
|
|
58
|
+
|--------|---------|
|
|
59
|
+
| "Should work now" | RUN the verification |
|
|
60
|
+
| "I'm confident" | Confidence is not evidence |
|
|
61
|
+
| "Just this once" | No exceptions |
|
|
62
|
+
| "Partial check is enough" | Partial proves nothing |
|
|
63
|
+
|
|
64
|
+
## After Verification
|
|
65
|
+
|
|
66
|
+
Capture session summary: `ernesto_core op:session_capture params: { summary: "<what was accomplished>" }`
|
|
67
|
+
|
|
68
|
+
## Common Mistakes
|
|
69
|
+
|
|
70
|
+
- Claiming "tests pass" based on a previous run
|
|
71
|
+
- Trusting agent success reports without independent verification
|
|
72
|
+
- Running linter but not build (linter does not check compilation)
|
|
73
|
+
- Skipping the red-green cycle for regression tests
|
|
74
|
+
|
|
75
|
+
## Quick Reference
|
|
76
|
+
|
|
77
|
+
| Op | When to Use |
|
|
78
|
+
|----|-------------|
|
|
79
|
+
| `admin_health` | Quick system health check |
|
|
80
|
+
| `admin_diagnostic` | Comprehensive diagnostic |
|
|
81
|
+
| `admin_vault_analytics` | Knowledge quality metrics |
|
|
82
|
+
| `session_capture` | Persist verified completion context |
|