@soleri/forge 9.0.0 → 9.0.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 (84) hide show
  1. package/dist/scaffold-filetree.js +15 -1
  2. package/dist/scaffold-filetree.js.map +1 -1
  3. package/dist/skills/brain-debrief/SKILL.md +66 -0
  4. package/dist/skills/brainstorming/SKILL.md +85 -0
  5. package/dist/skills/code-patrol/SKILL.md +86 -0
  6. package/dist/skills/context-resume/SKILL.md +92 -0
  7. package/dist/skills/executing-plans/SKILL.md +87 -0
  8. package/dist/skills/fix-and-learn/SKILL.md +98 -0
  9. package/dist/skills/health-check/SKILL.md +131 -0
  10. package/dist/skills/knowledge-harvest/SKILL.md +93 -0
  11. package/dist/skills/onboard-me/SKILL.md +118 -0
  12. package/dist/skills/retrospective/SKILL.md +95 -0
  13. package/dist/skills/second-opinion/SKILL.md +97 -0
  14. package/dist/skills/systematic-debugging/SKILL.md +99 -0
  15. package/dist/skills/test-driven-development/SKILL.md +91 -0
  16. package/dist/skills/vault-capture/SKILL.md +82 -0
  17. package/dist/skills/vault-navigator/SKILL.md +80 -0
  18. package/dist/skills/verification-before-completion/SKILL.md +82 -0
  19. package/dist/skills/writing-plans/SKILL.md +105 -0
  20. package/package.json +1 -1
  21. package/src/scaffold-filetree.ts +16 -1
  22. package/src/skills/brain-debrief/SKILL.md +66 -0
  23. package/src/skills/brainstorming/SKILL.md +85 -0
  24. package/src/skills/code-patrol/SKILL.md +86 -0
  25. package/src/skills/context-resume/SKILL.md +92 -0
  26. package/src/skills/executing-plans/SKILL.md +87 -0
  27. package/src/skills/fix-and-learn/SKILL.md +98 -0
  28. package/src/skills/health-check/SKILL.md +131 -0
  29. package/src/skills/knowledge-harvest/SKILL.md +93 -0
  30. package/src/skills/onboard-me/SKILL.md +118 -0
  31. package/src/skills/retrospective/SKILL.md +95 -0
  32. package/src/skills/second-opinion/SKILL.md +97 -0
  33. package/src/skills/systematic-debugging/SKILL.md +99 -0
  34. package/src/skills/test-driven-development/SKILL.md +91 -0
  35. package/src/skills/vault-capture/SKILL.md +82 -0
  36. package/src/skills/vault-navigator/SKILL.md +80 -0
  37. package/src/skills/verification-before-completion/SKILL.md +82 -0
  38. package/src/skills/writing-plans/SKILL.md +105 -0
  39. package/dist/skills/agent-dev.md +0 -122
  40. package/dist/skills/agent-guide.md +0 -110
  41. package/dist/skills/agent-persona.md +0 -66
  42. package/dist/skills/brain-debrief.md +0 -214
  43. package/dist/skills/brainstorming.md +0 -180
  44. package/dist/skills/code-patrol.md +0 -178
  45. package/dist/skills/context-resume.md +0 -146
  46. package/dist/skills/deliver-and-ship.md +0 -123
  47. package/dist/skills/env-setup.md +0 -151
  48. package/dist/skills/executing-plans.md +0 -216
  49. package/dist/skills/fix-and-learn.md +0 -167
  50. package/dist/skills/health-check.md +0 -231
  51. package/dist/skills/knowledge-harvest.md +0 -185
  52. package/dist/skills/onboard-me.md +0 -198
  53. package/dist/skills/retrospective.md +0 -205
  54. package/dist/skills/second-opinion.md +0 -149
  55. package/dist/skills/systematic-debugging.md +0 -241
  56. package/dist/skills/test-driven-development.md +0 -281
  57. package/dist/skills/vault-capture.md +0 -170
  58. package/dist/skills/vault-curate.md +0 -107
  59. package/dist/skills/vault-navigator.md +0 -140
  60. package/dist/skills/verification-before-completion.md +0 -182
  61. package/dist/skills/writing-plans.md +0 -215
  62. package/src/skills/agent-dev.md +0 -122
  63. package/src/skills/agent-guide.md +0 -110
  64. package/src/skills/agent-persona.md +0 -66
  65. package/src/skills/brain-debrief.md +0 -214
  66. package/src/skills/brainstorming.md +0 -180
  67. package/src/skills/code-patrol.md +0 -178
  68. package/src/skills/context-resume.md +0 -146
  69. package/src/skills/deliver-and-ship.md +0 -123
  70. package/src/skills/env-setup.md +0 -151
  71. package/src/skills/executing-plans.md +0 -216
  72. package/src/skills/fix-and-learn.md +0 -167
  73. package/src/skills/health-check.md +0 -231
  74. package/src/skills/knowledge-harvest.md +0 -185
  75. package/src/skills/onboard-me.md +0 -198
  76. package/src/skills/retrospective.md +0 -205
  77. package/src/skills/second-opinion.md +0 -149
  78. package/src/skills/systematic-debugging.md +0 -241
  79. package/src/skills/test-driven-development.md +0 -281
  80. package/src/skills/vault-capture.md +0 -170
  81. package/src/skills/vault-curate.md +0 -107
  82. package/src/skills/vault-navigator.md +0 -140
  83. package/src/skills/verification-before-completion.md +0 -182
  84. package/src/skills/writing-plans.md +0 -215
@@ -0,0 +1,91 @@
1
+ ---
2
+ name: test-driven-development
3
+ description: Use when implementing any feature or bugfix — write failing tests before implementation code.
4
+ ---
5
+
6
+ # Test-Driven Development (TDD)
7
+
8
+ **Core principle:** If you didn't watch the test fail, you don't know if it tests the right thing.
9
+
10
+ ## Before You Start — Search First
11
+
12
+ ```
13
+ ernesto_core op:search_intelligent
14
+ params: { query: "<what you're about to test>" }
15
+ ernesto_core op:brain_strengths
16
+ ```
17
+
18
+ If vault has testing guidance for this domain, follow it.
19
+
20
+ ## Start a TDD Loop
21
+
22
+ ```
23
+ ernesto_core op:loop_start
24
+ params: { prompt: "TDD: <feature>", mode: "custom" }
25
+ ```
26
+
27
+ ## The Iron Law
28
+
29
+ ```
30
+ NO PRODUCTION CODE WITHOUT A FAILING TEST FIRST
31
+ ```
32
+
33
+ Write code before the test? Delete it. Start over. No exceptions.
34
+
35
+ ## Red-Green-Refactor
36
+
37
+ ### RED — Write Failing Test
38
+
39
+ One behavior, clear name, real code (no mocks unless unavoidable). Run test, confirm it **fails** for the expected reason (feature missing, not typos). Track: `op:loop_iterate`.
40
+
41
+ ### GREEN — Minimal Code
42
+
43
+ Simplest code to pass the test. Don't add features beyond the test. Run test, confirm it **passes** and other tests still pass. Track: `op:loop_iterate`.
44
+
45
+ ### REFACTOR — Clean Up
46
+
47
+ After green only: remove duplication, improve names, extract helpers. Keep tests green. Don't add behavior.
48
+
49
+ ### Repeat
50
+
51
+ Next failing test for next behavior.
52
+
53
+ ## Verification Checklist
54
+
55
+ - [ ] Every new function has a test
56
+ - [ ] Watched each test fail before implementing
57
+ - [ ] Failed for expected reason (not typo)
58
+ - [ ] Wrote minimal code to pass
59
+ - [ ] All tests pass, output pristine
60
+ - [ ] Mocks only where unavoidable
61
+ - [ ] Edge cases and errors covered
62
+
63
+ ## After TDD
64
+
65
+ ```
66
+ ernesto_core op:loop_complete
67
+ ernesto_core op:capture_quick
68
+ params: { title: "<testing pattern>", description: "<what you learned>" }
69
+ ```
70
+
71
+ ## Common Mistakes
72
+
73
+ - Writing implementation before tests ("I'll test after")
74
+ - Keeping pre-test code as "reference" (delete means delete)
75
+ - Test passes immediately (testing existing behavior, not new)
76
+ - Multiple behaviors in one test ("and" in name means split it)
77
+
78
+ | Problem | Solution |
79
+ |---------|----------|
80
+ | Don't know how to test | Write wished-for API first |
81
+ | Must mock everything | Code too coupled — use DI |
82
+ | Test setup huge | Extract helpers or simplify design |
83
+
84
+ ## Quick Reference
85
+
86
+ | Op | When to Use |
87
+ |----|-------------|
88
+ | `search_intelligent` | Find testing patterns |
89
+ | `brain_strengths` | Proven testing approaches |
90
+ | `loop_start` / `loop_iterate` / `loop_complete` | TDD cycle tracking |
91
+ | `capture_quick` | Capture new testing patterns |
@@ -0,0 +1,82 @@
1
+ ---
2
+ name: vault-capture
3
+ description: Use when persisting a pattern, anti-pattern, workflow, decision, or principle to the knowledge base — after discovering something worth remembering.
4
+ ---
5
+
6
+ # Vault Capture — Persist Knowledge
7
+
8
+ Capture patterns, anti-patterns, workflows, and principles to the vault. Captured knowledge compounds — it informs future searches, brain recommendations, and team reviews.
9
+
10
+ ## Steps
11
+
12
+ ### 1. Check for Duplicates
13
+
14
+ ```
15
+ ernesto_core op:search_intelligent
16
+ params: { query: "<knowledge title or description>" }
17
+ ernesto_core op:curator_detect_duplicates
18
+ ```
19
+
20
+ If similar entry exists, update it instead of creating a duplicate.
21
+
22
+ ### 2. Classify the Knowledge
23
+
24
+ | Type | Description |
25
+ |------|-------------|
26
+ | **pattern** | Works and should be repeated |
27
+ | **anti-pattern** | Fails and should be avoided |
28
+ | **workflow** | Steps for a specific task |
29
+ | **principle** | Guiding rule or heuristic |
30
+ | **decision** | Architectural choice with rationale |
31
+
32
+ ### 3. Capture
33
+
34
+ ```
35
+ ernesto_core op:capture_knowledge
36
+ params: {
37
+ title: "<clear, searchable name>",
38
+ description: "<what it is and when it applies>",
39
+ type: "<pattern|anti-pattern|workflow|principle|decision>",
40
+ category: "<domain>",
41
+ tags: ["<tag1>", "<tag2>"],
42
+ example: "<code or before/after>",
43
+ why: "<reasoning>"
44
+ }
45
+ ```
46
+
47
+ For quick captures: `ernesto_core op:capture_quick params: { title: "<name>", description: "<details>" }`
48
+
49
+ ### 4. Post-Capture Quality
50
+
51
+ - `op:curator_groom params: { entryId: "<id>" }` — normalize tags
52
+ - `op:curator_enrich params: { entryId: "<id>" }` — LLM enrichment
53
+ - `op:curator_contradictions` — check for conflicts
54
+
55
+ ### 5. Governance (if enabled)
56
+
57
+ If capture returns a `proposalId`, entry is queued: `op:governance_proposals params: { action: "list" }`.
58
+
59
+ ### 6. Promote to Global (Optional)
60
+
61
+ For cross-project knowledge: `op:memory_promote_to_global params: { entryId: "<id>" }`.
62
+
63
+ ### 7. Verify
64
+
65
+ `op:admin_health` and `op:admin_vault_analytics` to confirm storage and quality.
66
+
67
+ ## Common Mistakes
68
+
69
+ - Not checking for duplicates before capturing
70
+ - Missing the `why` field (makes entries not actionable)
71
+ - Skipping post-capture grooming (tags stay unnormalized)
72
+
73
+ ## Quick Reference
74
+
75
+ | Op | When to Use |
76
+ |----|-------------|
77
+ | `search_intelligent` | Check for duplicates |
78
+ | `capture_knowledge` / `capture_quick` | Persist to vault |
79
+ | `curator_groom` / `curator_enrich` | Post-capture quality |
80
+ | `curator_contradictions` | Find conflicts |
81
+ | `memory_promote_to_global` | Share cross-project |
82
+ | `admin_health` | Verify health |
@@ -0,0 +1,80 @@
1
+ ---
2
+ name: vault-navigator
3
+ description: Use when querying the knowledge base for existing solutions, patterns, best practices, or prior art before building something new.
4
+ ---
5
+
6
+ # Vault Navigator — Knowledge Oracle
7
+
8
+ Navigate the vault intelligently. Picks the right search strategy based on what the user needs.
9
+
10
+ ## Search Strategy Decision Tree
11
+
12
+ ### "Have we seen this?" / "Best practice for X"
13
+
14
+ ```
15
+ ernesto_core op:search_intelligent
16
+ params: { query: "<question>" }
17
+ ```
18
+
19
+ If results are weak, fall back to `op:search` with explicit filters (type, category, tags, severity).
20
+
21
+ ### "Show me everything about X" (Exploration)
22
+
23
+ ```
24
+ ernesto_core op:vault_tags
25
+ ernesto_core op:vault_domains
26
+ ernesto_core op:vault_recent
27
+ ```
28
+
29
+ ### "What's stale?" / "What needs updating?"
30
+
31
+ ```
32
+ ernesto_core op:vault_age_report
33
+ ```
34
+
35
+ ### "What do other projects do?"
36
+
37
+ ```
38
+ ernesto_core op:memory_cross_project_search
39
+ params: { query: "<topic>", crossProject: true }
40
+ ernesto_core op:project_linked_projects
41
+ ```
42
+
43
+ ### "Has brain learned about X?"
44
+
45
+ ```
46
+ ernesto_core op:brain_strengths
47
+ ernesto_core op:brain_global_patterns
48
+ params: { domain: "<domain>" }
49
+ ```
50
+
51
+ ### Broad exploration ("What do I know about X?")
52
+
53
+ Chain: `search_intelligent` -> `vault_tags` / `vault_domains` -> `memory_cross_project_search` -> `brain_strengths`. Label each finding with its source.
54
+
55
+ ## Presenting Results
56
+
57
+ Always include: **Source** (vault/memory/brain), **Confidence** (score), **Relevance** (why it matches), **Next step** (how to apply).
58
+
59
+ ## Fallback: Web Search
60
+
61
+ If all vault strategies return nothing, search the web. If web finds something useful, offer to capture: `op:capture_quick`.
62
+
63
+ ## Common Mistakes
64
+
65
+ - Using only one search strategy instead of trying multiple
66
+ - Not labeling result sources (user can't judge confidence)
67
+ - Saying "nothing found" without trying web search fallback
68
+
69
+ ## Quick Reference
70
+
71
+ | Op | When to Use |
72
+ |----|-------------|
73
+ | `search_intelligent` | Default semantic search |
74
+ | `search` | Structured search with filters |
75
+ | `vault_tags` / `vault_domains` | Browse knowledge landscape |
76
+ | `vault_recent` | Recently modified entries |
77
+ | `vault_age_report` | Stale entries |
78
+ | `memory_cross_project_search` | Cross-project search |
79
+ | `brain_strengths` / `brain_global_patterns` | Proven patterns |
80
+ | `capture_quick` | Capture web findings |
@@ -0,0 +1,82 @@
1
+ ---
2
+ name: verification-before-completion
3
+ description: Use when about to claim work is complete, fixed, or passing — before committing, creating PRs, or moving to the next task.
4
+ ---
5
+
6
+ # Verification Before Completion
7
+
8
+ **Core principle:** Evidence before claims, always.
9
+
10
+ ## The Iron Law
11
+
12
+ ```
13
+ NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE
14
+ ```
15
+
16
+ If you haven't run the verification command in this message, you cannot claim it passes.
17
+
18
+ ## The Gate Function
19
+
20
+ ```
21
+ 1. IDENTIFY: What command proves this claim?
22
+ 2. RUN: Execute the FULL command (fresh, complete)
23
+ 3. READ: Full output, check exit code, count failures
24
+ 4. VERIFY: Does output confirm the claim?
25
+ - NO → State actual status with evidence
26
+ - YES → State claim WITH evidence
27
+ 5. AGENT CHECK: Run system diagnostics
28
+ 6. ONLY THEN: Make the claim
29
+ ```
30
+
31
+ ## Agent System Checks
32
+
33
+ After passing verification commands:
34
+
35
+ - `ernesto_core op:admin_health` — catches vault corruption, stale caches
36
+ - `ernesto_core op:admin_diagnostic` — module status, database integrity, config validity
37
+ - `ernesto_core op:admin_vault_analytics` — knowledge quality metrics
38
+
39
+ If any check reports problems, address before claiming completion.
40
+
41
+ ## Common Failures
42
+
43
+ | Claim | Requires | Not Sufficient |
44
+ |-------|----------|----------------|
45
+ | Tests pass | Test output: 0 failures | Previous run, "should pass" |
46
+ | Build succeeds | Build command: exit 0 | Linter passing |
47
+ | Bug fixed | Original symptom passes | "Code changed, assumed fixed" |
48
+ | Requirements met | Line-by-line checklist | Tests passing alone |
49
+
50
+ ## Red Flags — STOP
51
+
52
+ - Using "should", "probably", "seems to"
53
+ - Expressing satisfaction before verification
54
+ - About to commit/push/PR without verification
55
+ - Relying on partial verification
56
+
57
+ | Excuse | Reality |
58
+ |--------|---------|
59
+ | "Should work now" | RUN the verification |
60
+ | "I'm confident" | Confidence is not evidence |
61
+ | "Just this once" | No exceptions |
62
+ | "Partial check is enough" | Partial proves nothing |
63
+
64
+ ## After Verification
65
+
66
+ Capture session summary: `ernesto_core op:session_capture params: { summary: "<what was accomplished>" }`
67
+
68
+ ## Common Mistakes
69
+
70
+ - Claiming "tests pass" based on a previous run
71
+ - Trusting agent success reports without independent verification
72
+ - Running linter but not build (linter does not check compilation)
73
+ - Skipping the red-green cycle for regression tests
74
+
75
+ ## Quick Reference
76
+
77
+ | Op | When to Use |
78
+ |----|-------------|
79
+ | `admin_health` | Quick system health check |
80
+ | `admin_diagnostic` | Comprehensive diagnostic |
81
+ | `admin_vault_analytics` | Knowledge quality metrics |
82
+ | `session_capture` | Persist verified completion context |
@@ -0,0 +1,105 @@
1
+ ---
2
+ name: writing-plans
3
+ description: Use when there is a spec or requirements for a multi-step task and an implementation plan needs to be written before touching code.
4
+ ---
5
+
6
+ # Writing Plans
7
+
8
+ Write implementation plans assuming the engineer has zero codebase context. Document everything: which files to touch, code, testing, expected output. Bite-sized tasks. DRY. YAGNI. TDD. Frequent commits.
9
+
10
+ **Announce at start:** "I'm using the writing-plans skill to create the implementation plan."
11
+
12
+ **Save plans to:** `docs/plans/YYYY-MM-DD-<feature-name>.md`
13
+
14
+ ## Before Writing — Search First
15
+
16
+ ### 1. Vault First
17
+
18
+ ```
19
+ ernesto_core op:search_intelligent
20
+ params: { query: "<feature being planned>" }
21
+ ernesto_core op:brain_strengths
22
+ ernesto_core op:vault_domains
23
+ ernesto_core op:vault_tags
24
+ ```
25
+
26
+ ### 2. Web Search Second
27
+
28
+ If vault lacks guidance: libraries, reference implementations, API docs, known pitfalls.
29
+
30
+ ### 3. Then Write the Plan
31
+
32
+ Incorporate vault insights and web findings. Reference specific entries.
33
+
34
+ ## Create a Tracked Plan
35
+
36
+ ```
37
+ ernesto_core op:create_plan
38
+ params: {
39
+ objective: "<one-sentence goal>",
40
+ scope: { included: [...], excluded: [...] },
41
+ steps: [{ title: "Step 1", description: "details" }, ...]
42
+ }
43
+ ```
44
+
45
+ ## Grade and Improve
46
+
47
+ ```
48
+ ernesto_core op:plan_grade params: { planId: "<id>" }
49
+ ernesto_core op:plan_auto_improve params: { planId: "<id>" }
50
+ ernesto_core op:plan_meets_grade params: { planId: "<id>", targetGrade: "A" }
51
+ ```
52
+
53
+ Iterate with: `op:plan_iterate params: { planId: "<id>", feedback: "<improvement>" }`
54
+
55
+ ## Split into Tasks
56
+
57
+ After approval: `ernesto_core op:plan_split params: { planId: "<id>" }`
58
+
59
+ ## Task Granularity
60
+
61
+ Each step is one action (2-5 minutes): write failing test, run it, implement, run tests, commit.
62
+
63
+ ## Plan Document Header
64
+
65
+ ```markdown
66
+ # [Feature] Implementation Plan
67
+
68
+ > **For Claude:** REQUIRED SUB-SKILL: Use executing-plans to implement this plan task-by-task.
69
+
70
+ **Goal:** [One sentence]
71
+ **Architecture:** [2-3 sentences]
72
+ **Tech Stack:** [Key technologies]
73
+ ```
74
+
75
+ ## Task Structure
76
+
77
+ - Files: Create / Modify / Test paths
78
+ - Steps: Write failing test (code) -> verify fail (expected output) -> implement (code) -> verify pass (expected output) -> commit (exact commands)
79
+
80
+ ## After Approval
81
+
82
+ ```
83
+ ernesto_core op:approve_plan params: { planId: "<id>" }
84
+ ```
85
+
86
+ Offer execution choice: subagent-driven (this session) or parallel session with executing-plans.
87
+
88
+ ## Common Mistakes
89
+
90
+ - Writing plans from scratch without searching vault first
91
+ - Vague steps like "add validation" instead of exact code
92
+ - Missing test steps in the plan
93
+ - Not grading the plan before presenting to user
94
+
95
+ ## Quick Reference
96
+
97
+ | Op | When to Use |
98
+ |----|-------------|
99
+ | `search_intelligent` | Find patterns before planning |
100
+ | `brain_strengths` | Proven approaches |
101
+ | `create_plan` | Create tracked plan |
102
+ | `plan_grade` / `plan_auto_improve` | Grade and improve |
103
+ | `plan_iterate` | Iterate with feedback |
104
+ | `plan_split` | Split into tasks |
105
+ | `approve_plan` | Lock in approved plan |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@soleri/forge",
3
- "version": "9.0.0",
3
+ "version": "9.0.1",
4
4
  "description": "Scaffold AI agents that learn, remember, and grow with you.",
5
5
  "keywords": [
6
6
  "agent",
@@ -308,7 +308,22 @@ export function scaffoldFileTree(input: AgentYamlInput, outputDir: string): File
308
308
  writeFile(agentDir, `workflows/${wf.name}/tools.yaml`, wf.tools, filesCreated);
309
309
  }
310
310
 
311
- // ─── 8. Write knowledge bundles (seed from starter packs if available) ──
311
+ // ─── 8. Copy bundled skills ─────────────────────────────────
312
+ const skillsSrcDir = join(dirname(fileURLToPath(import.meta.url)), 'skills');
313
+ if (existsSync(skillsSrcDir)) {
314
+ const skillDirs = readdirSync(skillsSrcDir, { withFileTypes: true })
315
+ .filter((d) => d.isDirectory())
316
+ .map((d) => d.name);
317
+ for (const skillName of skillDirs) {
318
+ const skillFile = join(skillsSrcDir, skillName, 'SKILL.md');
319
+ if (existsSync(skillFile)) {
320
+ mkdirSync(join(agentDir, 'skills', skillName), { recursive: true });
321
+ writeFile(agentDir, `skills/${skillName}/SKILL.md`, readFileSync(skillFile, 'utf-8'), filesCreated);
322
+ }
323
+ }
324
+ }
325
+
326
+ // ─── 9. Write knowledge bundles (seed from starter packs if available) ──
312
327
  const starterPacksDir = resolveStarterPacksDir();
313
328
  let totalSeeded = 0;
314
329
 
@@ -0,0 +1,66 @@
1
+ ---
2
+ name: brain-debrief
3
+ description: Use when the user wants to see accumulated knowledge, pattern strengths, cross-project insights, learning velocity, or an intelligence report from the brain.
4
+ ---
5
+
6
+ # Brain Debrief — Intelligence Report
7
+
8
+ Surface what the brain has learned across sessions and projects. Turns raw vault data into actionable intelligence.
9
+
10
+ ## Orchestration by Query Type
11
+
12
+ ### "What have I learned?" (General debrief)
13
+
14
+ 1. `ernesto_core op:brain_stats` — total sessions, patterns, quality scores
15
+ 2. `ernesto_core op:brain_strengths` — patterns ranked by strength (focus >= 70)
16
+ 3. `ernesto_core op:memory_topics` — knowledge clusters
17
+ 4. `ernesto_core op:vault_age_report` — stale entries needing refresh
18
+ 5. `ernesto_core op:curator_health_audit` — vault quality score
19
+
20
+ Present: top 5 patterns, top 3 anti-patterns, stale entries, coverage gaps.
21
+
22
+ ### "What's working across projects?" (Cross-project)
23
+
24
+ 1. `ernesto_core op:brain_global_patterns` — promoted patterns
25
+ 2. `ernesto_core op:brain_recommend params: { projectName: "<project>" }` — similarity-based recommendations
26
+ 3. `ernesto_core op:project_linked_projects` — connected projects
27
+ 4. `ernesto_core op:memory_cross_project_search params: { query: "<topic>", crossProject: true }`
28
+
29
+ ### "Am I getting smarter?" (Learning velocity)
30
+
31
+ Compare `brain_stats` for 7-day vs 30-day periods. Check `memory_stats`, `admin_vault_analytics`, `admin_search_insights`. Present: new patterns, strength changes, growing vs stagnant domains.
32
+
33
+ ### "Build fresh intelligence" (Rebuild)
34
+
35
+ 1. `ernesto_core op:brain_build_intelligence` — full pipeline rebuild
36
+ 2. `ernesto_core op:curator_consolidate` — vault cleanup
37
+ 3. Show updated `brain_stats`
38
+
39
+ ### "Export what I know" (Portability)
40
+
41
+ Use `brain_export`, `memory_export`, `vault_backup`. Import with corresponding `_import` ops.
42
+
43
+ ## Presenting Intelligence
44
+
45
+ Format as a report with: Strengths, Risks (recurring anti-patterns), Gaps, Stale entries, Quality score, Recommendations, Search Misses.
46
+
47
+ ## Common Mistakes
48
+
49
+ - Presenting raw tool output instead of synthesized insights
50
+ - Skipping the stale entry check (vault_age_report)
51
+ - Not comparing periods when reporting learning velocity
52
+
53
+ ## Quick Reference
54
+
55
+ | Op | When to Use |
56
+ |----|-------------|
57
+ | `brain_stats` | Aggregate metrics |
58
+ | `brain_strengths` | Proven patterns ranked |
59
+ | `brain_global_patterns` | Cross-project patterns |
60
+ | `brain_recommend` | Project-similarity recommendations |
61
+ | `brain_build_intelligence` | Rebuild intelligence pipeline |
62
+ | `memory_topics` / `memory_stats` | Knowledge clusters and health |
63
+ | `vault_age_report` | Stale entries |
64
+ | `curator_health_audit` | Vault quality score |
65
+ | `admin_vault_analytics` | Knowledge quality metrics |
66
+ | `admin_search_insights` | Search miss analysis |
@@ -0,0 +1,85 @@
1
+ ---
2
+ name: brainstorming
3
+ description: Use when creating features, building components, adding functionality, or modifying behavior — explores intent and design before implementation.
4
+ ---
5
+
6
+ # Brainstorming Ideas Into Designs
7
+
8
+ Turn ideas into fully formed designs through collaborative dialogue. Understand project context, ask questions one at a time, present a design, get approval.
9
+
10
+ <HARD-GATE>
11
+ Do NOT invoke any implementation skill, write any code, scaffold any project, or take any implementation action until you have presented a design and the user has approved it. This applies to EVERY project regardless of perceived simplicity.
12
+ </HARD-GATE>
13
+
14
+ ## Checklist
15
+
16
+ Complete in order:
17
+
18
+ 1. **Classify intent** — `ernesto_core op:route_intent`
19
+ 2. **Search vault for prior art** — `ernesto_core op:search_intelligent`
20
+ 3. **Search web for existing solutions** — don't build what already exists
21
+ 4. **Explore project context** — check files, docs, recent commits
22
+ 5. **Ask clarifying questions** — one at a time, purpose/constraints/success criteria
23
+ 6. **Propose 2-3 approaches** — with trade-offs and your recommendation
24
+ 7. **Present design** — in sections scaled to complexity, get approval after each
25
+ 8. **Capture design decision** — persist to vault
26
+ 9. **Write design doc** — save to `docs/plans/YYYY-MM-DD-<topic>-design.md` and commit
27
+ 10. **Transition** — invoke writing-plans skill (the ONLY next skill)
28
+
29
+ ## Search Before Designing
30
+
31
+ ### Vault First
32
+
33
+ ```
34
+ ernesto_core op:search_intelligent
35
+ params: { query: "<the feature or idea>" }
36
+ ```
37
+
38
+ Also check: `op:vault_tags`, `op:vault_domains`, `op:brain_strengths`, `op:memory_cross_project_search` with `crossProject: true`.
39
+
40
+ ### Web Search Second
41
+
42
+ If vault has no prior art, search web for existing libraries, reference implementations, best practices, known pitfalls.
43
+
44
+ Present findings: "Before we design this, here's what I found..."
45
+
46
+ ## The Process
47
+
48
+ - **Understanding**: Check project state, ask one question per message, prefer multiple choice
49
+ - **Exploring**: Propose 2-3 approaches, lead with recommendation, reference vault patterns and web findings
50
+ - **Presenting**: Scale each section to complexity, ask after each section, cover architecture/components/data flow/error handling/testing
51
+
52
+ ## After the Design
53
+
54
+ **Capture the decision:**
55
+
56
+ ```
57
+ ernesto_core op:capture_knowledge
58
+ params: {
59
+ title: "<feature> — design decision",
60
+ description: "<chosen approach, rationale, rejected alternatives>",
61
+ type: "decision",
62
+ category: "<domain>",
63
+ tags: ["design-decision"]
64
+ }
65
+ ```
66
+
67
+ Write validated design to `docs/plans/YYYY-MM-DD-<topic>-design.md` and commit. Then invoke writing-plans.
68
+
69
+ ## Common Mistakes
70
+
71
+ - Skipping vault search and reinventing solved problems
72
+ - Jumping to implementation without design approval
73
+ - Asking multiple questions per message (overwhelming)
74
+ - Treating "simple" projects as too simple to need a design
75
+
76
+ ## Quick Reference
77
+
78
+ | Op | When to Use |
79
+ |----|-------------|
80
+ | `route_intent` | Classify work type |
81
+ | `search_intelligent` | Search vault for prior art |
82
+ | `vault_tags` / `vault_domains` | Browse knowledge landscape |
83
+ | `brain_strengths` | Check proven patterns |
84
+ | `memory_cross_project_search` | Check other projects |
85
+ | `capture_knowledge` | Persist design decision |