@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.
- package/dist/compose-claude-md.js +30 -19
- package/dist/compose-claude-md.js.map +1 -1
- package/dist/scaffold-filetree.js +116 -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 +134 -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,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/src/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/{dist/skills/systematic-debugging → src/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/{dist/skills/test-driven-development → src/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 |
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: soleri-vault-capture
|
|
3
|
+
description: >
|
|
4
|
+
Use when the user says "save this", "capture this", "remember this pattern",
|
|
5
|
+
"add to vault", "vault capture", or when persisting learnings from a work
|
|
6
|
+
session. Validated capture with tier scoping, duplicate detection, and
|
|
7
|
+
abstraction review. For bulk extraction from documents, code, or PRs, use
|
|
8
|
+
knowledge-harvest instead.
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Vault Capture — Validated Knowledge Persistence
|
|
12
|
+
|
|
13
|
+
Capture knowledge to the vault with mandatory validation before persistence. Every item goes through tier classification, duplicate detection, and abstraction review. Nothing lands in the vault without conscious scoping.
|
|
14
|
+
|
|
15
|
+
## When to Use
|
|
16
|
+
|
|
17
|
+
- End of a work session — collecting learnings
|
|
18
|
+
- After a significant decision, pattern discovery, or anti-pattern identification
|
|
19
|
+
- When multiple items need capturing from a conversation
|
|
20
|
+
- User says "capture this", "save to vault", "remember this"
|
|
21
|
+
|
|
22
|
+
## Steps
|
|
23
|
+
|
|
24
|
+
### 1. Extract Candidate Items
|
|
25
|
+
|
|
26
|
+
Review the conversation or user request. For each piece of knowledge, extract:
|
|
27
|
+
|
|
28
|
+
- **Title** — clear, searchable name
|
|
29
|
+
- **Description** — what it is, when it applies, why it matters
|
|
30
|
+
- **Why** — reasoning behind the pattern (makes entries actionable)
|
|
31
|
+
- **Type** — pattern | anti-pattern | workflow | principle | decision | rule | reference
|
|
32
|
+
- **Domain** — architecture, design, components, process, testing, etc.
|
|
33
|
+
- **Tags** — 3-5 searchable keywords
|
|
34
|
+
|
|
35
|
+
### 2. Tier Classification (MANDATORY)
|
|
36
|
+
|
|
37
|
+
For EACH item, apply the three-question test:
|
|
38
|
+
|
|
39
|
+
| Question | If YES |
|
|
40
|
+
| -------------------------------------------------- | ---------------- |
|
|
41
|
+
| Would any developer on ANY project benefit? | **agent** tier |
|
|
42
|
+
| Would this apply to OTHER projects this team owns? | **team** tier |
|
|
43
|
+
| Is this specific to THIS codebase only? | **project** tier |
|
|
44
|
+
|
|
45
|
+
Decision tree:
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
Universal? (WCAG, UX laws, language patterns)
|
|
49
|
+
→ YES → agent
|
|
50
|
+
→ NO → Shared across team projects? (design system, workflow conventions)
|
|
51
|
+
→ YES → team
|
|
52
|
+
→ NO → project (component rules, token policies, architectural decisions)
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
**When in doubt: prefer project over agent.** Too specific is safer than too general.
|
|
56
|
+
|
|
57
|
+
### 3. Duplicate Detection
|
|
58
|
+
|
|
59
|
+
For each item, search the vault:
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
YOUR_AGENT_core op:search_intelligent
|
|
63
|
+
params: { query: "<item title and key terms>" }
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Check results:
|
|
67
|
+
|
|
68
|
+
- **Score > 0.5** — likely duplicate. Update the existing entry instead of creating new.
|
|
69
|
+
- **Score 0.3-0.5** — possible overlap. Review existing entry: update or capture as new.
|
|
70
|
+
- **Score < 0.3** — no duplicate. Proceed with capture.
|
|
71
|
+
|
|
72
|
+
For batch scans: `YOUR_AGENT_core op:curator_detect_duplicates`
|
|
73
|
+
|
|
74
|
+
### 4. Abstraction Level Check
|
|
75
|
+
|
|
76
|
+
Validate each item is at the right level:
|
|
77
|
+
|
|
78
|
+
| Too Specific (skip) | Just Right (capture) | Too General (skip) |
|
|
79
|
+
| ------------------------------------------ | -------------------------------------------------------------- | ------------------------------ |
|
|
80
|
+
| "Line 42 of FileUpload.tsx needs a Button" | "Components must use Button atom for all interactive elements" | "Use design system components" |
|
|
81
|
+
| "Changed bg-red-500 to error token" | "No raw Tailwind colors — use semantic tokens" | "Use semantic colors" |
|
|
82
|
+
| "Fixed timeout in GuidedCodeBlock" | "setTimeout in useEffect must return clearTimeout cleanup" | "Clean up side effects" |
|
|
83
|
+
|
|
84
|
+
Ask: "Would this help someone who hasn't read today's conversation?" If NO — too specific, skip it.
|
|
85
|
+
|
|
86
|
+
### 5. Present Review Table
|
|
87
|
+
|
|
88
|
+
Before capturing, present ALL items to the user:
|
|
89
|
+
|
|
90
|
+
```
|
|
91
|
+
## Capture Review
|
|
92
|
+
|
|
93
|
+
| # | Title | Type | Tier | Duplicate? | Abstraction | Action |
|
|
94
|
+
|---|-------|------|------|------------|-------------|--------|
|
|
95
|
+
| 1 | [title] | pattern | project | No match | Good | Capture |
|
|
96
|
+
| 2 | [title] | anti-pattern | agent | Similar: [id] (0.45) | Good | Update existing |
|
|
97
|
+
| 3 | [title] | workflow | project | No match | Too specific | Skip |
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
**Wait for user approval.** Do NOT proceed without explicit confirmation.
|
|
101
|
+
|
|
102
|
+
### 6. Execute Approved Captures
|
|
103
|
+
|
|
104
|
+
For each approved item:
|
|
105
|
+
|
|
106
|
+
```
|
|
107
|
+
YOUR_AGENT_core op:capture_knowledge
|
|
108
|
+
params: {
|
|
109
|
+
entries: [{
|
|
110
|
+
title: "<title>",
|
|
111
|
+
description: "<description>",
|
|
112
|
+
type: "<type>",
|
|
113
|
+
domain: "<domain>",
|
|
114
|
+
severity: "<critical|warning|suggestion>",
|
|
115
|
+
tags: ["<tag1>", "<tag2>"],
|
|
116
|
+
why: "<reasoning>"
|
|
117
|
+
}]
|
|
118
|
+
}
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
For quick single captures: `YOUR_AGENT_core op:capture_quick params: { title: "<name>", description: "<details>" }`
|
|
122
|
+
|
|
123
|
+
### 7. Post-Capture Quality
|
|
124
|
+
|
|
125
|
+
For each captured entry:
|
|
126
|
+
|
|
127
|
+
- `YOUR_AGENT_core op:curator_groom params: { entryId: "<id>" }` — normalize tags
|
|
128
|
+
- `YOUR_AGENT_core op:curator_enrich params: { entryId: "<id>" }` — LLM enrichment
|
|
129
|
+
- `YOUR_AGENT_core op:curator_contradictions` — check for conflicts with existing entries
|
|
130
|
+
|
|
131
|
+
### 8. Verify and Fix Tiers (MANDATORY)
|
|
132
|
+
|
|
133
|
+
After capture, check EVERY response. Auto-detection frequently assigns "agent" tier with LOW confidence to project-specific knowledge.
|
|
134
|
+
|
|
135
|
+
```
|
|
136
|
+
YOUR_AGENT_core op:vault_set_scope
|
|
137
|
+
params: { id: "<entry-id>", tier: "<correct-tier>" }
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### 9. Governance (if enabled)
|
|
141
|
+
|
|
142
|
+
If capture returns a `proposalId`, entry is queued for review:
|
|
143
|
+
|
|
144
|
+
```
|
|
145
|
+
YOUR_AGENT_core op:governance_proposals
|
|
146
|
+
params: { action: "list" }
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
### 10. Promote to Global (optional)
|
|
150
|
+
|
|
151
|
+
For cross-project knowledge worth sharing:
|
|
152
|
+
|
|
153
|
+
```
|
|
154
|
+
YOUR_AGENT_core op:memory_promote_to_global
|
|
155
|
+
params: { entryId: "<id>" }
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### 11. Report
|
|
159
|
+
|
|
160
|
+
After all captures:
|
|
161
|
+
|
|
162
|
+
```
|
|
163
|
+
## Captured
|
|
164
|
+
|
|
165
|
+
| # | Title | ID | Tier | Type | Links |
|
|
166
|
+
|---|-------|----|------|------|-------|
|
|
167
|
+
| 1 | [title] | [id] | project | pattern | 3 auto-linked |
|
|
168
|
+
|
|
169
|
+
Skipped: [count] (too specific / duplicate)
|
|
170
|
+
Updated: [count] (merged into existing)
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
Verify with `YOUR_AGENT_core op:admin_health` and `YOUR_AGENT_core op:admin_vault_analytics`.
|
|
174
|
+
|
|
175
|
+
## Anti-patterns
|
|
176
|
+
|
|
177
|
+
- Capturing code fixes as knowledge (that's what git is for)
|
|
178
|
+
- Capturing temporary state (active plan, current task)
|
|
179
|
+
- Capturing things already in CLAUDE.md (duplication)
|
|
180
|
+
- Using "agent" tier for anything mentioning project-specific names
|
|
181
|
+
- Batch-capturing without showing the review table first
|
|
182
|
+
- Skipping tier verification after capture
|
|
183
|
+
|
|
184
|
+
## Common Mistakes
|
|
185
|
+
|
|
186
|
+
- Not checking for duplicates before capturing
|
|
187
|
+
- Missing the `why` field (makes entries not actionable)
|
|
188
|
+
- Skipping post-capture grooming (tags stay unnormalized)
|
|
189
|
+
- Letting auto-detection assign wrong tier without correction
|
|
190
|
+
- Capturing implementation details that belong in git, not vault
|
|
191
|
+
|
|
192
|
+
## Agent Tools Reference
|
|
193
|
+
|
|
194
|
+
| Op | When to Use |
|
|
195
|
+
| ---------------------------------------- | ------------------------------------ |
|
|
196
|
+
| `search_intelligent` | Duplicate detection before capture |
|
|
197
|
+
| `curator_detect_duplicates` | Batch duplicate scan |
|
|
198
|
+
| `capture_knowledge` | Persist after approval |
|
|
199
|
+
| `capture_quick` | Fast capture for simple items |
|
|
200
|
+
| `curator_groom` / `curator_enrich` | Post-capture quality |
|
|
201
|
+
| `curator_contradictions` | Find conflicts with existing entries |
|
|
202
|
+
| `vault_set_scope` | Fix tier after capture |
|
|
203
|
+
| `governance_proposals` | Check governance queue |
|
|
204
|
+
| `memory_promote_to_global` | Share cross-project |
|
|
205
|
+
| `admin_health` / `admin_vault_analytics` | Verify health after capture |
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: vault-curate
|
|
2
|
+
name: soleri-vault-curate
|
|
3
3
|
description: >
|
|
4
|
-
Use when the user says "clean vault", "deduplicate", "groom knowledge",
|
|
5
|
-
"
|
|
6
|
-
|
|
7
|
-
or improve the quality of the agent's knowledge base.
|
|
4
|
+
Use when the user says "clean vault", "deduplicate vault", "groom knowledge",
|
|
5
|
+
"merge patterns", or "vault maintenance". Maintains vault quality through
|
|
6
|
+
deduplication, grooming, and contradiction detection.
|
|
8
7
|
---
|
|
9
8
|
|
|
10
9
|
# Vault Curate — Knowledge Maintenance
|
|
@@ -86,7 +85,15 @@ YOUR_AGENT_core op:knowledge_reorganize
|
|
|
86
85
|
|
|
87
86
|
Preview first, then run again with `mode: "apply"` if the preview looks good.
|
|
88
87
|
|
|
89
|
-
### Step 7:
|
|
88
|
+
### Step 7: Rebuild Brain Intelligence
|
|
89
|
+
|
|
90
|
+
```
|
|
91
|
+
YOUR_AGENT_core op:brain_build_intelligence
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Rebuild brain intelligence after vault has been cleaned/reorganized.
|
|
95
|
+
|
|
96
|
+
### Step 8: Verify Results
|
|
90
97
|
|
|
91
98
|
```
|
|
92
99
|
YOUR_AGENT_core op:knowledge_health
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: vault-navigator
|
|
2
|
+
name: soleri-vault-navigator
|
|
3
3
|
description: >
|
|
4
|
-
Use when the user
|
|
5
|
-
"
|
|
6
|
-
|
|
7
|
-
vault-capture instead.
|
|
4
|
+
Use when the user says "search the vault", "find patterns for",
|
|
5
|
+
"have we seen this before", "vault search", or "best practice for".
|
|
6
|
+
Queries the knowledge base for existing solutions and prior art.
|
|
8
7
|
---
|
|
9
8
|
|
|
10
9
|
# Vault Navigator — Knowledge Oracle
|
|
@@ -52,6 +51,15 @@ YOUR_AGENT_core op:brain_global_patterns
|
|
|
52
51
|
params: { domain: "<domain>" }
|
|
53
52
|
```
|
|
54
53
|
|
|
54
|
+
### Session Memory Search
|
|
55
|
+
|
|
56
|
+
For queries about recent work or session-specific knowledge:
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
YOUR_AGENT_core op:memory_search
|
|
60
|
+
params: { query: "<session-specific query>" }
|
|
61
|
+
```
|
|
62
|
+
|
|
55
63
|
### Broad exploration ("What do I know about X?")
|
|
56
64
|
|
|
57
65
|
Chain: `search_intelligent` -> `vault_tags` / `vault_domains` -> `memory_cross_project_search` -> `brain_strengths`. Label each finding with its source.
|
|
@@ -80,5 +88,6 @@ If all vault strategies return nothing, search the web. If web finds something u
|
|
|
80
88
|
| `vault_recent` | Recently modified entries |
|
|
81
89
|
| `vault_age_report` | Stale entries |
|
|
82
90
|
| `memory_cross_project_search` | Cross-project search |
|
|
91
|
+
| `memory_search` | Session and recent work search |
|
|
83
92
|
| `brain_strengths` / `brain_global_patterns` | Proven patterns |
|
|
84
93
|
| `capture_quick` | Capture web findings |
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: vault-smells
|
|
2
|
+
name: soleri-vault-smells
|
|
3
3
|
description: >
|
|
4
|
-
Use
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
For code review, use deep-review instead.
|
|
4
|
+
Use when the user says "vault quality", "vault analysis", "knowledge quality",
|
|
5
|
+
"knowledge debt", "stale patterns", or "find contradictions". Deep knowledge
|
|
6
|
+
quality analysis beyond operational health checks. For basic operational
|
|
7
|
+
health scoring and diagnostics, use health-check instead.
|
|
9
8
|
---
|
|
10
9
|
|
|
11
10
|
# Vault Smells — Knowledge Quality Deep Analysis
|
|
@@ -116,7 +115,7 @@ YOUR_AGENT_core op:vault_tags
|
|
|
116
115
|
- Near-duplicate categories (e.g., "error-handling" and "errors" and "exception-handling")
|
|
117
116
|
- Categories with only 1-2 entries (too granular)
|
|
118
117
|
- Tags used inconsistently (same concept, different tag names)
|
|
119
|
-
- Entries
|
|
118
|
+
- Entries mis-categorized (architecture pattern filed under "testing")
|
|
120
119
|
|
|
121
120
|
**Action:** Normalize with `op:curator_groom_all`. Merge overlapping categories.
|
|
122
121
|
|
|
@@ -198,7 +197,7 @@ For each smell category, assess severity:
|
|
|
198
197
|
|----------|----------|-------|--------|
|
|
199
198
|
| Contradictions | 🔴/🟠/🟡/🟢 | X | Inconsistent decisions |
|
|
200
199
|
| Staleness | 🔴/🟠/🟡/🟢 | X | Outdated guidance |
|
|
201
|
-
| Orphans | 🔴/🟠/🟡/🟢 | X |
|
|
200
|
+
| Orphans | 🔴/🟠/🟡/🟢 | X | Un-findable knowledge |
|
|
202
201
|
| Duplicates | 🔴/🟠/🟡/🟢 | X | Noise, conflicting versions |
|
|
203
202
|
| Shallow entries | 🔴/🟠/🟡/🟢 | X | Low-value knowledge |
|
|
204
203
|
| Category drift | 🔴/🟠/🟡/🟢 | X | Poor discoverability |
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: verification-before-completion
|
|
2
|
+
name: soleri-verification-before-completion
|
|
3
3
|
description: >
|
|
4
|
-
Use
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
Use when the user says "verify this works", "check output", "quality gate",
|
|
5
|
+
or "run tests before done". Internal quality gate before claiming any task
|
|
6
|
+
is done. For shipping, use deliver-and-ship instead.
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
# Verification Before Completion
|
|
@@ -31,6 +31,16 @@ If you haven't run the verification command in this message, you cannot claim it
|
|
|
31
31
|
6. ONLY THEN: Make the claim
|
|
32
32
|
```
|
|
33
33
|
|
|
34
|
+
## Check Loop Status
|
|
35
|
+
|
|
36
|
+
If this task is part of a tracked loop:
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
YOUR_AGENT_core op:loop_status
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Report loop iteration status before claiming completion.
|
|
43
|
+
|
|
34
44
|
## Agent System Checks
|
|
35
45
|
|
|
36
46
|
After passing verification commands:
|
|
@@ -91,6 +101,7 @@ Do NOT rationalize away failures. If a check fails, it fails. Period.
|
|
|
91
101
|
|
|
92
102
|
| Op | When to Use |
|
|
93
103
|
| ----------------------- | ----------------------------------- |
|
|
104
|
+
| `loop_status` | Check loop iteration status |
|
|
94
105
|
| `admin_health` | Quick system health check |
|
|
95
106
|
| `admin_diagnostic` | Comprehensive diagnostic |
|
|
96
107
|
| `admin_vault_analytics` | Knowledge quality metrics |
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: writing-plans
|
|
2
|
+
name: soleri-writing-plans
|
|
3
3
|
description: >
|
|
4
|
-
Use when the user
|
|
5
|
-
"
|
|
6
|
-
|
|
4
|
+
Use when the user says "create a plan", "break this down", or
|
|
5
|
+
"plan the implementation". Creates structured implementation plans when
|
|
6
|
+
requirements are already known. For exploration, use brainstorming.
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
# Writing Plans
|
|
@@ -18,6 +18,11 @@ Write implementation plans assuming the engineer has zero codebase context. Docu
|
|
|
18
18
|
|
|
19
19
|
### 1. Vault First
|
|
20
20
|
|
|
21
|
+
```
|
|
22
|
+
YOUR_AGENT_core op:memory_search
|
|
23
|
+
params: { query: "<plan topic>", crossProject: true }
|
|
24
|
+
```
|
|
25
|
+
|
|
21
26
|
```
|
|
22
27
|
YOUR_AGENT_core op:search_intelligent
|
|
23
28
|
params: { query: "<feature being planned>" }
|
|
@@ -99,6 +104,7 @@ Offer execution choice: subagent-driven (this session) or parallel session with
|
|
|
99
104
|
|
|
100
105
|
| Op | When to Use |
|
|
101
106
|
| ---------------------------------- | ----------------------------- |
|
|
107
|
+
| `memory_search` | Cross-project plan precedents |
|
|
102
108
|
| `search_intelligent` | Find patterns before planning |
|
|
103
109
|
| `brain_strengths` | Proven approaches |
|
|
104
110
|
| `create_plan` | Create tracked plan |
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: yolo-mode
|
|
2
|
+
name: soleri-yolo-mode
|
|
3
3
|
description: >
|
|
4
|
-
Use when the user says "yolo", "autonomous", "skip approvals",
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
Use when the user says "yolo", "autonomous", "skip approvals",
|
|
5
|
+
"full auto", or "hands off". Activates autonomous execution mode
|
|
6
|
+
that skips approval gates but preserves safety invariants.
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
# YOLO Mode
|
|
@@ -47,12 +47,32 @@ for dir in "$WORKTREE_DIR"/*/; do
|
|
|
47
47
|
fi
|
|
48
48
|
fi
|
|
49
49
|
|
|
50
|
+
# Delete the local branch if it exists (worktree branches are local-only)
|
|
51
|
+
if [ -n "$branch" ] && [ "$branch" != "HEAD" ]; then
|
|
52
|
+
git branch -D "$branch" 2>/dev/null
|
|
53
|
+
fi
|
|
54
|
+
|
|
50
55
|
rm -rf "$dir" 2>/dev/null && cleaned=$((cleaned + 1))
|
|
51
56
|
done
|
|
52
57
|
|
|
58
|
+
# Detect default branch (main, master, etc.)
|
|
59
|
+
default_branch="$(git symbolic-ref refs/remotes/origin/HEAD 2>/dev/null | sed 's@^refs/remotes/origin/@@')"
|
|
60
|
+
[ -z "$default_branch" ] && default_branch="main"
|
|
61
|
+
|
|
62
|
+
# Also clean up orphaned subagent/* and worktree-agent-* local branches
|
|
63
|
+
# whose changes are already merged
|
|
64
|
+
for branch in $(git branch --format='%(refname:short)' 2>/dev/null | grep -E '^(subagent/|worktree-agent-)'); do
|
|
65
|
+
diff="$(git diff "$default_branch"..."$branch" --stat 2>/dev/null | tail -1)"
|
|
66
|
+
if [ -z "$diff" ]; then
|
|
67
|
+
git branch -D "$branch" 2>/dev/null
|
|
68
|
+
cleaned=$((cleaned + 1))
|
|
69
|
+
fi
|
|
70
|
+
done
|
|
71
|
+
|
|
53
72
|
# Silent unless something was cleaned
|
|
54
73
|
if [ "$cleaned" -gt 0 ]; then
|
|
55
74
|
echo "Cleaned $cleaned stale worktree(s), $skipped active/protected"
|
|
56
75
|
fi
|
|
76
|
+
exit 0
|
|
57
77
|
`;
|
|
58
78
|
}
|
|
@@ -27,7 +27,7 @@ export function generatePackageJson(config: AgentConfig): string {
|
|
|
27
27
|
license: 'MIT',
|
|
28
28
|
engines: { node: '>=18.0.0' },
|
|
29
29
|
dependencies: {
|
|
30
|
-
'@modelcontextprotocol/sdk': '^1.
|
|
30
|
+
'@modelcontextprotocol/sdk': '^1.28.0',
|
|
31
31
|
'@soleri/core': '^2.0.0',
|
|
32
32
|
zod: '^3.24.2',
|
|
33
33
|
...(config.telegram ? { grammy: '^1.35.0' } : {}),
|