create-merlin-brain 3.11.0 → 3.13.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 (147) hide show
  1. package/bin/install.cjs +156 -32
  2. package/bin/runtime-adapters.cjs +396 -0
  3. package/dist/server/api/types.d.ts +7 -0
  4. package/dist/server/api/types.d.ts.map +1 -1
  5. package/dist/server/cost/tracker.d.ts +38 -2
  6. package/dist/server/cost/tracker.d.ts.map +1 -1
  7. package/dist/server/cost/tracker.js +87 -15
  8. package/dist/server/cost/tracker.js.map +1 -1
  9. package/dist/server/server.d.ts.map +1 -1
  10. package/dist/server/server.js +74 -30
  11. package/dist/server/server.js.map +1 -1
  12. package/dist/server/tools/__tests__/augmentation.test.d.ts +8 -0
  13. package/dist/server/tools/__tests__/augmentation.test.d.ts.map +1 -0
  14. package/dist/server/tools/__tests__/augmentation.test.js +76 -0
  15. package/dist/server/tools/__tests__/augmentation.test.js.map +1 -0
  16. package/dist/server/tools/__tests__/route-helpers.test.d.ts +5 -0
  17. package/dist/server/tools/__tests__/route-helpers.test.d.ts.map +1 -0
  18. package/dist/server/tools/__tests__/route-helpers.test.js +49 -0
  19. package/dist/server/tools/__tests__/route-helpers.test.js.map +1 -0
  20. package/dist/server/tools/adaptive.js +1 -1
  21. package/dist/server/tools/adaptive.js.map +1 -1
  22. package/dist/server/tools/agent-spawn.d.ts +25 -0
  23. package/dist/server/tools/agent-spawn.d.ts.map +1 -0
  24. package/dist/server/tools/agent-spawn.js +95 -0
  25. package/dist/server/tools/agent-spawn.js.map +1 -0
  26. package/dist/server/tools/agents-index.js +3 -3
  27. package/dist/server/tools/agents-index.js.map +1 -1
  28. package/dist/server/tools/agents.js +5 -5
  29. package/dist/server/tools/agents.js.map +1 -1
  30. package/dist/server/tools/augmentation.d.ts +45 -0
  31. package/dist/server/tools/augmentation.d.ts.map +1 -0
  32. package/dist/server/tools/augmentation.js +167 -0
  33. package/dist/server/tools/augmentation.js.map +1 -0
  34. package/dist/server/tools/behaviors.js +4 -4
  35. package/dist/server/tools/behaviors.js.map +1 -1
  36. package/dist/server/tools/context.js +7 -7
  37. package/dist/server/tools/context.js.map +1 -1
  38. package/dist/server/tools/cost.d.ts +3 -1
  39. package/dist/server/tools/cost.d.ts.map +1 -1
  40. package/dist/server/tools/cost.js +66 -13
  41. package/dist/server/tools/cost.js.map +1 -1
  42. package/dist/server/tools/discoveries.js +6 -6
  43. package/dist/server/tools/discoveries.js.map +1 -1
  44. package/dist/server/tools/index.d.ts +4 -0
  45. package/dist/server/tools/index.d.ts.map +1 -1
  46. package/dist/server/tools/index.js +4 -0
  47. package/dist/server/tools/index.js.map +1 -1
  48. package/dist/server/tools/learning.d.ts +12 -0
  49. package/dist/server/tools/learning.d.ts.map +1 -0
  50. package/dist/server/tools/learning.js +269 -0
  51. package/dist/server/tools/learning.js.map +1 -0
  52. package/dist/server/tools/project.js +7 -7
  53. package/dist/server/tools/project.js.map +1 -1
  54. package/dist/server/tools/promote.d.ts +11 -0
  55. package/dist/server/tools/promote.d.ts.map +1 -0
  56. package/dist/server/tools/promote.js +315 -0
  57. package/dist/server/tools/promote.js.map +1 -0
  58. package/dist/server/tools/route-helpers.d.ts +45 -0
  59. package/dist/server/tools/route-helpers.d.ts.map +1 -0
  60. package/dist/server/tools/route-helpers.js +93 -0
  61. package/dist/server/tools/route-helpers.js.map +1 -0
  62. package/dist/server/tools/route.d.ts +4 -3
  63. package/dist/server/tools/route.d.ts.map +1 -1
  64. package/dist/server/tools/route.js +80 -284
  65. package/dist/server/tools/route.js.map +1 -1
  66. package/dist/server/tools/session-restore.d.ts +18 -0
  67. package/dist/server/tools/session-restore.d.ts.map +1 -0
  68. package/dist/server/tools/session-restore.js +154 -0
  69. package/dist/server/tools/session-restore.js.map +1 -0
  70. package/dist/server/tools/session-search.d.ts +16 -0
  71. package/dist/server/tools/session-search.d.ts.map +1 -0
  72. package/dist/server/tools/session-search.js +240 -0
  73. package/dist/server/tools/session-search.js.map +1 -0
  74. package/dist/server/tools/sights-index.js +2 -2
  75. package/dist/server/tools/sights-index.js.map +1 -1
  76. package/dist/server/tools/smart-route.d.ts.map +1 -1
  77. package/dist/server/tools/smart-route.js +4 -5
  78. package/dist/server/tools/smart-route.js.map +1 -1
  79. package/dist/server/tools/verification.js +1 -1
  80. package/dist/server/tools/verification.js.map +1 -1
  81. package/files/agents/code-organization-supervisor.md +1 -0
  82. package/files/agents/context-guardian.md +1 -0
  83. package/files/agents/docs-keeper.md +1 -0
  84. package/files/agents/dry-refactor.md +1 -0
  85. package/files/agents/elite-code-refactorer.md +1 -0
  86. package/files/agents/hardening-guard.md +1 -0
  87. package/files/agents/implementation-dev.md +1 -0
  88. package/files/agents/merlin-access-control-reviewer.md +248 -0
  89. package/files/agents/merlin-codebase-mapper.md +1 -1
  90. package/files/agents/merlin-dependency-auditor.md +216 -0
  91. package/files/agents/merlin-executor.md +1 -0
  92. package/files/agents/merlin-input-validator.md +247 -0
  93. package/files/agents/merlin-reviewer.md +1 -0
  94. package/files/agents/merlin-sast-reviewer.md +182 -0
  95. package/files/agents/merlin-secret-scanner.md +203 -0
  96. package/files/agents/tests-qa.md +1 -0
  97. package/files/commands/merlin/execute-phase.md +94 -197
  98. package/files/commands/merlin/execute-plan.md +116 -180
  99. package/files/commands/merlin/health.md +385 -0
  100. package/files/commands/merlin/loop-recipes.md +93 -36
  101. package/files/commands/merlin/optimize-prompts.md +158 -0
  102. package/files/commands/merlin/profiles.md +215 -0
  103. package/files/commands/merlin/promote.md +176 -0
  104. package/files/commands/merlin/quick.md +229 -0
  105. package/files/commands/merlin/resume-work.md +27 -1
  106. package/files/commands/merlin/route.md +43 -1
  107. package/files/commands/merlin/sandbox.md +359 -0
  108. package/files/commands/merlin/usage.md +55 -0
  109. package/files/docker/Dockerfile.merlin +20 -0
  110. package/files/docker/docker-compose.merlin.yml +23 -0
  111. package/files/hook-templates/auto-commit.sh +64 -0
  112. package/files/hook-templates/auto-format.sh +95 -0
  113. package/files/hook-templates/auto-test.sh +117 -0
  114. package/files/hook-templates/branch-protection.sh +72 -0
  115. package/files/hook-templates/changelog-reminder.sh +76 -0
  116. package/files/hook-templates/complexity-check.sh +112 -0
  117. package/files/hook-templates/import-audit.sh +83 -0
  118. package/files/hook-templates/license-header.sh +84 -0
  119. package/files/hook-templates/pr-description.sh +100 -0
  120. package/files/hook-templates/todo-tracker.sh +80 -0
  121. package/files/hooks/check-file-size.sh +17 -4
  122. package/files/hooks/config-change.sh +44 -16
  123. package/files/hooks/instructions-loaded.sh +22 -5
  124. package/files/hooks/notify-desktop.sh +157 -0
  125. package/files/hooks/notify-webhook.sh +141 -0
  126. package/files/hooks/pre-edit-sights-check.sh +76 -9
  127. package/files/hooks/security-scanner.sh +153 -0
  128. package/files/hooks/session-end-memory-sync.sh +97 -0
  129. package/files/hooks/session-end.sh +274 -1
  130. package/files/hooks/session-start.sh +19 -6
  131. package/files/hooks/smart-approve.sh +270 -0
  132. package/files/hooks/teammate-idle-verify.sh +87 -12
  133. package/files/hooks/worktree-create.sh +20 -3
  134. package/files/hooks/worktree-remove.sh +21 -3
  135. package/files/merlin/references/plan-format.md +37 -9
  136. package/files/merlin/sandbox.json +9 -0
  137. package/files/merlin/security.json +11 -0
  138. package/files/merlin/templates/ci/docs-update.yml +81 -0
  139. package/files/merlin/templates/ci/pr-review.yml +50 -0
  140. package/files/merlin/templates/ci/security-audit.yml +74 -0
  141. package/files/merlin/templates/config.json +9 -1
  142. package/files/rules/api-rules.md +30 -0
  143. package/files/rules/frontend-rules.md +25 -0
  144. package/files/rules/hooks-rules.md +36 -0
  145. package/files/rules/mcp-rules.md +30 -0
  146. package/files/rules/worker-rules.md +29 -0
  147. package/package.json +5 -2
@@ -0,0 +1,269 @@
1
+ /**
2
+ * Prompt Learning Engine — RL-inspired agent effectiveness analysis
3
+ *
4
+ * Reads outcomes.jsonl (written by session-end hook) and produces per-agent
5
+ * success-rate scores with 30-day recency weighting. Identifies low-scoring
6
+ * agents and generates actionable prompt-improvement suggestions.
7
+ *
8
+ * NEVER modifies prompts — suggestions only, user must apply manually.
9
+ */
10
+ import { z } from 'zod';
11
+ import { createReadStream, existsSync } from 'fs';
12
+ import { createInterface } from 'readline';
13
+ import { join } from 'path';
14
+ import { homedir } from 'os';
15
+ /** Threshold below which an agent is flagged for prompt improvement */
16
+ const LOW_SCORE_THRESHOLD = 70;
17
+ /** Recency window for boosted scoring (days) */
18
+ const RECENCY_WINDOW_DAYS = 30;
19
+ /** Minimum sessions before we trust the score */
20
+ const MIN_SESSIONS_FOR_SCORE = 3;
21
+ /** High-confidence behavior threshold (matches promote.ts) */
22
+ const HIGH_CONFIDENCE_BEHAVIOR = 0.85;
23
+ // ── Parsing helpers ──────────────────────────────────────────────────────────
24
+ /**
25
+ * Read outcomes.jsonl line by line.
26
+ * Returns parsed records, silently skips malformed lines.
27
+ */
28
+ async function readOutcomes() {
29
+ const file = join(homedir(), '.claude', 'merlin', 'learning', 'outcomes.jsonl');
30
+ if (!existsSync(file))
31
+ return [];
32
+ const records = [];
33
+ const rl = createInterface({ input: createReadStream(file), crlfDelay: Infinity });
34
+ for await (const line of rl) {
35
+ const trimmed = line.trim();
36
+ if (!trimmed)
37
+ continue;
38
+ try {
39
+ const parsed = JSON.parse(trimmed);
40
+ if (typeof parsed.timestamp === 'string' &&
41
+ typeof parsed.agent === 'string' &&
42
+ (parsed.outcome === 'success' || parsed.outcome === 'partial' || parsed.outcome === 'failure')) {
43
+ records.push({
44
+ timestamp: parsed.timestamp,
45
+ agent: parsed.agent,
46
+ outcome: parsed.outcome,
47
+ files_changed: typeof parsed.files_changed === 'number' ? parsed.files_changed : 0,
48
+ duration: typeof parsed.duration === 'number' ? parsed.duration : 0,
49
+ });
50
+ }
51
+ }
52
+ catch {
53
+ // Skip malformed line
54
+ }
55
+ }
56
+ return records;
57
+ }
58
+ /**
59
+ * Compute per-agent stats with 30-day recency weighting.
60
+ * Score = (allTimeSuccessRate * 0.6) + (recentSuccessRate * 0.4)
61
+ * Falls back to allTimeSuccessRate when recent window has < MIN_SESSIONS records.
62
+ */
63
+ function computeAgentStats(records) {
64
+ const now = Date.now();
65
+ const recentCutoff = now - RECENCY_WINDOW_DAYS * 24 * 60 * 60 * 1000;
66
+ const byAgent = new Map();
67
+ for (const r of records) {
68
+ if (r.agent === 'unknown')
69
+ continue;
70
+ let s = byAgent.get(r.agent);
71
+ if (!s) {
72
+ s = { total: 0, successes: 0, partials: 0, failures: 0, recentTotal: 0, recentSuccesses: 0, failureEpochs: [] };
73
+ byAgent.set(r.agent, s);
74
+ }
75
+ s.total++;
76
+ if (r.outcome === 'success')
77
+ s.successes++;
78
+ else if (r.outcome === 'partial')
79
+ s.partials++;
80
+ else
81
+ s.failures++;
82
+ const epoch = new Date(r.timestamp).getTime();
83
+ const isRecent = !isNaN(epoch) && epoch >= recentCutoff;
84
+ if (isRecent) {
85
+ s.recentTotal++;
86
+ if (r.outcome === 'success')
87
+ s.recentSuccesses++;
88
+ }
89
+ if (r.outcome === 'failure' || r.outcome === 'partial') {
90
+ if (!isNaN(epoch))
91
+ s.failureEpochs.push(epoch);
92
+ }
93
+ }
94
+ const stats = [];
95
+ for (const [agent, s] of byAgent) {
96
+ const allTimeRate = s.total > 0 ? (s.successes / s.total) * 100 : 0;
97
+ const recentRate = s.recentTotal >= MIN_SESSIONS_FOR_SCORE
98
+ ? (s.recentSuccesses / s.recentTotal) * 100
99
+ : null;
100
+ const score = recentRate !== null
101
+ ? allTimeRate * 0.6 + recentRate * 0.4
102
+ : allTimeRate;
103
+ stats.push({
104
+ agent,
105
+ total: s.total,
106
+ successes: s.successes,
107
+ partials: s.partials,
108
+ failures: s.failures,
109
+ recentTotal: s.recentTotal,
110
+ recentSuccesses: s.recentSuccesses,
111
+ score: Math.round(score),
112
+ recentScore: recentRate !== null ? Math.round(recentRate) : null,
113
+ failureEpochs: s.failureEpochs,
114
+ });
115
+ }
116
+ // Sort by score ascending (worst first in the low-score section)
117
+ return stats.sort((a, b) => a.score - b.score);
118
+ }
119
+ /**
120
+ * For a low-scoring agent, generate a prompt improvement suggestion.
121
+ * Based purely on observable stats — no AI analysis.
122
+ */
123
+ function generateSuggestion(stats) {
124
+ const failureRate = stats.total > 0 ? Math.round((stats.failures / stats.total) * 100) : 0;
125
+ const partialRate = stats.total > 0 ? Math.round((stats.partials / stats.total) * 100) : 0;
126
+ // Determine dominant failure pattern
127
+ let text;
128
+ let evidence;
129
+ let confidence;
130
+ if (failureRate >= 40) {
131
+ // Mostly hard failures (no files changed)
132
+ text = `Add explicit scope guidance: "Always confirm the working directory and targeted files before making changes."`;
133
+ evidence = `${stats.failures} of ${stats.total} sessions ended with no file changes (${failureRate}% failure rate)`;
134
+ confidence = failureRate >= 60 ? 'high' : 'medium';
135
+ }
136
+ else if (partialRate >= 30) {
137
+ // Mostly partials — work done but with errors
138
+ text = `Add error-handling reminder: "After completing the task, verify no errors remain. Fix any issues before ending the session."`;
139
+ evidence = `${stats.partials} of ${stats.total} sessions ended with warnings or errors (${partialRate}% partial rate)`;
140
+ confidence = partialRate >= 50 ? 'high' : 'medium';
141
+ }
142
+ else if (stats.recentScore !== null && stats.recentScore < stats.score - 15) {
143
+ // Score degrading recently
144
+ text = `Score degraded recently. Review recent tasks for pattern: the agent may need updated context about recent codebase changes.`;
145
+ evidence = `All-time score ${stats.score}% but last-30d score dropped to ${stats.recentScore}%`;
146
+ confidence = 'medium';
147
+ }
148
+ else {
149
+ // General low score
150
+ text = `Add a verification step: "Before ending the session, run a quick sanity check (e.g., lint, type-check, or test) and confirm the primary goal was achieved."`;
151
+ evidence = `${stats.total} sessions tracked, composite score ${stats.score}% is below threshold`;
152
+ confidence = 'low';
153
+ }
154
+ return { agent: stats.agent, score: stats.score, recentScore: stats.recentScore, text, evidence, confidence };
155
+ }
156
+ // ── Report formatter ──────────────────────────────────────────────────────────
157
+ function formatReport(stats, suggestions, behaviorHints) {
158
+ if (stats.length === 0) {
159
+ return [
160
+ '## Agent Effectiveness Scores',
161
+ '',
162
+ 'No outcome data yet. Outcome tracking begins automatically at session end.',
163
+ 'Run a few sessions with `/merlin:route` to start collecting data.',
164
+ ].join('\n');
165
+ }
166
+ // Sort for table: highest score first
167
+ const tableStats = [...stats].sort((a, b) => b.score - a.score);
168
+ let out = '## Agent Effectiveness Scores\n\n';
169
+ out += '| Agent | Score | Routings | Last 30d |\n';
170
+ out += '|-------|-------|----------|----------|\n';
171
+ for (const s of tableStats) {
172
+ const recentCell = s.recentScore !== null
173
+ ? `${s.recentScore}%${s.recentScore < LOW_SCORE_THRESHOLD ? ' ⚠️' : ''}`
174
+ : `_< ${MIN_SESSIONS_FOR_SCORE} sessions_`;
175
+ const scoreCell = `${s.score}%${s.total < MIN_SESSIONS_FOR_SCORE ? ' *' : ''}`;
176
+ out += `| ${s.agent} | ${scoreCell} | ${s.total} | ${recentCell} |\n`;
177
+ }
178
+ if (stats.some(s => s.total < MIN_SESSIONS_FOR_SCORE)) {
179
+ out += `\n_* Score based on fewer than ${MIN_SESSIONS_FOR_SCORE} sessions — low confidence._\n`;
180
+ }
181
+ if (suggestions.length > 0) {
182
+ out += '\n## Suggestions\n';
183
+ for (const sg of suggestions) {
184
+ out += `\n### ${sg.agent} (score: ${sg.score}%)\n`;
185
+ if (sg.recentScore !== null) {
186
+ out += `- **Last 30d score:** ${sg.recentScore}%\n`;
187
+ }
188
+ out += `- **Suggestion:** ${sg.text}\n`;
189
+ out += `- **Evidence:** ${sg.evidence}\n`;
190
+ out += `- **Confidence:** ${sg.confidence}\n`;
191
+ }
192
+ }
193
+ else {
194
+ out += '\n## Suggestions\n\nAll tracked agents are performing above the threshold. No prompt changes needed.\n';
195
+ }
196
+ if (behaviorHints.length > 0) {
197
+ out += '\n## High-Confidence Behaviors Ready for Agent Prompts\n\n';
198
+ for (const hint of behaviorHints) {
199
+ out += `- ${hint}\n`;
200
+ }
201
+ out += `\nConsider adding these to the relevant agent's .md file to encode proven patterns permanently.\n`;
202
+ out += `Use \`/merlin:promote\` to convert them into skills first, then reference from the agent prompt.\n`;
203
+ }
204
+ return out;
205
+ }
206
+ // ── Tool registration ─────────────────────────────────────────────────────────
207
+ export function registerLearningTools(ctx) {
208
+ const { server, client, resolveRepoId } = ctx;
209
+ // ── DEFERRED tool: on-demand prompt optimization analysis ─────────────────
210
+ // Tool: merlin_prompt_suggestions
211
+ server.tool('merlin_prompt_suggestions', 'Analyze agent prompt effectiveness and suggest improvements. Shows per-agent success rates (scored from ~/.claude/merlin/learning/outcomes.jsonl) and actionable suggestions based on failure patterns. Also surfaces high-confidence learned behaviors that are ready to be embedded into agent prompts. Use to optimize your Merlin setup. NEVER auto-modifies prompts — suggestions only.', {
212
+ agentFilter: z.string().optional().describe('Filter report to a specific agent name (optional)'),
213
+ repoUrl: z.string().optional().describe('GitHub URL of the repository (for behavior hints)'),
214
+ }, async ({ agentFilter, repoUrl }) => {
215
+ try {
216
+ // 1. Read and compute outcome stats
217
+ const allRecords = await readOutcomes();
218
+ const filtered = agentFilter
219
+ ? allRecords.filter(r => r.agent === agentFilter)
220
+ : allRecords;
221
+ let stats = computeAgentStats(filtered);
222
+ // If filtering, limit table to that one agent
223
+ if (agentFilter && stats.length === 0) {
224
+ return {
225
+ content: [{
226
+ type: 'text',
227
+ text: `No outcome data found for agent "${agentFilter}". Data is collected automatically at session end.`,
228
+ }],
229
+ };
230
+ }
231
+ // 2. Identify low-scoring agents that have enough data
232
+ const lowScoring = stats.filter(s => s.total >= MIN_SESSIONS_FOR_SCORE && s.score < LOW_SCORE_THRESHOLD);
233
+ const suggestions = lowScoring.map(generateSuggestion);
234
+ // 3. Fetch high-confidence behavior hints (best-effort, non-blocking)
235
+ const behaviorHints = [];
236
+ try {
237
+ const repoId = await resolveRepoId(repoUrl);
238
+ if (repoId) {
239
+ const result = await client.getBehaviors(repoId, { minConfidence: HIGH_CONFIDENCE_BEHAVIOR });
240
+ if (result.behaviors && result.behaviors.length > 0) {
241
+ for (const b of result.behaviors.slice(0, 5)) {
242
+ const confidencePct = Math.round(b.confidence * 100);
243
+ behaviorHints.push(`Behavior "${b.pattern}" has ${confidencePct}% confidence. ` +
244
+ `Consider adding to ${agentFilter ?? 'relevant agent'} prompt: "${b.action}"`);
245
+ }
246
+ }
247
+ }
248
+ }
249
+ catch {
250
+ // Behavior hints are optional — never block the report
251
+ }
252
+ // 4. Format and return report
253
+ const report = formatReport(stats, suggestions, behaviorHints);
254
+ return {
255
+ content: [{ type: 'text', text: report }],
256
+ };
257
+ }
258
+ catch (error) {
259
+ return {
260
+ content: [{
261
+ type: 'text',
262
+ text: `Error generating prompt suggestions: ${error instanceof Error ? error.message : 'Unknown error'}`,
263
+ }],
264
+ isError: true,
265
+ };
266
+ }
267
+ });
268
+ }
269
+ //# sourceMappingURL=learning.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"learning.js","sourceRoot":"","sources":["../../../src/server/tools/learning.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@ export function registerProjectTools(server, getClient, resolveRepoId, getRepoRo
19
19
  // ============================================================
20
20
  // TOOL: merlin_sync_planning
21
21
  // ============================================================
22
- server.tool('merlin_sync_planning', 'Sync local .planning/ folder (PROJECT.md, ROADMAP.md, REQUIREMENTS.md) to Merlin cloud storage. Enables team pickup, cross-session resume, and cross-machine coordination. Call after creating or modifying planning documents. Supports push (local to cloud), pull (cloud to local), or bidirectional merge.', {
22
+ server.tool('merlin_sync_planning', 'Sync local .planning/ folder (PROJECT.md, ROADMAP.md, REQUIREMENTS.md) to/from Merlin cloud storage. Enables team handoff, cross-session resume, and cross-machine coordination. Supports push (local to cloud), pull (cloud to local), or bidirectional merge. Also cleans up stale cloud entries when local files are deleted. Call after creating or updating planning documents.', {
23
23
  direction: z.enum(['push', 'pull', 'both']).optional().default('push')
24
24
  .describe('push: local→cloud, pull: cloud→local, both: bidirectional merge'),
25
25
  repoUrl: z.string().optional().describe('GitHub URL of the repository'),
@@ -136,7 +136,7 @@ export function registerProjectTools(server, getClient, resolveRepoId, getRepoRo
136
136
  // ============================================================
137
137
  // TOOL: merlin_get_project_status
138
138
  // ============================================================
139
- server.tool('merlin_get_project_status', 'CALL THIS SECOND at session start (after merlin_get_selected_repo). Returns current project health: task progress (pending/in-progress/completed counts), planning artifacts (PROJECT.md, ROADMAP.md), active blockers, last checkpoint for resuming work, and recommended next action. Show results to user before starting any work.', {
139
+ server.tool('merlin_get_project_status', 'CALL THIS SECOND at session start (after merlin_get_selected_repo). Returns full project health snapshot: task backlog progress (pending/in-progress/completed counts + progress bar), planning artifact status (PROJECT.md, ROADMAP.md, REQUIREMENTS.md), active blockers, last checkpoint for resuming interrupted work, and recommended next action command. Show results to the user before starting any work.', {
140
140
  repoUrl: z.string().optional().describe('GitHub URL of the repository'),
141
141
  }, async ({ repoUrl }) => {
142
142
  try {
@@ -246,7 +246,7 @@ export function registerProjectTools(server, getClient, resolveRepoId, getRepoRo
246
246
  // ============================================================
247
247
  // TOOL: merlin_get_next_task
248
248
  // ============================================================
249
- server.tool('merlin_get_next_task', 'Get the highest-priority unblocked pending task with pre-assembled context for immediate execution. Returns task title, description, phase, plan, relevant spec sections from REQUIREMENTS.md, and a Sights how-to guide. Call before starting implementation to pick up the correct next task without reading the full task list.', {
249
+ server.tool('merlin_get_next_task', 'Get the highest-priority unblocked pending task ready for immediate execution. Returns task title, description, phase, plan number, relevant spec section from REQUIREMENTS.md, and a Sights how-to guide pre-assembled. Call when beginning implementation work to pick up the correct next task without reading the entire backlog. Resumes in-progress tasks if any exist.', {
250
250
  repoUrl: z.string().optional().describe('GitHub URL of the repository'),
251
251
  }, async ({ repoUrl }) => {
252
252
  try {
@@ -331,7 +331,7 @@ export function registerProjectTools(server, getClient, resolveRepoId, getRepoRo
331
331
  // ============================================================
332
332
  // TOOL: merlin_ensure_tasks
333
333
  // ============================================================
334
- server.tool('merlin_ensure_tasks', 'Verify the task backlog is healthy and non-empty. If backlog is empty but project is not marked complete, returns a warning to trigger milestone planning via /merlin:discuss-milestone. Call periodically during autonomous loop execution to prevent stalling. Returns backlog counts (pending, in-progress, total) or action prompt.', {
334
+ server.tool('merlin_ensure_tasks', 'Health check: verify the task backlog is non-empty before continuing autonomous loop execution. If the backlog is empty but the project is not marked complete, returns a blocking warning to trigger milestone planning via /merlin:discuss-milestone. Returns pending/in-progress/total counts when healthy. Use periodically during long autonomous sessions to prevent stalling when tasks run out.', {
335
335
  repoUrl: z.string().optional().describe('GitHub URL of the repository'),
336
336
  }, async ({ repoUrl }) => {
337
337
  try {
@@ -392,7 +392,7 @@ export function registerProjectTools(server, getClient, resolveRepoId, getRepoRo
392
392
  // ============================================================
393
393
  // TOOL: merlin_save_checkpoint
394
394
  // ============================================================
395
- server.tool('merlin_save_checkpoint', 'Save a resumable checkpoint before stopping work. Records current task, exact stopping point, next steps, open files, blockers, and decisions made this session. Enables any agent or team member to resume work from exactly where you left off by calling merlin_get_project_status. Always call before ending a session mid-task.', {
395
+ server.tool('merlin_save_checkpoint', 'Save a resumable checkpoint before ending a session mid-task. Records current task, exact stopping point, next steps, open files being edited, blockers encountered, and decisions made this session. Any future agent or team member resumes from exactly this checkpoint via merlin_get_project_status. ALWAYS call before ending an incomplete session.', {
396
396
  currentTask: z.string().describe('What task/work is currently in progress'),
397
397
  phase: z.string().optional().describe('Current phase'),
398
398
  plan: z.string().optional().describe('Current plan'),
@@ -469,7 +469,7 @@ export function registerProjectTools(server, getClient, resolveRepoId, getRepoRo
469
469
  // ============================================================
470
470
  // TOOL: merlin_mark_complete
471
471
  // ============================================================
472
- server.tool('merlin_mark_complete', 'Mark the project as fully complete after all planned work is done and verified. Records completion summary, list of milestones delivered, and lessons learned. Stops the "always have tasks" enforcement loop. Only call when ALL work is confirmed complete — cannot be undone without manual state edits.', {
472
+ server.tool('merlin_mark_complete', 'Mark a project milestone or entire project as fully complete after all planned work is verified. Records completion summary, milestones delivered, and lessons learned. Stops the backlog-enforcement loop that requires tasks to always exist. Only call when ALL work is confirmed donethis cannot be undone without manual state edits. Use after merlin_run_verification passes.', {
473
473
  summary: z.string().describe('Summary of what was built'),
474
474
  milestonesCompleted: z.array(z.string()).optional().describe('List of completed milestones'),
475
475
  lessonsLearned: z.array(z.string()).optional().describe('Key lessons from this project'),
@@ -521,7 +521,7 @@ export function registerProjectTools(server, getClient, resolveRepoId, getRepoRo
521
521
  // ============================================================
522
522
  // TOOL: merlin_sync_native_tasks
523
523
  // ============================================================
524
- server.tool('merlin_sync_native_tasks', 'Sync Claude Code native task lists (~/.claude/tasks/) with Merlin cloud storage. Enables dashboard visibility, cross-machine coordination, and team task tracking. Supports push (native to cloud), pull (cloud to native), or bidirectional sync. Call after planning sessions or when task list changes. Requires CLAUDE_CODE_TASK_LIST_ID env var or taskListId parameter.', {
524
+ server.tool('merlin_sync_native_tasks', 'Sync Claude Code native task lists (~/.claude/tasks/*.json) with Merlin cloud storage for team visibility and cross-machine coordination. Supports push (native cloud), pull (cloud native task list), or bidirectional sync. Requires CLAUDE_CODE_TASK_LIST_ID env var or taskListId parameter. Call after planning sessions, when switching machines, or to share task progress with team members.', {
525
525
  taskListId: z.string().optional().describe('Claude task list ID (auto-detected from CLAUDE_CODE_TASK_LIST_ID env var if not provided)'),
526
526
  direction: z.enum(['push', 'pull', 'both']).optional().default('push')
527
527
  .describe('push: local→cloud, pull: cloud→local, both: bidirectional'),
@@ -1 +1 @@
1
- {"version":3,"file":"project.js","sourceRoot":"","sources":["../../../src/server/tools/project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../../src/server/tools/project.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Behavior → Skill Promotion
3
+ * MCP tool for promoting high-confidence learned behaviors into reusable skills/agents.
4
+ * Behaviors at confidence >= 0.85 are flagged as promotion candidates.
5
+ *
6
+ * Clustering: behaviors with overlapping trigger keywords are grouped into
7
+ * a single skill with multiple actions, keeping the agent catalog focused.
8
+ */
9
+ import type { ToolContext } from './types.js';
10
+ export declare function registerPromoteTools(ctx: ToolContext): void;
11
+ //# sourceMappingURL=promote.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promote.d.ts","sourceRoot":"","sources":["../../../src/server/tools/promote.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAwL9C,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAyL3D"}