@soleri/forge 5.2.0 → 5.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/dist/scaffolder.js +166 -3
  2. package/dist/scaffolder.js.map +1 -1
  3. package/dist/skills/brain-debrief.md +186 -0
  4. package/dist/skills/brainstorming.md +170 -0
  5. package/dist/skills/code-patrol.md +176 -0
  6. package/dist/skills/context-resume.md +143 -0
  7. package/dist/skills/executing-plans.md +201 -0
  8. package/dist/skills/fix-and-learn.md +164 -0
  9. package/dist/skills/health-check.md +225 -0
  10. package/dist/skills/knowledge-harvest.md +178 -0
  11. package/dist/skills/onboard-me.md +197 -0
  12. package/dist/skills/retrospective.md +189 -0
  13. package/dist/skills/second-opinion.md +142 -0
  14. package/dist/skills/systematic-debugging.md +230 -0
  15. package/dist/skills/test-driven-development.md +266 -0
  16. package/dist/skills/vault-capture.md +154 -0
  17. package/dist/skills/vault-navigator.md +129 -0
  18. package/dist/skills/verification-before-completion.md +170 -0
  19. package/dist/skills/writing-plans.md +207 -0
  20. package/dist/templates/claude-md-template.js +90 -1
  21. package/dist/templates/claude-md-template.js.map +1 -1
  22. package/dist/templates/domain-facade.d.ts +4 -0
  23. package/dist/templates/domain-facade.js +4 -0
  24. package/dist/templates/domain-facade.js.map +1 -1
  25. package/dist/templates/entry-point.js +32 -0
  26. package/dist/templates/entry-point.js.map +1 -1
  27. package/dist/templates/readme.js +38 -0
  28. package/dist/templates/readme.js.map +1 -1
  29. package/dist/templates/setup-script.js +52 -1
  30. package/dist/templates/setup-script.js.map +1 -1
  31. package/dist/templates/skills.d.ts +16 -0
  32. package/dist/templates/skills.js +73 -0
  33. package/dist/templates/skills.js.map +1 -0
  34. package/dist/templates/test-facades.js +173 -3
  35. package/dist/templates/test-facades.js.map +1 -1
  36. package/package.json +2 -2
  37. package/src/__tests__/scaffolder.test.ts +115 -2
  38. package/src/scaffolder.ts +171 -3
  39. package/src/skills/brain-debrief.md +186 -0
  40. package/src/skills/brainstorming.md +170 -0
  41. package/src/skills/code-patrol.md +176 -0
  42. package/src/skills/context-resume.md +143 -0
  43. package/src/skills/executing-plans.md +201 -0
  44. package/src/skills/fix-and-learn.md +164 -0
  45. package/src/skills/health-check.md +225 -0
  46. package/src/skills/knowledge-harvest.md +178 -0
  47. package/src/skills/onboard-me.md +197 -0
  48. package/src/skills/retrospective.md +189 -0
  49. package/src/skills/second-opinion.md +142 -0
  50. package/src/skills/systematic-debugging.md +230 -0
  51. package/src/skills/test-driven-development.md +266 -0
  52. package/src/skills/vault-capture.md +154 -0
  53. package/src/skills/vault-navigator.md +129 -0
  54. package/src/skills/verification-before-completion.md +170 -0
  55. package/src/skills/writing-plans.md +207 -0
  56. package/src/templates/claude-md-template.ts +181 -0
  57. package/src/templates/domain-facade.ts +4 -0
  58. package/src/templates/entry-point.ts +32 -0
  59. package/src/templates/readme.ts +38 -0
  60. package/src/templates/setup-script.ts +54 -1
  61. package/src/templates/skills.ts +82 -0
  62. package/src/templates/test-facades.ts +173 -3
@@ -0,0 +1,266 @@
1
+ ---
2
+ name: test-driven-development
3
+ description: Use when implementing any feature or bugfix, before writing implementation code
4
+ ---
5
+
6
+ <!-- Adapted from superpowers (MIT License) -->
7
+
8
+ # Test-Driven Development (TDD)
9
+
10
+ ## Overview
11
+
12
+ Write the test first. Watch it fail. Write minimal code to pass.
13
+
14
+ **Core principle:** If you didn't watch the test fail, you don't know if it tests the right thing.
15
+
16
+ **Violating the letter of the rules is violating the spirit of the rules.**
17
+
18
+ ## When to Use
19
+
20
+ **Always:**
21
+ - New features
22
+ - Bug fixes
23
+ - Refactoring
24
+ - Behavior changes
25
+
26
+ **Exceptions (ask your human partner):**
27
+ - Throwaway prototypes
28
+ - Generated code
29
+ - Configuration files
30
+
31
+ Thinking "skip TDD just this once"? Stop. That's rationalization.
32
+
33
+ ## Before You Start — Search First, Code Second
34
+
35
+ **Never start writing tests blind.** Follow this lookup order:
36
+
37
+ ### 1. Vault First
38
+ Check for existing testing patterns in the knowledge base:
39
+
40
+ ```
41
+ YOUR_AGENT_core op:search_intelligent
42
+ params: { query: "<what you're about to test>" }
43
+ ```
44
+
45
+ Look for:
46
+ - **Testing patterns** for similar features (how were they tested before?)
47
+ - **Anti-patterns** — common testing mistakes in this domain
48
+ - **Proven approaches** from brain strengths:
49
+
50
+ ```
51
+ YOUR_AGENT_core op:brain_strengths
52
+ ```
53
+
54
+ If the vault has testing guidance for this domain, follow it. Don't reinvent test strategies that have already been validated.
55
+
56
+ ### 2. Web Search
57
+ If the vault has no relevant patterns, search the web for established testing approaches:
58
+ - Library-specific testing patterns (e.g., how to test React hooks, Express middleware)
59
+ - Best practices for the specific type of test (integration, e2e, unit)
60
+ - Known gotchas in the testing framework being used
61
+
62
+ ### 3. Then Write the Test
63
+ Only after consulting vault and web, proceed to write the failing test. You'll write better tests when informed by existing knowledge.
64
+
65
+ ## Start a TDD Loop
66
+
67
+ For multi-test TDD cycles, start a validation loop to track iterations:
68
+
69
+ ```
70
+ YOUR_AGENT_core op:loop_start
71
+ params: { prompt: "TDD: <feature being implemented>", mode: "custom" }
72
+ ```
73
+
74
+ ## The Iron Law
75
+
76
+ ```
77
+ NO PRODUCTION CODE WITHOUT A FAILING TEST FIRST
78
+ ```
79
+
80
+ Write code before the test? Delete it. Start over.
81
+
82
+ **No exceptions:**
83
+ - Don't keep it as "reference"
84
+ - Don't "adapt" it while writing tests
85
+ - Don't look at it
86
+ - Delete means delete
87
+
88
+ Implement fresh from tests. Period.
89
+
90
+ ## Red-Green-Refactor
91
+
92
+ ### RED - Write Failing Test
93
+
94
+ Write one minimal test showing what should happen.
95
+
96
+ Good: clear name, tests real behavior, one thing
97
+ Bad: vague name, tests mock not code
98
+
99
+ **Requirements:**
100
+ - One behavior
101
+ - Clear name
102
+ - Real code (no mocks unless unavoidable)
103
+
104
+ ### Verify RED - Watch It Fail
105
+
106
+ **MANDATORY. Never skip.**
107
+
108
+ Run: `npm test path/to/test.test.ts`
109
+
110
+ Confirm:
111
+ - Test fails (not errors)
112
+ - Failure message is expected
113
+ - Fails because feature missing (not typos)
114
+
115
+ **Test passes?** You're testing existing behavior. Fix test.
116
+ **Test errors?** Fix error, re-run until it fails correctly.
117
+
118
+ Track the iteration:
119
+ ```
120
+ YOUR_AGENT_core op:loop_iterate
121
+ ```
122
+
123
+ ### GREEN - Minimal Code
124
+
125
+ Write simplest code to pass the test. Don't add features, refactor other code, or "improve" beyond the test.
126
+
127
+ ### Verify GREEN - Watch It Pass
128
+
129
+ **MANDATORY.**
130
+
131
+ Run: `npm test path/to/test.test.ts`
132
+
133
+ Confirm:
134
+ - Test passes
135
+ - Other tests still pass
136
+ - Output pristine (no errors, warnings)
137
+
138
+ **Test fails?** Fix code, not test.
139
+ **Other tests fail?** Fix now.
140
+
141
+ Track the iteration:
142
+ ```
143
+ YOUR_AGENT_core op:loop_iterate
144
+ ```
145
+
146
+ ### REFACTOR - Clean Up
147
+
148
+ After green only:
149
+ - Remove duplication
150
+ - Improve names
151
+ - Extract helpers
152
+
153
+ Keep tests green. Don't add behavior.
154
+
155
+ ### Repeat
156
+
157
+ Next failing test for next feature.
158
+
159
+ ## Good Tests
160
+
161
+ | Quality | Good | Bad |
162
+ |---------|------|-----|
163
+ | **Minimal** | One thing. "and" in name? Split it. | `test('validates email and domain and whitespace')` |
164
+ | **Clear** | Name describes behavior | `test('test1')` |
165
+ | **Shows intent** | Demonstrates desired API | Obscures what code should do |
166
+
167
+ ## Why Order Matters
168
+
169
+ Tests written after code pass immediately — proving nothing. Test-first forces you to watch the test fail, proving it actually tests something.
170
+
171
+ ## Common Rationalizations
172
+
173
+ | Excuse | Reality |
174
+ |--------|---------|
175
+ | "Too simple to test" | Simple code breaks. Test takes 30 seconds. |
176
+ | "I'll test after" | Tests passing immediately prove nothing. |
177
+ | "Tests after achieve same goals" | Tests-after = "what does this do?" Tests-first = "what should this do?" |
178
+ | "Already manually tested" | Ad-hoc ≠ systematic. No record, can't re-run. |
179
+ | "Deleting X hours is wasteful" | Sunk cost fallacy. Keeping unverified code is technical debt. |
180
+ | "Keep as reference, write tests first" | You'll adapt it. That's testing after. Delete means delete. |
181
+ | "Need to explore first" | Fine. Throw away exploration, start with TDD. |
182
+ | "Test hard = design unclear" | Listen to test. Hard to test = hard to use. |
183
+ | "TDD will slow me down" | TDD faster than debugging. Pragmatic = test-first. |
184
+ | "Manual test faster" | Manual doesn't prove edge cases. You'll re-test every change. |
185
+ | "Existing code has no tests" | You're improving it. Add tests for existing code. |
186
+
187
+ ## Red Flags - STOP and Start Over
188
+
189
+ - Code before test
190
+ - Test after implementation
191
+ - Test passes immediately
192
+ - Can't explain why test failed
193
+ - Tests added "later"
194
+ - Rationalizing "just this once"
195
+ - "I already manually tested it"
196
+ - "Tests after achieve the same purpose"
197
+ - "It's about spirit not ritual"
198
+ - "Keep as reference" or "adapt existing code"
199
+ - "Already spent X hours, deleting is wasteful"
200
+ - "TDD is dogmatic, I'm being pragmatic"
201
+ - "This is different because..."
202
+
203
+ **All of these mean: Delete code. Start over with TDD.**
204
+
205
+ ## Verification Checklist
206
+
207
+ Before marking work complete:
208
+
209
+ - [ ] Every new function/method has a test
210
+ - [ ] Watched each test fail before implementing
211
+ - [ ] Each test failed for expected reason (feature missing, not typo)
212
+ - [ ] Wrote minimal code to pass each test
213
+ - [ ] All tests pass
214
+ - [ ] Output pristine (no errors, warnings)
215
+ - [ ] Tests use real code (mocks only if unavoidable)
216
+ - [ ] Edge cases and errors covered
217
+
218
+ Can't check all boxes? You skipped TDD. Start over.
219
+
220
+ ## After TDD — Capture and Complete
221
+
222
+ Complete the loop:
223
+ ```
224
+ YOUR_AGENT_core op:loop_complete
225
+ ```
226
+
227
+ If you discovered a new testing pattern, edge case, or anti-pattern during the TDD cycle, capture it:
228
+
229
+ ```
230
+ YOUR_AGENT_core op:capture_quick
231
+ params: {
232
+ title: "<testing pattern or anti-pattern>",
233
+ description: "<what you learned, when it applies, why it matters>"
234
+ }
235
+ ```
236
+
237
+ This compounds across sessions — next time someone works on similar code, the vault will surface your testing insight.
238
+
239
+ ## When Stuck
240
+
241
+ | Problem | Solution |
242
+ |---------|----------|
243
+ | Don't know how to test | Write wished-for API. Write assertion first. Ask your human partner. |
244
+ | Test too complicated | Design too complicated. Simplify interface. |
245
+ | Must mock everything | Code too coupled. Use dependency injection. |
246
+ | Test setup huge | Extract helpers. Still complex? Simplify design. |
247
+
248
+ ## Final Rule
249
+
250
+ ```
251
+ Production code → test exists and failed first
252
+ Otherwise → not TDD
253
+ ```
254
+
255
+ No exceptions without your human partner's permission.
256
+
257
+ ## Agent Tools Reference
258
+
259
+ | Op | When to Use |
260
+ |----|-------------|
261
+ | `search_intelligent` | Find testing patterns before starting |
262
+ | `brain_strengths` | Check proven testing approaches |
263
+ | `loop_start` | Begin TDD validation loop |
264
+ | `loop_iterate` | Track each red-green cycle |
265
+ | `loop_complete` | Finish TDD loop |
266
+ | `capture_quick` | Capture new testing patterns |
@@ -0,0 +1,154 @@
1
+ ---
2
+ name: vault-capture
3
+ description: Use when the user says "capture this", "save to vault", "remember this pattern", "log this anti-pattern", "store this knowledge", "add to vault", "capture what we learned", or wants to persist a pattern, anti-pattern, workflow, or principle to the knowledge base.
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 vault searches, brain recommendations, and team reviews.
9
+
10
+ ## When to Use
11
+
12
+ After discovering something worth remembering: a solution that worked, a mistake to avoid, a workflow that proved effective, or a principle that should guide future work.
13
+
14
+ ## Orchestration Sequence
15
+
16
+ ### Step 1: Check for Duplicates
17
+ Call `YOUR_AGENT_core op:search_intelligent` with the knowledge title or description. If a similar entry exists, consider updating it instead of creating a duplicate.
18
+
19
+ ```
20
+ YOUR_AGENT_core op:search_intelligent
21
+ params: { query: "<knowledge title or description>" }
22
+ ```
23
+
24
+ Also run duplicate detection explicitly:
25
+
26
+ ```
27
+ YOUR_AGENT_core op:curator_detect_duplicates
28
+ ```
29
+
30
+ If duplicates are found, decide: update the existing entry or merge them.
31
+
32
+ ### Step 2: Classify the Knowledge
33
+ Determine the entry type:
34
+ - **pattern** — Something that works and should be repeated
35
+ - **anti-pattern** — Something that fails and should be avoided
36
+ - **workflow** — A sequence of steps for a specific task
37
+ - **principle** — A guiding rule or heuristic
38
+ - **decision** — An architectural or design choice with rationale
39
+
40
+ Use intent routing to help classify:
41
+
42
+ ```
43
+ YOUR_AGENT_core op:route_intent
44
+ params: { prompt: "<description of the knowledge>" }
45
+ ```
46
+
47
+ ### Step 3: Capture
48
+ For quick, single-entry captures:
49
+ Call `YOUR_AGENT_core op:capture_knowledge` with:
50
+ - **title**: Clear, searchable name
51
+ - **description**: What it is and when it applies
52
+ - **type**: From Step 2 classification
53
+ - **category**: Domain area (e.g., "component-patterns", "api-design", "infrastructure")
54
+ - **tags**: Searchable keywords
55
+ - **example**: Code snippet or before/after if applicable
56
+ - **why**: The reasoning — this is what makes the entry actionable
57
+
58
+ ```
59
+ YOUR_AGENT_core op:capture_knowledge
60
+ params: {
61
+ title: "<clear, searchable name>",
62
+ description: "<what it is and when it applies>",
63
+ type: "<pattern|anti-pattern|workflow|principle|decision>",
64
+ category: "<domain area>",
65
+ tags: ["<tag1>", "<tag2>"],
66
+ example: "<code or before/after>",
67
+ why: "<reasoning>"
68
+ }
69
+ ```
70
+
71
+ For quick captures:
72
+ ```
73
+ YOUR_AGENT_core op:capture_quick
74
+ params: { title: "<name>", description: "<details>" }
75
+ ```
76
+
77
+ ### Step 4: Post-Capture Quality
78
+
79
+ After capturing, run the curator to ensure quality:
80
+
81
+ **Groom the entry** — normalize tags, fix metadata:
82
+ ```
83
+ YOUR_AGENT_core op:curator_groom
84
+ params: { entryId: "<captured entry id>" }
85
+ ```
86
+
87
+ **Enrich the entry** — use LLM to add context, improve description:
88
+ ```
89
+ YOUR_AGENT_core op:curator_enrich
90
+ params: { entryId: "<captured entry id>" }
91
+ ```
92
+
93
+ **Check for contradictions** — does this conflict with existing knowledge?
94
+ ```
95
+ YOUR_AGENT_core op:curator_contradictions
96
+ ```
97
+
98
+ If contradictions found, resolve them:
99
+ ```
100
+ YOUR_AGENT_core op:curator_resolve_contradiction
101
+ params: { contradictionId: "<id>" }
102
+ ```
103
+
104
+ ### Step 5: Handle Governance (if enabled)
105
+ If governance policy requires review, the capture returns a `proposalId`. The entry is queued for approval.
106
+
107
+ ```
108
+ YOUR_AGENT_core op:governance_proposals
109
+ params: { action: "list" }
110
+ ```
111
+
112
+ Present pending proposals to the user for approval.
113
+
114
+ ### Step 6: Promote to Global (Optional)
115
+ If the knowledge applies across projects (not project-specific):
116
+ ```
117
+ YOUR_AGENT_core op:memory_promote_to_global
118
+ params: { entryId: "<entry id>" }
119
+ ```
120
+
121
+ This makes it available in cross-project searches and brain recommendations.
122
+
123
+ ### Step 7: Verify Health
124
+ Confirm the capture was stored and vault health is maintained:
125
+ ```
126
+ YOUR_AGENT_core op:admin_health
127
+ ```
128
+
129
+ Check vault analytics for overall knowledge quality:
130
+ ```
131
+ YOUR_AGENT_core op:admin_vault_analytics
132
+ ```
133
+
134
+ ## Exit Criteria
135
+
136
+ Capture is complete when: the entry is stored (or queued for review), categorized, tagged, groomed, and vault health confirmed. If promoted to global, cross-project availability is verified.
137
+
138
+ ## Agent Tools Reference
139
+
140
+ | Op | When to Use |
141
+ |----|-------------|
142
+ | `search_intelligent` | Check for duplicates before capture |
143
+ | `curator_detect_duplicates` | Explicit duplicate detection |
144
+ | `route_intent` | Help classify knowledge type |
145
+ | `capture_knowledge` | Full-metadata capture |
146
+ | `capture_quick` | Fast capture for simple entries |
147
+ | `curator_groom` | Normalize tags and metadata |
148
+ | `curator_enrich` | LLM-powered metadata enrichment |
149
+ | `curator_contradictions` | Find conflicting entries |
150
+ | `curator_resolve_contradiction` | Resolve conflicts |
151
+ | `governance_proposals` | Check/manage approval queue |
152
+ | `memory_promote_to_global` | Share across projects |
153
+ | `admin_health` | Verify system health |
154
+ | `admin_vault_analytics` | Overall knowledge quality metrics |
@@ -0,0 +1,129 @@
1
+ ---
2
+ name: vault-navigator
3
+ description: Use when the user asks "what does vault say", "search knowledge", "find pattern", "have we seen this before", "best practice for", "check vault", "vault search", "any patterns for", or wants to query the knowledge base for existing solutions or guidance.
4
+ ---
5
+
6
+ # Vault Navigator — Knowledge Oracle
7
+
8
+ Navigate the vault intelligently. The vault has multiple search strategies — this skill picks the right one based on what the user needs.
9
+
10
+ ## When to Use
11
+
12
+ Any time the user wants to find existing knowledge before building something new. Also when asking about best practices, previous solutions, or patterns.
13
+
14
+ ## Search Strategy Decision Tree
15
+
16
+ ### For "Have we seen this before?" / "Best practice for X"
17
+ Start with `YOUR_AGENT_core op:search_intelligent` — this is semantic search, the broadest and smartest query. Pass the user's question as the query.
18
+
19
+ ```
20
+ YOUR_AGENT_core op:search_intelligent
21
+ params: { query: "<user's question>" }
22
+ ```
23
+
24
+ If results are weak (low scores or few matches), fall back to `YOUR_AGENT_core op:search` with explicit filters (type, category, tags, severity). This is structured search — narrower but more precise.
25
+
26
+ ### For "Show me everything about X" (Exploration)
27
+ Use tag-based and domain-based browsing for broader exploration:
28
+
29
+ ```
30
+ YOUR_AGENT_core op:vault_tags
31
+ ```
32
+ Lists all tags in the vault — helps discover what topics are covered.
33
+
34
+ ```
35
+ YOUR_AGENT_core op:vault_domains
36
+ ```
37
+ Lists all domains — shows the knowledge landscape at a glance.
38
+
39
+ ```
40
+ YOUR_AGENT_core op:vault_recent
41
+ ```
42
+ Shows recently added or modified entries — what's fresh in the vault.
43
+
44
+ ### For "What's stale?" / "What needs updating?"
45
+ Run an age report to find outdated knowledge:
46
+
47
+ ```
48
+ YOUR_AGENT_core op:vault_age_report
49
+ ```
50
+
51
+ Present entries that haven't been updated recently — these are candidates for review, refresh, or removal.
52
+
53
+ ### For "What do other projects do?"
54
+ Call `YOUR_AGENT_core op:memory_cross_project_search` with `crossProject: true`. This searches across all linked projects, not just the current one.
55
+
56
+ ```
57
+ YOUR_AGENT_core op:memory_cross_project_search
58
+ params: { query: "<topic>", crossProject: true }
59
+ ```
60
+
61
+ Check what projects are linked:
62
+
63
+ ```
64
+ YOUR_AGENT_core op:project_linked_projects
65
+ ```
66
+
67
+ ### For "Has brain learned anything about X?"
68
+ Call `YOUR_AGENT_core op:brain_strengths` to see which patterns have proven strength. Then call `YOUR_AGENT_core op:brain_global_patterns` with a domain or tag filter to find cross-project patterns.
69
+
70
+ ```
71
+ YOUR_AGENT_core op:brain_strengths
72
+ YOUR_AGENT_core op:brain_global_patterns
73
+ params: { domain: "<domain>" }
74
+ ```
75
+
76
+ ### For "What do I know about X?" (broad exploration)
77
+ Chain multiple strategies for comprehensive results:
78
+
79
+ 1. `search_intelligent` → semantic vault search
80
+ 2. `vault_tags` / `vault_domains` → browse knowledge landscape
81
+ 3. `memory_cross_project_search` → cross-project patterns
82
+ 4. `brain_strengths` → proven patterns
83
+
84
+ Present all findings with source labels so the user knows where each insight came from.
85
+
86
+ ## Presenting Results
87
+
88
+ Always include:
89
+ - **Source**: Which search found it (vault, memory, brain, tags, domains)
90
+ - **Confidence**: Score or strength rating
91
+ - **Relevance**: Why this result matches the query
92
+ - **Actionable next step**: How to apply this knowledge
93
+
94
+ ## Fallback: Web Search
95
+
96
+ If all vault strategies return no results, search the web for the user's question before saying "nothing found." The web may have:
97
+ - Documentation, articles, or guides on the topic
98
+ - Community patterns and best practices
99
+ - Library-specific solutions
100
+
101
+ If web search finds something useful, offer to capture it to the vault:
102
+
103
+ ```
104
+ YOUR_AGENT_core op:capture_quick
105
+ params: {
106
+ title: "<what was found>",
107
+ description: "<summary from web search, source URL>"
108
+ }
109
+ ```
110
+
111
+ ## Exit Criteria
112
+
113
+ Search is complete when at least one search strategy has been tried and results presented. If no results found across all strategies (vault + web), say so explicitly — that's valuable information too (it means this is genuinely new territory worth exploring and capturing).
114
+
115
+ ## Agent Tools Reference
116
+
117
+ | Op | When to Use |
118
+ |----|-------------|
119
+ | `search_intelligent` | Default semantic search — broadest and smartest |
120
+ | `search` | Structured search with filters (type, tags, category) |
121
+ | `vault_tags` | Browse all tags — discover knowledge landscape |
122
+ | `vault_domains` | Browse all domains — see what areas are covered |
123
+ | `vault_recent` | Recently modified entries — what's fresh |
124
+ | `vault_age_report` | Find stale entries needing refresh |
125
+ | `memory_cross_project_search` | Search across linked projects |
126
+ | `project_linked_projects` | See what projects are connected |
127
+ | `brain_strengths` | Proven patterns ranked by success |
128
+ | `brain_global_patterns` | Cross-project patterns from global pool |
129
+ | `capture_quick` | Capture web findings to vault for next time |