@soleri/forge 9.11.0 → 9.12.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/compose-claude-md.js +30 -19
- package/dist/compose-claude-md.js.map +1 -1
- package/dist/scaffold-filetree.js +53 -49
- package/dist/scaffold-filetree.js.map +1 -1
- package/dist/skills/{agent-dev → soleri-agent-dev}/SKILL.md +4 -7
- package/dist/skills/{agent-guide → soleri-agent-guide}/SKILL.md +7 -6
- package/{src/skills/agent-issues → dist/skills/soleri-agent-issues}/SKILL.md +33 -6
- package/{src/skills/agent-persona → dist/skills/soleri-agent-persona}/SKILL.md +4 -5
- package/{src/skills/brain-debrief → dist/skills/soleri-brain-debrief}/SKILL.md +5 -5
- package/dist/skills/{brainstorming → soleri-brainstorming}/SKILL.md +4 -5
- package/dist/skills/soleri-build-skill/SKILL.md +210 -0
- package/dist/skills/{code-patrol → soleri-code-patrol}/SKILL.md +6 -2
- package/{src/skills/context-resume → dist/skills/soleri-context-resume}/SKILL.md +4 -4
- package/{src/skills/deep-review → dist/skills/soleri-deep-review}/SKILL.md +5 -5
- package/dist/skills/{deliver-and-ship → soleri-deliver-and-ship}/SKILL.md +5 -5
- package/{src/skills/discovery-phase → dist/skills/soleri-discovery-phase}/SKILL.md +18 -17
- package/dist/skills/soleri-dream/SKILL.md +104 -0
- package/dist/skills/{env-setup → soleri-env-setup}/SKILL.md +31 -7
- package/dist/skills/{executing-plans → soleri-executing-plans}/SKILL.md +4 -5
- package/{src/skills/finishing-a-development-branch → dist/skills/soleri-finishing-a-development-branch}/SKILL.md +35 -4
- package/dist/skills/{fix-and-learn → soleri-fix-and-learn}/SKILL.md +4 -5
- package/{src/skills/health-check → dist/skills/soleri-health-check}/SKILL.md +5 -5
- package/{src/skills/knowledge-harvest → dist/skills/soleri-knowledge-harvest}/SKILL.md +5 -5
- package/dist/skills/{mcp-doctor → soleri-mcp-doctor}/SKILL.md +4 -4
- package/{src/skills/onboard-me → dist/skills/soleri-onboard-me}/SKILL.md +14 -4
- package/{src/skills/parallel-execute → dist/skills/soleri-parallel-execute}/SKILL.md +12 -7
- package/dist/skills/soleri-research-scout/SKILL.md +225 -0
- package/dist/skills/{retrospective → soleri-retrospective}/SKILL.md +5 -4
- package/{src/skills/second-opinion → dist/skills/soleri-second-opinion}/SKILL.md +5 -2
- package/dist/skills/{subagent-driven-development → soleri-subagent-driven-development}/SKILL.md +36 -15
- package/{src/skills/systematic-debugging → dist/skills/soleri-systematic-debugging}/SKILL.md +5 -5
- package/{src/skills/test-driven-development → dist/skills/soleri-test-driven-development}/SKILL.md +12 -2
- package/dist/skills/{using-git-worktrees → soleri-using-git-worktrees}/SKILL.md +25 -4
- package/dist/skills/soleri-vault-capture/SKILL.md +205 -0
- package/{src/skills/vault-curate → dist/skills/soleri-vault-curate}/SKILL.md +13 -6
- package/{src/skills/vault-navigator → dist/skills/soleri-vault-navigator}/SKILL.md +14 -5
- package/dist/skills/{vault-smells → soleri-vault-smells}/SKILL.md +7 -8
- package/{src/skills/verification-before-completion → dist/skills/soleri-verification-before-completion}/SKILL.md +15 -4
- package/{src/skills/writing-plans → dist/skills/soleri-writing-plans}/SKILL.md +10 -4
- package/dist/skills/{yolo-mode → soleri-yolo-mode}/SKILL.md +4 -4
- package/dist/templates/clean-worktrees.js +20 -0
- package/dist/templates/clean-worktrees.js.map +1 -1
- package/dist/templates/package-json.js +1 -1
- package/dist/templates/readme.js +19 -19
- package/dist/templates/readme.js.map +1 -1
- package/dist/templates/setup-script.js +24 -4
- package/dist/templates/setup-script.js.map +1 -1
- package/dist/templates/shared-rules.js +53 -5
- package/dist/templates/shared-rules.js.map +1 -1
- package/dist/templates/skills.d.ts +15 -0
- package/dist/templates/skills.js +63 -0
- package/dist/templates/skills.js.map +1 -1
- package/package.json +2 -2
- package/src/__tests__/extensions-scaffold.test.ts +1 -1
- package/src/__tests__/scaffold-filetree.test.ts +24 -20
- package/src/__tests__/scaffolder.test.ts +6 -6
- package/src/compose-claude-md.ts +30 -19
- package/src/scaffold-filetree.ts +53 -49
- package/src/skills/{agent-dev → soleri-agent-dev}/SKILL.md +4 -7
- package/src/skills/{agent-guide → soleri-agent-guide}/SKILL.md +7 -6
- package/{dist/skills/agent-issues → src/skills/soleri-agent-issues}/SKILL.md +33 -6
- package/{dist/skills/agent-persona → src/skills/soleri-agent-persona}/SKILL.md +4 -5
- package/{dist/skills/brain-debrief → src/skills/soleri-brain-debrief}/SKILL.md +5 -5
- package/src/skills/{brainstorming → soleri-brainstorming}/SKILL.md +4 -5
- package/src/skills/soleri-build-skill/SKILL.md +210 -0
- package/src/skills/{code-patrol → soleri-code-patrol}/SKILL.md +6 -2
- package/{dist/skills/context-resume → src/skills/soleri-context-resume}/SKILL.md +4 -4
- package/{dist/skills/deep-review → src/skills/soleri-deep-review}/SKILL.md +5 -5
- package/src/skills/{deliver-and-ship → soleri-deliver-and-ship}/SKILL.md +5 -5
- package/{dist/skills/discovery-phase → src/skills/soleri-discovery-phase}/SKILL.md +18 -17
- package/src/skills/soleri-dream/SKILL.md +104 -0
- package/src/skills/{env-setup → soleri-env-setup}/SKILL.md +31 -7
- package/src/skills/{executing-plans → soleri-executing-plans}/SKILL.md +4 -5
- package/{dist/skills/finishing-a-development-branch → src/skills/soleri-finishing-a-development-branch}/SKILL.md +35 -4
- package/src/skills/{fix-and-learn → soleri-fix-and-learn}/SKILL.md +4 -5
- package/{dist/skills/health-check → src/skills/soleri-health-check}/SKILL.md +5 -5
- package/{dist/skills/knowledge-harvest → src/skills/soleri-knowledge-harvest}/SKILL.md +5 -5
- package/src/skills/{mcp-doctor → soleri-mcp-doctor}/SKILL.md +4 -4
- package/{dist/skills/onboard-me → src/skills/soleri-onboard-me}/SKILL.md +14 -4
- package/{dist/skills/parallel-execute → src/skills/soleri-parallel-execute}/SKILL.md +12 -7
- package/src/skills/soleri-research-scout/SKILL.md +225 -0
- package/src/skills/{retrospective → soleri-retrospective}/SKILL.md +5 -4
- package/{dist/skills/second-opinion → src/skills/soleri-second-opinion}/SKILL.md +5 -2
- package/src/skills/{subagent-driven-development → soleri-subagent-driven-development}/SKILL.md +36 -15
- package/{dist/skills/systematic-debugging → src/skills/soleri-systematic-debugging}/SKILL.md +5 -5
- package/{dist/skills/test-driven-development → src/skills/soleri-test-driven-development}/SKILL.md +12 -2
- package/src/skills/{using-git-worktrees → soleri-using-git-worktrees}/SKILL.md +25 -4
- package/src/skills/soleri-vault-capture/SKILL.md +205 -0
- package/{dist/skills/vault-curate → src/skills/soleri-vault-curate}/SKILL.md +13 -6
- package/{dist/skills/vault-navigator → src/skills/soleri-vault-navigator}/SKILL.md +14 -5
- package/src/skills/{vault-smells → soleri-vault-smells}/SKILL.md +7 -8
- package/{dist/skills/verification-before-completion → src/skills/soleri-verification-before-completion}/SKILL.md +15 -4
- package/{dist/skills/writing-plans → src/skills/soleri-writing-plans}/SKILL.md +10 -4
- package/src/skills/{yolo-mode → soleri-yolo-mode}/SKILL.md +4 -4
- package/src/templates/clean-worktrees.ts +20 -0
- package/src/templates/package-json.ts +1 -1
- package/src/templates/readme.ts +19 -19
- package/src/templates/setup-script.ts +24 -4
- package/src/templates/shared-rules.ts +54 -5
- package/src/templates/skills.ts +82 -0
- package/dist/skills/vault-capture/SKILL.md +0 -86
- package/src/skills/vault-capture/SKILL.md +0 -86
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: onboard-me
|
|
2
|
+
name: soleri-onboard-me
|
|
3
3
|
description: >
|
|
4
|
-
Use when
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
Use when the user says "onboard me", "I'm new here", "project overview",
|
|
5
|
+
or "what should I know about this codebase". Provides a structured tour
|
|
6
|
+
of everything the vault knows about this project.
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
# Onboard Me — Instant Project Intelligence
|
|
@@ -101,6 +101,15 @@ YOUR_AGENT_core op:vault_age_report
|
|
|
101
101
|
|
|
102
102
|
**Tip:** Use vault-navigator to search topics as you work. Use second-opinion before architectural decisions.
|
|
103
103
|
|
|
104
|
+
### Record Onboarding
|
|
105
|
+
|
|
106
|
+
```
|
|
107
|
+
YOUR_AGENT_core op:capture_knowledge
|
|
108
|
+
params: { title: "Onboarding completed for <project>", description: "<key takeaways and knowledge gaps identified>", type: "workflow", tags: ["onboarding", "<project>"] }
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
Record what was covered and what gaps remain for future onboarding.
|
|
112
|
+
|
|
104
113
|
## Common Mistakes
|
|
105
114
|
|
|
106
115
|
- Dumping all vault entries instead of curating the most important ones
|
|
@@ -119,3 +128,4 @@ YOUR_AGENT_core op:vault_age_report
|
|
|
119
128
|
| `brain_strengths` | Proven patterns |
|
|
120
129
|
| `brain_global_patterns` | Cross-project patterns |
|
|
121
130
|
| `admin_search_insights` | Knowledge gaps |
|
|
131
|
+
| `capture_knowledge` | Record onboarding completion |
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: parallel-execute
|
|
2
|
+
name: soleri-parallel-execute
|
|
3
3
|
description: >
|
|
4
|
-
Use when
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
dependency overlap. For sequential task-by-task execution, use executing-plans instead.
|
|
4
|
+
Use when the user says "run in parallel", "fan out", "concurrent execution",
|
|
5
|
+
"batch execute", or "dispatch subagents". Executes independent plan tasks
|
|
6
|
+
concurrently via subagents. For sequential execution, use executing-plans.
|
|
8
7
|
---
|
|
9
8
|
|
|
10
9
|
# Parallel Execute — Subagent-Driven Plan Execution
|
|
@@ -165,7 +164,7 @@ As subagents complete, collect their results. For each completed task:
|
|
|
165
164
|
| Pass | Critical issues | Dispatch targeted fix subagent (max 2 retries) |
|
|
166
165
|
| Pass | Minor issues only | Mark completed, note issues for later |
|
|
167
166
|
|
|
168
|
-
|
|
167
|
+
1. **Mark completed:**
|
|
169
168
|
```
|
|
170
169
|
YOUR_AGENT_core op:update_task params:{ planId: "<id>", taskIndex: <n>, status: "completed" }
|
|
171
170
|
```
|
|
@@ -234,7 +233,13 @@ YOUR_AGENT_core op:session_capture params:{
|
|
|
234
233
|
| Tasks touch files in the same package | Use `isolation: "worktree"` |
|
|
235
234
|
| Tasks modify the same file | **Do NOT parallelize** — run sequentially |
|
|
236
235
|
|
|
237
|
-
When using worktree isolation, the controller must merge worktree changes back after review passes
|
|
236
|
+
When using worktree isolation, the controller must merge worktree changes back after review passes, then **immediately delete the local branch**:
|
|
237
|
+
|
|
238
|
+
```bash
|
|
239
|
+
git branch -D <subagent/taskId>
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
Worktree branches are local-only — never push them to remote. Branch cleanup is mandatory after every merge.
|
|
238
243
|
|
|
239
244
|
## Failure Handling
|
|
240
245
|
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: soleri-research-scout
|
|
3
|
+
description: >
|
|
4
|
+
Use when the user says "scout", "research scout", "find new info",
|
|
5
|
+
"what's new", or "scan the web". Discovers new information that challenges
|
|
6
|
+
or updates existing vault knowledge via web search.
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# /research-scout — Knowledge Discovery via Vault Branching
|
|
10
|
+
|
|
11
|
+
Finds new information that challenges or updates existing vault knowledge.
|
|
12
|
+
Searches web, Reddit, HN, and Quora for strategies, tools, announcements,
|
|
13
|
+
and workflow changes relevant to vault domains.
|
|
14
|
+
|
|
15
|
+
Findings go to a **scout branch** — never the main vault. Weekly review
|
|
16
|
+
promotes the good ones, discards the rest.
|
|
17
|
+
|
|
18
|
+
**Announce at start:** "Scouting for new intelligence — findings go to the scout branch, not the main vault."
|
|
19
|
+
|
|
20
|
+
## Two Modes
|
|
21
|
+
|
|
22
|
+
| Command | What it does |
|
|
23
|
+
| ------------------------ | ------------------------------------------------ |
|
|
24
|
+
| `/research-scout` | Run a scout pass — search web, capture to branch |
|
|
25
|
+
| `/research-scout review` | Review branch findings, promote or discard |
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Mode 1: Scout Pass
|
|
30
|
+
|
|
31
|
+
### Step 1: Ensure Scout Branch Exists
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
YOUR_AGENT_branching op:vault_branch_list
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
If no branch named `scout-findings` exists, create it:
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
YOUR_AGENT_branching op:vault_branch
|
|
41
|
+
params: { name: "scout-findings" }
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Step 2: Identify What to Scout
|
|
45
|
+
|
|
46
|
+
Pull active domains and recent topics from the vault:
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
YOUR_AGENT_vault op:vault_domains
|
|
50
|
+
YOUR_AGENT_vault op:vault_recent params:{ limit: 15 }
|
|
51
|
+
YOUR_AGENT_brain op:brain_strengths params:{ limit: 10 }
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
From these, build 3-5 focused search queries based on:
|
|
55
|
+
|
|
56
|
+
- Active vault domains (e.g., "typescript", "react", "testing")
|
|
57
|
+
- Strong brain patterns (what the user works on most)
|
|
58
|
+
- Recent capture topics (what's top of mind)
|
|
59
|
+
|
|
60
|
+
### Step 3: Web Search
|
|
61
|
+
|
|
62
|
+
For each query, search with year context:
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
WebSearch: "{topic} new tools breaking changes 2026"
|
|
66
|
+
WebSearch: "{topic} best practices updated site:reddit.com OR site:news.ycombinator.com"
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Focus on:
|
|
70
|
+
|
|
71
|
+
- New tool releases or deprecations
|
|
72
|
+
- Breaking changes in dependencies
|
|
73
|
+
- Updated best practices that contradict vault patterns
|
|
74
|
+
- Workflow patterns gaining traction
|
|
75
|
+
|
|
76
|
+
### Step 4: Cross-Reference Against Main Vault
|
|
77
|
+
|
|
78
|
+
For each finding, check if the main vault already knows:
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
YOUR_AGENT_vault op:search_intelligent
|
|
82
|
+
params: { query: "{finding summary}" }
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Classify:
|
|
86
|
+
|
|
87
|
+
- **NEW** — vault has nothing on this topic. Worth capturing.
|
|
88
|
+
- **UPDATE** — vault has related entry but info is outdated. Capture with link.
|
|
89
|
+
- **CONTRADICTS** — finding conflicts with existing vault pattern. High value. Capture with contradiction link.
|
|
90
|
+
- **REDUNDANT** — vault already has this. Skip entirely.
|
|
91
|
+
|
|
92
|
+
**Only keep NEW, UPDATE, and CONTRADICTS.** Discard REDUNDANT.
|
|
93
|
+
|
|
94
|
+
### Step 5: Validate Before Capture
|
|
95
|
+
|
|
96
|
+
For each non-redundant finding:
|
|
97
|
+
|
|
98
|
+
- Verify from at least 2 independent sources
|
|
99
|
+
- Check the date — reject anything older than 3 months
|
|
100
|
+
- Assess relevance — does this matter for active projects?
|
|
101
|
+
|
|
102
|
+
**If a finding can't be verified from 2 sources, skip it.**
|
|
103
|
+
|
|
104
|
+
### Step 6: Capture to Scout Branch
|
|
105
|
+
|
|
106
|
+
Switch to scout branch, capture, switch back:
|
|
107
|
+
|
|
108
|
+
```
|
|
109
|
+
YOUR_AGENT_branching op:vault_branch_add
|
|
110
|
+
params: {
|
|
111
|
+
branch: "scout-findings",
|
|
112
|
+
entry: {
|
|
113
|
+
title: "{concise finding title}",
|
|
114
|
+
type: "pattern",
|
|
115
|
+
domain: "{relevant domain}",
|
|
116
|
+
description: "{what changed and why it matters}",
|
|
117
|
+
why: "Scout [{date}]: {source URL}. {what it changes or adds}",
|
|
118
|
+
severity: "suggestion",
|
|
119
|
+
tags: ["research-scout", "{domain}", "{source-type}"]
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
If the finding CONTRADICTS an existing main vault entry, note the
|
|
125
|
+
contradicted entry ID in the description so the reviewer can link them
|
|
126
|
+
during promotion.
|
|
127
|
+
|
|
128
|
+
### Step 7: Scout Report
|
|
129
|
+
|
|
130
|
+
Present results:
|
|
131
|
+
|
|
132
|
+
| # | Finding | Type | Domain | Source | Status |
|
|
133
|
+
| --- | ------- | ----------- | -------- | ------ | --------------------------------- |
|
|
134
|
+
| 1 | {title} | NEW | {domain} | {url} | Captured to branch |
|
|
135
|
+
| 2 | {title} | CONTRADICTS | {domain} | {url} | Captured — contradicts {entry_id} |
|
|
136
|
+
| 3 | {title} | REDUNDANT | {domain} | — | Skipped |
|
|
137
|
+
|
|
138
|
+
**Summary:** {N} sources searched, {found} findings, {captured} captured to scout branch, {skipped} skipped as redundant.
|
|
139
|
+
|
|
140
|
+
### Step 8: Session Capture
|
|
141
|
+
|
|
142
|
+
```
|
|
143
|
+
YOUR_AGENT_memory op:session_capture
|
|
144
|
+
params: {
|
|
145
|
+
summary: "Research scout: searched {N} topics, {captured} findings staged to scout-findings branch, {contradictions} contradictions flagged",
|
|
146
|
+
topics: ["{domains searched}"],
|
|
147
|
+
intent: "research"
|
|
148
|
+
}
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## Mode 2: Scout Review (Weekly)
|
|
154
|
+
|
|
155
|
+
### Step 1: Load Branch Findings
|
|
156
|
+
|
|
157
|
+
```
|
|
158
|
+
YOUR_AGENT_branching op:vault_branch_list
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
List all entries on the `scout-findings` branch.
|
|
162
|
+
|
|
163
|
+
### Step 2: Triage Each Finding
|
|
164
|
+
|
|
165
|
+
For each entry on the branch, present to the user:
|
|
166
|
+
|
|
167
|
+
| Field | Value |
|
|
168
|
+
| --------------- | ------------------------------ |
|
|
169
|
+
| **Title** | {title} |
|
|
170
|
+
| **Domain** | {domain} |
|
|
171
|
+
| **Source** | {from why field} |
|
|
172
|
+
| **Age** | {days since capture} |
|
|
173
|
+
| **Contradicts** | {entry ID if noted, or "none"} |
|
|
174
|
+
|
|
175
|
+
Ask: **Promote, Archive, or Skip?**
|
|
176
|
+
|
|
177
|
+
- **Promote** — merge into main vault via `vault_merge_branch` or manual `capture_knowledge`. If it contradicts an entry, create a `link_entries` with type `contradicts`.
|
|
178
|
+
- **Archive** — remove from branch, don't add to main vault.
|
|
179
|
+
- **Skip** — leave on branch for next review.
|
|
180
|
+
|
|
181
|
+
### Step 3: Clean Up Branch
|
|
182
|
+
|
|
183
|
+
After review, delete the branch and recreate fresh:
|
|
184
|
+
|
|
185
|
+
```
|
|
186
|
+
YOUR_AGENT_branching op:vault_delete_branch
|
|
187
|
+
params: { name: "scout-findings" }
|
|
188
|
+
YOUR_AGENT_branching op:vault_branch
|
|
189
|
+
params: { name: "scout-findings" }
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
### Step 4: Report
|
|
193
|
+
|
|
194
|
+
| Metric | Value |
|
|
195
|
+
| ------------ | ---------- |
|
|
196
|
+
| **Reviewed** | {total} |
|
|
197
|
+
| **Promoted** | {promoted} |
|
|
198
|
+
| **Archived** | {archived} |
|
|
199
|
+
| **Skipped** | {skipped} |
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
## Scheduling
|
|
204
|
+
|
|
205
|
+
### Nightly scout (3x)
|
|
206
|
+
|
|
207
|
+
```
|
|
208
|
+
/schedule create --name "research-scout-nightly" --cron "0 2,4,6 * * *" --prompt "/research-scout"
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
### Weekly review (Monday 9am)
|
|
212
|
+
|
|
213
|
+
```
|
|
214
|
+
/schedule create --name "research-scout-review" --cron "0 9 * * 1" --prompt "/research-scout review"
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## Quality Gates
|
|
220
|
+
|
|
221
|
+
- **Max 5 captures per scout run** — if you find more, pick the 5 most impactful
|
|
222
|
+
- **2-source minimum** — never capture from a single unverified source
|
|
223
|
+
- **3-month freshness** — reject findings older than 90 days
|
|
224
|
+
- **Domain relevance** — only scout domains the user actively works in
|
|
225
|
+
- **No opinions** — capture facts, tools, and changes, not hot takes
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: retrospective
|
|
2
|
+
name: soleri-retrospective
|
|
3
3
|
description: >
|
|
4
|
-
Use
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
Use when the user says "sprint retro", "weekly summary", "what went well",
|
|
5
|
+
"end of sprint", or "monthly report". Time-bound reflection on recent work
|
|
6
|
+
that reviews sessions and extracts actionable improvements. For brain
|
|
7
|
+
pattern intelligence and strength scores, use brain-debrief instead.
|
|
7
8
|
---
|
|
8
9
|
|
|
9
10
|
# Retrospective — Learning Report From Real Data
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: second-opinion
|
|
3
|
-
description:
|
|
2
|
+
name: soleri-second-opinion
|
|
3
|
+
description: >
|
|
4
|
+
Use when the user says "second opinion", "technical decision",
|
|
5
|
+
"comparing approaches", or "which approach". Provides informed recommendations
|
|
6
|
+
backed by vault knowledge, brain patterns, and web research.
|
|
4
7
|
---
|
|
5
8
|
|
|
6
9
|
# Second Opinion — Decision Support From All Sources
|
package/dist/skills/{subagent-driven-development → soleri-subagent-driven-development}/SKILL.md
RENAMED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: subagent-driven-development
|
|
2
|
+
name: soleri-subagent-driven-development
|
|
3
3
|
description: >
|
|
4
|
-
Use when the user says "use subagents", "parallel agents",
|
|
5
|
-
"subagent driven", or
|
|
6
|
-
|
|
4
|
+
Use when the user says "use subagents", "parallel agents",
|
|
5
|
+
"subagent driven", or "isolated execution". Decomposes work into isolated
|
|
6
|
+
units and dispatches subagents for independent execution.
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
# Subagent-Driven Development
|
|
@@ -56,6 +56,14 @@ Not all subagents are equal. Route by complexity:
|
|
|
56
56
|
|
|
57
57
|
Read all relevant files. Consult the vault for patterns. Make every design decision. Define the exact spec for each subagent task: files to touch, approach to use, acceptance criteria.
|
|
58
58
|
|
|
59
|
+
```
|
|
60
|
+
YOUR_AGENT_core op:memory_search
|
|
61
|
+
params: { query: "subagent decomposition" }
|
|
62
|
+
|
|
63
|
+
YOUR_AGENT_core op:brain_recommend
|
|
64
|
+
params: { query: "<task domain>" }
|
|
65
|
+
```
|
|
66
|
+
|
|
59
67
|
### Step 2: Decompose & Route
|
|
60
68
|
|
|
61
69
|
Break work into discrete units. For each, determine: files involved, dependencies on other units, conflict risk, complexity. Assign agent type per the routing table.
|
|
@@ -82,14 +90,21 @@ Each subagent prompt must include:
|
|
|
82
90
|
Launch all independent subagents in a **single message** so they run in parallel.
|
|
83
91
|
Use `isolation: "worktree"` for file-modifying tasks.
|
|
84
92
|
|
|
85
|
-
### Step 4: Review and
|
|
93
|
+
### Step 4: Review, Merge, and Clean Up
|
|
86
94
|
|
|
87
95
|
For each returning subagent:
|
|
88
96
|
|
|
89
97
|
1. **Review** — read actual file changes (do not trust self-reports alone), verify tests pass, check scope compliance
|
|
90
98
|
2. **Merge** — `git merge` or `git cherry-pick` from the worktree branch, one at a time
|
|
91
99
|
3. **Test** — run the full suite after each merge; only proceed if green
|
|
92
|
-
4. **
|
|
100
|
+
4. **Clean up the branch** — after merge is confirmed and tests pass:
|
|
101
|
+
```bash
|
|
102
|
+
git branch -D <subagent/taskId> # delete local branch
|
|
103
|
+
```
|
|
104
|
+
Worktree branches are local-only — never push them to remote.
|
|
105
|
+
5. **Conflicts** — resolve manually, re-run tests, capture as anti-pattern
|
|
106
|
+
|
|
107
|
+
**Branch cleanup is mandatory.** Every merged branch must be deleted immediately. Do not leave branches for later cleanup — they accumulate fast during parallel execution.
|
|
93
108
|
|
|
94
109
|
### Step 5: Reconcile & Report
|
|
95
110
|
|
|
@@ -98,8 +113,8 @@ After all merges, report to the user:
|
|
|
98
113
|
**Minimal (default):**
|
|
99
114
|
|
|
100
115
|
```
|
|
101
|
-
|
|
102
|
-
|
|
116
|
+
N/N complete. M patterns captured to vault.
|
|
117
|
+
-> Decisions: [any design decisions the orchestrator made]
|
|
103
118
|
```
|
|
104
119
|
|
|
105
120
|
**Detailed (on request):**
|
|
@@ -107,19 +122,25 @@ After all merges, report to the user:
|
|
|
107
122
|
```
|
|
108
123
|
| # | Task | Agent | Status | Knowledge |
|
|
109
124
|
|---|------|-------|--------|-----------|
|
|
110
|
-
| 1 | Desc | Worker | Done
|
|
111
|
-
| 2 | Desc | Instance | Done
|
|
125
|
+
| 1 | Desc | Worker | Done | -- |
|
|
126
|
+
| 2 | Desc | Instance | Done | 2 patterns |
|
|
112
127
|
```
|
|
113
128
|
|
|
114
129
|
Capture learnings to vault. Run `orchestrate_complete` for the parent plan.
|
|
115
130
|
|
|
116
|
-
|
|
131
|
+
```
|
|
132
|
+
YOUR_AGENT_core op:capture_knowledge
|
|
133
|
+
params: { title: "<learned pattern>", description: "<merge strategy or decomposition insight>", type: "pattern", tags: ["subagent", "parallel-execution"] }
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
## Worktree & Branch Cleanup Guarantee
|
|
117
137
|
|
|
118
|
-
|
|
138
|
+
Worktree branches are **local-only** — never push them to remote. Four layers ensure nothing accumulates:
|
|
119
139
|
|
|
120
|
-
1. **Per-task:** `finally` block in dispatcher removes worktree after each task
|
|
121
|
-
2. **Per-
|
|
122
|
-
3. **Per-
|
|
140
|
+
1. **Per-task:** `finally` block in dispatcher removes worktree and local branch after each task
|
|
141
|
+
2. **Per-merge:** Orchestrator deletes local branch immediately after confirmed merge (Step 4)
|
|
142
|
+
3. **Per-batch:** `cleanupAll()` runs after all subagents complete
|
|
143
|
+
4. **Per-session:** `SessionStart` hook prunes orphaned worktrees and deletes merged `subagent/*` and `worktree-agent-*` local branches
|
|
123
144
|
|
|
124
145
|
## Anti-Patterns
|
|
125
146
|
|
package/{src/skills/systematic-debugging → dist/skills/soleri-systematic-debugging}/SKILL.md
RENAMED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: systematic-debugging
|
|
2
|
+
name: soleri-systematic-debugging
|
|
3
3
|
description: >
|
|
4
|
-
Use as the FIRST response when something is broken — "bug", "failing test",
|
|
5
|
-
"debug this", "error", "crash",
|
|
6
|
-
before proposing fixes. After root cause is found, hand off to
|
|
7
|
-
knowledge capture.
|
|
4
|
+
Use as the FIRST response when something is broken — "bug", "failing test",
|
|
5
|
+
"not working", "debug this", "error", "crash", or "weird issue". Diagnoses
|
|
6
|
+
root cause before proposing fixes. After root cause is found, hand off to
|
|
7
|
+
fix-and-learn for repair and knowledge capture.
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# Systematic Debugging
|
package/{src/skills/test-driven-development → dist/skills/soleri-test-driven-development}/SKILL.md
RENAMED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: test-driven-development
|
|
3
|
-
description:
|
|
2
|
+
name: soleri-test-driven-development
|
|
3
|
+
description: >
|
|
4
|
+
Use when the user says "TDD", "write tests first", "red green refactor",
|
|
5
|
+
or "test driven". Write failing tests before implementation code for any
|
|
6
|
+
feature or bugfix.
|
|
4
7
|
---
|
|
5
8
|
|
|
6
9
|
# Test-Driven Development (TDD)
|
|
@@ -9,6 +12,13 @@ description: Use when implementing any feature or bugfix — write failing tests
|
|
|
9
12
|
|
|
10
13
|
## Before You Start — Search First
|
|
11
14
|
|
|
15
|
+
### Check Vault for Testing Patterns
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
YOUR_AGENT_core op:search_intelligent
|
|
19
|
+
params: { query: "<domain> testing patterns" }
|
|
20
|
+
```
|
|
21
|
+
|
|
12
22
|
```
|
|
13
23
|
YOUR_AGENT_core op:search_intelligent
|
|
14
24
|
params: { query: "<what you're about to test>" }
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: using-git-worktrees
|
|
2
|
+
name: soleri-using-git-worktrees
|
|
3
3
|
description: >
|
|
4
|
-
Use when the user says "worktree", "
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
Use when the user says "worktree", "parallel branch", "safe branch",
|
|
5
|
+
or "isolated branch". Provides the protocol for creating, working in,
|
|
6
|
+
and cleaning up git worktrees safely.
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
# Using Git Worktrees
|
|
@@ -12,6 +12,13 @@ Isolate work into parallel branches without stashing or switching. Use for multi
|
|
|
12
12
|
|
|
13
13
|
**Announce at start:** "I'm using the using-git-worktrees skill to isolate this work."
|
|
14
14
|
|
|
15
|
+
## Check Vault for Worktree Patterns
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
YOUR_AGENT_core op:search_intelligent
|
|
19
|
+
params: { query: "worktree parallel execution patterns" }
|
|
20
|
+
```
|
|
21
|
+
|
|
15
22
|
## When to Use
|
|
16
23
|
|
|
17
24
|
- Plan has 2+ independent tasks that can run in parallel
|
|
@@ -79,3 +86,17 @@ git worktree list # confirm removal
|
|
|
79
86
|
| Claude Code | Sub-agent with `isolation: "worktree"` parameter |
|
|
80
87
|
|
|
81
88
|
**Related skills:** executing-plans, parallel-execute
|
|
89
|
+
|
|
90
|
+
## Capture Worktree Learnings
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
YOUR_AGENT_core op:capture_quick
|
|
94
|
+
params: { title: "<what was learned>", tags: ["worktree", "parallel-execution"] }
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## Agent Tools Reference
|
|
98
|
+
|
|
99
|
+
| Op | When to Use |
|
|
100
|
+
| -------------------- | --------------------------------- |
|
|
101
|
+
| `search_intelligent` | Check vault before starting |
|
|
102
|
+
| `capture_quick` | Fast capture for simple learnings |
|