@soleri/forge 9.11.0 → 9.13.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.
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 +116 -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 +134 -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,10 +1,9 @@
1
1
  ---
2
- name: discovery-phase
2
+ name: soleri-discovery-phase
3
3
  description: >
4
- Use for structured exploration before committing to a plan — "I don't know where to start",
5
- "what are our options", "investigate", "research this", "explore options", "discovery". Ideal
6
- when requirements are unclear, entering a new domain, or facing architectural decisions. Produces
7
- a discovery document with options, tradeoffs, and a recommendation.
4
+ Use when the user says "I don't know where to start", "investigate",
5
+ "research this", "explore the problem", or "discovery". Structured exploration
6
+ before committing to a plan, producing options with tradeoffs.
8
7
  ---
9
8
 
10
9
  # Discovery Phase
@@ -19,12 +18,13 @@ Do NOT create a plan, write code, or take any implementation action until the di
19
18
 
20
19
  1. **Define the question** — restate what we're exploring as one specific, answerable sentence
21
20
  2. **Search vault for prior art** — `YOUR_AGENT_core op:search_intelligent params: { query: "<question>", mode: "scan" }`. Also `op:memory_search` with `crossProject: true`.
22
- 3. **Explore codebase** — read relevant files, configs, architecture, recent commits
23
- 4. **Identify constraints** — hard (must-haves) vs soft (nice-to-haves), unknowns that block a decision
24
- 5. **Draft 2-4 options** — each with pros, cons, risk, and effort (S/M/L)
25
- 6. **Recommend** — pick one, state the primary reason, note what would change the answer
26
- 7. **Capture to vault** — persist the discovery finding
27
- 8. **Transition** — hand off to brainstorming or writing-plans skill
21
+ 3. **Get brain recommendations** — `YOUR_AGENT_core op:brain_recommend params: { query: "<discovery topic>" }`. Get brain recommendations for similar past explorations.
22
+ 4. **Explore codebase** — read relevant files, configs, architecture, recent commits
23
+ 5. **Identify constraints** — hard (must-haves) vs soft (nice-to-haves), unknowns that block a decision
24
+ 6. **Draft 2-4 options** — each with pros, cons, risk, and effort (S/M/L)
25
+ 7. **Recommend** — pick one, state the primary reason, note what would change the answer
26
+ 8. **Capture to vault** — persist the discovery finding
27
+ 9. **Transition** — hand off to brainstorming or writing-plans skill
28
28
 
29
29
  ## Option Format
30
30
 
@@ -61,9 +61,10 @@ Save to `docs/discoveries/YYYY-MM-DD-<topic>.md` and commit. Then transition to
61
61
 
62
62
  ## Quick Reference
63
63
 
64
- | Op | When to Use |
65
- | -------------------- | ---------------------------------- |
66
- | `search_intelligent` | Search vault for prior art |
67
- | `memory_search` | Check session history and projects |
68
- | `capture_knowledge` | Persist discovery finding |
69
- | `route_intent` | Classify what comes after |
64
+ | Op | When to Use |
65
+ | -------------------- | --------------------------------------------------- |
66
+ | `search_intelligent` | Search vault for prior art |
67
+ | `memory_search` | Check session history and projects |
68
+ | `brain_recommend` | Brain recommendations for similar past explorations |
69
+ | `capture_knowledge` | Persist discovery finding |
70
+ | `route_intent` | Classify what comes after |
@@ -0,0 +1,104 @@
1
+ ---
2
+ name: soleri-dream
3
+ description: >
4
+ Use when the user says "dream", "consolidate memory", "clean up memory",
5
+ "memory cleanup", or "dream status". Runs automatic memory consolidation
6
+ — dedup, archive stale entries, resolve contradictions.
7
+ ---
8
+
9
+ # /dream — Automatic Memory Consolidation
10
+
11
+ Runs a full "dream" pass over the vault: dedup, archive stale entries, resolve
12
+ contradictions, and produce a summary report. Inspired by how REM sleep
13
+ consolidates biological memory.
14
+
15
+ **Announce at start:** "Running a dream pass — consolidating vault memory."
16
+
17
+ ## Quick Commands
18
+
19
+ | Command | What it does |
20
+ | --------------- | --------------------------------------------------------- |
21
+ | `/dream` | Run a full dream pass (forces, bypasses gate) |
22
+ | `/dream status` | Show dream state: last dream, sessions since, eligibility |
23
+
24
+ ## Orchestration
25
+
26
+ ### Step 1: Check Dream Status
27
+
28
+ ```
29
+ YOUR_AGENT_dream op:dream_status
30
+ ```
31
+
32
+ Report current state to user as a table:
33
+
34
+ | Field | Value |
35
+ | ----------------------------- | ------------------------ |
36
+ | **Sessions since last dream** | {sessionsSinceLastDream} |
37
+ | **Last dream** | {lastDreamAt or "Never"} |
38
+ | **Total dreams** | {totalDreams} |
39
+ | **Gate eligible** | {gateEligible} |
40
+
41
+ ### Step 2: Run Dream
42
+
43
+ If user explicitly asked to dream (manual `/dream`), force it:
44
+
45
+ ```
46
+ YOUR_AGENT_dream op:dream_run
47
+ params: { force: true }
48
+ ```
49
+
50
+ If auto-triggered (session start), respect the gate:
51
+
52
+ ```
53
+ YOUR_AGENT_dream op:dream_run
54
+ params: { force: false }
55
+ ```
56
+
57
+ If the response contains `skipped: true`, inform the user:
58
+ "Dream skipped — {reason}. Use `/dream` to force a run."
59
+
60
+ ### Step 3: Present Dream Report
61
+
62
+ Format the dream report as a table:
63
+
64
+ | Metric | Value |
65
+ | -------------------------- | --------------------- |
66
+ | **Duration** | {durationMs}ms |
67
+ | **Duplicates found** | {duplicatesFound} |
68
+ | **Stale entries archived** | {staleArchived} |
69
+ | **Contradictions found** | {contradictionsFound} |
70
+ | **Total dreams** | {totalDreams} |
71
+ | **Timestamp** | {timestamp} |
72
+
73
+ ### Step 4: Rebuild Brain Intelligence
74
+
75
+ ```
76
+ YOUR_AGENT_core op:brain_build_intelligence
77
+ ```
78
+
79
+ Rebuild brain intelligence with the freshly consolidated vault data.
80
+
81
+ ### Step 5: Capture to Memory
82
+
83
+ ```
84
+ YOUR_AGENT_memory op:session_capture
85
+ params: {
86
+ summary: "Dream pass completed: {duplicatesFound} duplicates, {staleArchived} stale archived, {contradictionsFound} contradictions found"
87
+ }
88
+ ```
89
+
90
+ ## Gate Logic
91
+
92
+ Auto-dream triggers automatically on session start when BOTH conditions are met:
93
+
94
+ - **5+ sessions** since last dream
95
+ - **24+ hours** since last dream
96
+
97
+ Manual `/dream` always runs immediately (force=true).
98
+
99
+ ## Background
100
+
101
+ Inspired by Claude Code's AutoDream feature and the neuroscience of REM sleep.
102
+ During sleep, the brain consolidates short-term memories into long-term storage,
103
+ prunes irrelevant connections, and resolves conflicts. The /dream skill does
104
+ the same for the vault.
@@ -1,12 +1,9 @@
1
1
  ---
2
- name: env-setup
2
+ name: soleri-env-setup
3
3
  description: >
4
- Use when a developer needs to set up, fix, or restore a local development environment.
5
- Triggers on post-clone setup, project onboarding, first-time running a repo, pulled changes
6
- that broke the build, missing or misconfigured dependencies, MODULE_NOT_FOUND or Cannot find
7
- module errors, gyp ERR or native module build failures, missing .env files or unknown required
8
- environment variables, database setup, Docker compose issues, or connection refused during
9
- local dev. Covers Node.js, Python, Rust, Go, Ruby, PHP, and Docker-based projects.
4
+ Use when the user says "setup environment", "post-clone setup", "broken build",
5
+ "missing dependencies", or "MODULE_NOT_FOUND". Detects what a project needs,
6
+ diagnoses what's missing, and produces an actionable setup checklist.
10
7
  ---
11
8
 
12
9
  # Environment Setup
@@ -26,6 +23,16 @@ Scan the project root for configuration files, detect the tech stack and depende
26
23
  - Docker/container environment not starting
27
24
  - Missing `.env` file or environment variables
28
25
 
26
+ ## Check Vault for Known Setup Patterns
27
+
28
+ ```
29
+ YOUR_AGENT_core op:search_intelligent
30
+ params: { query: "<tech stack> setup gotchas" }
31
+
32
+ YOUR_AGENT_core op:memory_search
33
+ params: { query: "environment setup <project>" }
34
+ ```
35
+
29
36
  ## Detection Phase
30
37
 
31
38
  Scan the project root and identify:
@@ -149,3 +156,20 @@ If monorepo detected (turbo.json, nx.json, pnpm-workspace.yaml):
149
156
  - **Missing runtime version** — subtle bugs from wrong Node/Python version.
150
157
  - **Docker not running** — cryptic "connection refused" errors.
151
158
  - **Stale dependencies** — after `git pull`, always re-install if lockfile changed.
159
+
160
+ ## Capture Setup Learnings
161
+
162
+ If any non-obvious steps or workarounds were needed:
163
+
164
+ ```
165
+ YOUR_AGENT_core op:capture_knowledge
166
+ params: { title: "<gotcha>", description: "<what happened and the fix>", type: "anti-pattern", tags: ["env-setup", "<tech-stack>"] }
167
+ ```
168
+
169
+ ## Agent Tools Reference
170
+
171
+ | Op | When to Use |
172
+ | -------------------- | ---------------------------------- |
173
+ | `search_intelligent` | Check vault before starting |
174
+ | `memory_search` | Find similar past experiences |
175
+ | `capture_knowledge` | Persist patterns worth remembering |
@@ -1,10 +1,9 @@
1
1
  ---
2
- name: executing-plans
2
+ name: soleri-executing-plans
3
3
  description: >
4
- Use when the user says "execute my plan", "run the plan", "start executing", "implement the
5
- plan step by step", or has a written plan to execute sequentially with review checkpoints.
6
- Tasks run one at a time in order. If tasks are independent and can run in parallel, use
7
- parallel-execute instead.
4
+ Use when the user says "execute my plan", "run the plan", "start executing",
5
+ or "implement the plan". Executes tasks sequentially with review checkpoints.
6
+ For parallel execution, use parallel-execute instead.
8
7
  ---
9
8
 
10
9
  # Executing Plans
@@ -1,9 +1,9 @@
1
1
  ---
2
- name: finishing-a-development-branch
2
+ name: soleri-finishing-a-development-branch
3
3
  description: >
4
- Use when the user says "finish branch", "merge branch", "ready to merge", "PR ready",
5
- "close branch", "submit PR", or wants to finalize a development branch for merge into
6
- the base branch.
4
+ Use when the user says "finish branch", "ready to merge", "PR ready",
5
+ "submit PR", or "close branch". Handles pre-merge checks, PR creation,
6
+ merge strategy, and branch cleanup.
7
7
  ---
8
8
 
9
9
  # Finishing a Development Branch
@@ -12,6 +12,18 @@ Pre-merge checks, PR creation, merge strategy, and branch cleanup.
12
12
 
13
13
  **Announce at start:** "I'm using the finishing-a-development-branch skill to prepare this branch for merge."
14
14
 
15
+ ## Vault Context
16
+
17
+ Search for merge patterns and known conflict areas:
18
+
19
+ ```
20
+ YOUR_AGENT_core op:search_intelligent
21
+ params: { query: "merge patterns <branch domain>" }
22
+
23
+ YOUR_AGENT_core op:memory_search
24
+ params: { query: "merge conflicts" }
25
+ ```
26
+
15
27
  ## Step 1: Pre-Merge Checklist
16
28
 
17
29
  Run all checks before creating a PR. Stop on any failure.
@@ -57,6 +69,15 @@ If the base branch has diverged:
57
69
 
58
70
  Never force-push a rebased branch that others are working on.
59
71
 
72
+ ### Capture Merge Learnings
73
+
74
+ If tricky conflicts were resolved:
75
+
76
+ ```
77
+ YOUR_AGENT_core op:capture_knowledge
78
+ params: { title: "<conflict pattern>", description: "<resolution strategy>", type: "pattern", tags: ["git", "merge", "conflict-resolution"] }
79
+ ```
80
+
60
81
  ## Step 5: Branch Cleanup
61
82
 
62
83
  After merge is confirmed:
@@ -65,6 +86,8 @@ After merge is confirmed:
65
86
  2. `git branch -d <branch>` — delete local branch
66
87
  3. If remote branch not auto-deleted: `git push origin --delete <branch>`
67
88
 
89
+ **This step is mandatory, not optional.** Stale branches accumulate fast.
90
+
68
91
  ## Anti-Patterns
69
92
 
70
93
  - **Force-pushing to shared branches** — destroys others' history; only force-push personal branches
@@ -74,3 +97,11 @@ After merge is confirmed:
74
97
  - **Leaving stale branches** — delete after merge; stale branches create confusion
75
98
 
76
99
  **Related skills:** executing-plans, verification-before-completion
100
+
101
+ ## Agent Tools Reference
102
+
103
+ | Op | When to Use |
104
+ | -------------------- | ---------------------------------- |
105
+ | `search_intelligent` | Check vault before starting |
106
+ | `memory_search` | Find similar past experiences |
107
+ | `capture_knowledge` | Persist patterns worth remembering |
@@ -1,10 +1,9 @@
1
1
  ---
2
- name: fix-and-learn
2
+ name: soleri-fix-and-learn
3
3
  description: >
4
- Use AFTER a root cause has been identified (typically via systematic-debugging) to execute
5
- the fix and capture the learning in the vault. Triggers on "fix it", "apply the fix",
6
- "patch this and remember". Do NOT use as the first response to a bug — use
7
- systematic-debugging first to find root cause.
4
+ Use when the user says "fix it", "apply the fix", "patch this and remember",
5
+ or "fix and capture". Executes a fix AFTER root cause is identified and
6
+ captures the learning in the vault. Use systematic-debugging first.
8
7
  ---
9
8
 
10
9
  # Fix & Learn — Debug, Repair, Capture
@@ -1,10 +1,10 @@
1
1
  ---
2
- name: health-check
2
+ name: soleri-health-check
3
3
  description: >
4
- Use when the user asks "check health", "system status", "how healthy is the vault",
5
- "knowledge quality", "run diagnostics", "vault health report", or wants a read-only health
6
- assessment of the knowledge base — scoring, reporting, finding issues. Does NOT modify vault
7
- entries. To actively clean, merge, or deduplicate, use vault-curate instead.
4
+ Use when the user says "system health", "agent health", "run diagnostics",
5
+ "system status", or "check health". Read-only health assessment of the
6
+ knowledge base — scoring, reporting, finding issues. For deep quality
7
+ analysis (contradictions, stale patterns, knowledge debt), use vault-smells instead.
8
8
  ---
9
9
 
10
10
  # Health Check — Knowledge Base Maintenance
@@ -1,10 +1,10 @@
1
1
  ---
2
- name: knowledge-harvest
2
+ name: soleri-knowledge-harvest
3
3
  description: >
4
- Use to EXTRACT multiple patterns from a source — code, docs, PRs, articles. Triggers on
5
- "learn from this", "harvest knowledge", "ingest this document", "extract patterns from".
6
- The agent reads the source and identifies what to capture. For saving a single known item,
7
- use vault-capture instead.
4
+ Use when the user says "learn from this", "harvest knowledge", "ingest this",
5
+ or "extract patterns from". Extracts multiple patterns from a source like
6
+ code, docs, PRs, or articles into the vault. For saving a single known
7
+ pattern, use vault-capture instead.
8
8
  ---
9
9
 
10
10
  # Knowledge Harvest — Extract Patterns From Anything
@@ -1,9 +1,9 @@
1
1
  ---
2
- name: mcp-doctor
2
+ name: soleri-mcp-doctor
3
3
  description: >
4
- Use when MCP servers fail to connect, tools are missing, or the user says "check MCP",
5
- "MCP not working", "server not connecting", "tools missing", "heal MCP", "fix MCP",
6
- "mcp doctor", "mcp status". Diagnoses and repairs MCP server connectivity issues.
4
+ Use when the user says "MCP not working", "tools missing", "fix MCP",
5
+ "mcp doctor", or "server not connecting". Diagnoses and repairs MCP server
6
+ connectivity issues.
7
7
  ---
8
8
 
9
9
  # MCP Doctor — Diagnose and Heal MCP Connections
@@ -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