@soleri/forge 5.14.7 → 5.14.9

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