create-merlin-brain 3.15.1 โ 3.17.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.
- package/dist/server/session-coach.d.ts +11 -0
- package/dist/server/session-coach.d.ts.map +1 -1
- package/dist/server/session-coach.js +77 -6
- package/dist/server/session-coach.js.map +1 -1
- package/dist/server/tools/route.d.ts.map +1 -1
- package/dist/server/tools/route.js +15 -1
- package/dist/server/tools/route.js.map +1 -1
- package/files/CLAUDE.md +201 -26
- package/files/agents/merlin-edge-case-hunter.md +340 -0
- package/files/agents/merlin-party-review.md +274 -0
- package/files/agents/merlin-reviewer.md +121 -20
- package/files/agents/merlin.md +300 -239
- package/files/hooks/lib/analytics.sh +8 -2
- package/files/hooks/session-start.sh +9 -5
- package/files/hooks/subagent-context.sh +2 -2
- package/package.json +1 -1
|
@@ -28,6 +28,12 @@ export declare function getSessionHealth(): number;
|
|
|
28
28
|
* For other tools: returns an escalating nudge based on drift level
|
|
29
29
|
*/
|
|
30
30
|
export declare function getProtocolNudge(currentTool: string): string;
|
|
31
|
+
/**
|
|
32
|
+
* Generate additional proactive nudges beyond context drift.
|
|
33
|
+
* Surfaces smart-route, verification, workflow, and loop suggestions.
|
|
34
|
+
* Returns a single nudge string (rotated) or empty string.
|
|
35
|
+
*/
|
|
36
|
+
export declare function getProactiveNudge(): string;
|
|
31
37
|
/**
|
|
32
38
|
* Get a compact protocol status line for tool responses
|
|
33
39
|
* Shows: health %, drift level, last check time
|
|
@@ -65,6 +71,11 @@ export declare function getCoachStats(): {
|
|
|
65
71
|
health: number;
|
|
66
72
|
driftWarnings: number;
|
|
67
73
|
sessionMinutes: number;
|
|
74
|
+
routeCount: number;
|
|
75
|
+
implementationEdits: number;
|
|
76
|
+
lastSmartRoute: number;
|
|
77
|
+
lastVerification: number;
|
|
78
|
+
lastWorkflow: number;
|
|
68
79
|
};
|
|
69
80
|
/**
|
|
70
81
|
* Convenience: Wrap any tool response text with coaching.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-coach.d.ts","sourceRoot":"","sources":["../../src/server/session-coach.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"session-coach.d.ts","sourceRoot":"","sources":["../../src/server/session-coach.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAsFH;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAyCrD;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CA8BtC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAqBzC;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CA6C5D;AAqBD;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CA2B1C;AAsBD;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAiB1C;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAQvE;AAED,4EAA4E;AAC5E,UAAU,YAAY;IACpB,kBAAkB,CAAC,EAAE;QACnB,aAAa,EAAE,MAAM,CAAC;QACtB,kBAAkB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;QACtC,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;CACH;AAED,6GAA6G;AAC7G,wBAAgB,oBAAoB,IAAI,YAAY,CA+CnD;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,IAAI,CAgBjC;AAED;;GAEG;AACH,wBAAgB,aAAa;;;;;;;;;;;;;;;EAiB5B;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAGhE"}
|
|
@@ -31,6 +31,9 @@ const EDIT_ADJACENT_TOOLS = new Set([
|
|
|
31
31
|
'merlin_sync_task',
|
|
32
32
|
'merlin_log_activity',
|
|
33
33
|
]);
|
|
34
|
+
const SMART_ROUTE_TOOLS = new Set(['merlin_smart_route']);
|
|
35
|
+
const VERIFICATION_TOOLS = new Set(['merlin_run_verification']);
|
|
36
|
+
const WORKFLOW_TOOLS = new Set(['merlin_route']); // merlin_route counts as workflow activity
|
|
34
37
|
// State
|
|
35
38
|
const state = {
|
|
36
39
|
sessionStart: Date.now(),
|
|
@@ -43,6 +46,11 @@ const state = {
|
|
|
43
46
|
driftWarnings: 0,
|
|
44
47
|
externalEdits: [],
|
|
45
48
|
editsSinceContext: 0,
|
|
49
|
+
lastSmartRoute: 0,
|
|
50
|
+
lastVerification: 0,
|
|
51
|
+
lastWorkflow: 0,
|
|
52
|
+
routeCount: 0,
|
|
53
|
+
implementationEdits: 0,
|
|
46
54
|
};
|
|
47
55
|
/**
|
|
48
56
|
* Record a tool call. Called by every Merlin tool handler.
|
|
@@ -67,6 +75,21 @@ export function recordToolCall(toolName) {
|
|
|
67
75
|
if (EDIT_ADJACENT_TOOLS.has(toolName)) {
|
|
68
76
|
state.lastEditRelated = now;
|
|
69
77
|
}
|
|
78
|
+
if (SMART_ROUTE_TOOLS.has(toolName)) {
|
|
79
|
+
state.lastSmartRoute = now;
|
|
80
|
+
state.routeCount = 0; // Reset direct route count after using smart_route
|
|
81
|
+
}
|
|
82
|
+
if (VERIFICATION_TOOLS.has(toolName)) {
|
|
83
|
+
state.lastVerification = now;
|
|
84
|
+
state.implementationEdits = 0; // Reset edit count after verification
|
|
85
|
+
}
|
|
86
|
+
if (WORKFLOW_TOOLS.has(toolName)) {
|
|
87
|
+
state.lastWorkflow = now;
|
|
88
|
+
}
|
|
89
|
+
// Track direct routing without smart_route
|
|
90
|
+
if (toolName === 'merlin_route' && state.lastSmartRoute === 0) {
|
|
91
|
+
state.routeCount++;
|
|
92
|
+
}
|
|
70
93
|
}
|
|
71
94
|
/**
|
|
72
95
|
* Get the current drift level (0-3)
|
|
@@ -143,25 +166,31 @@ export function getProtocolNudge(currentTool) {
|
|
|
143
166
|
return '\n\n---\n**โก๐ฎ MERLIN โบ** โ Context fresh. Next check: before your next file edit.';
|
|
144
167
|
}
|
|
145
168
|
// For non-context tools, escalate based on drift
|
|
169
|
+
let baseNudge;
|
|
146
170
|
switch (driftLevel) {
|
|
147
171
|
case 0:
|
|
148
172
|
// Green โ light reminder, rotate messages
|
|
149
|
-
|
|
173
|
+
baseNudge = getGreenNudge();
|
|
174
|
+
break;
|
|
150
175
|
case 1:
|
|
151
176
|
// Yellow โ noticeable nudge
|
|
152
177
|
state.driftWarnings++;
|
|
153
|
-
|
|
178
|
+
baseNudge = getYellowNudge();
|
|
179
|
+
break;
|
|
154
180
|
case 2:
|
|
155
181
|
// Orange โ strong nudge
|
|
156
182
|
state.driftWarnings++;
|
|
157
|
-
|
|
183
|
+
baseNudge = getOrangeNudge();
|
|
184
|
+
break;
|
|
158
185
|
case 3:
|
|
159
186
|
// Red โ hard interrupt
|
|
160
187
|
state.driftWarnings++;
|
|
161
|
-
|
|
188
|
+
baseNudge = getRedNudge();
|
|
189
|
+
break;
|
|
162
190
|
default:
|
|
163
|
-
|
|
191
|
+
baseNudge = '';
|
|
164
192
|
}
|
|
193
|
+
return baseNudge + getProactiveNudge();
|
|
165
194
|
}
|
|
166
195
|
/** Minutes since last context check (-1 if never) */
|
|
167
196
|
function minutesSinceContext() {
|
|
@@ -172,11 +201,43 @@ function minutesSinceContext() {
|
|
|
172
201
|
function getGreenNudge() {
|
|
173
202
|
const nudges = [
|
|
174
203
|
'`merlin_get_context` before modifying files.',
|
|
204
|
+
'Use `merlin_smart_route` to find the best specialist for your task.',
|
|
205
|
+
'Automated workflows available: feature-dev, bug-fix, security-audit, refactor, ui-build.',
|
|
206
|
+
'Run `merlin_run_verification()` after implementation to validate changes.',
|
|
207
|
+
'For parallel work, run multiple `merlin_route` calls simultaneously.',
|
|
175
208
|
'Check Sights before creating new files to avoid duplicates.',
|
|
176
|
-
'Call `merlin_get_context("your task")` before each edit.',
|
|
177
209
|
];
|
|
178
210
|
return `\n\n---\n**โก๐ฎ MERLIN โบ** ${nudges[state.totalCalls % nudges.length]}`;
|
|
179
211
|
}
|
|
212
|
+
/**
|
|
213
|
+
* Generate additional proactive nudges beyond context drift.
|
|
214
|
+
* Surfaces smart-route, verification, workflow, and loop suggestions.
|
|
215
|
+
* Returns a single nudge string (rotated) or empty string.
|
|
216
|
+
*/
|
|
217
|
+
export function getProactiveNudge() {
|
|
218
|
+
const nudges = [];
|
|
219
|
+
const sessionMinutes = Math.floor((Date.now() - state.sessionStart) / (1000 * 60));
|
|
220
|
+
// After 5+ direct routes without smart_route, suggest it
|
|
221
|
+
if (state.routeCount >= 5 && state.lastSmartRoute === 0) {
|
|
222
|
+
nudges.push('๐ก Try `merlin_smart_route(task="...")` โ searches 500+ community agents for better specialists.');
|
|
223
|
+
}
|
|
224
|
+
// After 10+ implementation edits without verification
|
|
225
|
+
if (state.implementationEdits >= 10 && state.lastVerification === 0) {
|
|
226
|
+
nudges.push('๐ก Run `merlin_run_verification()` to validate your changes before committing.');
|
|
227
|
+
}
|
|
228
|
+
// After 15+ minutes without a workflow
|
|
229
|
+
if (sessionMinutes >= 15 && state.lastWorkflow === 0 && state.totalCalls >= 15) {
|
|
230
|
+
nudges.push('๐ก For multi-step work, try automated workflows: `Skill("merlin:workflow", args=\'run feature-dev "..."\')`');
|
|
231
|
+
}
|
|
232
|
+
// After 30+ minutes, suggest loop patterns
|
|
233
|
+
if (sessionMinutes >= 30 && state.totalCalls >= 25) {
|
|
234
|
+
nudges.push('๐ก Long session detected. Consider `/loop 5m /merlin:progress` for continuous monitoring.');
|
|
235
|
+
}
|
|
236
|
+
if (nudges.length === 0)
|
|
237
|
+
return '';
|
|
238
|
+
// Only show ONE nudge at a time (rotate)
|
|
239
|
+
return `\n${nudges[state.totalCalls % nudges.length]}`;
|
|
240
|
+
}
|
|
180
241
|
function getYellowNudge() {
|
|
181
242
|
const m = minutesSinceContext();
|
|
182
243
|
return `\n\n---\n**โก๐ฎ MERLIN โบ REFRESH CONTEXT** โ ${m}min since last check, ${state.callsSinceContext} calls without refresh.\n` +
|
|
@@ -282,6 +343,11 @@ export function resetCoach() {
|
|
|
282
343
|
state.driftWarnings = 0;
|
|
283
344
|
state.externalEdits = [];
|
|
284
345
|
state.editsSinceContext = 0;
|
|
346
|
+
state.lastSmartRoute = 0;
|
|
347
|
+
state.lastVerification = 0;
|
|
348
|
+
state.lastWorkflow = 0;
|
|
349
|
+
state.routeCount = 0;
|
|
350
|
+
state.implementationEdits = 0;
|
|
285
351
|
}
|
|
286
352
|
/**
|
|
287
353
|
* Get coach stats for debugging
|
|
@@ -297,6 +363,11 @@ export function getCoachStats() {
|
|
|
297
363
|
health: getSessionHealth(),
|
|
298
364
|
driftWarnings: state.driftWarnings,
|
|
299
365
|
sessionMinutes: Math.floor((Date.now() - state.sessionStart) / (1000 * 60)),
|
|
366
|
+
routeCount: state.routeCount,
|
|
367
|
+
implementationEdits: state.implementationEdits,
|
|
368
|
+
lastSmartRoute: state.lastSmartRoute,
|
|
369
|
+
lastVerification: state.lastVerification,
|
|
370
|
+
lastWorkflow: state.lastWorkflow,
|
|
300
371
|
};
|
|
301
372
|
}
|
|
302
373
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-coach.js","sourceRoot":"","sources":["../../src/server/session-coach.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session-coach.js","sourceRoot":"","sources":["../../src/server/session-coach.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../src/server/tools/route.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAOH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAY9C,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../src/server/tools/route.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAOH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAY9C,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,QAwMlD"}
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
*/
|
|
17
17
|
import { z } from 'zod';
|
|
18
18
|
import { spawn } from 'child_process';
|
|
19
|
-
import { existsSync } from 'fs';
|
|
19
|
+
import { existsSync, readFileSync } from 'fs';
|
|
20
20
|
import { join } from 'path';
|
|
21
21
|
import { homedir } from 'os';
|
|
22
22
|
import { classifyTask } from '../cost/classifier.js';
|
|
@@ -114,6 +114,20 @@ export function registerRouteTools(ctx) {
|
|
|
114
114
|
handoffParts.push(`## Merlin Sights Context (pre-fetched)`, sightsContext, '');
|
|
115
115
|
if (augmentation)
|
|
116
116
|
handoffParts.push(...buildAugmentationSection(augmentation));
|
|
117
|
+
// 6b. Inject sidecar memory if present (~/.claude/agent-memory/{agent}.md)
|
|
118
|
+
const sidecarPath = join(homedir(), '.claude', 'agent-memory', `${agent}.md`);
|
|
119
|
+
if (existsSync(sidecarPath)) {
|
|
120
|
+
try {
|
|
121
|
+
const sidecarContent = readFileSync(sidecarPath, 'utf-8').trim();
|
|
122
|
+
if (sidecarContent) {
|
|
123
|
+
handoffParts.push(`## Agent Memory (your persistent preferences)`, sidecarContent, '', `> To update this memory, write to: \`${sidecarPath}\``, '');
|
|
124
|
+
console.error(`[merlin_route] Sidecar memory loaded for "${agent}" (${sidecarContent.length} chars)`);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
catch {
|
|
128
|
+
// Non-fatal โ proceed without sidecar memory
|
|
129
|
+
}
|
|
130
|
+
}
|
|
117
131
|
handoffParts.push(`## Instructions`, `- Complete the task described above`, `- Use Merlin Sights tools (merlin_get_context, merlin_find_files) for additional context`, `- Follow all coding rules and conventions from Sights`, `- Output a clear, concise summary of what you did and any files changed`);
|
|
118
132
|
if (effortSuffix)
|
|
119
133
|
handoffParts.push('', effortSuffix);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.js","sourceRoot":"","sources":["../../../src/server/tools/route.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"route.js","sourceRoot":"","sources":["../../../src/server/tools/route.ts"],"names":[],"mappings":"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"}
|
package/files/CLAUDE.md
CHANGED
|
@@ -1,35 +1,169 @@
|
|
|
1
1
|
<!-- โก๐ฎ MERLIN BRAIN โ MANDATORY PROTOCOL -->
|
|
2
2
|
|
|
3
|
-
# โก๐ฎ MERLIN โบ STOP โ
|
|
3
|
+
# โก๐ฎ MERLIN โบ STOP โ Boot Sequence BEFORE Every Response
|
|
4
4
|
|
|
5
5
|
**Step 1** โ Call `merlin_get_selected_repo` to connect Merlin Sights.
|
|
6
6
|
**Step 2** โ Call `merlin_get_project_status` to load project state.
|
|
7
|
-
**Step 3** โ
|
|
7
|
+
**Step 3** โ Call `merlin_get_rules` and `merlin_get_brief` in parallel to load rules and project context.
|
|
8
|
+
**Step 4** โ Auto-detect intent from the user's message. Apply the current operating mode (see below). Take action.
|
|
8
9
|
|
|
9
10
|
Do NOT skip these steps. Do NOT start working without Merlin context.
|
|
10
11
|
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## โก๐ฎ Operating Modes โ Two Ways to Work
|
|
15
|
+
|
|
16
|
+
Merlin has two operating modes. **AI Automation is the default.** The user can switch at any time.
|
|
17
|
+
|
|
18
|
+
### ๐ค AI Automation (default)
|
|
19
|
+
|
|
20
|
+
Merlin detects intent, picks the best execution path, and runs the full pipeline autonomously. The user sees results, not menus.
|
|
21
|
+
|
|
22
|
+
- Auto-invoke workflows, agents, and commands based on intent
|
|
23
|
+
- Run multi-step pipelines without pausing for permission
|
|
24
|
+
- Pause only at genuine decision points (architecture choices, scope ambiguity, irreversible actions)
|
|
25
|
+
- Show what is happening, not what could happen
|
|
26
|
+
|
|
27
|
+
**Activate:** Default. Also: "autopilot", "auto mode", "AI mode", "Merlin mode", "just do it", "go"
|
|
28
|
+
|
|
29
|
+
### ๐ฎ In Control
|
|
30
|
+
|
|
31
|
+
Merlin detects intent identically, but presents options before executing. The user picks.
|
|
32
|
+
|
|
33
|
+
- Same smart detection โ Merlin still identifies the best workflow/agent/command
|
|
34
|
+
- Present 3-5 numbered options with the recommended path marked as [1]
|
|
35
|
+
- Wait for user selection before executing
|
|
36
|
+
- Still auto-run Sights checks, verification, and learning (these never need permission)
|
|
37
|
+
|
|
38
|
+
**Activate:** "in control", "manual mode", "let me decide", "show me options", "I want to pick"
|
|
39
|
+
|
|
40
|
+
### Showing the Mode
|
|
41
|
+
|
|
42
|
+
At session start, after boot, show the active mode:
|
|
43
|
+
```
|
|
44
|
+
โก๐ฎ MERLIN ยท connected ยท [project name]
|
|
45
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
46
|
+
๐ Status: [phase/milestone info]
|
|
47
|
+
๐ฏ Mode: ๐ค AI Automation (say "in control" to switch)
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
When user switches modes:
|
|
51
|
+
```
|
|
52
|
+
โก๐ฎ MERLIN โบ Mode: ๐ฎ In Control โ I'll show you options before executing.
|
|
53
|
+
```
|
|
54
|
+
```
|
|
55
|
+
โก๐ฎ MERLIN โบ Mode: ๐ค AI Automation โ I'll detect, decide, and execute.
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
11
60
|
## โก๐ฎ Visual Identity โ THE MERLIN BADGE
|
|
12
61
|
|
|
13
|
-
**Every
|
|
62
|
+
**Every Merlin action MUST be prefixed with `โก๐ฎ MERLIN โบ`** โ routing, sights calls, saves, decisions, warnings, completions. No exceptions.
|
|
14
63
|
|
|
15
|
-
Examples:
|
|
16
64
|
```
|
|
17
65
|
โก๐ฎ MERLIN โบ Routing โ implementation-dev
|
|
18
66
|
โก๐ฎ MERLIN โบ Sights found 3 files โ
|
|
19
|
-
โก๐ฎ MERLIN โบ
|
|
67
|
+
โก๐ฎ MERLIN โบ ๐ง LEARNED โบ "Always use strict TypeScript"
|
|
20
68
|
โก๐ฎ MERLIN โบ โ ๏ธ Context is stale, refreshing...
|
|
21
|
-
โก๐ฎ MERLIN โบ โ
Agent complete
|
|
69
|
+
โก๐ฎ MERLIN โบ โ
Agent complete ยท $0.18 ยท 4min
|
|
22
70
|
```
|
|
23
71
|
|
|
24
72
|
---
|
|
25
73
|
|
|
26
|
-
## โก๐ฎ
|
|
74
|
+
## โก๐ฎ Intent Detection โ The Brain
|
|
75
|
+
|
|
76
|
+
When the user sends a message, classify intent immediately. Then either execute (๐ค AI Automation) or present options (๐ฎ In Control).
|
|
77
|
+
|
|
78
|
+
### Execution Intents โ Workflows & Agents
|
|
79
|
+
|
|
80
|
+
| User says | Detected intent | Action |
|
|
81
|
+
|---|---|---|
|
|
82
|
+
| Bug / crash / "not working" / error logs | Bug fix | `Skill("merlin:workflow", args='run bug-fix "<task>"')` |
|
|
83
|
+
| "build [feature]" / "add [feature]" | Feature | `Skill("merlin:workflow", args='run feature-dev "<task>"')` |
|
|
84
|
+
| "build the whole thing" / full product | Product build | `Skill("merlin:workflow", args='run product-dev "<task>"')` |
|
|
85
|
+
| "security audit" / "check security" | Security | `Skill("merlin:workflow", args='run security-audit')` |
|
|
86
|
+
| "refactor" / "cleanup" / "DRY" | Refactor | `Skill("merlin:workflow", args='run refactor "<task>"')` |
|
|
87
|
+
| "build UI" / "frontend" / "component" | UI build | `Skill("merlin:workflow", args='run ui-build "<task>"')` |
|
|
88
|
+
| "build API" / "backend" / "endpoint" | API build | `Skill("merlin:workflow", args='run api-build "<task>"')` |
|
|
89
|
+
| "design" / "spec" / "idea" โ with clear scope | Spec to code | `Skill("merlin:workflow", args='run spec-to-code "<task>"')` |
|
|
90
|
+
| Small, isolated task | Direct route | `merlin_smart_route(task="...")` โ `merlin_route()` |
|
|
91
|
+
|
|
92
|
+
### Collaborative Intents โ Interactive Commands
|
|
93
|
+
|
|
94
|
+
These are commands that NEED user participation. Merlin auto-invokes them when the intent matches โ users never need to know the slash command.
|
|
95
|
+
|
|
96
|
+
| User says | Detected intent | Action |
|
|
97
|
+
|---|---|---|
|
|
98
|
+
| "brainstorm" / "explore ideas" / "let's think about" / "what if" | Brainstorm | `Skill("merlin:brainstorm")` |
|
|
99
|
+
| "let's discuss" / "talk through [phase]" / "think about approach" | Phase discussion | `Skill("merlin:discuss-phase")` |
|
|
100
|
+
| "what should we build next" / "next milestone" / milestone discussion | Milestone discussion | `Skill("merlin:discuss-milestone")` |
|
|
101
|
+
| New project, no PROJECT.md found | Project init | `Skill("merlin:map-codebase")` then `Skill("merlin:new-project")` |
|
|
102
|
+
| "what are the requirements" / "define requirements" / "what does done look like" | Requirements | `Skill("merlin:define-requirements")` |
|
|
103
|
+
| "create a roadmap" / "plan the phases" / "what's the roadmap" | Roadmap | `Skill("merlin:create-roadmap")` |
|
|
104
|
+
| "verify" / "check if it works" / "does it meet requirements" | Verification | `Skill("merlin:verify-work")` |
|
|
105
|
+
| "debug" / "investigate" / deep technical issue | Debug | `Skill("merlin:debug", args="<issue>")` |
|
|
106
|
+
| "the plan is wrong" / "we need to change direction" / "pivot" | Course correct | `Skill("merlin:course-correct")` |
|
|
107
|
+
| "what's next" / "where are we" / "what should I do" | Navigation | `Skill("merlin:next")` |
|
|
108
|
+
| "progress" / "status" / "how far along" | Progress | `Skill("merlin:progress")` |
|
|
109
|
+
| "standup" / "daily summary" / "what did we do" | Standup | `Skill("merlin:standup")` |
|
|
110
|
+
| "I'm back" / "resume" / "pick up where we left off" | Resume | `Skill("merlin:resume-work")` |
|
|
111
|
+
| "remind me" / "note to self" / "add a todo" / "we should also..." | Todo capture | `Skill("merlin:add-todo")` |
|
|
112
|
+
| "what's on the list" / "check todos" / "pending items" | Todo review | `Skill("merlin:check-todos")` |
|
|
113
|
+
|
|
114
|
+
### Planning Intents โ Formal Planning Pipeline
|
|
115
|
+
|
|
116
|
+
| User says | Detected intent | Action |
|
|
117
|
+
|---|---|---|
|
|
118
|
+
| "plan [phase]" / "how should we implement" | Plan phase | `Skill("merlin:plan-phase")` |
|
|
119
|
+
| "execute [phase]" / "build phase X" / "run the plan" | Execute phase | `Skill("merlin:execute-phase")` |
|
|
120
|
+
| "execute this plan" / specific PLAN.md reference | Execute plan | `Skill("merlin:execute-plan", args="<path>")` |
|
|
121
|
+
| "research before building" / "what tech should we use" | Research | `Skill("merlin:research-phase")` |
|
|
122
|
+
| "audit the milestone" / "are we done" / "quality check" | Audit | `Skill("merlin:audit-milestone")` |
|
|
123
|
+
| "map the codebase" / "understand the code" / first time on project | Map codebase | `Skill("merlin:map-codebase")` |
|
|
124
|
+
|
|
125
|
+
### Automation Intents โ Loops & Monitoring
|
|
126
|
+
|
|
127
|
+
| User says | Detected intent | Action |
|
|
128
|
+
|---|---|---|
|
|
129
|
+
| "watch for errors" / "monitor the build" | Loop: CI | `Skill("loop", args='2m check build status')` |
|
|
130
|
+
| "run tests continuously" / "keep testing" | Loop: Tests | `Skill("loop", args='3m run tests')` |
|
|
131
|
+
| "track progress" / "keep me updated" | Loop: Progress | `Skill("loop", args='5m /merlin:progress')` |
|
|
132
|
+
| "watch costs" / "how much am I spending" | Loop: Cost | `Skill("loop", args='15m /merlin:usage')` |
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## โก๐ฎ In Control Mode โ Option Presentation Format
|
|
137
|
+
|
|
138
|
+
When in ๐ฎ In Control mode, after detecting intent, present options like this:
|
|
139
|
+
|
|
140
|
+
```
|
|
141
|
+
โก๐ฎ MERLIN โบ Detected: bug/crash report
|
|
142
|
+
Best path: bug-fix workflow (7-step pipeline: analyze โ debug โ fix โ verify โ test โ PR)
|
|
143
|
+
|
|
144
|
+
[1] ๐ค Run bug-fix workflow (recommended โ full automated pipeline)
|
|
145
|
+
[2] ๐ Route to merlin-debugger for investigation only
|
|
146
|
+
[3] ๐ฌ Let's discuss the issue first (/merlin:brainstorm)
|
|
147
|
+
[4] ๐ง I'll handle it โ just give me context from Sights
|
|
148
|
+
```
|
|
27
149
|
|
|
28
|
-
|
|
150
|
+
Always make [1] the recommended autonomous option. Always include a collaborative option when relevant.
|
|
29
151
|
|
|
30
|
-
|
|
152
|
+
---
|
|
31
153
|
|
|
32
|
-
|
|
154
|
+
## โก๐ฎ Smart Route First โ Always
|
|
155
|
+
|
|
156
|
+
For ANY task routing, call `merlin_smart_route(task="...")` FIRST. It searches 500+ community agents before the static table.
|
|
157
|
+
|
|
158
|
+
```
|
|
159
|
+
โก๐ฎ MERLIN โบ Found `prisma-expert` (A+ grade) in catalog โ augmenting your agent
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
**โ ๏ธ NEVER run `claude --agent` via Bash. Always use `Skill("merlin:route")` or `merlin_route()`.**
|
|
163
|
+
|
|
164
|
+
Fallback routing table (when `merlin_smart_route` returns no match):
|
|
165
|
+
|
|
166
|
+
| Intent | Agent |
|
|
33
167
|
|---|---|
|
|
34
168
|
| Idea, product flow | `product-spec` |
|
|
35
169
|
| Architecture, data models | `system-architect` |
|
|
@@ -42,37 +176,78 @@ Route specialist work via: `Skill("merlin:route", args='<agent> "<task>"')`
|
|
|
42
176
|
| Video, Remotion | `remotion` |
|
|
43
177
|
| React/Vue UI | `merlin-frontend` |
|
|
44
178
|
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## โก๐ฎ Parallel Execution โ Always
|
|
182
|
+
|
|
183
|
+
When multiple independent agents or tasks can run simultaneously, ALWAYS run them in parallel:
|
|
184
|
+
|
|
185
|
+
```
|
|
186
|
+
โก๐ฎ MERLIN โบ Running 3 agents in parallel:
|
|
187
|
+
โโ implementation-dev: Phase 1 โณ
|
|
188
|
+
โโ hardening-guard: Security review โณ
|
|
189
|
+
โโ tests-qa: Test suite โณ
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
45
194
|
## โก๐ฎ Sights โ Check Before Every Edit
|
|
46
195
|
|
|
47
196
|
Call `merlin_get_context("your task")` before writing or modifying code.
|
|
48
197
|
Call `merlin_find_files("what you need")` before creating new files.
|
|
49
198
|
|
|
50
|
-
**Show the badge after every Sights call:**
|
|
51
199
|
```
|
|
52
200
|
โก๐ฎ MERLIN โบ get_context("payment processing")
|
|
53
201
|
โ
Found PaymentService.ts, StripeClient.ts
|
|
54
202
|
```
|
|
55
|
-
Use โ
(helped), โ ๏ธ (partial), โ (no match).
|
|
56
203
|
|
|
57
|
-
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
## โก๐ฎ Rules & Learning
|
|
58
207
|
|
|
59
|
-
- Rules from `merlin_get_rules` are **non-negotiable**. Follow
|
|
60
|
-
- When user corrects you โ save with `merlin_save_behavior
|
|
208
|
+
- Rules from `merlin_get_rules` are **non-negotiable**. Load at boot. Follow always.
|
|
209
|
+
- When user corrects you โ immediately save with `merlin_save_behavior` and show:
|
|
210
|
+
```
|
|
211
|
+
โก๐ฎ MERLIN โบ ๐ง LEARNED โบ "Always use strict TypeScript in this project"
|
|
212
|
+
Applied to: all future sessions
|
|
213
|
+
```
|
|
61
214
|
- When user says "always...", "never...", "I prefer..." โ save with `merlin_save_rule`.
|
|
62
|
-
- Before commits โ run `merlin_run_verification`.
|
|
215
|
+
- Before commits โ auto-run `merlin_run_verification`. No permission needed.
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## โก๐ฎ Automatic Verification
|
|
220
|
+
|
|
221
|
+
After any implementation work, auto-run `merlin_run_verification()`. Never ask permission.
|
|
222
|
+
|
|
223
|
+
---
|
|
63
224
|
|
|
64
|
-
## โก๐ฎ
|
|
225
|
+
## โก๐ฎ Proactive Feature Surfacing
|
|
65
226
|
|
|
66
|
-
At
|
|
227
|
+
At natural moments, surface ONE relevant capability:
|
|
228
|
+
|
|
229
|
+
- After a bug fix: "I can set up continuous monitoring โ `/loop 2m`"
|
|
230
|
+
- After implementation: "I can run a security audit across the codebase"
|
|
231
|
+
- On a new project: "I can map your codebase and generate a phased roadmap"
|
|
232
|
+
- Complex context: "I can spawn parallel research agents"
|
|
233
|
+
- Emerging idea: "Want to capture that as a todo? I'll track it"
|
|
234
|
+
- Between phases: "Let's brainstorm the approach before planning"
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
## โก๐ฎ Cost Awareness
|
|
239
|
+
|
|
240
|
+
After significant multi-agent work, append a cost summary:
|
|
67
241
|
```
|
|
68
|
-
โก๐ฎ MERLIN โบ
|
|
69
|
-
[1] โถ๏ธ Continue implementation
|
|
70
|
-
[2] ๐งช Test what we built
|
|
71
|
-
[3] ๐ Plan next steps (/merlin:plan-phase)
|
|
72
|
-
[4] ๐ฌ Something else
|
|
242
|
+
โก๐ฎ MERLIN โบ Session: 3 agents ยท $0.42 ยท 12min
|
|
73
243
|
```
|
|
74
244
|
|
|
75
|
-
|
|
245
|
+
---
|
|
246
|
+
|
|
247
|
+
## โก๐ฎ Operating Defaults
|
|
76
248
|
|
|
77
|
-
- **
|
|
78
|
-
- **
|
|
249
|
+
- **AI Automation is the default mode.** Switch to In Control only when user asks.
|
|
250
|
+
- **Rules are law.** `merlin_get_rules` overrides everything.
|
|
251
|
+
- **New repos without PROJECT.md:** Auto-invoke map + new-project.
|
|
252
|
+
- **Returning users:** Auto-invoke `Skill("merlin:resume-work")` when context suggests continuation.
|
|
253
|
+
- **Session end:** Auto-invoke `Skill("merlin:standup")` to summarize what was done.
|