@soleri/forge 9.0.1 → 9.2.0
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/compose-claude-md.js +1 -1
- package/dist/compose-claude-md.js.map +1 -1
- package/dist/scaffold-filetree.js +8 -13
- package/dist/scaffold-filetree.js.map +1 -1
- package/dist/skills/brain-debrief/SKILL.md +16 -12
- package/dist/skills/brainstorming/SKILL.md +9 -5
- package/dist/skills/code-patrol/SKILL.md +7 -7
- package/dist/skills/context-resume/SKILL.md +14 -11
- package/dist/skills/deep-review/SKILL.md +186 -0
- package/dist/skills/executing-plans/SKILL.md +13 -9
- package/dist/skills/fix-and-learn/SKILL.md +12 -8
- package/dist/skills/health-check/SKILL.md +21 -17
- package/dist/skills/knowledge-harvest/SKILL.md +10 -6
- package/dist/skills/onboard-me/SKILL.md +19 -16
- package/dist/skills/parallel-execute/SKILL.md +277 -0
- package/dist/skills/retrospective/SKILL.md +18 -15
- package/dist/skills/second-opinion/SKILL.md +6 -6
- package/dist/skills/systematic-debugging/SKILL.md +12 -8
- package/dist/skills/test-driven-development/SKILL.md +5 -5
- package/dist/skills/vault-capture/SKILL.md +9 -5
- package/dist/skills/vault-navigator/SKILL.md +14 -10
- package/dist/skills/vault-smells/SKILL.md +251 -0
- package/dist/skills/verification-before-completion/SKILL.md +8 -5
- package/dist/skills/writing-plans/SKILL.md +14 -11
- package/dist/templates/agents-md.js +2 -2
- 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/shared-rules.js +35 -1
- package/dist/templates/shared-rules.js.map +1 -1
- package/dist/templates/skills.js +28 -6
- package/dist/templates/skills.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.js +6 -2
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
- package/src/__tests__/scaffolder.test.ts +17 -35
- package/src/compose-claude-md.ts +1 -1
- package/src/scaffold-filetree.ts +9 -13
- package/src/skills/brain-debrief/SKILL.md +16 -12
- package/src/skills/brainstorming/SKILL.md +9 -5
- package/src/skills/code-patrol/SKILL.md +7 -7
- package/src/skills/context-resume/SKILL.md +14 -11
- package/src/skills/deep-review/SKILL.md +186 -0
- package/src/skills/executing-plans/SKILL.md +13 -9
- package/src/skills/fix-and-learn/SKILL.md +12 -8
- package/src/skills/health-check/SKILL.md +21 -17
- package/src/skills/knowledge-harvest/SKILL.md +10 -6
- package/src/skills/onboard-me/SKILL.md +19 -16
- package/src/skills/parallel-execute/SKILL.md +277 -0
- package/src/skills/retrospective/SKILL.md +18 -15
- package/src/skills/second-opinion/SKILL.md +6 -6
- package/src/skills/systematic-debugging/SKILL.md +12 -8
- package/src/skills/test-driven-development/SKILL.md +5 -5
- package/src/skills/vault-capture/SKILL.md +9 -5
- package/src/skills/vault-navigator/SKILL.md +14 -10
- package/src/skills/vault-smells/SKILL.md +251 -0
- package/src/skills/verification-before-completion/SKILL.md +8 -5
- package/src/skills/writing-plans/SKILL.md +14 -11
- package/src/templates/agents-md.ts +2 -2
- package/src/templates/claude-md-template.ts +2 -2
- package/src/templates/shared-rules.ts +36 -1
- package/src/templates/skills.ts +27 -6
- package/src/types.ts +7 -2
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: vault-capture
|
|
3
|
-
description:
|
|
3
|
+
description: >
|
|
4
|
+
Use to capture a SINGLE known pattern, anti-pattern, workflow, decision, or principle to the
|
|
5
|
+
vault. Triggers on "save this", "capture this", "remember this pattern", "add to vault". The
|
|
6
|
+
user already knows what to capture. For bulk extraction from documents, code, or PRs, use
|
|
7
|
+
knowledge-harvest instead.
|
|
4
8
|
---
|
|
5
9
|
|
|
6
10
|
# Vault Capture — Persist Knowledge
|
|
@@ -12,9 +16,9 @@ Capture patterns, anti-patterns, workflows, and principles to the vault. Capture
|
|
|
12
16
|
### 1. Check for Duplicates
|
|
13
17
|
|
|
14
18
|
```
|
|
15
|
-
|
|
19
|
+
YOUR_AGENT_core op:search_intelligent
|
|
16
20
|
params: { query: "<knowledge title or description>" }
|
|
17
|
-
|
|
21
|
+
YOUR_AGENT_core op:curator_detect_duplicates
|
|
18
22
|
```
|
|
19
23
|
|
|
20
24
|
If similar entry exists, update it instead of creating a duplicate.
|
|
@@ -32,7 +36,7 @@ If similar entry exists, update it instead of creating a duplicate.
|
|
|
32
36
|
### 3. Capture
|
|
33
37
|
|
|
34
38
|
```
|
|
35
|
-
|
|
39
|
+
YOUR_AGENT_core op:capture_knowledge
|
|
36
40
|
params: {
|
|
37
41
|
title: "<clear, searchable name>",
|
|
38
42
|
description: "<what it is and when it applies>",
|
|
@@ -44,7 +48,7 @@ ernesto_core op:capture_knowledge
|
|
|
44
48
|
}
|
|
45
49
|
```
|
|
46
50
|
|
|
47
|
-
For quick captures: `
|
|
51
|
+
For quick captures: `YOUR_AGENT_core op:capture_quick params: { title: "<name>", description: "<details>" }`
|
|
48
52
|
|
|
49
53
|
### 4. Post-Capture Quality
|
|
50
54
|
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: vault-navigator
|
|
3
|
-
description:
|
|
3
|
+
description: >
|
|
4
|
+
Use when the user asks "search the vault", "find patterns for", "have we seen this before",
|
|
5
|
+
"what does the vault say about", "best practice for", "check vault", "vault search", or wants
|
|
6
|
+
to query the knowledge base for existing solutions and prior art. For saving a new entry, use
|
|
7
|
+
vault-capture instead.
|
|
4
8
|
---
|
|
5
9
|
|
|
6
10
|
# Vault Navigator — Knowledge Oracle
|
|
@@ -12,7 +16,7 @@ Navigate the vault intelligently. Picks the right search strategy based on what
|
|
|
12
16
|
### "Have we seen this?" / "Best practice for X"
|
|
13
17
|
|
|
14
18
|
```
|
|
15
|
-
|
|
19
|
+
YOUR_AGENT_core op:search_intelligent
|
|
16
20
|
params: { query: "<question>" }
|
|
17
21
|
```
|
|
18
22
|
|
|
@@ -21,30 +25,30 @@ If results are weak, fall back to `op:search` with explicit filters (type, categ
|
|
|
21
25
|
### "Show me everything about X" (Exploration)
|
|
22
26
|
|
|
23
27
|
```
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
28
|
+
YOUR_AGENT_core op:vault_tags
|
|
29
|
+
YOUR_AGENT_core op:vault_domains
|
|
30
|
+
YOUR_AGENT_core op:vault_recent
|
|
27
31
|
```
|
|
28
32
|
|
|
29
33
|
### "What's stale?" / "What needs updating?"
|
|
30
34
|
|
|
31
35
|
```
|
|
32
|
-
|
|
36
|
+
YOUR_AGENT_core op:vault_age_report
|
|
33
37
|
```
|
|
34
38
|
|
|
35
39
|
### "What do other projects do?"
|
|
36
40
|
|
|
37
41
|
```
|
|
38
|
-
|
|
42
|
+
YOUR_AGENT_core op:memory_cross_project_search
|
|
39
43
|
params: { query: "<topic>", crossProject: true }
|
|
40
|
-
|
|
44
|
+
YOUR_AGENT_core op:project_linked_projects
|
|
41
45
|
```
|
|
42
46
|
|
|
43
47
|
### "Has brain learned about X?"
|
|
44
48
|
|
|
45
49
|
```
|
|
46
|
-
|
|
47
|
-
|
|
50
|
+
YOUR_AGENT_core op:brain_strengths
|
|
51
|
+
YOUR_AGENT_core op:brain_global_patterns
|
|
48
52
|
params: { domain: "<domain>" }
|
|
49
53
|
```
|
|
50
54
|
|
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vault-smells
|
|
3
|
+
description: >
|
|
4
|
+
Use for deep knowledge quality analysis — finding contradictions, stale patterns, orphaned entries,
|
|
5
|
+
weak links, knowledge decay, and structural issues in the vault. Triggers on "vault smells",
|
|
6
|
+
"knowledge quality", "vault analysis", "find contradictions", "stale patterns", "knowledge debt",
|
|
7
|
+
"vault deep check", "is my vault healthy". Goes deeper than health-check (which is operational).
|
|
8
|
+
For code review, use deep-review instead.
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Vault Smells — Knowledge Quality Deep Analysis
|
|
12
|
+
|
|
13
|
+
Detects structural problems in the knowledge base that degrade decision quality over time. Goes beyond operational health (is the DB up?) into knowledge integrity (is the knowledge trustworthy?).
|
|
14
|
+
|
|
15
|
+
## Smell Categories
|
|
16
|
+
|
|
17
|
+
### 1. Contradiction Smells
|
|
18
|
+
|
|
19
|
+
Entries that give conflicting guidance. The most dangerous smell — leads to inconsistent decisions.
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
YOUR_AGENT_core op:curator_contradictions
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
**What to look for:**
|
|
26
|
+
- Two patterns that recommend opposite approaches for the same situation
|
|
27
|
+
- An anti-pattern that contradicts an active pattern
|
|
28
|
+
- Entries from different time periods with conflicting advice (the older one may be stale)
|
|
29
|
+
|
|
30
|
+
**Resolution:** Present contradictions to user. One must win — archive the loser or scope them to different contexts.
|
|
31
|
+
|
|
32
|
+
### 2. Staleness Smells
|
|
33
|
+
|
|
34
|
+
Knowledge that was true once but may not be anymore.
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
YOUR_AGENT_core op:vault_age_report
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
**Indicators:**
|
|
41
|
+
- Entries >60 days without access or update
|
|
42
|
+
- Patterns referencing APIs, libraries, or versions that have changed
|
|
43
|
+
- Entries tagged with technologies the project no longer uses
|
|
44
|
+
- Confidence scores that haven't been reinforced by brain feedback
|
|
45
|
+
|
|
46
|
+
**Action:** Flag for review. Don't auto-delete — stale doesn't mean wrong.
|
|
47
|
+
|
|
48
|
+
### 3. Orphan Smells
|
|
49
|
+
|
|
50
|
+
Entries with no connections to the rest of the knowledge graph.
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
YOUR_AGENT_core op:admin_vault_analytics
|
|
54
|
+
YOUR_AGENT_core op:curator_detect_duplicates
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
**Indicators:**
|
|
58
|
+
- Entries with zero inbound or outbound links
|
|
59
|
+
- Entries never returned in search results (check search insights)
|
|
60
|
+
- Entries with no tags or only generic tags
|
|
61
|
+
- Entries that were captured but never groomed
|
|
62
|
+
|
|
63
|
+
**Why it matters:** Orphans don't surface when needed. They're knowledge that exists but can't be found. In a Zettelkasten, an unlinked note is a dead note.
|
|
64
|
+
|
|
65
|
+
**Action:** Link, merge, or archive. Every entry should connect to at least one other.
|
|
66
|
+
|
|
67
|
+
### 4. Duplication Smells
|
|
68
|
+
|
|
69
|
+
Multiple entries covering the same ground with slight variations.
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
YOUR_AGENT_core op:curator_detect_duplicates
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
**Indicators:**
|
|
76
|
+
- High similarity scores between entries
|
|
77
|
+
- Same tags and category but different titles
|
|
78
|
+
- Entries captured in different sessions about the same topic
|
|
79
|
+
- Parallel entries — one as pattern, one as anti-pattern for the same concept
|
|
80
|
+
|
|
81
|
+
**Action:** Merge the best parts into one authoritative entry. Archive the rest.
|
|
82
|
+
|
|
83
|
+
### 5. Shallow Entry Smells
|
|
84
|
+
|
|
85
|
+
Entries that exist but lack substance — captured in a hurry, never enriched.
|
|
86
|
+
|
|
87
|
+
```
|
|
88
|
+
YOUR_AGENT_core op:curator_health_audit
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
**Indicators:**
|
|
92
|
+
- Description under 50 characters
|
|
93
|
+
- No examples or context
|
|
94
|
+
- Missing "why" — only states "what" without rationale
|
|
95
|
+
- No tags beyond the auto-generated ones
|
|
96
|
+
- Quality score below 40
|
|
97
|
+
|
|
98
|
+
**Action:** Enrich with context, examples, and rationale — or archive if no longer relevant.
|
|
99
|
+
|
|
100
|
+
### 6. Category Drift Smells
|
|
101
|
+
|
|
102
|
+
The taxonomy has grown inconsistent over time.
|
|
103
|
+
|
|
104
|
+
```
|
|
105
|
+
YOUR_AGENT_core op:vault_domains
|
|
106
|
+
YOUR_AGENT_core op:vault_tags
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
**Indicators:**
|
|
110
|
+
- Near-duplicate categories (e.g., "error-handling" and "errors" and "exception-handling")
|
|
111
|
+
- Categories with only 1-2 entries (too granular)
|
|
112
|
+
- Tags used inconsistently (same concept, different tag names)
|
|
113
|
+
- Entries miscategorized (architecture pattern filed under "testing")
|
|
114
|
+
|
|
115
|
+
**Action:** Normalize with `op:curator_groom_all`. Merge overlapping categories.
|
|
116
|
+
|
|
117
|
+
### 7. Confidence Decay Smells
|
|
118
|
+
|
|
119
|
+
Brain patterns losing strength without reinforcement.
|
|
120
|
+
|
|
121
|
+
```
|
|
122
|
+
YOUR_AGENT_core op:brain_strengths
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
**Indicators:**
|
|
126
|
+
- Patterns with high initial strength that have decayed below 0.3
|
|
127
|
+
- Patterns that were strong but haven't received positive feedback in >30 days
|
|
128
|
+
- Patterns with mixed feedback (both positive and negative) — unresolved
|
|
129
|
+
|
|
130
|
+
**Action:** Review with user. Reinforce valid patterns, retire invalid ones.
|
|
131
|
+
|
|
132
|
+
### 8. Knowledge Gap Smells
|
|
133
|
+
|
|
134
|
+
Areas where the vault *should* have knowledge but doesn't.
|
|
135
|
+
|
|
136
|
+
```
|
|
137
|
+
YOUR_AGENT_core op:admin_search_insights
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
**Indicators:**
|
|
141
|
+
- Repeated search queries that return no results
|
|
142
|
+
- Domains the project uses but vault has no entries for
|
|
143
|
+
- Anti-patterns captured without corresponding patterns (what to do instead?)
|
|
144
|
+
- Patterns without linked anti-patterns (what to avoid?)
|
|
145
|
+
|
|
146
|
+
**Action:** Create targeted entries to fill gaps. Use knowledge-harvest skill on relevant docs/code.
|
|
147
|
+
|
|
148
|
+
## Running the Analysis
|
|
149
|
+
|
|
150
|
+
### Step 1: Gather Data
|
|
151
|
+
|
|
152
|
+
```
|
|
153
|
+
YOUR_AGENT_core op:admin_health
|
|
154
|
+
YOUR_AGENT_core op:admin_vault_analytics
|
|
155
|
+
YOUR_AGENT_core op:curator_health_audit
|
|
156
|
+
YOUR_AGENT_core op:curator_contradictions
|
|
157
|
+
YOUR_AGENT_core op:curator_detect_duplicates
|
|
158
|
+
YOUR_AGENT_core op:vault_age_report
|
|
159
|
+
YOUR_AGENT_core op:vault_domains
|
|
160
|
+
YOUR_AGENT_core op:vault_tags
|
|
161
|
+
YOUR_AGENT_core op:brain_strengths
|
|
162
|
+
YOUR_AGENT_core op:admin_search_insights
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
### Step 2: Classify Smells
|
|
166
|
+
|
|
167
|
+
For each smell category, assess severity:
|
|
168
|
+
|
|
169
|
+
| Severity | Meaning |
|
|
170
|
+
|----------|---------|
|
|
171
|
+
| 🟢 Clean | No issues in this category |
|
|
172
|
+
| 🟡 Minor | 1-3 instances, low impact |
|
|
173
|
+
| 🟠 Moderate | Multiple instances, degrading quality |
|
|
174
|
+
| 🔴 Critical | Widespread, actively causing bad decisions |
|
|
175
|
+
|
|
176
|
+
### Step 3: Present the Report
|
|
177
|
+
|
|
178
|
+
```
|
|
179
|
+
## Vault Smell Report
|
|
180
|
+
|
|
181
|
+
### Overview
|
|
182
|
+
| Metric | Value |
|
|
183
|
+
|--------|-------|
|
|
184
|
+
| Total entries | X |
|
|
185
|
+
| Overall health score | X/100 |
|
|
186
|
+
| Smells found | X across Y categories |
|
|
187
|
+
|
|
188
|
+
### Smell Summary
|
|
189
|
+
| Category | Severity | Count | Impact |
|
|
190
|
+
|----------|----------|-------|--------|
|
|
191
|
+
| Contradictions | 🔴/🟠/🟡/🟢 | X | Inconsistent decisions |
|
|
192
|
+
| Staleness | 🔴/🟠/🟡/🟢 | X | Outdated guidance |
|
|
193
|
+
| Orphans | 🔴/🟠/🟡/🟢 | X | Unfindable knowledge |
|
|
194
|
+
| Duplicates | 🔴/🟠/🟡/🟢 | X | Noise, conflicting versions |
|
|
195
|
+
| Shallow entries | 🔴/🟠/🟡/🟢 | X | Low-value knowledge |
|
|
196
|
+
| Category drift | 🔴/🟠/🟡/🟢 | X | Poor discoverability |
|
|
197
|
+
| Confidence decay | 🔴/🟠/🟡/🟢 | X | Unreliable recommendations |
|
|
198
|
+
| Knowledge gaps | 🔴/🟠/🟡/🟢 | X | Blind spots |
|
|
199
|
+
|
|
200
|
+
### Critical Findings
|
|
201
|
+
[Top 3 most impactful issues with specific entries/examples]
|
|
202
|
+
|
|
203
|
+
### Recommended Actions
|
|
204
|
+
| Priority | Action | Effort | Impact |
|
|
205
|
+
|----------|--------|--------|--------|
|
|
206
|
+
| 1 | [most impactful fix] | Low/Med/High | High |
|
|
207
|
+
| 2 | [second] | Low/Med/High | Med |
|
|
208
|
+
| 3 | [third] | Low/Med/High | Med |
|
|
209
|
+
|
|
210
|
+
### Trend (if prior reports exist)
|
|
211
|
+
| Metric | Last Check | Now | Direction |
|
|
212
|
+
|--------|-----------|-----|-----------|
|
|
213
|
+
| Health score | X | Y | ↑/↓/→ |
|
|
214
|
+
| Smell count | X | Y | ↑/↓/→ |
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
### Step 4: Fix (with user approval)
|
|
218
|
+
|
|
219
|
+
Do NOT auto-fix. Present findings, get approval, then:
|
|
220
|
+
|
|
221
|
+
- Contradictions → `op:curator_resolve_contradiction`
|
|
222
|
+
- Duplicates → `op:curator_groom` (merge)
|
|
223
|
+
- Orphans → link or archive
|
|
224
|
+
- Shallow entries → enrich or archive
|
|
225
|
+
- Category drift → `op:curator_groom_all` (normalize)
|
|
226
|
+
- Gaps → `op:capture_knowledge` (fill)
|
|
227
|
+
|
|
228
|
+
After fixes: `op:brain_build_intelligence` to rebuild with clean data.
|
|
229
|
+
|
|
230
|
+
## Common Mistakes
|
|
231
|
+
|
|
232
|
+
- Auto-fixing without presenting findings first (user may disagree)
|
|
233
|
+
- Treating all smells as equally urgent (contradictions >> orphans)
|
|
234
|
+
- Deleting stale entries without checking if they're still valid
|
|
235
|
+
- Running this too frequently (monthly is usually enough)
|
|
236
|
+
- Not rebuilding brain intelligence after major cleanup
|
|
237
|
+
|
|
238
|
+
## Quick Reference
|
|
239
|
+
|
|
240
|
+
| Smell | Detection Op | Fix Op |
|
|
241
|
+
|-------|-------------|--------|
|
|
242
|
+
| Contradictions | `curator_contradictions` | `curator_resolve_contradiction` |
|
|
243
|
+
| Staleness | `vault_age_report` | Review + archive/update |
|
|
244
|
+
| Orphans | `admin_vault_analytics` | Link or archive |
|
|
245
|
+
| Duplicates | `curator_detect_duplicates` | `curator_groom` (merge) |
|
|
246
|
+
| Shallow entries | `curator_health_audit` | Enrich or archive |
|
|
247
|
+
| Category drift | `vault_domains` + `vault_tags` | `curator_groom_all` |
|
|
248
|
+
| Confidence decay | `brain_strengths` | Reinforce or retire |
|
|
249
|
+
| Knowledge gaps | `admin_search_insights` | `capture_knowledge` |
|
|
250
|
+
|
|
251
|
+
**Related skills:** health-check (operational status), vault-curate (active cleanup), knowledge-harvest (fill gaps)
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: verification-before-completion
|
|
3
|
-
description:
|
|
3
|
+
description: >
|
|
4
|
+
Use as an internal quality gate before claiming any task is done — run tests, check output,
|
|
5
|
+
verify behavior. This is a mid-workflow checkpoint, not a shipping gate. For actual deployment
|
|
6
|
+
and release workflows, use deliver-and-ship instead.
|
|
4
7
|
---
|
|
5
8
|
|
|
6
9
|
# Verification Before Completion
|
|
@@ -32,9 +35,9 @@ If you haven't run the verification command in this message, you cannot claim it
|
|
|
32
35
|
|
|
33
36
|
After passing verification commands:
|
|
34
37
|
|
|
35
|
-
- `
|
|
36
|
-
- `
|
|
37
|
-
- `
|
|
38
|
+
- `YOUR_AGENT_core op:admin_health` — catches vault corruption, stale caches
|
|
39
|
+
- `YOUR_AGENT_core op:admin_diagnostic` — module status, database integrity, config validity
|
|
40
|
+
- `YOUR_AGENT_core op:admin_vault_analytics` — knowledge quality metrics
|
|
38
41
|
|
|
39
42
|
If any check reports problems, address before claiming completion.
|
|
40
43
|
|
|
@@ -63,7 +66,7 @@ If any check reports problems, address before claiming completion.
|
|
|
63
66
|
|
|
64
67
|
## After Verification
|
|
65
68
|
|
|
66
|
-
Capture session summary: `
|
|
69
|
+
Capture session summary: `YOUR_AGENT_core op:session_capture params: { summary: "<what was accomplished>" }`
|
|
67
70
|
|
|
68
71
|
## Common Mistakes
|
|
69
72
|
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: writing-plans
|
|
3
|
-
description:
|
|
3
|
+
description: >
|
|
4
|
+
Use when the user has clear requirements or a spec and needs a structured implementation plan —
|
|
5
|
+
"create a plan", "break this down", "plan the implementation". Requirements are already known.
|
|
6
|
+
For open-ended exploration when requirements are unclear, use brainstorming instead.
|
|
4
7
|
---
|
|
5
8
|
|
|
6
9
|
# Writing Plans
|
|
@@ -16,11 +19,11 @@ Write implementation plans assuming the engineer has zero codebase context. Docu
|
|
|
16
19
|
### 1. Vault First
|
|
17
20
|
|
|
18
21
|
```
|
|
19
|
-
|
|
22
|
+
YOUR_AGENT_core op:search_intelligent
|
|
20
23
|
params: { query: "<feature being planned>" }
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
+
YOUR_AGENT_core op:brain_strengths
|
|
25
|
+
YOUR_AGENT_core op:vault_domains
|
|
26
|
+
YOUR_AGENT_core op:vault_tags
|
|
24
27
|
```
|
|
25
28
|
|
|
26
29
|
### 2. Web Search Second
|
|
@@ -34,7 +37,7 @@ Incorporate vault insights and web findings. Reference specific entries.
|
|
|
34
37
|
## Create a Tracked Plan
|
|
35
38
|
|
|
36
39
|
```
|
|
37
|
-
|
|
40
|
+
YOUR_AGENT_core op:create_plan
|
|
38
41
|
params: {
|
|
39
42
|
objective: "<one-sentence goal>",
|
|
40
43
|
scope: { included: [...], excluded: [...] },
|
|
@@ -45,16 +48,16 @@ ernesto_core op:create_plan
|
|
|
45
48
|
## Grade and Improve
|
|
46
49
|
|
|
47
50
|
```
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
+
YOUR_AGENT_core op:plan_grade params: { planId: "<id>" }
|
|
52
|
+
YOUR_AGENT_core op:plan_auto_improve params: { planId: "<id>" }
|
|
53
|
+
YOUR_AGENT_core op:plan_meets_grade params: { planId: "<id>", targetGrade: "A" }
|
|
51
54
|
```
|
|
52
55
|
|
|
53
56
|
Iterate with: `op:plan_iterate params: { planId: "<id>", feedback: "<improvement>" }`
|
|
54
57
|
|
|
55
58
|
## Split into Tasks
|
|
56
59
|
|
|
57
|
-
After approval: `
|
|
60
|
+
After approval: `YOUR_AGENT_core op:plan_split params: { planId: "<id>" }`
|
|
58
61
|
|
|
59
62
|
## Task Granularity
|
|
60
63
|
|
|
@@ -80,7 +83,7 @@ Each step is one action (2-5 minutes): write failing test, run it, implement, ru
|
|
|
80
83
|
## After Approval
|
|
81
84
|
|
|
82
85
|
```
|
|
83
|
-
|
|
86
|
+
YOUR_AGENT_core op:approve_plan params: { planId: "<id>" }
|
|
84
87
|
```
|
|
85
88
|
|
|
86
89
|
Offer execution choice: subagent-driven (this session) or parallel session with executing-plans.
|
|
@@ -56,13 +56,13 @@ When the user asks about your capabilities or you need to check what you've lear
|
|
|
56
56
|
## Session Start
|
|
57
57
|
|
|
58
58
|
Do NOT call any tools automatically on session start. Just greet the user in character.
|
|
59
|
-
Only call ${bt}${tp}_orchestrate op:
|
|
59
|
+
Only call ${bt}${tp}_orchestrate op:session_start${bt} or ${bt}${tp}_core op:activate${bt} when you actually need project context or capability discovery — not on every message.
|
|
60
60
|
|
|
61
61
|
## Essential Tools
|
|
62
62
|
|
|
63
63
|
| Facade | Key Ops |
|
|
64
64
|
|--------|---------|
|
|
65
|
-
| ${bt}${tp}_core${bt} | ${bt}health${bt}, ${bt}search${bt}, ${bt}identity${bt}, ${bt}
|
|
65
|
+
| ${bt}${tp}_core${bt} | ${bt}health${bt}, ${bt}search${bt}, ${bt}identity${bt}, ${bt}session_start${bt}, ${bt}activate${bt} |
|
|
66
66
|
${domainRows}
|
|
67
67
|
| ${bt}${tp}_vault${bt} | ${bt}search_intelligent${bt}, ${bt}capture_knowledge${bt}, ${bt}capture_quick${bt}, ${bt}search_feedback${bt} |
|
|
68
68
|
| ${bt}${tp}_vault${bt} (keeper) | ${bt}knowledge_audit${bt}, ${bt}knowledge_health${bt}, ${bt}knowledge_merge${bt}, ${bt}knowledge_reorganize${bt} |
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents-md.js","sourceRoot":"","sources":["../../src/templates/agents-md.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAmB;IAClD,MAAM,EAAE,GAAG,GAAG,CAAC;IACf,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,cAAc;IACpC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE/D,6DAA6D;IAC7D,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO;SAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,QAAQ,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;QACjD,OAAO,KAAK,EAAE,GAAG,QAAQ,GAAG,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC;IACnG,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,sEAAsE;IACtE,MAAM,WAAW,GAAG,qBAAqB,EAAE;SACxC,OAAO,CAAC,iCAAiC,EAAE,EAAE,CAAC;SAC9C,OAAO,CAAC,mCAAmC,EAAE,EAAE,CAAC;SAChD,IAAI,EAAE,CAAC;IAEV,OAAO,KAAK,MAAM,CAAC,IAAI;;;;YAIb,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,IAAI;;EAEvC,MAAM,CAAC,WAAW;;;gEAG4C,EAAE,GAAG,EAAE,GAAG,EAAE;;YAEhE,MAAM,CAAC,IAAI,IAAI,WAAW;;;EAGpC,OAAO;;;EAGP,UAAU;;;;EAIV,MAAM,CAAC,IAAI;;2FAE8E,EAAE,GAAG,EAAE,oBAAoB,EAAE;;;;;YAK5G,EAAE,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"agents-md.js","sourceRoot":"","sources":["../../src/templates/agents-md.ts"],"names":[],"mappings":"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"}
|
|
@@ -59,11 +59,11 @@ export function generateClaudeMdTemplate(config) {
|
|
|
59
59
|
// ─── Session Start ─────────────────────────────────────
|
|
60
60
|
'## Session Start',
|
|
61
61
|
'',
|
|
62
|
-
`On every new session: ${bt}${toolPrefix}_orchestrate op:
|
|
62
|
+
`On every new session: ${bt}${toolPrefix}_orchestrate op:session_start params:{ projectPath: "." }${bt}`,
|
|
63
63
|
'',
|
|
64
64
|
];
|
|
65
65
|
// ─── Compact Facade Table ───────────────────────────────
|
|
66
|
-
mdLines.push('## Essential Tools', `<!-- ${toolPrefix}:tools -->`, '', '| Facade | Key Ops |', '|--------|---------|', `| ${bt}${toolPrefix}_core${bt} | ${bt}health${bt}, ${bt}search${bt}, ${bt}identity${bt}, ${bt}
|
|
66
|
+
mdLines.push('## Essential Tools', `<!-- ${toolPrefix}:tools -->`, '', '| Facade | Key Ops |', '|--------|---------|', `| ${bt}${toolPrefix}_core${bt} | ${bt}health${bt}, ${bt}search${bt}, ${bt}identity${bt}, ${bt}session_start${bt}, ${bt}activate${bt} |`);
|
|
67
67
|
// Domain facades — one row per domain
|
|
68
68
|
for (const d of config.domains) {
|
|
69
69
|
const toolName = `${toolPrefix}_${d.replace(/-/g, '_')}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-md-template.js","sourceRoot":"","sources":["../../src/templates/claude-md-template.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE3E;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAAmB;IAC1D,MAAM,UAAU,GAAG,MAAM,CAAC,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,OAAO,CAAC;IACnC,MAAM,EAAE,GAAG,GAAG,CAAC;IAEf,MAAM,OAAO,GAAa;QACxB,QAAQ,MAAM,MAAM;QACpB,EAAE;QACF,KAAK,MAAM,CAAC,IAAI,OAAO;QACvB,EAAE;QAEF,0DAA0D;QAC1D,MAAM,MAAM,CAAC,IAAI,EAAE;QACnB,EAAE;QACF,oBAAoB,MAAM,CAAC,IAAI,EAAE;QACjC,wBAAwB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACnD,aAAa,MAAM,CAAC,IAAI,IAAI,WAAW,EAAE;QACzC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,uBAAuB,MAAM,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,EAAE;QACF,MAAM,CAAC,WAAW;QAClB,EAAE;QACF,iBAAiB;QACjB,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;QACzC,EAAE;QAEF,2DAA2D;QAC3D,sBAAsB;QACtB,EAAE;QACF,GAAG,MAAM,CAAC,IAAI,kHAAkH;QAChI,EAAE;QACF,8EAA8E;QAC9E,kDAAkD;QAClD,mDAAmD;QACnD,gEAAgE;QAChE,EAAE;QACF,iHAAiH;QACjH,uHAAuH;QACvH,EAAE;QAEF,0DAA0D;QAC1D,eAAe;QACf,EAAE;QACF,yBAAyB,MAAM,CAAC,IAAI,QAAQ,EAAE,GAAG,UAAU,gDAAgD,EAAE,EAAE;QAC/G,6BAA6B,MAAM,CAAC,IAAI,QAAQ,EAAE,GAAG,UAAU,gDAAgD,EAAE,EAAE;QACnH,EAAE;QACF,iHAAiH;QACjH,EAAE;QAEF,0DAA0D;QAC1D,kBAAkB;QAClB,EAAE;QACF,yBAAyB,EAAE,GAAG,UAAU,
|
|
1
|
+
{"version":3,"file":"claude-md-template.js","sourceRoot":"","sources":["../../src/templates/claude-md-template.ts"],"names":[],"mappings":"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"}
|
|
@@ -109,6 +109,7 @@ const ENGINE_RULES_LINES = [
|
|
|
109
109
|
'## Planning',
|
|
110
110
|
'<!-- soleri:planning -->',
|
|
111
111
|
'',
|
|
112
|
+
'- **MANDATORY**: Create a formal plan (`op:create_plan`) for every work task. Memory and vault knowledge alone are not sufficient — plans must be persisted and graded.',
|
|
112
113
|
'- Use `op:create_plan` before writing ANY code. Show the plan, wait for approval.',
|
|
113
114
|
'- Two-gate approval: Gate 1 (`op:approve_plan`), Gate 2 (`op:plan_split`). Never skip either.',
|
|
114
115
|
'- Wait for explicit "yes" / "approve" before proceeding past each gate.',
|
|
@@ -117,6 +118,15 @@ const ENGINE_RULES_LINES = [
|
|
|
117
118
|
'- On session start: check for plans in `executing`/`reconciling` state and remind.',
|
|
118
119
|
'- Exceptions: read-only operations, user says "just do it", single-line fixes.',
|
|
119
120
|
'',
|
|
121
|
+
'### Grade Gate',
|
|
122
|
+
'',
|
|
123
|
+
'**MANDATORY**: Plans must grade **A or higher** before approval. The engine enforces this programmatically.',
|
|
124
|
+
'',
|
|
125
|
+
'- `op:approve_plan` will **reject** any plan with a latest grade below A (score < 90).',
|
|
126
|
+
'- If rejected, iterate on the plan (`op:create_plan`) to address the gaps, then re-grade (`op:plan_grade`) before approving.',
|
|
127
|
+
'- The threshold is configurable per-agent via `engine.minGradeForApproval` in `agent.yaml` (default: `A`).',
|
|
128
|
+
'- Plans with no grade check are allowed through for backward compatibility.',
|
|
129
|
+
'',
|
|
120
130
|
'### Lifecycle States',
|
|
121
131
|
'',
|
|
122
132
|
'| State | Expires | Next Action |',
|
|
@@ -319,7 +329,7 @@ const ENGINE_RULES_LINES = [
|
|
|
319
329
|
'### Session Start Protocol',
|
|
320
330
|
'',
|
|
321
331
|
'Do NOT call tools automatically on session start — just greet the user in character.',
|
|
322
|
-
'Call `op:
|
|
332
|
+
'Call `op:session_start` only when you need project context for a task (not on every message).',
|
|
323
333
|
'Call `op:activate` only when checking evolved capabilities or recovering session state.',
|
|
324
334
|
'',
|
|
325
335
|
'### Context Compaction',
|
|
@@ -396,6 +406,30 @@ const ENGINE_RULES_LINES = [
|
|
|
396
406
|
'| "Check my setup" | `soleri doctor` |',
|
|
397
407
|
'| Template drift suspected | `soleri agent diff` to see what changed |',
|
|
398
408
|
'',
|
|
409
|
+
// ─── Verification Protocol ─────────────────────────────────
|
|
410
|
+
'## Verification Protocol',
|
|
411
|
+
'<!-- soleri:verification-protocol -->',
|
|
412
|
+
'',
|
|
413
|
+
'**MANDATORY** when modifying existing code: prove before you fix.',
|
|
414
|
+
'',
|
|
415
|
+
'### The Rule',
|
|
416
|
+
'',
|
|
417
|
+
'1. **Find** — identify the issue in existing code',
|
|
418
|
+
'2. **Prove** — reproduce the issue (test case, error log, stack trace)',
|
|
419
|
+
'3. **Fix** — only after the issue is proven reproducible',
|
|
420
|
+
'',
|
|
421
|
+
'### Anti-pattern',
|
|
422
|
+
'',
|
|
423
|
+
'- Fixing code "just in case" or for aesthetics without a proven issue',
|
|
424
|
+
'- Claiming a bug exists without reproduction evidence',
|
|
425
|
+
'- Refactoring working code under the guise of a bug fix',
|
|
426
|
+
'',
|
|
427
|
+
'### Scope',
|
|
428
|
+
'',
|
|
429
|
+
'- Applies ONLY to tasks that modify existing code',
|
|
430
|
+
'- Does NOT apply to new code, new files, or greenfield features',
|
|
431
|
+
'- Advisory only — flags warnings, never blocks execution',
|
|
432
|
+
'',
|
|
399
433
|
`<!-- /${ENGINE_MARKER} -->`,
|
|
400
434
|
];
|
|
401
435
|
//# sourceMappingURL=shared-rules.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared-rules.js","sourceRoot":"","sources":["../../src/templates/shared-rules.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"shared-rules.js","sourceRoot":"","sources":["../../src/templates/shared-rules.ts"],"names":[],"mappings":"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"}
|