@soleri/forge 9.11.0 → 9.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/compose-claude-md.js +30 -19
- package/dist/compose-claude-md.js.map +1 -1
- package/dist/scaffold-filetree.js +53 -49
- package/dist/scaffold-filetree.js.map +1 -1
- package/dist/skills/{agent-dev → soleri-agent-dev}/SKILL.md +4 -7
- package/dist/skills/{agent-guide → soleri-agent-guide}/SKILL.md +7 -6
- package/{src/skills/agent-issues → dist/skills/soleri-agent-issues}/SKILL.md +33 -6
- package/{src/skills/agent-persona → dist/skills/soleri-agent-persona}/SKILL.md +4 -5
- package/{src/skills/brain-debrief → dist/skills/soleri-brain-debrief}/SKILL.md +5 -5
- package/dist/skills/{brainstorming → soleri-brainstorming}/SKILL.md +4 -5
- package/dist/skills/soleri-build-skill/SKILL.md +210 -0
- package/dist/skills/{code-patrol → soleri-code-patrol}/SKILL.md +6 -2
- package/{src/skills/context-resume → dist/skills/soleri-context-resume}/SKILL.md +4 -4
- package/{src/skills/deep-review → dist/skills/soleri-deep-review}/SKILL.md +5 -5
- package/dist/skills/{deliver-and-ship → soleri-deliver-and-ship}/SKILL.md +5 -5
- package/{src/skills/discovery-phase → dist/skills/soleri-discovery-phase}/SKILL.md +18 -17
- package/dist/skills/soleri-dream/SKILL.md +104 -0
- package/dist/skills/{env-setup → soleri-env-setup}/SKILL.md +31 -7
- package/dist/skills/{executing-plans → soleri-executing-plans}/SKILL.md +4 -5
- package/{src/skills/finishing-a-development-branch → dist/skills/soleri-finishing-a-development-branch}/SKILL.md +35 -4
- package/dist/skills/{fix-and-learn → soleri-fix-and-learn}/SKILL.md +4 -5
- package/{src/skills/health-check → dist/skills/soleri-health-check}/SKILL.md +5 -5
- package/{src/skills/knowledge-harvest → dist/skills/soleri-knowledge-harvest}/SKILL.md +5 -5
- package/dist/skills/{mcp-doctor → soleri-mcp-doctor}/SKILL.md +4 -4
- package/{src/skills/onboard-me → dist/skills/soleri-onboard-me}/SKILL.md +14 -4
- package/{src/skills/parallel-execute → dist/skills/soleri-parallel-execute}/SKILL.md +12 -7
- package/dist/skills/soleri-research-scout/SKILL.md +225 -0
- package/dist/skills/{retrospective → soleri-retrospective}/SKILL.md +5 -4
- package/{src/skills/second-opinion → dist/skills/soleri-second-opinion}/SKILL.md +5 -2
- package/dist/skills/{subagent-driven-development → soleri-subagent-driven-development}/SKILL.md +36 -15
- package/{src/skills/systematic-debugging → dist/skills/soleri-systematic-debugging}/SKILL.md +5 -5
- package/{src/skills/test-driven-development → dist/skills/soleri-test-driven-development}/SKILL.md +12 -2
- package/dist/skills/{using-git-worktrees → soleri-using-git-worktrees}/SKILL.md +25 -4
- package/dist/skills/soleri-vault-capture/SKILL.md +205 -0
- package/{src/skills/vault-curate → dist/skills/soleri-vault-curate}/SKILL.md +13 -6
- package/{src/skills/vault-navigator → dist/skills/soleri-vault-navigator}/SKILL.md +14 -5
- package/dist/skills/{vault-smells → soleri-vault-smells}/SKILL.md +7 -8
- package/{src/skills/verification-before-completion → dist/skills/soleri-verification-before-completion}/SKILL.md +15 -4
- package/{src/skills/writing-plans → dist/skills/soleri-writing-plans}/SKILL.md +10 -4
- package/dist/skills/{yolo-mode → soleri-yolo-mode}/SKILL.md +4 -4
- package/dist/templates/clean-worktrees.js +20 -0
- package/dist/templates/clean-worktrees.js.map +1 -1
- package/dist/templates/package-json.js +1 -1
- package/dist/templates/readme.js +19 -19
- package/dist/templates/readme.js.map +1 -1
- package/dist/templates/setup-script.js +24 -4
- package/dist/templates/setup-script.js.map +1 -1
- package/dist/templates/shared-rules.js +53 -5
- package/dist/templates/shared-rules.js.map +1 -1
- package/dist/templates/skills.d.ts +15 -0
- package/dist/templates/skills.js +63 -0
- package/dist/templates/skills.js.map +1 -1
- package/package.json +2 -2
- package/src/__tests__/extensions-scaffold.test.ts +1 -1
- package/src/__tests__/scaffold-filetree.test.ts +24 -20
- package/src/__tests__/scaffolder.test.ts +6 -6
- package/src/compose-claude-md.ts +30 -19
- package/src/scaffold-filetree.ts +53 -49
- package/src/skills/{agent-dev → soleri-agent-dev}/SKILL.md +4 -7
- package/src/skills/{agent-guide → soleri-agent-guide}/SKILL.md +7 -6
- package/{dist/skills/agent-issues → src/skills/soleri-agent-issues}/SKILL.md +33 -6
- package/{dist/skills/agent-persona → src/skills/soleri-agent-persona}/SKILL.md +4 -5
- package/{dist/skills/brain-debrief → src/skills/soleri-brain-debrief}/SKILL.md +5 -5
- package/src/skills/{brainstorming → soleri-brainstorming}/SKILL.md +4 -5
- package/src/skills/soleri-build-skill/SKILL.md +210 -0
- package/src/skills/{code-patrol → soleri-code-patrol}/SKILL.md +6 -2
- package/{dist/skills/context-resume → src/skills/soleri-context-resume}/SKILL.md +4 -4
- package/{dist/skills/deep-review → src/skills/soleri-deep-review}/SKILL.md +5 -5
- package/src/skills/{deliver-and-ship → soleri-deliver-and-ship}/SKILL.md +5 -5
- package/{dist/skills/discovery-phase → src/skills/soleri-discovery-phase}/SKILL.md +18 -17
- package/src/skills/soleri-dream/SKILL.md +104 -0
- package/src/skills/{env-setup → soleri-env-setup}/SKILL.md +31 -7
- package/src/skills/{executing-plans → soleri-executing-plans}/SKILL.md +4 -5
- package/{dist/skills/finishing-a-development-branch → src/skills/soleri-finishing-a-development-branch}/SKILL.md +35 -4
- package/src/skills/{fix-and-learn → soleri-fix-and-learn}/SKILL.md +4 -5
- package/{dist/skills/health-check → src/skills/soleri-health-check}/SKILL.md +5 -5
- package/{dist/skills/knowledge-harvest → src/skills/soleri-knowledge-harvest}/SKILL.md +5 -5
- package/src/skills/{mcp-doctor → soleri-mcp-doctor}/SKILL.md +4 -4
- package/{dist/skills/onboard-me → src/skills/soleri-onboard-me}/SKILL.md +14 -4
- package/{dist/skills/parallel-execute → src/skills/soleri-parallel-execute}/SKILL.md +12 -7
- package/src/skills/soleri-research-scout/SKILL.md +225 -0
- package/src/skills/{retrospective → soleri-retrospective}/SKILL.md +5 -4
- package/{dist/skills/second-opinion → src/skills/soleri-second-opinion}/SKILL.md +5 -2
- package/src/skills/{subagent-driven-development → soleri-subagent-driven-development}/SKILL.md +36 -15
- package/{dist/skills/systematic-debugging → src/skills/soleri-systematic-debugging}/SKILL.md +5 -5
- package/{dist/skills/test-driven-development → src/skills/soleri-test-driven-development}/SKILL.md +12 -2
- package/src/skills/{using-git-worktrees → soleri-using-git-worktrees}/SKILL.md +25 -4
- package/src/skills/soleri-vault-capture/SKILL.md +205 -0
- package/{dist/skills/vault-curate → src/skills/soleri-vault-curate}/SKILL.md +13 -6
- package/{dist/skills/vault-navigator → src/skills/soleri-vault-navigator}/SKILL.md +14 -5
- package/src/skills/{vault-smells → soleri-vault-smells}/SKILL.md +7 -8
- package/{dist/skills/verification-before-completion → src/skills/soleri-verification-before-completion}/SKILL.md +15 -4
- package/{dist/skills/writing-plans → src/skills/soleri-writing-plans}/SKILL.md +10 -4
- package/src/skills/{yolo-mode → soleri-yolo-mode}/SKILL.md +4 -4
- package/src/templates/clean-worktrees.ts +20 -0
- package/src/templates/package-json.ts +1 -1
- package/src/templates/readme.ts +19 -19
- package/src/templates/setup-script.ts +24 -4
- package/src/templates/shared-rules.ts +54 -5
- package/src/templates/skills.ts +82 -0
- package/dist/skills/vault-capture/SKILL.md +0 -86
- package/src/skills/vault-capture/SKILL.md +0 -86
package/src/scaffold-filetree.ts
CHANGED
|
@@ -26,40 +26,40 @@ import type { AgentConfig } from './types.js';
|
|
|
26
26
|
* (installed on demand via `soleri skills install`).
|
|
27
27
|
*/
|
|
28
28
|
export const SKILLS_REGISTRY: Record<string, 'essential' | 'optional'> = {
|
|
29
|
-
'agent-guide': 'essential',
|
|
30
|
-
'agent-persona': 'essential',
|
|
31
|
-
'vault-navigator': 'essential',
|
|
32
|
-
'vault-capture': 'essential',
|
|
33
|
-
'systematic-debugging': 'essential',
|
|
34
|
-
'writing-plans': 'essential',
|
|
35
|
-
'context-resume': 'essential',
|
|
29
|
+
'soleri-agent-guide': 'essential',
|
|
30
|
+
'soleri-agent-persona': 'essential',
|
|
31
|
+
'soleri-vault-navigator': 'essential',
|
|
32
|
+
'soleri-vault-capture': 'essential',
|
|
33
|
+
'soleri-systematic-debugging': 'essential',
|
|
34
|
+
'soleri-writing-plans': 'essential',
|
|
35
|
+
'soleri-context-resume': 'essential',
|
|
36
36
|
// ─── Optional (installed on demand) ────────────
|
|
37
|
-
'agent-dev': 'optional',
|
|
38
|
-
'agent-issues': 'optional',
|
|
39
|
-
'brain-debrief': 'optional',
|
|
40
|
-
brainstorming: 'optional',
|
|
41
|
-
'code-patrol': 'optional',
|
|
42
|
-
'deep-review': 'optional',
|
|
43
|
-
'deliver-and-ship': 'optional',
|
|
44
|
-
'discovery-phase': 'optional',
|
|
45
|
-
'env-setup': 'optional',
|
|
46
|
-
'executing-plans': 'optional',
|
|
47
|
-
'finishing-a-development-branch': 'optional',
|
|
48
|
-
'fix-and-learn': 'optional',
|
|
49
|
-
'health-check': 'optional',
|
|
50
|
-
'knowledge-harvest': 'optional',
|
|
51
|
-
'mcp-doctor': 'optional',
|
|
52
|
-
'onboard-me': 'optional',
|
|
53
|
-
'parallel-execute': 'optional',
|
|
54
|
-
retrospective: 'optional',
|
|
55
|
-
'second-opinion': 'optional',
|
|
56
|
-
'subagent-driven-development': 'optional',
|
|
57
|
-
'test-driven-development': 'optional',
|
|
58
|
-
'using-git-worktrees': 'optional',
|
|
59
|
-
'vault-curate': 'optional',
|
|
60
|
-
'vault-smells': 'optional',
|
|
61
|
-
'verification-before-completion': 'optional',
|
|
62
|
-
'yolo-mode': 'optional',
|
|
37
|
+
'soleri-agent-dev': 'optional',
|
|
38
|
+
'soleri-agent-issues': 'optional',
|
|
39
|
+
'soleri-brain-debrief': 'optional',
|
|
40
|
+
'soleri-brainstorming': 'optional',
|
|
41
|
+
'soleri-code-patrol': 'optional',
|
|
42
|
+
'soleri-deep-review': 'optional',
|
|
43
|
+
'soleri-deliver-and-ship': 'optional',
|
|
44
|
+
'soleri-discovery-phase': 'optional',
|
|
45
|
+
'soleri-env-setup': 'optional',
|
|
46
|
+
'soleri-executing-plans': 'optional',
|
|
47
|
+
'soleri-finishing-a-development-branch': 'optional',
|
|
48
|
+
'soleri-fix-and-learn': 'optional',
|
|
49
|
+
'soleri-health-check': 'optional',
|
|
50
|
+
'soleri-knowledge-harvest': 'optional',
|
|
51
|
+
'soleri-mcp-doctor': 'optional',
|
|
52
|
+
'soleri-onboard-me': 'optional',
|
|
53
|
+
'soleri-parallel-execute': 'optional',
|
|
54
|
+
'soleri-retrospective': 'optional',
|
|
55
|
+
'soleri-second-opinion': 'optional',
|
|
56
|
+
'soleri-subagent-driven-development': 'optional',
|
|
57
|
+
'soleri-test-driven-development': 'optional',
|
|
58
|
+
'soleri-using-git-worktrees': 'optional',
|
|
59
|
+
'soleri-vault-curate': 'optional',
|
|
60
|
+
'soleri-vault-smells': 'optional',
|
|
61
|
+
'soleri-verification-before-completion': 'optional',
|
|
62
|
+
'soleri-yolo-mode': 'optional',
|
|
63
63
|
};
|
|
64
64
|
|
|
65
65
|
/** Names of essential skills (always scaffolded when skillsFilter is 'essential'). */
|
|
@@ -439,32 +439,36 @@ const DOMAIN_ROUTING_SEEDS: Record<
|
|
|
439
439
|
{ pattern: string; workspace: string; skills: string[] }[]
|
|
440
440
|
> = {
|
|
441
441
|
design: [
|
|
442
|
-
{ pattern: 'design component', workspace: 'design', skills: ['vault-navigator'] },
|
|
443
|
-
{ pattern: 'review design', workspace: 'review', skills: ['deep-review'] },
|
|
442
|
+
{ pattern: 'design component', workspace: 'design', skills: ['soleri-vault-navigator'] },
|
|
443
|
+
{ pattern: 'review design', workspace: 'review', skills: ['soleri-deep-review'] },
|
|
444
444
|
],
|
|
445
445
|
'ui-design': [
|
|
446
|
-
{ pattern: 'design component', workspace: 'design', skills: ['vault-navigator'] },
|
|
447
|
-
{ pattern: 'review design', workspace: 'review', skills: ['deep-review'] },
|
|
446
|
+
{ pattern: 'design component', workspace: 'design', skills: ['soleri-vault-navigator'] },
|
|
447
|
+
{ pattern: 'review design', workspace: 'review', skills: ['soleri-deep-review'] },
|
|
448
448
|
],
|
|
449
449
|
architecture: [
|
|
450
|
-
{ pattern: 'plan architecture', workspace: 'planning', skills: ['writing-plans'] },
|
|
451
|
-
{ pattern: 'implement feature', workspace: 'src', skills: ['test-driven-development'] },
|
|
452
|
-
{ pattern: 'write documentation', workspace: 'docs', skills: ['vault-capture'] },
|
|
450
|
+
{ pattern: 'plan architecture', workspace: 'planning', skills: ['soleri-writing-plans'] },
|
|
451
|
+
{ pattern: 'implement feature', workspace: 'src', skills: ['soleri-test-driven-development'] },
|
|
452
|
+
{ pattern: 'write documentation', workspace: 'docs', skills: ['soleri-vault-capture'] },
|
|
453
453
|
],
|
|
454
454
|
backend: [
|
|
455
|
-
{ pattern: 'plan API', workspace: 'planning', skills: ['writing-plans'] },
|
|
456
|
-
{ pattern: 'implement endpoint', workspace: 'src', skills: ['test-driven-development'] },
|
|
457
|
-
{ pattern: 'write docs', workspace: 'docs', skills: ['vault-capture'] },
|
|
455
|
+
{ pattern: 'plan API', workspace: 'planning', skills: ['soleri-writing-plans'] },
|
|
456
|
+
{ pattern: 'implement endpoint', workspace: 'src', skills: ['soleri-test-driven-development'] },
|
|
457
|
+
{ pattern: 'write docs', workspace: 'docs', skills: ['soleri-vault-capture'] },
|
|
458
458
|
],
|
|
459
459
|
frontend: [
|
|
460
|
-
{ pattern: 'plan component', workspace: 'planning', skills: ['writing-plans'] },
|
|
461
|
-
{
|
|
462
|
-
|
|
460
|
+
{ pattern: 'plan component', workspace: 'planning', skills: ['soleri-writing-plans'] },
|
|
461
|
+
{
|
|
462
|
+
pattern: 'implement component',
|
|
463
|
+
workspace: 'src',
|
|
464
|
+
skills: ['soleri-test-driven-development'],
|
|
465
|
+
},
|
|
466
|
+
{ pattern: 'write docs', workspace: 'docs', skills: ['soleri-vault-capture'] },
|
|
463
467
|
],
|
|
464
468
|
security: [
|
|
465
|
-
{ pattern: 'threat model', workspace: 'planning', skills: ['writing-plans'] },
|
|
466
|
-
{ pattern: 'implement policy', workspace: 'src', skills: ['test-driven-development'] },
|
|
467
|
-
{ pattern: 'write runbook', workspace: 'docs', skills: ['vault-capture'] },
|
|
469
|
+
{ pattern: 'threat model', workspace: 'planning', skills: ['soleri-writing-plans'] },
|
|
470
|
+
{ pattern: 'implement policy', workspace: 'src', skills: ['soleri-test-driven-development'] },
|
|
471
|
+
{ pattern: 'write runbook', workspace: 'docs', skills: ['soleri-vault-capture'] },
|
|
468
472
|
],
|
|
469
473
|
};
|
|
470
474
|
|
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: agent-dev
|
|
2
|
+
name: soleri-agent-dev
|
|
3
3
|
description: >
|
|
4
|
-
Use when
|
|
5
|
-
brain
|
|
6
|
-
|
|
7
|
-
"extend agent", or when the work target is the agent's own codebase rather than
|
|
8
|
-
a project the agent assists with. Enforces vault-first knowledge gathering before
|
|
9
|
-
any code reading or planning.
|
|
4
|
+
Use when the user says "add a facade", "new tool", "extend vault",
|
|
5
|
+
"add brain feature", "new skill", or "extend agent". For extending
|
|
6
|
+
the agent's own internals with vault-first knowledge gathering.
|
|
10
7
|
---
|
|
11
8
|
|
|
12
9
|
# Agent Dev — Vault-First Internal Development
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: agent-guide
|
|
2
|
+
name: soleri-agent-guide
|
|
3
3
|
description: >
|
|
4
|
-
Use when the user
|
|
5
|
-
"what features
|
|
6
|
-
|
|
7
|
-
about the agent's identity, capabilities, available tools, or how to use them.
|
|
8
|
-
Not needed for proactive tool suggestions — those are handled by engine rules.
|
|
4
|
+
Use when the user says "what can you do", "how do I use this",
|
|
5
|
+
"what features", "what tools available", "who are you", or "show capabilities".
|
|
6
|
+
Helps users discover agent capabilities and available tools.
|
|
9
7
|
---
|
|
10
8
|
|
|
11
9
|
# Agent Guide — Capability Discovery
|
|
@@ -36,6 +34,9 @@ This returns the agent's persona: name, role, description, tone, principles, and
|
|
|
36
34
|
|
|
37
35
|
```
|
|
38
36
|
YOUR_AGENT_core op:admin_health
|
|
37
|
+
YOUR_AGENT_core op:vault_stats
|
|
38
|
+
YOUR_AGENT_core op:brain_stats
|
|
39
|
+
YOUR_AGENT_core op:memory_stats
|
|
39
40
|
```
|
|
40
41
|
|
|
41
42
|
Shows what subsystems are active: vault (how many entries), brain (vocabulary size), LLM availability, cognee status. This tells the user what the agent currently has to work with.
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: agent-issues
|
|
2
|
+
name: soleri-agent-issues
|
|
3
3
|
description: >
|
|
4
|
-
Use when
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
"create tasks", "create tickets", "file tickets", or when generating
|
|
8
|
-
structured work items from conversation context.
|
|
4
|
+
Use when the user says "create issue", "file bug", "gh issue",
|
|
5
|
+
"create task", "report bug", or "create tickets". Creates structured
|
|
6
|
+
GitHub issues optimized for AI agent execution.
|
|
9
7
|
---
|
|
10
8
|
|
|
11
9
|
# Agent-Optimized Issue Creation
|
|
@@ -26,6 +24,18 @@ An agent cannot act on "improve avatar handling." It can act on: "Add PNG upload
|
|
|
26
24
|
- Creating milestones with sub-issues
|
|
27
25
|
- Converting vault patterns or anti-patterns into actionable fixes
|
|
28
26
|
|
|
27
|
+
## Vault Context Check
|
|
28
|
+
|
|
29
|
+
Before creating the issue, search for related patterns:
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
YOUR_AGENT_core op:search_intelligent
|
|
33
|
+
params: { query: "<bug description or feature summary>" }
|
|
34
|
+
|
|
35
|
+
YOUR_AGENT_core op:memory_search
|
|
36
|
+
params: { query: "<similar issues>" }
|
|
37
|
+
```
|
|
38
|
+
|
|
29
39
|
## Issue Template by Type
|
|
30
40
|
|
|
31
41
|
### Bug
|
|
@@ -177,6 +187,15 @@ An agent cannot act on "improve avatar handling." It can act on: "Add PNG upload
|
|
|
177
187
|
- [ ] <milestone-level verification>
|
|
178
188
|
````
|
|
179
189
|
|
|
190
|
+
## Record Issue
|
|
191
|
+
|
|
192
|
+
After creating the issue, capture it for future reference:
|
|
193
|
+
|
|
194
|
+
```
|
|
195
|
+
YOUR_AGENT_core op:capture_quick
|
|
196
|
+
params: { title: "GH Issue #<number>: <title>", tags: ["github", "issue"] }
|
|
197
|
+
```
|
|
198
|
+
|
|
180
199
|
## Field Guide
|
|
181
200
|
|
|
182
201
|
### Writing Good Objectives
|
|
@@ -289,3 +308,11 @@ Always apply at least:
|
|
|
289
308
|
- Priority: `P0`, `P1`, `P2`, `P3` (if using priority labels)
|
|
290
309
|
- Component: package or module name (if using component labels)
|
|
291
310
|
```
|
|
311
|
+
|
|
312
|
+
## Agent Tools Reference
|
|
313
|
+
|
|
314
|
+
| Op | When to Use |
|
|
315
|
+
| -------------------- | ----------------------------------------- |
|
|
316
|
+
| `search_intelligent` | Check vault before creating issues |
|
|
317
|
+
| `memory_search` | Find similar past issues |
|
|
318
|
+
| `capture_quick` | Record created issue for future reference |
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: agent-persona
|
|
2
|
+
name: soleri-agent-persona
|
|
3
3
|
description: >
|
|
4
|
-
Use when the user
|
|
5
|
-
"
|
|
6
|
-
|
|
7
|
-
through the session and survives context compaction.
|
|
4
|
+
Use when the user says "activate persona", "be yourself",
|
|
5
|
+
"stay in character", or "hello [agent name]". Reinforces character
|
|
6
|
+
persistence through the session and survives context compaction.
|
|
8
7
|
---
|
|
9
8
|
|
|
10
9
|
# Agent Persona — Stay in Character
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: brain-debrief
|
|
2
|
+
name: soleri-brain-debrief
|
|
3
3
|
description: >
|
|
4
|
-
Use when the user
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
reflection, use retrospective instead.
|
|
4
|
+
Use when the user says "brain stats", "pattern strengths",
|
|
5
|
+
"intelligence report", "show brain data", or "what patterns are strongest".
|
|
6
|
+
Surfaces accumulated pattern intelligence from the brain module. For
|
|
7
|
+
time-bound work reflection (sprint retro, weekly summary), use retrospective instead.
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# Brain Debrief — Intelligence Report
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: brainstorming
|
|
2
|
+
name: soleri-brainstorming
|
|
3
3
|
description: >
|
|
4
|
-
Use
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
writing-plans instead.
|
|
4
|
+
Use when the user says "I want to build something", "let's think about",
|
|
5
|
+
"what if we", "creative exploration", or "ideate". For open-ended creative
|
|
6
|
+
exploration when requirements are NOT yet clear.
|
|
8
7
|
---
|
|
9
8
|
|
|
10
9
|
# Brainstorming Ideas Into Designs
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: soleri-build-skill
|
|
3
|
+
description: >
|
|
4
|
+
Use when creating a new skill, updating an existing skill, or scaffolding a skill
|
|
5
|
+
template for a Soleri agent. Triggers on "create a skill", "new skill", "build skill",
|
|
6
|
+
"add a skill", "write a skill", "skill template", "scaffold skill".
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Build Skill — Create Skills for Soleri Agents
|
|
10
|
+
|
|
11
|
+
Create well-structured skills that follow Soleri conventions. Skills are SKILL.md files in the forge that get synced to agents as slash commands.
|
|
12
|
+
|
|
13
|
+
## Skill Anatomy
|
|
14
|
+
|
|
15
|
+
Skills live in two places:
|
|
16
|
+
|
|
17
|
+
| Location | Purpose |
|
|
18
|
+
| -------------------------------------------------- | -------------------------- |
|
|
19
|
+
| `packages/forge/src/skills/soleri-{name}/SKILL.md` | Source — ships with Soleri |
|
|
20
|
+
| `~/.claude/skills/{agent}-soleri-{name}/SKILL.md` | Runtime — synced per agent |
|
|
21
|
+
|
|
22
|
+
### File Structure
|
|
23
|
+
|
|
24
|
+
```yaml
|
|
25
|
+
---
|
|
26
|
+
name: soleri-{skill-name}
|
|
27
|
+
description: >
|
|
28
|
+
Use when the user says "trigger1", "trigger2", "trigger3",
|
|
29
|
+
or wants to [brief purpose]. [One sentence about what the skill does].
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
# Skill Title — Short Purpose
|
|
33
|
+
|
|
34
|
+
[Core workflow instructions with numbered steps]
|
|
35
|
+
|
|
36
|
+
## Agent Tools Reference
|
|
37
|
+
|
|
38
|
+
| Op | When to Use |
|
|
39
|
+
|----|-------------|
|
|
40
|
+
| `search_intelligent` | Check vault before starting |
|
|
41
|
+
| `capture_knowledge` | Persist patterns worth remembering |
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Creation Process
|
|
45
|
+
|
|
46
|
+
### Step 1: Search Vault for Prior Art
|
|
47
|
+
|
|
48
|
+
Before creating anything, check if a similar skill or pattern exists:
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
YOUR_AGENT_core op:search_intelligent
|
|
52
|
+
params: { query: "<skill topic>" }
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
List existing skills to avoid duplication:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
ls packages/forge/src/skills/
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Step 2: Check Trigger Keywords
|
|
62
|
+
|
|
63
|
+
Every skill needs 4-8 unique trigger phrases in the `description:` field. Before choosing triggers, check ALL existing skills to avoid overlap:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
grep -h "description:" packages/forge/src/skills/soleri-*/SKILL.md
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Rules:
|
|
70
|
+
|
|
71
|
+
- No trigger phrase may appear in more than one skill
|
|
72
|
+
- Use quoted phrases: `"exact trigger words"`
|
|
73
|
+
- Cover the full intent range — think about how users naturally ask for this
|
|
74
|
+
- Avoid generic words that overlap with other skills (e.g., "review" is used by deep-review)
|
|
75
|
+
|
|
76
|
+
### Step 3: Design the Workflow
|
|
77
|
+
|
|
78
|
+
Identify 3-5 concrete scenarios. Ask the user if unclear:
|
|
79
|
+
|
|
80
|
+
- "What exact phrases should trigger this skill?"
|
|
81
|
+
- "Walk me through one example end-to-end"
|
|
82
|
+
- "What should this skill NOT do?"
|
|
83
|
+
|
|
84
|
+
### Step 4: Wire In Engine Ops
|
|
85
|
+
|
|
86
|
+
Every Soleri skill should use the engine where applicable. Use the `YOUR_AGENT_core` placeholder — it gets replaced with the agent's actual facade name at sync time.
|
|
87
|
+
|
|
88
|
+
Common integration points:
|
|
89
|
+
|
|
90
|
+
| When | Op | Why |
|
|
91
|
+
| -------------------- | ----------------------------- | --------------------------------- |
|
|
92
|
+
| Before starting work | `search_intelligent` | Check vault for prior art |
|
|
93
|
+
| Before starting work | `memory_search` | Check session history |
|
|
94
|
+
| During execution | `brain_recommend` | Get brain recommendations |
|
|
95
|
+
| After completion | `capture_knowledge` | Persist patterns learned |
|
|
96
|
+
| After completion | `capture_quick` | Fast capture for simple learnings |
|
|
97
|
+
| Quality checks | `admin_health` | Verify system health |
|
|
98
|
+
| Iteration tracking | `loop_start` / `loop_iterate` | Track multi-step work |
|
|
99
|
+
|
|
100
|
+
### Available Facades
|
|
101
|
+
|
|
102
|
+
All ops use the `YOUR_AGENT_core` placeholder:
|
|
103
|
+
|
|
104
|
+
| Domain | Key Ops |
|
|
105
|
+
| ---------------------- | --------------------------------------------------------------------------------------------------- |
|
|
106
|
+
| Vault search & capture | `search_intelligent`, `search`, `capture_knowledge`, `capture_quick`, `vault_tags`, `vault_domains` |
|
|
107
|
+
| Admin & health | `admin_health`, `admin_diagnostic`, `admin_tool_list`, `admin_vault_analytics` |
|
|
108
|
+
| Curator & quality | `curator_health_audit`, `curator_detect_duplicates`, `curator_contradictions`, `curator_groom_all` |
|
|
109
|
+
| Brain & learning | `brain_stats`, `brain_strengths`, `brain_recommend`, `brain_build_intelligence` |
|
|
110
|
+
| Memory & sessions | `memory_search`, `memory_stats`, `session_capture`, `memory_cross_project_search` |
|
|
111
|
+
| Planning | `create_plan`, `approve_plan`, `plan_split`, `plan_reconcile`, `plan_complete_lifecycle` |
|
|
112
|
+
| Loops & validation | `loop_start`, `loop_iterate`, `loop_complete`, `loop_status` |
|
|
113
|
+
|
|
114
|
+
### Step 5: Write the Skill
|
|
115
|
+
|
|
116
|
+
Follow these rules:
|
|
117
|
+
|
|
118
|
+
**Naming:**
|
|
119
|
+
|
|
120
|
+
- Folder: `packages/forge/src/skills/soleri-{name}/SKILL.md`
|
|
121
|
+
- `name:` field must be `soleri-{name}` — matching the folder
|
|
122
|
+
- All Soleri skills use the `soleri-` prefix
|
|
123
|
+
|
|
124
|
+
**Frontmatter:**
|
|
125
|
+
|
|
126
|
+
- `description:` must include specific trigger phrases in quotes
|
|
127
|
+
- Use `>` for multi-line YAML folded scalar descriptions
|
|
128
|
+
|
|
129
|
+
**Body (target 1,500-2,000 words):**
|
|
130
|
+
|
|
131
|
+
- Imperative form ("Search the vault", not "You should search")
|
|
132
|
+
- Numbered steps with concrete op examples including params
|
|
133
|
+
- Agent Tools Reference table at the end
|
|
134
|
+
- Common Mistakes section if applicable
|
|
135
|
+
|
|
136
|
+
**Op References:**
|
|
137
|
+
|
|
138
|
+
- Always use `YOUR_AGENT_core op:xxx` — never hardcode agent names
|
|
139
|
+
- Include example params where helpful
|
|
140
|
+
- Only reference ops that actually exist (verify with `admin_tool_list`)
|
|
141
|
+
|
|
142
|
+
### Step 6: Validate
|
|
143
|
+
|
|
144
|
+
Checklist before committing:
|
|
145
|
+
|
|
146
|
+
- [ ] Folder is `soleri-{name}/SKILL.md` in `packages/forge/src/skills/`
|
|
147
|
+
- [ ] `name:` matches folder name
|
|
148
|
+
- [ ] `description:` has 4-8 specific trigger phrases in quotes
|
|
149
|
+
- [ ] No trigger overlap with existing skills
|
|
150
|
+
- [ ] All ops use `YOUR_AGENT_core` placeholder
|
|
151
|
+
- [ ] No hardcoded agent names (`ernesto_core`, `salvador_core`, etc.)
|
|
152
|
+
- [ ] Imperative writing style throughout
|
|
153
|
+
- [ ] Agent Tools Reference table at the end
|
|
154
|
+
- [ ] Under 3,000 words (ideally 1,500-2,000)
|
|
155
|
+
- [ ] TypeScript compiles: `npx tsc --noEmit` in packages/forge
|
|
156
|
+
|
|
157
|
+
### Step 7: Copy to Reference Agent
|
|
158
|
+
|
|
159
|
+
If the skill should appear in the reference agent:
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
cp -r packages/forge/src/skills/soleri-{name} examples/reference-agent/skills/
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
### Step 8: Register in Scaffold Pipeline
|
|
166
|
+
|
|
167
|
+
Add the skill to `SKILLS_REGISTRY` in `packages/forge/src/scaffold-filetree.ts` and `SKILL_CATEGORIES` in `packages/forge/src/compose-claude-md.ts` so it gets included in new scaffolds.
|
|
168
|
+
|
|
169
|
+
### Step 9: Capture the Decision
|
|
170
|
+
|
|
171
|
+
```
|
|
172
|
+
YOUR_AGENT_core op:capture_knowledge
|
|
173
|
+
params: {
|
|
174
|
+
title: "New skill: soleri-{name} — {purpose}",
|
|
175
|
+
description: "Created skill for {what it does}. Triggers: {triggers}.",
|
|
176
|
+
type: "workflow",
|
|
177
|
+
domain: "tooling",
|
|
178
|
+
tags: ["skill", "workflow", "{domain}"]
|
|
179
|
+
}
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
## Updating Existing Skills
|
|
183
|
+
|
|
184
|
+
1. Read the current file first
|
|
185
|
+
2. Search vault for related patterns or feedback
|
|
186
|
+
3. Make targeted changes — don't rewrite the whole skill
|
|
187
|
+
4. Verify all ops still use `YOUR_AGENT_core` placeholder
|
|
188
|
+
5. Update `description:` if triggers changed
|
|
189
|
+
6. Check for trigger overlap after changes
|
|
190
|
+
7. Update reference agent copy if it exists
|
|
191
|
+
|
|
192
|
+
## Common Mistakes
|
|
193
|
+
|
|
194
|
+
- **Vague descriptions** — "Use for project management" vs "Use when creating GitHub issues or tracking milestones"
|
|
195
|
+
- **Trigger overlap** — Using "review" when `soleri-deep-review` already owns it
|
|
196
|
+
- **Hardcoded agent names** — `ernesto_core` instead of `YOUR_AGENT_core`
|
|
197
|
+
- **Missing engine wiring** — A skill that never checks the vault is a missed opportunity
|
|
198
|
+
- **Second person** — "You should search" instead of "Search the vault"
|
|
199
|
+
- **Too long** — Over 3,000 words bloats context. Extract details into separate files if needed
|
|
200
|
+
- **No prefix** — Forgetting the `soleri-` prefix on the folder and name
|
|
201
|
+
|
|
202
|
+
## Agent Tools Reference
|
|
203
|
+
|
|
204
|
+
| Op | When to Use |
|
|
205
|
+
| -------------------- | -------------------------------------- |
|
|
206
|
+
| `search_intelligent` | Check for existing skills and patterns |
|
|
207
|
+
| `capture_knowledge` | Capture skill creation decision |
|
|
208
|
+
| `admin_tool_list` | Verify available ops |
|
|
209
|
+
| `vault_domains` | Check domain categories |
|
|
210
|
+
| `memory_search` | Find related past work |
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: code-patrol
|
|
3
|
-
description:
|
|
2
|
+
name: soleri-code-patrol
|
|
3
|
+
description: >
|
|
4
|
+
Use when the user says "check against patterns", "pattern compliance",
|
|
5
|
+
"convention check", "review against vault", or "institutional review".
|
|
6
|
+
Reviews code against the project's own captured patterns and conventions.
|
|
7
|
+
For general code quality review (smells, architecture), use deep-review instead.
|
|
4
8
|
---
|
|
5
9
|
|
|
6
10
|
# Code Patrol — Review Code Against Your Own Knowledge
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: context-resume
|
|
2
|
+
name: soleri-context-resume
|
|
3
3
|
description: >
|
|
4
|
-
Use when the user says "where did I leave off", "what was I working on",
|
|
5
|
-
"resume", "continue where we stopped"
|
|
6
|
-
working context from memory, plans, and sessions.
|
|
4
|
+
Use when the user says "where did I leave off", "what was I working on",
|
|
5
|
+
"catch me up", "resume session", or "continue where we stopped".
|
|
6
|
+
Reconstructs working context from memory, plans, and sessions.
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
# Context Resume — Pick Up Where You Left Off
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: deep-review
|
|
2
|
+
name: soleri-deep-review
|
|
3
3
|
description: >
|
|
4
|
-
Use
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
Use when the user says "deep review", "code smells", "architecture review",
|
|
5
|
+
"is this well architected", or "optimization review". Multi-pass code review
|
|
6
|
+
analyzing structural health, smells, and solution quality. For reviewing
|
|
7
|
+
against the project's own vault patterns and conventions, use code-patrol instead.
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# Deep Review — Architecture, Smells & Solution Quality
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: deliver-and-ship
|
|
2
|
+
name: soleri-deliver-and-ship
|
|
3
3
|
description: >
|
|
4
|
-
Use when the user says "ship it", "
|
|
5
|
-
"
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
Use when the user says "ship it", "pre-PR check", "delivery checklist", "is this ready",
|
|
5
|
+
"final review", or "ready to deploy". Runs pre-delivery quality gates
|
|
6
|
+
to ensure nothing ships without passing stability and code quality checks.
|
|
7
|
+
For mid-workflow verification (not shipping), use verification-before-completion instead.
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# Deliver & Ship — Quality Gate Runner
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: discovery-phase
|
|
2
|
+
name: soleri-discovery-phase
|
|
3
3
|
description: >
|
|
4
|
-
Use
|
|
5
|
-
"
|
|
6
|
-
|
|
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. **
|
|
23
|
-
4. **
|
|
24
|
-
5. **
|
|
25
|
-
6. **
|
|
26
|
-
7. **
|
|
27
|
-
8. **
|
|
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
|
-
| `
|
|
69
|
-
| `
|
|
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 |
|