@soleri/forge 9.11.0 → 9.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/dist/compose-claude-md.js +30 -19
  2. package/dist/compose-claude-md.js.map +1 -1
  3. package/dist/scaffold-filetree.js +53 -49
  4. package/dist/scaffold-filetree.js.map +1 -1
  5. package/dist/skills/{agent-dev → soleri-agent-dev}/SKILL.md +4 -7
  6. package/dist/skills/{agent-guide → soleri-agent-guide}/SKILL.md +7 -6
  7. package/{src/skills/agent-issues → dist/skills/soleri-agent-issues}/SKILL.md +33 -6
  8. package/{src/skills/agent-persona → dist/skills/soleri-agent-persona}/SKILL.md +4 -5
  9. package/{src/skills/brain-debrief → dist/skills/soleri-brain-debrief}/SKILL.md +5 -5
  10. package/dist/skills/{brainstorming → soleri-brainstorming}/SKILL.md +4 -5
  11. package/dist/skills/soleri-build-skill/SKILL.md +210 -0
  12. package/dist/skills/{code-patrol → soleri-code-patrol}/SKILL.md +6 -2
  13. package/{src/skills/context-resume → dist/skills/soleri-context-resume}/SKILL.md +4 -4
  14. package/{src/skills/deep-review → dist/skills/soleri-deep-review}/SKILL.md +5 -5
  15. package/dist/skills/{deliver-and-ship → soleri-deliver-and-ship}/SKILL.md +5 -5
  16. package/{src/skills/discovery-phase → dist/skills/soleri-discovery-phase}/SKILL.md +18 -17
  17. package/dist/skills/soleri-dream/SKILL.md +104 -0
  18. package/dist/skills/{env-setup → soleri-env-setup}/SKILL.md +31 -7
  19. package/dist/skills/{executing-plans → soleri-executing-plans}/SKILL.md +4 -5
  20. package/{src/skills/finishing-a-development-branch → dist/skills/soleri-finishing-a-development-branch}/SKILL.md +35 -4
  21. package/dist/skills/{fix-and-learn → soleri-fix-and-learn}/SKILL.md +4 -5
  22. package/{src/skills/health-check → dist/skills/soleri-health-check}/SKILL.md +5 -5
  23. package/{src/skills/knowledge-harvest → dist/skills/soleri-knowledge-harvest}/SKILL.md +5 -5
  24. package/dist/skills/{mcp-doctor → soleri-mcp-doctor}/SKILL.md +4 -4
  25. package/{src/skills/onboard-me → dist/skills/soleri-onboard-me}/SKILL.md +14 -4
  26. package/{src/skills/parallel-execute → dist/skills/soleri-parallel-execute}/SKILL.md +12 -7
  27. package/dist/skills/soleri-research-scout/SKILL.md +225 -0
  28. package/dist/skills/{retrospective → soleri-retrospective}/SKILL.md +5 -4
  29. package/{src/skills/second-opinion → dist/skills/soleri-second-opinion}/SKILL.md +5 -2
  30. package/dist/skills/{subagent-driven-development → soleri-subagent-driven-development}/SKILL.md +36 -15
  31. package/{src/skills/systematic-debugging → dist/skills/soleri-systematic-debugging}/SKILL.md +5 -5
  32. package/{src/skills/test-driven-development → dist/skills/soleri-test-driven-development}/SKILL.md +12 -2
  33. package/dist/skills/{using-git-worktrees → soleri-using-git-worktrees}/SKILL.md +25 -4
  34. package/dist/skills/soleri-vault-capture/SKILL.md +205 -0
  35. package/{src/skills/vault-curate → dist/skills/soleri-vault-curate}/SKILL.md +13 -6
  36. package/{src/skills/vault-navigator → dist/skills/soleri-vault-navigator}/SKILL.md +14 -5
  37. package/dist/skills/{vault-smells → soleri-vault-smells}/SKILL.md +7 -8
  38. package/{src/skills/verification-before-completion → dist/skills/soleri-verification-before-completion}/SKILL.md +15 -4
  39. package/{src/skills/writing-plans → dist/skills/soleri-writing-plans}/SKILL.md +10 -4
  40. package/dist/skills/{yolo-mode → soleri-yolo-mode}/SKILL.md +4 -4
  41. package/dist/templates/clean-worktrees.js +20 -0
  42. package/dist/templates/clean-worktrees.js.map +1 -1
  43. package/dist/templates/package-json.js +1 -1
  44. package/dist/templates/readme.js +19 -19
  45. package/dist/templates/readme.js.map +1 -1
  46. package/dist/templates/setup-script.js +24 -4
  47. package/dist/templates/setup-script.js.map +1 -1
  48. package/dist/templates/shared-rules.js +53 -5
  49. package/dist/templates/shared-rules.js.map +1 -1
  50. package/dist/templates/skills.d.ts +15 -0
  51. package/dist/templates/skills.js +63 -0
  52. package/dist/templates/skills.js.map +1 -1
  53. package/package.json +2 -2
  54. package/src/__tests__/extensions-scaffold.test.ts +1 -1
  55. package/src/__tests__/scaffold-filetree.test.ts +24 -20
  56. package/src/__tests__/scaffolder.test.ts +6 -6
  57. package/src/compose-claude-md.ts +30 -19
  58. package/src/scaffold-filetree.ts +53 -49
  59. package/src/skills/{agent-dev → soleri-agent-dev}/SKILL.md +4 -7
  60. package/src/skills/{agent-guide → soleri-agent-guide}/SKILL.md +7 -6
  61. package/{dist/skills/agent-issues → src/skills/soleri-agent-issues}/SKILL.md +33 -6
  62. package/{dist/skills/agent-persona → src/skills/soleri-agent-persona}/SKILL.md +4 -5
  63. package/{dist/skills/brain-debrief → src/skills/soleri-brain-debrief}/SKILL.md +5 -5
  64. package/src/skills/{brainstorming → soleri-brainstorming}/SKILL.md +4 -5
  65. package/src/skills/soleri-build-skill/SKILL.md +210 -0
  66. package/src/skills/{code-patrol → soleri-code-patrol}/SKILL.md +6 -2
  67. package/{dist/skills/context-resume → src/skills/soleri-context-resume}/SKILL.md +4 -4
  68. package/{dist/skills/deep-review → src/skills/soleri-deep-review}/SKILL.md +5 -5
  69. package/src/skills/{deliver-and-ship → soleri-deliver-and-ship}/SKILL.md +5 -5
  70. package/{dist/skills/discovery-phase → src/skills/soleri-discovery-phase}/SKILL.md +18 -17
  71. package/src/skills/soleri-dream/SKILL.md +104 -0
  72. package/src/skills/{env-setup → soleri-env-setup}/SKILL.md +31 -7
  73. package/src/skills/{executing-plans → soleri-executing-plans}/SKILL.md +4 -5
  74. package/{dist/skills/finishing-a-development-branch → src/skills/soleri-finishing-a-development-branch}/SKILL.md +35 -4
  75. package/src/skills/{fix-and-learn → soleri-fix-and-learn}/SKILL.md +4 -5
  76. package/{dist/skills/health-check → src/skills/soleri-health-check}/SKILL.md +5 -5
  77. package/{dist/skills/knowledge-harvest → src/skills/soleri-knowledge-harvest}/SKILL.md +5 -5
  78. package/src/skills/{mcp-doctor → soleri-mcp-doctor}/SKILL.md +4 -4
  79. package/{dist/skills/onboard-me → src/skills/soleri-onboard-me}/SKILL.md +14 -4
  80. package/{dist/skills/parallel-execute → src/skills/soleri-parallel-execute}/SKILL.md +12 -7
  81. package/src/skills/soleri-research-scout/SKILL.md +225 -0
  82. package/src/skills/{retrospective → soleri-retrospective}/SKILL.md +5 -4
  83. package/{dist/skills/second-opinion → src/skills/soleri-second-opinion}/SKILL.md +5 -2
  84. package/src/skills/{subagent-driven-development → soleri-subagent-driven-development}/SKILL.md +36 -15
  85. package/{dist/skills/systematic-debugging → src/skills/soleri-systematic-debugging}/SKILL.md +5 -5
  86. package/{dist/skills/test-driven-development → src/skills/soleri-test-driven-development}/SKILL.md +12 -2
  87. package/src/skills/{using-git-worktrees → soleri-using-git-worktrees}/SKILL.md +25 -4
  88. package/src/skills/soleri-vault-capture/SKILL.md +205 -0
  89. package/{dist/skills/vault-curate → src/skills/soleri-vault-curate}/SKILL.md +13 -6
  90. package/{dist/skills/vault-navigator → src/skills/soleri-vault-navigator}/SKILL.md +14 -5
  91. package/src/skills/{vault-smells → soleri-vault-smells}/SKILL.md +7 -8
  92. package/{dist/skills/verification-before-completion → src/skills/soleri-verification-before-completion}/SKILL.md +15 -4
  93. package/{dist/skills/writing-plans → src/skills/soleri-writing-plans}/SKILL.md +10 -4
  94. package/src/skills/{yolo-mode → soleri-yolo-mode}/SKILL.md +4 -4
  95. package/src/templates/clean-worktrees.ts +20 -0
  96. package/src/templates/package-json.ts +1 -1
  97. package/src/templates/readme.ts +19 -19
  98. package/src/templates/setup-script.ts +24 -4
  99. package/src/templates/shared-rules.ts +54 -5
  100. package/src/templates/skills.ts +82 -0
  101. package/dist/skills/vault-capture/SKILL.md +0 -86
  102. package/src/skills/vault-capture/SKILL.md +0 -86
@@ -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
- { pattern: 'implement component', workspace: 'src', skills: ['test-driven-development'] },
462
- { pattern: 'write docs', workspace: 'docs', skills: ['vault-capture'] },
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 extending the agent itself adding facades, tools, vault operations,
5
- brain features, new skills, or modifying agent internals. Triggers on "add a facade",
6
- "new tool", "extend vault", "add brain feature", "new skill", "add operation",
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 asks "what can you do", "help me", "how do I use this",
5
- "what features do you have", "what tools are available", "how does this work",
6
- "show me your capabilities", "what are you", "who are you", or any question
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 creating GitHub issues, bugs, tasks, or milestones that will be
5
- worked on by AI coding agents. Triggers on: "create issue", "file bug",
6
- "gh issue", "add milestone", "create task", "report bug", "gh tasks",
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 activates the agent's persona via its greeting phrase, or says
5
- "activate persona", "be yourself", "stay in character", or any activation phrase
6
- defined in the agent's persona configuration. Reinforces character persistence
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 wants to explore the brain's learned PATTERNS — "brain stats", "pattern
5
- strengths", "what patterns are strongest", "intelligence report", "show brain data". Focused
6
- on the brain module's accumulated pattern intelligence. For time-bound sprint or weekly
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 for open-ended creative exploration when requirements are NOT yet clear — "I want to build
5
- something", "let's think about", "explore options for", "what if we". Explores intent and
6
- design before implementation. If the user already has a spec or clear requirements, use
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: Use when reviewing code against the project's own captured patterns, anti-patterns, and conventions — not generic lint rules but institutional knowledge.
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", "catch me up",
5
- "resume", "continue where we stopped", or is starting a new session and needs to reconstruct
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 for in-depth code review beyond linting — architecture fitness, code smells, solution quality,
5
- optimization opportunities. Triggers on "deep review", "review this code", "is this well architected",
6
- "code smells", "review this module", "architecture review", "is this the right approach",
7
- "optimization review". Works on any codebase. For vault-specific knowledge quality, use vault-smells instead.
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", "ready to deploy", "package", "release",
5
- "pre-PR check", "delivery checklist", "is this ready", "final review", or mentions
6
- shipping, deploying, packaging, or releasing work. Runs pre-delivery quality gates
7
- to ensure nothing ships without passing stability, knowledge capture, and code quality checks.
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 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 |