@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.
Files changed (102) hide show
  1. package/dist/compose-claude-md.js +30 -19
  2. package/dist/compose-claude-md.js.map +1 -1
  3. package/dist/scaffold-filetree.js +53 -49
  4. package/dist/scaffold-filetree.js.map +1 -1
  5. package/dist/skills/{agent-dev → soleri-agent-dev}/SKILL.md +4 -7
  6. package/dist/skills/{agent-guide → soleri-agent-guide}/SKILL.md +7 -6
  7. package/{src/skills/agent-issues → dist/skills/soleri-agent-issues}/SKILL.md +33 -6
  8. package/{src/skills/agent-persona → dist/skills/soleri-agent-persona}/SKILL.md +4 -5
  9. package/{src/skills/brain-debrief → dist/skills/soleri-brain-debrief}/SKILL.md +5 -5
  10. package/dist/skills/{brainstorming → soleri-brainstorming}/SKILL.md +4 -5
  11. package/dist/skills/soleri-build-skill/SKILL.md +210 -0
  12. package/dist/skills/{code-patrol → soleri-code-patrol}/SKILL.md +6 -2
  13. package/{src/skills/context-resume → dist/skills/soleri-context-resume}/SKILL.md +4 -4
  14. package/{src/skills/deep-review → dist/skills/soleri-deep-review}/SKILL.md +5 -5
  15. package/dist/skills/{deliver-and-ship → soleri-deliver-and-ship}/SKILL.md +5 -5
  16. package/{src/skills/discovery-phase → dist/skills/soleri-discovery-phase}/SKILL.md +18 -17
  17. package/dist/skills/soleri-dream/SKILL.md +104 -0
  18. package/dist/skills/{env-setup → soleri-env-setup}/SKILL.md +31 -7
  19. package/dist/skills/{executing-plans → soleri-executing-plans}/SKILL.md +4 -5
  20. package/{src/skills/finishing-a-development-branch → dist/skills/soleri-finishing-a-development-branch}/SKILL.md +35 -4
  21. package/dist/skills/{fix-and-learn → soleri-fix-and-learn}/SKILL.md +4 -5
  22. package/{src/skills/health-check → dist/skills/soleri-health-check}/SKILL.md +5 -5
  23. package/{src/skills/knowledge-harvest → dist/skills/soleri-knowledge-harvest}/SKILL.md +5 -5
  24. package/dist/skills/{mcp-doctor → soleri-mcp-doctor}/SKILL.md +4 -4
  25. package/{src/skills/onboard-me → dist/skills/soleri-onboard-me}/SKILL.md +14 -4
  26. package/{src/skills/parallel-execute → dist/skills/soleri-parallel-execute}/SKILL.md +12 -7
  27. package/dist/skills/soleri-research-scout/SKILL.md +225 -0
  28. package/dist/skills/{retrospective → soleri-retrospective}/SKILL.md +5 -4
  29. package/{src/skills/second-opinion → dist/skills/soleri-second-opinion}/SKILL.md +5 -2
  30. package/dist/skills/{subagent-driven-development → soleri-subagent-driven-development}/SKILL.md +36 -15
  31. package/{src/skills/systematic-debugging → dist/skills/soleri-systematic-debugging}/SKILL.md +5 -5
  32. package/{src/skills/test-driven-development → dist/skills/soleri-test-driven-development}/SKILL.md +12 -2
  33. package/dist/skills/{using-git-worktrees → soleri-using-git-worktrees}/SKILL.md +25 -4
  34. package/dist/skills/soleri-vault-capture/SKILL.md +205 -0
  35. package/{src/skills/vault-curate → dist/skills/soleri-vault-curate}/SKILL.md +13 -6
  36. package/{src/skills/vault-navigator → dist/skills/soleri-vault-navigator}/SKILL.md +14 -5
  37. package/dist/skills/{vault-smells → soleri-vault-smells}/SKILL.md +7 -8
  38. package/{src/skills/verification-before-completion → dist/skills/soleri-verification-before-completion}/SKILL.md +15 -4
  39. package/{src/skills/writing-plans → dist/skills/soleri-writing-plans}/SKILL.md +10 -4
  40. package/dist/skills/{yolo-mode → soleri-yolo-mode}/SKILL.md +4 -4
  41. package/dist/templates/clean-worktrees.js +20 -0
  42. package/dist/templates/clean-worktrees.js.map +1 -1
  43. package/dist/templates/package-json.js +1 -1
  44. package/dist/templates/readme.js +19 -19
  45. package/dist/templates/readme.js.map +1 -1
  46. package/dist/templates/setup-script.js +24 -4
  47. package/dist/templates/setup-script.js.map +1 -1
  48. package/dist/templates/shared-rules.js +53 -5
  49. package/dist/templates/shared-rules.js.map +1 -1
  50. package/dist/templates/skills.d.ts +15 -0
  51. package/dist/templates/skills.js +63 -0
  52. package/dist/templates/skills.js.map +1 -1
  53. package/package.json +2 -2
  54. package/src/__tests__/extensions-scaffold.test.ts +1 -1
  55. package/src/__tests__/scaffold-filetree.test.ts +24 -20
  56. package/src/__tests__/scaffolder.test.ts +6 -6
  57. package/src/compose-claude-md.ts +30 -19
  58. package/src/scaffold-filetree.ts +53 -49
  59. package/src/skills/{agent-dev → soleri-agent-dev}/SKILL.md +4 -7
  60. package/src/skills/{agent-guide → soleri-agent-guide}/SKILL.md +7 -6
  61. package/{dist/skills/agent-issues → src/skills/soleri-agent-issues}/SKILL.md +33 -6
  62. package/{dist/skills/agent-persona → src/skills/soleri-agent-persona}/SKILL.md +4 -5
  63. package/{dist/skills/brain-debrief → src/skills/soleri-brain-debrief}/SKILL.md +5 -5
  64. package/src/skills/{brainstorming → soleri-brainstorming}/SKILL.md +4 -5
  65. package/src/skills/soleri-build-skill/SKILL.md +210 -0
  66. package/src/skills/{code-patrol → soleri-code-patrol}/SKILL.md +6 -2
  67. package/{dist/skills/context-resume → src/skills/soleri-context-resume}/SKILL.md +4 -4
  68. package/{dist/skills/deep-review → src/skills/soleri-deep-review}/SKILL.md +5 -5
  69. package/src/skills/{deliver-and-ship → soleri-deliver-and-ship}/SKILL.md +5 -5
  70. package/{dist/skills/discovery-phase → src/skills/soleri-discovery-phase}/SKILL.md +18 -17
  71. package/src/skills/soleri-dream/SKILL.md +104 -0
  72. package/src/skills/{env-setup → soleri-env-setup}/SKILL.md +31 -7
  73. package/src/skills/{executing-plans → soleri-executing-plans}/SKILL.md +4 -5
  74. package/{dist/skills/finishing-a-development-branch → src/skills/soleri-finishing-a-development-branch}/SKILL.md +35 -4
  75. package/src/skills/{fix-and-learn → soleri-fix-and-learn}/SKILL.md +4 -5
  76. package/{dist/skills/health-check → src/skills/soleri-health-check}/SKILL.md +5 -5
  77. package/{dist/skills/knowledge-harvest → src/skills/soleri-knowledge-harvest}/SKILL.md +5 -5
  78. package/src/skills/{mcp-doctor → soleri-mcp-doctor}/SKILL.md +4 -4
  79. package/{dist/skills/onboard-me → src/skills/soleri-onboard-me}/SKILL.md +14 -4
  80. package/{dist/skills/parallel-execute → src/skills/soleri-parallel-execute}/SKILL.md +12 -7
  81. package/src/skills/soleri-research-scout/SKILL.md +225 -0
  82. package/src/skills/{retrospective → soleri-retrospective}/SKILL.md +5 -4
  83. package/{dist/skills/second-opinion → src/skills/soleri-second-opinion}/SKILL.md +5 -2
  84. package/src/skills/{subagent-driven-development → soleri-subagent-driven-development}/SKILL.md +36 -15
  85. package/{dist/skills/systematic-debugging → src/skills/soleri-systematic-debugging}/SKILL.md +5 -5
  86. package/{dist/skills/test-driven-development → src/skills/soleri-test-driven-development}/SKILL.md +12 -2
  87. package/src/skills/{using-git-worktrees → soleri-using-git-worktrees}/SKILL.md +25 -4
  88. package/src/skills/soleri-vault-capture/SKILL.md +205 -0
  89. package/{dist/skills/vault-curate → src/skills/soleri-vault-curate}/SKILL.md +13 -6
  90. package/{dist/skills/vault-navigator → src/skills/soleri-vault-navigator}/SKILL.md +14 -5
  91. package/src/skills/{vault-smells → soleri-vault-smells}/SKILL.md +7 -8
  92. package/{dist/skills/verification-before-completion → src/skills/soleri-verification-before-completion}/SKILL.md +15 -4
  93. package/{dist/skills/writing-plans → src/skills/soleri-writing-plans}/SKILL.md +10 -4
  94. package/src/skills/{yolo-mode → soleri-yolo-mode}/SKILL.md +4 -4
  95. package/src/templates/clean-worktrees.ts +20 -0
  96. package/src/templates/package-json.ts +1 -1
  97. package/src/templates/readme.ts +19 -19
  98. package/src/templates/setup-script.ts +24 -4
  99. package/src/templates/shared-rules.ts +54 -5
  100. package/src/templates/skills.ts +82 -0
  101. package/dist/skills/vault-capture/SKILL.md +0 -86
  102. 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 someone is new to the PROJECT and needs orientation — "onboard me", "I'm new here",
5
- "project overview", "what should I know about this codebase". Questions about the project's
6
- patterns and conventions, not about the agent's capabilities (use agent-guide for that).
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 executing a plan where independent tasks can run concurrently. Triggers on "run in
5
- parallel", "parallelize", "fan out", "concurrent execution", "run simultaneously", "at the
6
- same time", "dispatch subagents", "batch execute", or when a plan has 3+ tasks with no
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
- 6. **Mark completed:**
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 for time-bound reflection on recent WORK — "sprint retro", "weekly summary", "what went
5
- well this week", "end of sprint", "monthly report". Reviews sessions and extracts actionable
6
- improvements. For brain pattern intelligence and strength scores, use brain-debrief instead.
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: Use when facing a technical decision, comparing approaches, or needing an informed recommendation backed by vault knowledge, brain patterns, and web research.
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
@@ -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", "fan out", "dispatch agents",
5
- "subagent driven", or when a task decomposes into 2+ independent units that benefit from
6
- isolated execution. Covers when to dispatch, worktree isolation, and merge strategy.
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 Merge
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. **Conflicts** — resolve manually, re-run tests, capture as anti-pattern
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
- N/N complete. M patterns captured to vault.
102
- Decisions: [any design decisions the orchestrator made]
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 | 2 patterns |
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
- ## Worktree Cleanup Guarantee
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
- Three layers — nothing accumulates:
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-batch:** `cleanupAll()` runs after all subagents complete
122
- 3. **Per-session:** `SessionStart` hook prunes orphaned worktrees
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
 
@@ -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", "not working",
5
- "debug this", "error", "crash", "unexpected behavior", "weird issue". Diagnoses root cause
6
- before proposing fixes. After root cause is found, hand off to fix-and-learn for repair and
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
@@ -1,6 +1,9 @@
1
1
  ---
2
- name: test-driven-development
3
- description: Use when implementing any feature or bugfix — write failing tests before implementation code.
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", "isolate", "parallel branch", "safe branch", or when a plan
5
- has independent tasks that benefit from parallel execution in isolated branches. Provides the
6
- protocol for creating, working in, and cleaning up git worktrees safely.
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 |