@soleri/forge 9.4.0 → 9.5.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/scaffold-filetree.js +42 -0
- package/dist/scaffold-filetree.js.map +1 -1
- package/dist/scaffolder.js +9 -3
- package/dist/scaffolder.js.map +1 -1
- package/dist/skills/agent-issues/SKILL.md +38 -15
- package/dist/skills/discovery-phase/SKILL.md +6 -6
- package/dist/skills/finishing-a-development-branch/SKILL.md +7 -7
- package/dist/skills/mcp-doctor/SKILL.md +22 -16
- package/dist/skills/subagent-driven-development/SKILL.md +22 -20
- package/dist/skills/using-git-worktrees/SKILL.md +9 -8
- package/dist/skills/yolo-mode/SKILL.md +7 -7
- package/dist/templates/shared-rules.js +32 -0
- package/dist/templates/shared-rules.js.map +1 -1
- package/package.json +1 -1
- package/src/scaffold-filetree.ts +42 -0
- package/src/scaffolder.ts +10 -3
- package/src/skills/agent-issues/SKILL.md +38 -15
- package/src/skills/discovery-phase/SKILL.md +6 -6
- package/src/skills/finishing-a-development-branch/SKILL.md +7 -7
- package/src/skills/mcp-doctor/SKILL.md +22 -16
- package/src/skills/subagent-driven-development/SKILL.md +22 -20
- package/src/skills/using-git-worktrees/SKILL.md +9 -8
- package/src/skills/yolo-mode/SKILL.md +7 -7
- package/src/templates/shared-rules.ts +33 -0
|
@@ -69,12 +69,12 @@ YOLO mode deactivates when any of these occur:
|
|
|
69
69
|
|
|
70
70
|
## Quick Reference
|
|
71
71
|
|
|
72
|
-
| Op
|
|
73
|
-
|
|
|
74
|
-
| `admin_health`
|
|
75
|
-
| `morph`
|
|
76
|
-
| `orchestrate_complete
|
|
77
|
-
| `search_intelligent`
|
|
78
|
-
| `plan_reconcile`
|
|
72
|
+
| Op | When to Use |
|
|
73
|
+
| ---------------------- | ------------------------------------ |
|
|
74
|
+
| `admin_health` | Verify safety hook pack is installed |
|
|
75
|
+
| `morph` | Activate/deactivate YOLO mode |
|
|
76
|
+
| `orchestrate_complete` | After every task (never skip) |
|
|
77
|
+
| `search_intelligent` | Before every decision (never skip) |
|
|
78
|
+
| `plan_reconcile` | After execution (never skip) |
|
|
79
79
|
|
|
80
80
|
**Related skills:** executing-plans, writing-plans
|
|
@@ -407,6 +407,23 @@ const ENGINE_RULES_LINES = [
|
|
|
407
407
|
"- Results you browse but don't act on",
|
|
408
408
|
'- Duplicate feedback for the same entry in the same task',
|
|
409
409
|
'',
|
|
410
|
+
// ─── Model Routing Guidance ─────────────────────────────
|
|
411
|
+
'## Model Routing Guidance',
|
|
412
|
+
'<!-- soleri:model-routing -->',
|
|
413
|
+
'',
|
|
414
|
+
'Different workflow stages benefit from different model strengths. Use this as a default when multiple models are available.',
|
|
415
|
+
'',
|
|
416
|
+
'| Stage | Recommended Model | Why |',
|
|
417
|
+
'|-------|------------------|-----|',
|
|
418
|
+
'| Research / Exploration | Opus | Cross-file reasoning, broad context synthesis |',
|
|
419
|
+
'| Planning / Architecture | Opus | Complex tradeoff analysis, alternative evaluation |',
|
|
420
|
+
'| Implementation | Sonnet | Speed, cost-efficiency for focused coding |',
|
|
421
|
+
'| Code Review / Verification | Opus | Deep analysis, false-positive filtering |',
|
|
422
|
+
'| Validation Gates | Haiku | Fast, cheap pass/fail checks |',
|
|
423
|
+
'| Knowledge Capture | Sonnet | Structured extraction, good enough quality |',
|
|
424
|
+
'',
|
|
425
|
+
'This is guidance, not enforcement. Use the best model available. When only one model is available, use it for all stages.',
|
|
426
|
+
'',
|
|
410
427
|
// ─── Cross-Project Memory ────────────────────────────────
|
|
411
428
|
'## Cross-Project Memory',
|
|
412
429
|
'<!-- soleri:cross-project -->',
|
|
@@ -514,6 +531,21 @@ const ENGINE_RULES_LINES = [
|
|
|
514
531
|
'A PreCompact hook calls `op:session_capture` before context compaction.',
|
|
515
532
|
'Manual capture: `op:session_capture params:{ summary: "..." }`',
|
|
516
533
|
'',
|
|
534
|
+
'### Handoff Protocol',
|
|
535
|
+
'',
|
|
536
|
+
'Before crossing a context window boundary (`/clear`, context compaction, or switching tasks), generate a handoff document:',
|
|
537
|
+
'',
|
|
538
|
+
'1. **Before transition**: `op:handoff_generate` — produces a structured markdown document with active plan state, recent decisions, and pending tasks.',
|
|
539
|
+
'2. **After restart**: Reference the handoff document to restore context. It contains plan IDs, task status, decisions, and next actions.',
|
|
540
|
+
'',
|
|
541
|
+
'Handoff documents are **ephemeral** — they are returned as markdown, not persisted to vault or memory. They are a snapshot for context transfer only.',
|
|
542
|
+
'',
|
|
543
|
+
'| Trigger | Action |',
|
|
544
|
+
'|---------|--------|',
|
|
545
|
+
'| `/clear` or manual reset | `op:handoff_generate` before clearing |',
|
|
546
|
+
'| Context compaction warning | `op:handoff_generate` (alongside `op:session_capture`) |',
|
|
547
|
+
'| Switching to a different task mid-plan | `op:handoff_generate` to bookmark state |',
|
|
548
|
+
'',
|
|
517
549
|
// ─── Soleri CLI ─────────────────────────────────────────
|
|
518
550
|
'## Soleri CLI',
|
|
519
551
|
'<!-- soleri:cli -->',
|
|
@@ -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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"}
|
package/package.json
CHANGED
package/src/scaffold-filetree.ts
CHANGED
|
@@ -189,6 +189,48 @@ When reviewing code, auditing quality, or checking for issues.
|
|
|
189
189
|
- soleri_vault op:search_intelligent
|
|
190
190
|
- soleri_vault op:capture_knowledge
|
|
191
191
|
- soleri_brain op:recommend
|
|
192
|
+
`,
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
name: 'context-handoff',
|
|
196
|
+
prompt: `# Context Handoff
|
|
197
|
+
|
|
198
|
+
## When to Use
|
|
199
|
+
Before crossing a context window boundary — \`/clear\`, context compaction, or switching tasks mid-plan.
|
|
200
|
+
|
|
201
|
+
## Steps
|
|
202
|
+
|
|
203
|
+
### 1. Generate Handoff
|
|
204
|
+
- Call \`op:handoff_generate\` to produce a structured markdown document
|
|
205
|
+
- The document captures: active plan state, recent decisions, pending tasks, session context
|
|
206
|
+
|
|
207
|
+
### 2. Capture Session (if not auto-captured)
|
|
208
|
+
- Call \`op:session_capture\` to persist session summary to memory
|
|
209
|
+
- The handoff document is ephemeral — session capture provides durable persistence
|
|
210
|
+
|
|
211
|
+
### 3. Transition
|
|
212
|
+
- Share the handoff markdown with the new context window
|
|
213
|
+
- The new session can reference plan IDs, task status, and decisions from the handoff
|
|
214
|
+
|
|
215
|
+
### 4. Resume
|
|
216
|
+
- On restart, read the handoff document
|
|
217
|
+
- Use plan IDs to look up active plans: \`op:orchestrate_status\`
|
|
218
|
+
- Continue from where the handoff left off
|
|
219
|
+
`,
|
|
220
|
+
gates: `gates:
|
|
221
|
+
- phase: pre-transition
|
|
222
|
+
requirement: Handoff document generated with current state
|
|
223
|
+
check: handoff-generated
|
|
224
|
+
|
|
225
|
+
- phase: post-transition
|
|
226
|
+
requirement: New context has loaded handoff and can reference active plans
|
|
227
|
+
check: context-restored
|
|
228
|
+
`,
|
|
229
|
+
tools: `tools:
|
|
230
|
+
- soleri_memory op:handoff_generate
|
|
231
|
+
- soleri_memory op:session_capture
|
|
232
|
+
- soleri_orchestrate op:orchestrate_status
|
|
233
|
+
- soleri_plan op:create_plan
|
|
192
234
|
`,
|
|
193
235
|
},
|
|
194
236
|
];
|
package/src/scaffolder.ts
CHANGED
|
@@ -396,9 +396,11 @@ export function scaffold(config: AgentConfig): ScaffoldResult {
|
|
|
396
396
|
filesCreated.push(path);
|
|
397
397
|
}
|
|
398
398
|
|
|
399
|
-
// Make scripts executable
|
|
400
|
-
|
|
401
|
-
|
|
399
|
+
// Make scripts executable (skip on Windows — no POSIX permissions)
|
|
400
|
+
if (process.platform !== 'win32') {
|
|
401
|
+
chmodSync(join(agentDir, 'scripts', 'setup.sh'), 0o755);
|
|
402
|
+
chmodSync(join(agentDir, 'scripts', 'clean-worktrees.sh'), 0o755);
|
|
403
|
+
}
|
|
402
404
|
|
|
403
405
|
// Write source files
|
|
404
406
|
const sourceFiles: Array<[string, string]> = [
|
|
@@ -789,6 +791,11 @@ function createOpencodeLauncher(
|
|
|
789
791
|
agentId: string,
|
|
790
792
|
agentDir: string,
|
|
791
793
|
): { created: boolean; path: string; error?: string } {
|
|
794
|
+
// Launcher scripts and symlinks to /usr/local/bin are Unix-only
|
|
795
|
+
if (process.platform === 'win32') {
|
|
796
|
+
return { created: false, path: '', error: 'Launcher scripts are not supported on Windows' };
|
|
797
|
+
}
|
|
798
|
+
|
|
792
799
|
const launcherPath = join('/usr', 'local', 'bin', agentId);
|
|
793
800
|
const script = [
|
|
794
801
|
'#!/usr/bin/env bash',
|
|
@@ -8,7 +8,6 @@ description: >
|
|
|
8
8
|
structured work items from conversation context.
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
-
|
|
12
11
|
# Agent-Optimized Issue Creation
|
|
13
12
|
|
|
14
13
|
Create GitHub issues that AI agents can parse, execute, and verify without ambiguity. Every issue is a self-contained work order — an agent reading it has everything needed to start, execute, and prove completion.
|
|
@@ -33,32 +32,40 @@ An agent cannot act on "improve avatar handling." It can act on: "Add PNG upload
|
|
|
33
32
|
|
|
34
33
|
```markdown
|
|
35
34
|
# Objective
|
|
35
|
+
|
|
36
36
|
<one sentence: what's broken and what "fixed" looks like>
|
|
37
37
|
|
|
38
38
|
## Type: bug
|
|
39
|
+
|
|
39
40
|
## Component: <package or module name>
|
|
41
|
+
|
|
40
42
|
## Priority: P0 | P1 | P2 | P3
|
|
41
43
|
|
|
42
44
|
## Context
|
|
45
|
+
|
|
43
46
|
- Impact: <who/what is affected>
|
|
44
47
|
- Related: <links to issues, PRs, vault entries>
|
|
45
48
|
- First seen: <date or commit>
|
|
46
49
|
|
|
47
50
|
## Steps to Reproduce
|
|
51
|
+
|
|
48
52
|
1. <exact command or action>
|
|
49
53
|
2. <exact command or action>
|
|
50
54
|
3. Observe: <what happens>
|
|
51
55
|
|
|
52
56
|
## Expected vs Actual
|
|
53
|
-
|
|
54
|
-
|
|
57
|
+
|
|
58
|
+
| | Behavior |
|
|
59
|
+
| ------------ | ------------------ |
|
|
55
60
|
| **Expected** | <correct behavior> |
|
|
56
|
-
| **Actual**
|
|
61
|
+
| **Actual** | <broken behavior> |
|
|
57
62
|
|
|
58
63
|
## Error Output
|
|
59
64
|
```
|
|
65
|
+
|
|
60
66
|
<paste exact error, stack trace, or log output>
|
|
61
|
-
|
|
67
|
+
|
|
68
|
+
````
|
|
62
69
|
|
|
63
70
|
## Root Cause (if known)
|
|
64
71
|
- File: `path/to/file.ts` — `functionName()` or line reference
|
|
@@ -85,8 +92,9 @@ An agent cannot act on "improve avatar handling." It can act on: "Add PNG upload
|
|
|
85
92
|
```bash
|
|
86
93
|
<exact test command>
|
|
87
94
|
<exact build/lint command>
|
|
88
|
-
|
|
89
|
-
|
|
95
|
+
````
|
|
96
|
+
|
|
97
|
+
````
|
|
90
98
|
|
|
91
99
|
### Feature
|
|
92
100
|
|
|
@@ -132,14 +140,16 @@ An agent cannot act on "improve avatar handling." It can act on: "Add PNG upload
|
|
|
132
140
|
```bash
|
|
133
141
|
<exact test command>
|
|
134
142
|
<exact build command>
|
|
135
|
-
|
|
143
|
+
````
|
|
136
144
|
|
|
137
145
|
## Definition of Done
|
|
146
|
+
|
|
138
147
|
- [ ] Acceptance criteria satisfied
|
|
139
148
|
- [ ] `npm test` passes
|
|
140
149
|
- [ ] `npm run typecheck` passes
|
|
141
150
|
- [ ] Changes scoped to "In Scope" only
|
|
142
|
-
|
|
151
|
+
|
|
152
|
+
````
|
|
143
153
|
|
|
144
154
|
### Milestone
|
|
145
155
|
|
|
@@ -165,16 +175,16 @@ An agent cannot act on "improve avatar handling." It can act on: "Add PNG upload
|
|
|
165
175
|
- [ ] All sub-issues closed
|
|
166
176
|
- [ ] Integration test passes end-to-end
|
|
167
177
|
- [ ] <milestone-level verification>
|
|
168
|
-
|
|
178
|
+
````
|
|
169
179
|
|
|
170
180
|
## Field Guide
|
|
171
181
|
|
|
172
182
|
### Writing Good Objectives
|
|
173
183
|
|
|
174
|
-
| Bad
|
|
175
|
-
|
|
176
|
-
| "Fix the login"
|
|
177
|
-
| "Add dark mode"
|
|
184
|
+
| Bad | Good |
|
|
185
|
+
| --------------------- | ------------------------------------------------------------------------------- |
|
|
186
|
+
| "Fix the login" | "Login returns 401 instead of session token when OAuth callback has valid code" |
|
|
187
|
+
| "Add dark mode" | "Add `prefers-color-scheme` media query support to all semantic color tokens" |
|
|
178
188
|
| "Improve performance" | "Reduce cold-start vault search from 800ms to <200ms by lazy-loading FTS index" |
|
|
179
189
|
|
|
180
190
|
### Writing Good Acceptance Criteria
|
|
@@ -182,9 +192,11 @@ An agent cannot act on "improve avatar handling." It can act on: "Add PNG upload
|
|
|
182
192
|
Use Given/When/Then for behavioral criteria. Use plain checkboxes for structural criteria.
|
|
183
193
|
|
|
184
194
|
**Behavioral:**
|
|
195
|
+
|
|
185
196
|
- [ ] Given a user with valid OAuth code, when POST /auth/callback, then returns 200 with session token
|
|
186
197
|
|
|
187
198
|
**Structural:**
|
|
199
|
+
|
|
188
200
|
- [ ] Unit test covers happy path + error case
|
|
189
201
|
- [ ] No new `any` types introduced
|
|
190
202
|
- [ ] Public API documented in JSDoc
|
|
@@ -192,6 +204,7 @@ Use Given/When/Then for behavioral criteria. Use plain checkboxes for structural
|
|
|
192
204
|
### Writing Good Code Locations
|
|
193
205
|
|
|
194
206
|
Always include:
|
|
207
|
+
|
|
195
208
|
1. **File path** — repo-root relative
|
|
196
209
|
2. **Anchor** — function name, class name, route, or config key
|
|
197
210
|
3. **Context** — what the agent should look at there
|
|
@@ -228,27 +241,36 @@ When creating issues from a plan, the plan is the source of truth — GitHub iss
|
|
|
228
241
|
|
|
229
242
|
### Plan-Sourced Task Template
|
|
230
243
|
|
|
231
|
-
|
|
244
|
+
````markdown
|
|
232
245
|
# Objective
|
|
246
|
+
|
|
233
247
|
<one sentence: what this task delivers>
|
|
234
248
|
|
|
235
249
|
## Plan: `<plan-id>` | Task <N> of <total>
|
|
250
|
+
|
|
236
251
|
## Parent: #<epic-issue-number>
|
|
252
|
+
|
|
237
253
|
## Complexity: Low | Medium | High
|
|
254
|
+
|
|
238
255
|
## Depends on: <task dependencies or "nothing">
|
|
239
256
|
|
|
240
257
|
## Code Locations
|
|
258
|
+
|
|
241
259
|
- `path/to/file.ts` — `symbolOrFunction`
|
|
242
260
|
|
|
243
261
|
## Acceptance Criteria
|
|
262
|
+
|
|
244
263
|
- [ ] <testable outcome>
|
|
245
264
|
- [ ] <testable outcome>
|
|
246
265
|
- [ ] Tests pass
|
|
247
266
|
|
|
248
267
|
## Verification
|
|
268
|
+
|
|
249
269
|
```bash
|
|
250
270
|
<exact command>
|
|
251
271
|
```
|
|
272
|
+
````
|
|
273
|
+
|
|
252
274
|
```
|
|
253
275
|
|
|
254
276
|
### Rules for Plan-Sourced Issues
|
|
@@ -266,3 +288,4 @@ Always apply at least:
|
|
|
266
288
|
- Type: `bug`, `feature`, `refactor`, `chore`
|
|
267
289
|
- Priority: `P0`, `P1`, `P2`, `P3` (if using priority labels)
|
|
268
290
|
- Component: package or module name (if using component labels)
|
|
291
|
+
```
|
|
@@ -30,13 +30,13 @@ Do NOT create a plan, write code, or take any implementation action until the di
|
|
|
30
30
|
|
|
31
31
|
For each option:
|
|
32
32
|
|
|
33
|
-
| Field
|
|
34
|
-
|
|
|
33
|
+
| Field | Content |
|
|
34
|
+
| ------------ | -------------------- |
|
|
35
35
|
| **Approach** | One-sentence summary |
|
|
36
|
-
| **Pros**
|
|
37
|
-
| **Cons**
|
|
38
|
-
| **Risk**
|
|
39
|
-
| **Effort**
|
|
36
|
+
| **Pros** | What it gives us |
|
|
37
|
+
| **Cons** | What it costs |
|
|
38
|
+
| **Risk** | What could go wrong |
|
|
39
|
+
| **Effort** | S / M / L |
|
|
40
40
|
|
|
41
41
|
## After Discovery
|
|
42
42
|
|
|
@@ -33,16 +33,16 @@ Verify no uncommitted changes: `git status` should be clean. Commit or stash bef
|
|
|
33
33
|
- **Reviewers**: add if the user specifies or the repo has CODEOWNERS
|
|
34
34
|
- **Labels/milestone**: add if relevant
|
|
35
35
|
|
|
36
|
-
Keep the description focused on
|
|
36
|
+
Keep the description focused on _why_ the change exists, not a file-by-file diff recap.
|
|
37
37
|
|
|
38
38
|
## Step 3: Squash vs Merge Commit
|
|
39
39
|
|
|
40
|
-
| Signal
|
|
41
|
-
|
|
42
|
-
| Many WIP/fixup commits
|
|
43
|
-
| Each commit is a meaningful unit | **Merge commit** | Preserves granular history
|
|
44
|
-
| Single commit on branch
|
|
45
|
-
| Team convention exists
|
|
40
|
+
| Signal | Strategy | Rationale |
|
|
41
|
+
| -------------------------------- | ---------------- | --------------------------------- |
|
|
42
|
+
| Many WIP/fixup commits | **Squash** | Clean history, one logical change |
|
|
43
|
+
| Each commit is a meaningful unit | **Merge commit** | Preserves granular history |
|
|
44
|
+
| Single commit on branch | Either | No difference |
|
|
45
|
+
| Team convention exists | **Follow it** | Consistency wins |
|
|
46
46
|
|
|
47
47
|
Default to **squash** unless the user or repo convention says otherwise.
|
|
48
48
|
|
|
@@ -19,6 +19,7 @@ cat .mcp.json
|
|
|
19
19
|
```
|
|
20
20
|
|
|
21
21
|
For each server entry, record:
|
|
22
|
+
|
|
22
23
|
- Server name
|
|
23
24
|
- Command (`command` field)
|
|
24
25
|
- Arguments (`args` field)
|
|
@@ -41,11 +42,13 @@ If the binary is missing, report it and suggest installation.
|
|
|
41
42
|
### 2b. Entry point exists?
|
|
42
43
|
|
|
43
44
|
For `node` commands, check the script file exists:
|
|
45
|
+
|
|
44
46
|
```bash
|
|
45
47
|
ls -la <args[0]>
|
|
46
48
|
```
|
|
47
49
|
|
|
48
50
|
For `npx`/`uvx` commands, check the package resolves:
|
|
51
|
+
|
|
49
52
|
```bash
|
|
50
53
|
npx --yes <package> --help 2>&1 | head -5
|
|
51
54
|
# or
|
|
@@ -63,6 +66,7 @@ kill %1 2>/dev/null
|
|
|
63
66
|
```
|
|
64
67
|
|
|
65
68
|
Look for:
|
|
69
|
+
|
|
66
70
|
- Startup success messages (e.g. "Starting MCP server", "tools loaded")
|
|
67
71
|
- Error messages (missing dependencies, port conflicts, config errors)
|
|
68
72
|
- Crash/exit codes
|
|
@@ -80,6 +84,7 @@ If a stale process holds the port, report the PID and suggest killing it.
|
|
|
80
84
|
### 2e. Dependencies met?
|
|
81
85
|
|
|
82
86
|
For Node.js servers, check if `node_modules` exist:
|
|
87
|
+
|
|
83
88
|
```bash
|
|
84
89
|
ls <cwd>/node_modules/.package-lock.json 2>/dev/null
|
|
85
90
|
```
|
|
@@ -92,15 +97,15 @@ For Python (uvx) servers, the virtual env is managed by uvx — check if the pac
|
|
|
92
97
|
|
|
93
98
|
For each issue found, apply the appropriate fix:
|
|
94
99
|
|
|
95
|
-
| Issue
|
|
96
|
-
|
|
97
|
-
| Binary not found
|
|
98
|
-
| Entry point missing
|
|
99
|
-
| Port conflict (stale process) | `kill <PID>` (ask user first)
|
|
100
|
-
| Missing node_modules
|
|
101
|
-
| Config error in .mcp.json
|
|
102
|
-
| Package resolution failure
|
|
103
|
-
| Server crashes on start
|
|
100
|
+
| Issue | Fix |
|
|
101
|
+
| ----------------------------- | -------------------------------------- |
|
|
102
|
+
| Binary not found | Suggest install command |
|
|
103
|
+
| Entry point missing | `npm run build` or check path |
|
|
104
|
+
| Port conflict (stale process) | `kill <PID>` (ask user first) |
|
|
105
|
+
| Missing node_modules | `npm install` in the right directory |
|
|
106
|
+
| Config error in .mcp.json | Show the fix, apply with user approval |
|
|
107
|
+
| Package resolution failure | Clear cache, retry install |
|
|
108
|
+
| Server crashes on start | Show error log, diagnose root cause |
|
|
104
109
|
|
|
105
110
|
**IMPORTANT:** Never kill processes without user confirmation. Always show the PID and process name first.
|
|
106
111
|
|
|
@@ -109,6 +114,7 @@ For each issue found, apply the appropriate fix:
|
|
|
109
114
|
After repairs, instruct the user:
|
|
110
115
|
|
|
111
116
|
> Repairs complete. Please restart MCP connections:
|
|
117
|
+
>
|
|
112
118
|
> 1. Type `/mcp` in the prompt
|
|
113
119
|
> 2. Toggle the repaired server(s) off and back on
|
|
114
120
|
> 3. Verify tools appear with a ToolSearch
|
|
@@ -145,10 +151,10 @@ Present findings as a table:
|
|
|
145
151
|
|
|
146
152
|
## Quick Reference
|
|
147
153
|
|
|
148
|
-
| Check
|
|
149
|
-
|
|
150
|
-
| Binary exists
|
|
151
|
-
| Script exists
|
|
152
|
-
| Port free
|
|
153
|
-
| Deps installed | `ls node_modules`
|
|
154
|
-
| Server starts
|
|
154
|
+
| Check | Command | What it tells you |
|
|
155
|
+
| -------------- | ------------------ | ------------------------------- |
|
|
156
|
+
| Binary exists | `which <cmd>` | Is the runtime installed? |
|
|
157
|
+
| Script exists | `ls <path>` | Is the entry point built? |
|
|
158
|
+
| Port free | `lsof -i :<port>` | Is something blocking the port? |
|
|
159
|
+
| Deps installed | `ls node_modules` | Are npm packages present? |
|
|
160
|
+
| Server starts | `timeout 10 <cmd>` | Does initialization succeed? |
|
|
@@ -14,14 +14,14 @@ Decompose work into isolated units, dispatch subagents via the Agent tool, merge
|
|
|
14
14
|
|
|
15
15
|
## When to Dispatch
|
|
16
16
|
|
|
17
|
-
| Signal
|
|
18
|
-
|
|
17
|
+
| Signal | Dispatch? |
|
|
18
|
+
| --------------------------------------------- | ---------------------------------------- |
|
|
19
19
|
| 2+ independent tasks touching different files | Yes — no conflict risk, parallel speedup |
|
|
20
|
-
| Risky/experimental work (spike, prototype)
|
|
21
|
-
| Large refactor across unrelated modules
|
|
22
|
-
| Single-file change or trivial fix
|
|
23
|
-
| Tasks with sequential dependencies
|
|
24
|
-
| Tasks modifying the same file
|
|
20
|
+
| Risky/experimental work (spike, prototype) | Yes — isolate blast radius in a worktree |
|
|
21
|
+
| Large refactor across unrelated modules | Yes — each module is a clean unit |
|
|
22
|
+
| Single-file change or trivial fix | **No** — overhead exceeds benefit |
|
|
23
|
+
| Tasks with sequential dependencies | **No** — cannot parallelize |
|
|
24
|
+
| Tasks modifying the same file | **No** — guaranteed merge conflicts |
|
|
25
25
|
|
|
26
26
|
## The Process
|
|
27
27
|
|
|
@@ -42,12 +42,14 @@ Launch all independent subagents in a **single message** so they run in parallel
|
|
|
42
42
|
### Step 3: Review and Merge
|
|
43
43
|
|
|
44
44
|
For each returning subagent:
|
|
45
|
+
|
|
45
46
|
1. **Review** — read actual file changes (do not trust self-reports alone), verify tests pass, check scope compliance
|
|
46
47
|
2. **Merge** — `git merge` or `git cherry-pick` from the worktree branch, one at a time
|
|
47
48
|
3. **Test** — run the full suite after each merge; only proceed if green
|
|
48
49
|
4. **Conflicts** — resolve manually, re-run tests, capture as anti-pattern for future planning
|
|
49
50
|
|
|
50
51
|
After all merges, capture learnings:
|
|
52
|
+
|
|
51
53
|
```
|
|
52
54
|
YOUR_AGENT_core op:capture_quick params:{
|
|
53
55
|
title: "subagent dispatch outcome",
|
|
@@ -57,21 +59,21 @@ YOUR_AGENT_core op:capture_quick params:{
|
|
|
57
59
|
|
|
58
60
|
## Anti-Patterns
|
|
59
61
|
|
|
60
|
-
| Anti-Pattern
|
|
61
|
-
|
|
62
|
-
| Dispatching for a 5-line fix
|
|
63
|
-
| Parallel dispatch of dependent tasks
|
|
64
|
-
| Skipping worktree isolation for nearby files | Silent overwrites between agents
|
|
65
|
-
| Trusting self-reports without reading code
|
|
66
|
-
| Dispatching 10+ agents at once
|
|
62
|
+
| Anti-Pattern | Why It Fails |
|
|
63
|
+
| -------------------------------------------- | --------------------------------------------- |
|
|
64
|
+
| Dispatching for a 5-line fix | Startup overhead exceeds the work |
|
|
65
|
+
| Parallel dispatch of dependent tasks | Second agent works on stale assumptions |
|
|
66
|
+
| Skipping worktree isolation for nearby files | Silent overwrites between agents |
|
|
67
|
+
| Trusting self-reports without reading code | Agents miss edge cases or misunderstand scope |
|
|
68
|
+
| Dispatching 10+ agents at once | Review bottleneck shifts to the controller |
|
|
67
69
|
|
|
68
70
|
## Merge Strategy
|
|
69
71
|
|
|
70
|
-
| Situation
|
|
71
|
-
|
|
72
|
-
| Completely separate directories
|
|
73
|
-
| Different files in the same package | Merge one by one, test after each
|
|
74
|
-
| Unexpected conflict
|
|
75
|
-
| Subagent result fails review
|
|
72
|
+
| Situation | Strategy |
|
|
73
|
+
| ----------------------------------- | -------------------------------------------------------- |
|
|
74
|
+
| Completely separate directories | Fast-forward merge, no conflicts expected |
|
|
75
|
+
| Different files in the same package | Merge one by one, test after each |
|
|
76
|
+
| Unexpected conflict | Resolve manually, re-run tests, capture as anti-pattern |
|
|
77
|
+
| Subagent result fails review | Dispatch fix subagent into same worktree (max 2 retries) |
|
|
76
78
|
|
|
77
79
|
**Related skills:** parallel-execute, executing-plans, verification-before-completion
|
|
@@ -60,6 +60,7 @@ git worktree list # confirm removal
|
|
|
60
60
|
```
|
|
61
61
|
|
|
62
62
|
## Anti-Patterns
|
|
63
|
+
|
|
63
64
|
- Creating worktrees for single-file changes or one-liner fixes
|
|
64
65
|
- Leaving orphan worktrees after tasks complete — always clean up
|
|
65
66
|
- Deleting the worktree directory manually instead of `git worktree remove`
|
|
@@ -68,13 +69,13 @@ git worktree list # confirm removal
|
|
|
68
69
|
|
|
69
70
|
## Quick Reference
|
|
70
71
|
|
|
71
|
-
| Action
|
|
72
|
-
|
|
|
73
|
-
| Create
|
|
74
|
-
| List
|
|
75
|
-
| Remove
|
|
76
|
-
| Prune
|
|
77
|
-
| Check unpushed
|
|
78
|
-
| Claude Code
|
|
72
|
+
| Action | Command |
|
|
73
|
+
| -------------- | ------------------------------------------------ |
|
|
74
|
+
| Create | `git worktree add ../<name> -b <branch>` |
|
|
75
|
+
| List | `git worktree list` |
|
|
76
|
+
| Remove | `git worktree remove ../<name>` |
|
|
77
|
+
| Prune | `git worktree prune` |
|
|
78
|
+
| Check unpushed | `git log origin/<branch>..<branch>` |
|
|
79
|
+
| Claude Code | Sub-agent with `isolation: "worktree"` parameter |
|
|
79
80
|
|
|
80
81
|
**Related skills:** executing-plans, parallel-execute
|
|
@@ -69,12 +69,12 @@ YOLO mode deactivates when any of these occur:
|
|
|
69
69
|
|
|
70
70
|
## Quick Reference
|
|
71
71
|
|
|
72
|
-
| Op
|
|
73
|
-
|
|
|
74
|
-
| `admin_health`
|
|
75
|
-
| `morph`
|
|
76
|
-
| `orchestrate_complete
|
|
77
|
-
| `search_intelligent`
|
|
78
|
-
| `plan_reconcile`
|
|
72
|
+
| Op | When to Use |
|
|
73
|
+
| ---------------------- | ------------------------------------ |
|
|
74
|
+
| `admin_health` | Verify safety hook pack is installed |
|
|
75
|
+
| `morph` | Activate/deactivate YOLO mode |
|
|
76
|
+
| `orchestrate_complete` | After every task (never skip) |
|
|
77
|
+
| `search_intelligent` | Before every decision (never skip) |
|
|
78
|
+
| `plan_reconcile` | After execution (never skip) |
|
|
79
79
|
|
|
80
80
|
**Related skills:** executing-plans, writing-plans
|