@vibescope/mcp-server 0.5.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/CHANGELOG.md +84 -84
  2. package/README.md +194 -194
  3. package/dist/api-client/tasks.d.ts +1 -0
  4. package/dist/cli-init.js +21 -21
  5. package/dist/cli.js +26 -26
  6. package/dist/handlers/tasks.js +7 -1
  7. package/dist/handlers/tool-docs.js +1216 -1216
  8. package/dist/index.js +73 -73
  9. package/dist/templates/agent-guidelines.d.ts +1 -1
  10. package/dist/templates/agent-guidelines.js +205 -205
  11. package/dist/templates/help-content.js +1621 -1621
  12. package/dist/tools/bodies-of-work.js +6 -6
  13. package/dist/tools/cloud-agents.js +22 -22
  14. package/dist/tools/milestones.js +2 -2
  15. package/dist/tools/requests.js +1 -1
  16. package/dist/tools/session.js +11 -11
  17. package/dist/tools/sprints.js +9 -9
  18. package/dist/tools/tasks.js +43 -35
  19. package/dist/tools/worktrees.js +14 -14
  20. package/dist/utils.js +11 -11
  21. package/docs/TOOLS.md +2687 -2685
  22. package/package.json +53 -53
  23. package/scripts/generate-docs.ts +212 -212
  24. package/scripts/version-bump.ts +203 -203
  25. package/src/api-client/blockers.ts +86 -86
  26. package/src/api-client/bodies-of-work.ts +194 -194
  27. package/src/api-client/chat.ts +50 -50
  28. package/src/api-client/connectors.ts +152 -152
  29. package/src/api-client/cost.ts +185 -185
  30. package/src/api-client/decisions.ts +87 -87
  31. package/src/api-client/deployment.ts +313 -313
  32. package/src/api-client/discovery.ts +81 -81
  33. package/src/api-client/fallback.ts +52 -52
  34. package/src/api-client/file-checkouts.ts +115 -115
  35. package/src/api-client/findings.ts +100 -100
  36. package/src/api-client/git-issues.ts +88 -88
  37. package/src/api-client/ideas.ts +112 -112
  38. package/src/api-client/index.ts +592 -592
  39. package/src/api-client/milestones.ts +83 -83
  40. package/src/api-client/organizations.ts +185 -185
  41. package/src/api-client/progress.ts +94 -94
  42. package/src/api-client/project.ts +181 -181
  43. package/src/api-client/requests.ts +54 -54
  44. package/src/api-client/session.ts +220 -220
  45. package/src/api-client/sprints.ts +227 -227
  46. package/src/api-client/subtasks.ts +57 -57
  47. package/src/api-client/tasks.ts +451 -450
  48. package/src/api-client/types.ts +32 -32
  49. package/src/api-client/validation.ts +60 -60
  50. package/src/api-client/worktrees.ts +53 -53
  51. package/src/api-client.test.ts +847 -847
  52. package/src/api-client.ts +2728 -2728
  53. package/src/cli-init.ts +558 -558
  54. package/src/cli.test.ts +284 -284
  55. package/src/cli.ts +204 -204
  56. package/src/handlers/__test-setup__.ts +240 -240
  57. package/src/handlers/__test-utils__.ts +89 -89
  58. package/src/handlers/blockers.test.ts +468 -468
  59. package/src/handlers/blockers.ts +172 -172
  60. package/src/handlers/bodies-of-work.test.ts +704 -704
  61. package/src/handlers/bodies-of-work.ts +526 -526
  62. package/src/handlers/chat.test.ts +185 -185
  63. package/src/handlers/chat.ts +101 -101
  64. package/src/handlers/cloud-agents.test.ts +438 -438
  65. package/src/handlers/cloud-agents.ts +156 -156
  66. package/src/handlers/connectors.test.ts +834 -834
  67. package/src/handlers/connectors.ts +229 -229
  68. package/src/handlers/cost.test.ts +462 -462
  69. package/src/handlers/cost.ts +285 -285
  70. package/src/handlers/decisions.test.ts +382 -382
  71. package/src/handlers/decisions.ts +153 -153
  72. package/src/handlers/deployment.test.ts +551 -551
  73. package/src/handlers/deployment.ts +570 -570
  74. package/src/handlers/discovery.test.ts +206 -206
  75. package/src/handlers/discovery.ts +433 -433
  76. package/src/handlers/fallback.test.ts +537 -537
  77. package/src/handlers/fallback.ts +194 -194
  78. package/src/handlers/file-checkouts.test.ts +750 -750
  79. package/src/handlers/file-checkouts.ts +185 -185
  80. package/src/handlers/findings.test.ts +633 -633
  81. package/src/handlers/findings.ts +239 -239
  82. package/src/handlers/git-issues.test.ts +631 -631
  83. package/src/handlers/git-issues.ts +136 -136
  84. package/src/handlers/ideas.test.ts +644 -644
  85. package/src/handlers/ideas.ts +207 -207
  86. package/src/handlers/index.ts +93 -93
  87. package/src/handlers/milestones.test.ts +475 -475
  88. package/src/handlers/milestones.ts +180 -180
  89. package/src/handlers/organizations.test.ts +826 -826
  90. package/src/handlers/organizations.ts +315 -315
  91. package/src/handlers/progress.test.ts +269 -269
  92. package/src/handlers/progress.ts +77 -77
  93. package/src/handlers/project.test.ts +546 -546
  94. package/src/handlers/project.ts +245 -245
  95. package/src/handlers/requests.test.ts +303 -303
  96. package/src/handlers/requests.ts +99 -99
  97. package/src/handlers/roles.test.ts +305 -305
  98. package/src/handlers/roles.ts +219 -219
  99. package/src/handlers/session.test.ts +998 -998
  100. package/src/handlers/session.ts +1105 -1105
  101. package/src/handlers/sprints.test.ts +732 -732
  102. package/src/handlers/sprints.ts +537 -537
  103. package/src/handlers/tasks.test.ts +931 -931
  104. package/src/handlers/tasks.ts +1144 -1137
  105. package/src/handlers/tool-categories.test.ts +66 -66
  106. package/src/handlers/tool-docs.test.ts +511 -511
  107. package/src/handlers/tool-docs.ts +1595 -1595
  108. package/src/handlers/types.test.ts +259 -259
  109. package/src/handlers/types.ts +176 -176
  110. package/src/handlers/validation.test.ts +582 -582
  111. package/src/handlers/validation.ts +164 -164
  112. package/src/handlers/version.ts +63 -63
  113. package/src/index.test.ts +674 -674
  114. package/src/index.ts +884 -884
  115. package/src/setup.test.ts +243 -243
  116. package/src/setup.ts +410 -410
  117. package/src/templates/agent-guidelines.ts +233 -233
  118. package/src/templates/help-content.ts +1751 -1751
  119. package/src/token-tracking.test.ts +463 -463
  120. package/src/token-tracking.ts +167 -167
  121. package/src/tools/blockers.ts +122 -122
  122. package/src/tools/bodies-of-work.ts +283 -283
  123. package/src/tools/chat.ts +72 -72
  124. package/src/tools/cloud-agents.ts +101 -101
  125. package/src/tools/connectors.ts +191 -191
  126. package/src/tools/cost.ts +111 -111
  127. package/src/tools/decisions.ts +111 -111
  128. package/src/tools/deployment.ts +455 -455
  129. package/src/tools/discovery.ts +76 -76
  130. package/src/tools/fallback.ts +111 -111
  131. package/src/tools/features.ts +154 -154
  132. package/src/tools/file-checkouts.ts +145 -145
  133. package/src/tools/findings.ts +101 -101
  134. package/src/tools/git-issues.ts +130 -130
  135. package/src/tools/ideas.ts +162 -162
  136. package/src/tools/index.ts +145 -145
  137. package/src/tools/milestones.ts +118 -118
  138. package/src/tools/organizations.ts +224 -224
  139. package/src/tools/persona-templates.ts +25 -25
  140. package/src/tools/progress.ts +73 -73
  141. package/src/tools/project.ts +210 -210
  142. package/src/tools/requests.ts +68 -68
  143. package/src/tools/roles.ts +112 -112
  144. package/src/tools/session.ts +181 -181
  145. package/src/tools/sprints.ts +298 -298
  146. package/src/tools/tasks.ts +583 -575
  147. package/src/tools/tools.test.ts +222 -222
  148. package/src/tools/types.ts +9 -9
  149. package/src/tools/validation.ts +75 -75
  150. package/src/tools/version.ts +34 -34
  151. package/src/tools/worktrees.ts +66 -66
  152. package/src/tools.test.ts +416 -416
  153. package/src/utils.test.ts +1014 -1014
  154. package/src/utils.ts +586 -586
  155. package/src/validators.test.ts +223 -223
  156. package/src/validators.ts +249 -249
  157. package/src/version.ts +162 -162
  158. package/tsconfig.json +16 -16
  159. package/vitest.config.ts +14 -14
  160. package/dist/tools.d.ts +0 -2
  161. package/dist/tools.js +0 -3602
@@ -1,1595 +1,1595 @@
1
- /**
2
- * Tool Documentation
3
- *
4
- * Externalized documentation for all MCP tools.
5
- * This file is lazy-loaded by get_tool_info to save tokens.
6
- *
7
- * Token savings: ~8,000 tokens per schema load when this isn't bundled.
8
- */
9
-
10
- export const TOOL_INFO: Record<string, string> = {
11
- start_work_session: `# start_work_session
12
- Initialize agent session and get assigned work.
13
-
14
- **Parameters:**
15
- - project_id (optional): Project UUID
16
- - git_url (optional): Git URL to find project
17
- - mode: 'lite' (default) or 'full' for complete context
18
-
19
- **Returns:** session_id, persona, project info, next_task
20
-
21
- **Example:** start_work_session(git_url: "https://github.com/org/repo")`,
22
-
23
- get_help: `# get_help
24
- Get workflow guidance on specific topics.
25
-
26
- **Parameters:**
27
- - topic (required): One of: getting_started, tasks, validation, deployment, git, blockers, milestones, fallback, session, tokens, topics
28
-
29
- **Example:** get_help(topic: "deployment")`,
30
-
31
- get_token_usage: `# get_token_usage
32
- Get token usage statistics for current session.
33
-
34
- **Returns:** total calls, total tokens, breakdown by tool, averages`,
35
-
36
- heartbeat: `# heartbeat
37
- Send heartbeat to maintain active status. Call every 30-60 seconds.
38
-
39
- **Parameters:**
40
- - session_id (optional): Uses current session if not provided
41
- - current_worktree_path (optional): Report your current git worktree path (e.g., "../project-task-abc123")`,
42
-
43
- end_work_session: `# end_work_session
44
- End session and release claimed tasks.
45
-
46
- **Parameters:**
47
- - session_id (optional): Uses current session if not provided
48
-
49
- **Returns:** Session summary with tasks completed, time spent`,
50
-
51
- get_project_context: `# get_project_context
52
- Get full project context including goals, instructions, tasks, blockers, decisions.
53
-
54
- **Parameters:**
55
- - project_id (optional): Project UUID
56
- - git_url (optional): Git URL to find project
57
-
58
- Without params, lists all projects.`,
59
-
60
- get_git_workflow: `# get_git_workflow
61
- Get git workflow config and branching instructions.
62
-
63
- **Parameters:**
64
- - project_id (required): Project UUID
65
- - task_id (optional): Include branch naming suggestion
66
-
67
- **Returns:** workflow type, branch names, auto-settings`,
68
-
69
- create_project: `# create_project
70
- Create a new project to track.
71
-
72
- **Parameters:**
73
- - name (required): Project display name
74
- - description: Brief description
75
- - goal: What "done" looks like
76
- - git_url: Repository URL
77
- - tech_stack: Array of technologies`,
78
-
79
- update_project: `# update_project
80
- Update project settings.
81
-
82
- **Parameters:**
83
- - project_id (required): Project UUID
84
- - name, description, goal, git_url, tech_stack, status
85
- - git_workflow: none, trunk-based, github-flow, git-flow
86
- - git_main_branch, git_develop_branch, git_auto_branch, git_auto_tag`,
87
-
88
- update_project_readme: `# update_project_readme
89
- Sync README content to the dashboard.
90
-
91
- **Parameters:**
92
- - project_id (required): Project UUID
93
- - readme_content (required): Markdown content`,
94
-
95
- get_task: `# get_task
96
- Get a single task by ID with optional subtasks and milestones.
97
-
98
- **Parameters:**
99
- - task_id (required): Task UUID
100
- - include_subtasks (optional): Include subtasks array (default: false)
101
- - include_milestones (optional): Include milestones array (default: false)`,
102
-
103
- search_tasks: `# search_tasks
104
- Search tasks by text query. Supports pagination.
105
-
106
- **Parameters:**
107
- - project_id (required): Project UUID
108
- - query (required): Search query (min 2 chars)
109
- - status (optional): Array of statuses to filter
110
- - limit (optional): Max results per page (1-20, default: 10)
111
- - offset (optional): Number of results to skip (default: 0)
112
-
113
- **Returns:**
114
- - tasks: Array of matching tasks
115
- - total_matches: Total number of matching tasks
116
- - has_more: Whether more results exist beyond current page
117
- - offset: Current offset
118
- - limit: Current limit`,
119
-
120
- get_tasks_by_priority: `# get_tasks_by_priority
121
- Get tasks filtered by priority. Supports pagination.
122
-
123
- **Parameters:**
124
- - project_id (required): Project UUID
125
- - priority (optional): Exact priority (1-5)
126
- - priority_max (optional): Max priority for range query
127
- - status (optional): Filter by status (default: pending)
128
- - limit (optional): Max results per page (1-20, default: 10)
129
- - offset (optional): Number of results to skip (default: 0)
130
-
131
- **Returns:**
132
- - tasks: Array of matching tasks
133
- - total_count: Total number of matching tasks
134
- - has_more: Whether more results exist beyond current page
135
- - offset: Current offset
136
- - limit: Current limit`,
137
-
138
- get_recent_tasks: `# get_recent_tasks
139
- Get tasks ordered by creation date. Supports pagination.
140
-
141
- **Parameters:**
142
- - project_id (required): Project UUID
143
- - order (optional): 'newest' or 'oldest' (default: newest)
144
- - status (optional): Filter by status
145
- - limit (optional): Max results per page (1-20, default: 10)
146
- - offset (optional): Number of results to skip (default: 0)
147
-
148
- **Returns:**
149
- - tasks: Array of matching tasks
150
- - total_count: Total number of matching tasks
151
- - has_more: Whether more results exist beyond current page
152
- - offset: Current offset
153
- - limit: Current limit`,
154
-
155
- get_task_stats: `# get_task_stats
156
- Get aggregate task statistics. Most token-efficient way to understand project state.
157
-
158
- **Parameters:**
159
- - project_id (required): Project UUID
160
-
161
- **Returns:** Counts by status and priority, no task data`,
162
-
163
- get_next_task: `# get_next_task
164
- Get highest priority pending task not claimed by another agent.
165
-
166
- **Parameters:**
167
- - project_id (required): Project UUID
168
-
169
- **Returns:** task or null, may suggest fallback activity`,
170
-
171
- add_task: `# add_task
172
- Create a new task.
173
-
174
- **Parameters:**
175
- - project_id (required): Project UUID
176
- - title (required): Task title
177
- - description: Detailed description
178
- - priority: 1-5 (1=highest, default 3)
179
- - estimated_minutes: Time estimate`,
180
-
181
- update_task: `# update_task
182
- Update task status, progress, or details.
183
-
184
- **Parameters:**
185
- - task_id (required): Task UUID
186
- - status: pending, in_progress, completed, cancelled
187
- - progress_percentage: 0-100
188
- - progress_note: Brief note (auto-logged)
189
- - title, description, priority, estimated_minutes, git_branch
190
-
191
- **Best practice:** Include progress_note with progress_percentage`,
192
-
193
- complete_task: `# complete_task
194
- Mark task as done.
195
-
196
- **Parameters:**
197
- - task_id (required): Task UUID
198
- - summary: What was done
199
-
200
- **Returns:** next_task, validation_count, blockers_count, deployment_priority`,
201
-
202
- delete_task: `# delete_task
203
- Delete a task.
204
-
205
- **Parameters:**
206
- - task_id (required): Task UUID`,
207
-
208
- cancel_task: `# cancel_task
209
- Cancel a task with an optional reason. Use this when a task should be marked as cancelled rather than deleted (e.g., PR was closed, work was superseded). The task remains visible with a cancelled status for historical tracking.
210
-
211
- **Parameters:**
212
- - task_id (required): Task UUID
213
- - cancelled_reason (optional): One of: pr_closed, superseded, user_cancelled, validation_failed, obsolete, blocked
214
- - cancellation_note (optional): Additional context about the cancellation
215
-
216
- **Returns:** task_id, cancelled_reason, message, sprint info (if auto-completed)
217
-
218
- **Example:** cancel_task(task_id: "abc", cancelled_reason: "pr_closed", cancellation_note: "PR was closed without merging")`,
219
-
220
- release_task: `# release_task
221
- Release a claimed task back to pending status. Use when you need to give up a task you've started but cannot complete (e.g., context limits reached, conflicts with other work, user requested different approach).
222
-
223
- **Parameters:**
224
- - task_id (required): Task UUID
225
- - reason (optional): Explanation for releasing the task
226
-
227
- **Returns:** success, task_id, message, hint
228
-
229
- **Example:** release_task(task_id: "abc", reason: "Context limit reached, need fresh session")
230
-
231
- **Note:** Only in_progress tasks can be released. The task becomes available for other agents to claim via get_next_task().`,
232
-
233
- batch_update_tasks: `# batch_update_tasks
234
- Update multiple tasks at once.
235
-
236
- **Parameters:**
237
- - updates (required): Array of {task_id, status?, progress_percentage?, progress_note?, priority?}`,
238
-
239
- batch_complete_tasks: `# batch_complete_tasks
240
- Complete multiple tasks at once.
241
-
242
- **Parameters:**
243
- - completions (required): Array of {task_id, summary?}`,
244
-
245
- add_task_reference: `# add_task_reference
246
- Add a reference URL to a task.
247
-
248
- **Parameters:**
249
- - task_id (required): Task UUID
250
- - url (required): Reference URL
251
- - label (optional): Display label`,
252
-
253
- remove_task_reference: `# remove_task_reference
254
- Remove a reference URL from a task.
255
-
256
- **Parameters:**
257
- - task_id (required): Task UUID
258
- - url (required): URL to remove`,
259
-
260
- add_milestone: `# add_milestone
261
- Add a milestone/step to a task.
262
-
263
- **Parameters:**
264
- - task_id (required): Task UUID
265
- - title (required): Milestone title
266
- - description (optional): Details
267
- - order_index (optional): Position (0-based)`,
268
-
269
- update_milestone: `# update_milestone
270
- Update a milestone.
271
-
272
- **Parameters:**
273
- - milestone_id (required): Milestone UUID
274
- - title, description, status (pending/in_progress/completed), order_index`,
275
-
276
- complete_milestone: `# complete_milestone
277
- Mark milestone as completed.
278
-
279
- **Parameters:**
280
- - milestone_id (required): Milestone UUID`,
281
-
282
- delete_milestone: `# delete_milestone
283
- Delete a milestone.
284
-
285
- **Parameters:**
286
- - milestone_id (required): Milestone UUID`,
287
-
288
- get_milestones: `# get_milestones
289
- Get all milestones for a task.
290
-
291
- **Parameters:**
292
- - task_id (required): Task UUID`,
293
-
294
- log_progress: `# log_progress
295
- Record a progress update.
296
-
297
- **Parameters:**
298
- - project_id (required): Project UUID
299
- - summary (required): Brief summary
300
- - task_id (optional): Link to task
301
- - details (optional): Extended notes`,
302
-
303
- get_activity_feed: `# get_activity_feed
304
- Get combined activity feed.
305
-
306
- **Parameters:**
307
- - project_id (required): Project UUID
308
- - types (optional): Array of task, progress, blocker, decision
309
- - created_by (optional): agent or user
310
- - since (optional): ISO date string
311
- - limit (optional): Max items (default 50)`,
312
-
313
- add_blocker: `# add_blocker
314
- Record a blocker preventing progress.
315
-
316
- **Parameters:**
317
- - project_id (required): Project UUID
318
- - description (required): What is blocking`,
319
-
320
- resolve_blocker: `# resolve_blocker
321
- Mark a blocker as resolved.
322
-
323
- **Parameters:**
324
- - blocker_id (required): Blocker UUID
325
- - resolution_note (optional): How it was resolved`,
326
-
327
- get_blockers: `# get_blockers
328
- Get blockers for a project.
329
-
330
- **Parameters:**
331
- - project_id (required): Project UUID
332
- - status (optional): open or resolved (default: open)`,
333
-
334
- delete_blocker: `# delete_blocker
335
- Delete a blocker.
336
-
337
- **Parameters:**
338
- - blocker_id (required): Blocker UUID`,
339
-
340
- log_decision: `# log_decision
341
- Record an architectural decision.
342
-
343
- **Parameters:**
344
- - project_id (required): Project UUID
345
- - title (required): Decision title
346
- - description (required): What was decided
347
- - rationale (optional): Why
348
- - alternatives_considered (optional): Array of alternatives`,
349
-
350
- get_decisions: `# get_decisions
351
- Get recorded decisions.
352
-
353
- **Parameters:**
354
- - project_id (required): Project UUID`,
355
-
356
- delete_decision: `# delete_decision
357
- Delete a decision.
358
-
359
- **Parameters:**
360
- - decision_id (required): Decision UUID`,
361
-
362
- add_idea: `# add_idea
363
- Record an improvement idea.
364
-
365
- **Parameters:**
366
- - project_id (required): Project UUID
367
- - title (required): Idea title
368
- - description (optional): Details
369
- - status (optional): raw, exploring, planned, in_development, shipped`,
370
-
371
- update_idea: `# update_idea
372
- Update an idea.
373
-
374
- **Parameters:**
375
- - idea_id (required): Idea UUID
376
- - title, description, status, doc_url`,
377
-
378
- get_ideas: `# get_ideas
379
- Get recorded ideas.
380
-
381
- **Parameters:**
382
- - project_id (required): Project UUID
383
- - status (optional): Filter by status`,
384
-
385
- delete_idea: `# delete_idea
386
- Delete an idea.
387
-
388
- **Parameters:**
389
- - idea_id (required): Idea UUID`,
390
-
391
- convert_idea_to_task: `# convert_idea_to_task
392
- Convert an idea to a task. Creates a new task from the idea's title and description.
393
-
394
- **Parameters:**
395
- - idea_id (required): Idea UUID to convert
396
- - priority (optional): Task priority 1-5 (default: 3)
397
- - estimated_minutes (optional): Estimated time
398
- - update_status (optional): Update idea to 'in_development' (default: true)
399
-
400
- **Returns:**
401
- - task_id: Created task UUID
402
- - Links idea and task together`,
403
-
404
- add_finding: `# add_finding
405
- Record an audit/review finding.
406
-
407
- **Parameters:**
408
- - project_id (required): Project UUID
409
- - title (required): Finding title
410
- - category: performance, security, code_quality, accessibility, documentation, architecture, testing, other
411
- - description: Details with impact and suggested fix
412
- - severity: info, low, medium, high, critical
413
- - file_path, line_number, related_task_id (optional)`,
414
-
415
- get_findings: `# get_findings
416
- Get audit findings.
417
-
418
- **Parameters:**
419
- - project_id (required): Project UUID
420
- - category, severity, status (optional filters)
421
- - limit (optional): Max items`,
422
-
423
- update_finding: `# update_finding
424
- Update a finding.
425
-
426
- **Parameters:**
427
- - finding_id (required): Finding UUID
428
- - status: open, addressed, dismissed, wontfix
429
- - resolution_note, title, description, severity`,
430
-
431
- delete_finding: `# delete_finding
432
- Delete a finding.
433
-
434
- **Parameters:**
435
- - finding_id (required): Finding UUID`,
436
-
437
- get_tasks_awaiting_validation: `# get_tasks_awaiting_validation
438
- Get completed tasks needing validation.
439
-
440
- **Parameters:**
441
- - project_id (required): Project UUID
442
-
443
- **Returns:** Tasks with reviewing status (who's reviewing, when started)`,
444
-
445
- claim_validation: `# claim_validation
446
- Claim a completed task for review. Shows "being reviewed" on dashboard.
447
-
448
- **Parameters:**
449
- - task_id (required): Task UUID to claim
450
-
451
- **Note:** Claim before reviewing to prevent duplicate work.`,
452
-
453
- validate_task: `# validate_task
454
- Validate a completed task.
455
-
456
- **Parameters:**
457
- - task_id (required): Task UUID
458
- - approved (required): true/false
459
- - validation_notes: What was checked, issues found`,
460
-
461
- request_deployment: `# request_deployment
462
- Request a deployment.
463
-
464
- **Parameters:**
465
- - project_id (required): Project UUID
466
- - environment: development, staging, production
467
- - version_bump: patch, minor, major
468
- - notes, git_ref (optional)`,
469
-
470
- claim_deployment_validation: `# claim_deployment_validation
471
- Claim pending deployment for validation.
472
-
473
- **Parameters:**
474
- - project_id (required): Project UUID
475
-
476
- Next: Run build+tests, then call report_validation`,
477
-
478
- report_validation: `# report_validation
479
- Report build/test results.
480
-
481
- **Parameters:**
482
- - project_id (required): Project UUID
483
- - build_passed (required): boolean
484
- - tests_passed (required): boolean
485
- - error_message (if failed)`,
486
-
487
- check_deployment_status: `# check_deployment_status
488
- Get active deployment status.
489
-
490
- **Parameters:**
491
- - project_id (required): Project UUID`,
492
-
493
- start_deployment: `# start_deployment
494
- Start deployment (requires 'ready' status).
495
-
496
- **Parameters:**
497
- - project_id (required): Project UUID`,
498
-
499
- complete_deployment: `# complete_deployment
500
- Mark deployment complete.
501
-
502
- **Parameters:**
503
- - project_id (required): Project UUID
504
- - success (required): boolean
505
- - summary: What was deployed or why failed`,
506
-
507
- cancel_deployment: `# cancel_deployment
508
- Cancel active deployment.
509
-
510
- **Parameters:**
511
- - project_id (required): Project UUID
512
- - reason (optional): Why cancelled`,
513
-
514
- schedule_deployment: `# schedule_deployment
515
- Schedule a deployment for a specific time.
516
-
517
- **Parameters:**
518
- - project_id (required): Project UUID
519
- - scheduled_at (required): ISO 8601 datetime
520
- - schedule_type (optional): once, daily, weekly, monthly (default: once)
521
- - auto_trigger (optional): Whether agents auto-trigger (default: true)
522
- - environment (optional): development, staging, production (default: production)
523
- - version_bump (optional): patch, minor, major (default: patch)
524
- - notes (optional): Notes about the deployment
525
- - git_ref (optional): Git branch or commit
526
-
527
- **Example:** schedule_deployment(project_id, scheduled_at: "2025-01-15T10:00:00Z", schedule_type: "weekly")`,
528
-
529
- get_scheduled_deployments: `# get_scheduled_deployments
530
- List scheduled deployments for a project.
531
-
532
- **Parameters:**
533
- - project_id (required): Project UUID
534
- - include_disabled (optional): Include disabled schedules (default: false)`,
535
-
536
- update_scheduled_deployment: `# update_scheduled_deployment
537
- Update a scheduled deployment's configuration.
538
-
539
- **Parameters:**
540
- - schedule_id (required): Schedule UUID
541
- - scheduled_at (optional): New scheduled time
542
- - schedule_type (optional): once, daily, weekly, monthly
543
- - auto_trigger (optional): Whether to auto-trigger
544
- - enabled (optional): Enable or disable
545
- - environment, version_bump, notes, git_ref (optional)`,
546
-
547
- delete_scheduled_deployment: `# delete_scheduled_deployment
548
- Delete a scheduled deployment.
549
-
550
- **Parameters:**
551
- - schedule_id (required): Schedule UUID`,
552
-
553
- trigger_scheduled_deployment: `# trigger_scheduled_deployment
554
- Manually trigger a scheduled deployment.
555
-
556
- Creates a new deployment using the schedule's configuration.
557
- Updates schedule: last_triggered_at, trigger_count, next scheduled_at (for recurring).
558
-
559
- **Parameters:**
560
- - schedule_id (required): Schedule UUID`,
561
-
562
- check_due_deployments: `# check_due_deployments
563
- Check for scheduled deployments that are due.
564
-
565
- Returns schedules where: enabled AND auto_trigger AND scheduled_at <= NOW()
566
-
567
- Use this to find deployments to trigger when working on a project.
568
-
569
- **Parameters:**
570
- - project_id (required): Project UUID`,
571
-
572
- start_fallback_activity: `# start_fallback_activity
573
- Start background activity when no tasks.
574
-
575
- **Parameters:**
576
- - project_id (required): Project UUID
577
- - activity (required): feature_ideation, code_review, performance_audit, ux_review, cost_analysis, security_review, test_coverage, documentation_review, dependency_audit, validate_completed_tasks`,
578
-
579
- stop_fallback_activity: `# stop_fallback_activity
580
- Stop current fallback activity.
581
-
582
- **Parameters:**
583
- - project_id (required): Project UUID
584
- - summary (optional): What was accomplished`,
585
-
586
- get_activity_history: `# get_activity_history
587
- Get background activity history.
588
-
589
- **Parameters:**
590
- - project_id (required): Project UUID
591
- - activity_type (optional): Filter by type
592
- - limit (optional): Max items`,
593
-
594
- get_activity_schedules: `# get_activity_schedules
595
- Get activity schedules.
596
-
597
- **Parameters:**
598
- - project_id (required): Project UUID`,
599
-
600
- get_pending_requests: `# get_pending_requests
601
- Get unacknowledged user requests.
602
-
603
- **Parameters:**
604
- - project_id (required): Project UUID`,
605
-
606
- acknowledge_request: `# acknowledge_request
607
- Mark a request as handled.
608
-
609
- **Parameters:**
610
- - request_id (required): Request UUID`,
611
-
612
- answer_question: `# answer_question
613
- Answer a user question from dashboard.
614
-
615
- **Parameters:**
616
- - request_id (required): Request UUID
617
- - answer (required): Your answer`,
618
-
619
- discover_tools: `# discover_tools
620
- List available tools by category.
621
-
622
- **Parameters:**
623
- - category (optional): Filter to specific category
624
-
625
- Without category, returns all categories with tool counts.
626
- With category, returns tools in that category with brief descriptions.`,
627
-
628
- get_tool_info: `# get_tool_info
629
- Get detailed info for a specific tool.
630
-
631
- **Parameters:**
632
- - tool_name (required): Name of the tool
633
-
634
- Returns: full documentation, parameters, examples, best practices.`,
635
-
636
- // Organization tools
637
- list_organizations: `# list_organizations
638
- List organizations the current user belongs to.
639
-
640
- **Parameters:** None
641
-
642
- **Returns:** Array of organizations with role and joined_at`,
643
-
644
- create_organization: `# create_organization
645
- Create a new organization. You become the owner.
646
-
647
- **Parameters:**
648
- - name (required): Organization display name
649
- - description (optional): Brief description
650
- - slug (optional): URL-friendly identifier (auto-generated if not provided)
651
-
652
- **Example:** create_organization(name: "Acme Corp", description: "Our development team")`,
653
-
654
- update_organization: `# update_organization
655
- Update organization details. Requires admin role.
656
-
657
- **Parameters:**
658
- - organization_id (required): Organization UUID
659
- - name, description, logo_url (optional updates)`,
660
-
661
- delete_organization: `# delete_organization
662
- Delete an organization. Requires owner role. Removes all shares.
663
-
664
- **Parameters:**
665
- - organization_id (required): Organization UUID
666
-
667
- **Warning:** This will remove all project shares with this organization.`,
668
-
669
- list_org_members: `# list_org_members
670
- List members of an organization.
671
-
672
- **Parameters:**
673
- - organization_id (required): Organization UUID
674
-
675
- **Returns:** Array of members with role and joined_at`,
676
-
677
- invite_member: `# invite_member
678
- Invite a user to an organization by email. Requires admin role.
679
-
680
- **Parameters:**
681
- - organization_id (required): Organization UUID
682
- - email (required): Email address to invite
683
- - role (optional): admin, member, or viewer (default: member)
684
-
685
- **Returns:** Invite details with token`,
686
-
687
- update_member_role: `# update_member_role
688
- Change a member's role. Requires admin role.
689
-
690
- **Parameters:**
691
- - organization_id (required): Organization UUID
692
- - user_id (required): User UUID to update
693
- - role (required): admin, member, or viewer
694
-
695
- **Note:** Cannot change your own role or the owner's role.`,
696
-
697
- remove_member: `# remove_member
698
- Remove a member from an organization. Requires admin role.
699
-
700
- **Parameters:**
701
- - organization_id (required): Organization UUID
702
- - user_id (required): User UUID to remove
703
-
704
- **Note:** Cannot remove the owner. Their org-scoped API keys are invalidated.`,
705
-
706
- leave_organization: `# leave_organization
707
- Leave an organization.
708
-
709
- **Parameters:**
710
- - organization_id (required): Organization UUID
711
-
712
- **Note:** Owner cannot leave. Must transfer ownership or delete organization.`,
713
-
714
- share_project_with_org: `# share_project_with_org
715
- Share a project with an organization. You must own the project.
716
-
717
- **Parameters:**
718
- - project_id (required): Project UUID
719
- - organization_id (required): Organization UUID to share with
720
- - permission (optional): read, write, or admin (default: read)
721
-
722
- **Permission levels:**
723
- - read: View project and tasks
724
- - write: Add/update tasks, log progress
725
- - admin: All write permissions plus deployments`,
726
-
727
- update_project_share: `# update_project_share
728
- Update the permission level for a project share.
729
-
730
- **Parameters:**
731
- - project_id (required): Project UUID
732
- - organization_id (required): Organization UUID
733
- - permission (required): read, write, or admin`,
734
-
735
- unshare_project: `# unshare_project
736
- Remove a project share from an organization.
737
-
738
- **Parameters:**
739
- - project_id (required): Project UUID
740
- - organization_id (required): Organization UUID
741
-
742
- **Note:** Org members will lose access immediately.`,
743
-
744
- list_project_shares: `# list_project_shares
745
- List all organizations a project is shared with.
746
-
747
- **Parameters:**
748
- - project_id (required): Project UUID
749
-
750
- **Returns:** Array of shares with organization info and permission level`,
751
-
752
- // Cost monitoring tools
753
- get_cost_summary: `# get_cost_summary
754
- Get cost summary (daily/weekly/monthly) for a project.
755
-
756
- **Parameters:**
757
- - project_id (required): Project UUID
758
- - period: 'daily' | 'weekly' | 'monthly' (default: daily)
759
- - limit: Max records to return (default: 30)
760
-
761
- **Returns:** Cost summary with totals and breakdown by model`,
762
-
763
- get_cost_alerts: `# get_cost_alerts
764
- Get cost alerts for the current user.
765
-
766
- **Parameters:**
767
- - project_id (optional): Filter by project
768
-
769
- **Returns:** Array of configured cost alerts`,
770
-
771
- add_cost_alert: `# add_cost_alert
772
- Add a cost threshold alert.
773
-
774
- **Parameters:**
775
- - project_id (optional): Specific project or null for all
776
- - threshold_amount (required): Amount in USD
777
- - threshold_period (required): 'daily' | 'weekly' | 'monthly'
778
- - alert_type: 'warning' | 'critical' (default: warning)
779
-
780
- **Example:** add_cost_alert(threshold_amount: 50, threshold_period: "daily", alert_type: "warning")`,
781
-
782
- update_cost_alert: `# update_cost_alert
783
- Update an existing cost alert.
784
-
785
- **Parameters:**
786
- - alert_id (required): Alert UUID
787
- - threshold_amount: New amount in USD
788
- - threshold_period: New period
789
- - alert_type: New alert type
790
- - enabled: Enable/disable the alert`,
791
-
792
- delete_cost_alert: `# delete_cost_alert
793
- Delete a cost alert.
794
-
795
- **Parameters:**
796
- - alert_id (required): Alert UUID to delete`,
797
-
798
- get_task_costs: `# get_task_costs
799
- Get cost breakdown by task for a project.
800
-
801
- **Parameters:**
802
- - project_id (required): Project UUID
803
- - limit: Max tasks to return (default: 20)
804
-
805
- **Returns:** Tasks sorted by estimated cost with model breakdown`,
806
-
807
- // Subtasks
808
- add_subtask: `# add_subtask
809
- Add a subtask to break down a larger task.
810
-
811
- **Parameters:**
812
- - parent_task_id (required): UUID of the parent task
813
- - title (required): Subtask title
814
- - description (optional): Detailed description
815
- - priority (optional): 1-5 (defaults to parent priority)
816
- - estimated_minutes (optional): Time estimate
817
-
818
- **Note:** Max depth is 1 (subtasks cannot have their own subtasks).`,
819
-
820
- get_subtasks: `# get_subtasks
821
- Get subtasks for a parent task.
822
-
823
- **Parameters:**
824
- - parent_task_id (required): UUID of the parent task
825
- - status (optional): Filter by status
826
-
827
- **Returns:** Subtasks with aggregate completion stats.`,
828
-
829
- // Bodies of work
830
- create_body_of_work: `# create_body_of_work
831
- Create a new body of work to group tasks into phases.
832
-
833
- **Parameters:**
834
- - project_id (required): Project UUID
835
- - title (required): Title for the body of work
836
- - description (optional): Description
837
- - auto_deploy_on_completion (optional): Auto-deploy when all tasks complete (default: false)
838
- - deploy_environment (optional): Target environment (default: production)
839
- - deploy_version_bump (optional): Version bump (default: minor)
840
- - deploy_trigger (optional): When to trigger auto-deploy (default: all_completed_validated)`,
841
-
842
- update_body_of_work: `# update_body_of_work
843
- Update a body of work's settings.
844
-
845
- **Parameters:**
846
- - body_of_work_id (required): Body of work UUID
847
- - title, description (optional)
848
- - auto_deploy_on_completion, deploy_environment, deploy_version_bump, deploy_trigger (optional)`,
849
-
850
- get_body_of_work: `# get_body_of_work
851
- Get a body of work with all its tasks organized by phase.
852
-
853
- **Parameters:**
854
- - body_of_work_id (required): Body of work UUID
855
-
856
- **Returns:** Body of work with tasks grouped by pre/core/post phases.`,
857
-
858
- get_bodies_of_work: `# get_bodies_of_work
859
- List bodies of work for a project.
860
-
861
- **Parameters:**
862
- - project_id (required): Project UUID
863
- - status (optional): Filter by status (draft, active, completed, cancelled)
864
- - limit (optional): Max items (default 50)`,
865
-
866
- delete_body_of_work: `# delete_body_of_work
867
- Delete a body of work. Tasks are preserved but no longer grouped.
868
-
869
- **Parameters:**
870
- - body_of_work_id (required): Body of work UUID`,
871
-
872
- add_task_to_body_of_work: `# add_task_to_body_of_work
873
- Add a task to a body of work in a specific phase.
874
-
875
- **Parameters:**
876
- - body_of_work_id (required): Body of work UUID
877
- - task_id (required): Task UUID to add
878
- - phase (optional): pre, core, or post (default: core)
879
- - order_index (optional): Order within phase`,
880
-
881
- remove_task_from_body_of_work: `# remove_task_from_body_of_work
882
- Remove a task from its body of work.
883
-
884
- **Parameters:**
885
- - task_id (required): Task UUID to remove
886
-
887
- **Note:** The task is preserved, just no longer grouped.`,
888
-
889
- activate_body_of_work: `# activate_body_of_work
890
- Activate a draft body of work to start execution.
891
-
892
- **Parameters:**
893
- - body_of_work_id (required): Body of work UUID
894
-
895
- **Note:** Requires at least one task. Once active, tasks follow phase order.`,
896
-
897
- add_task_dependency: `# add_task_dependency
898
- Add a dependency between tasks in a body of work.
899
-
900
- **Parameters:**
901
- - body_of_work_id (required): Body of work UUID
902
- - task_id (required): Task that depends on another
903
- - depends_on_task_id (required): Task that must complete first
904
-
905
- **Note:** Prevents circular dependencies.`,
906
-
907
- remove_task_dependency: `# remove_task_dependency
908
- Remove a dependency between tasks.
909
-
910
- **Parameters:**
911
- - task_id (required): Task UUID
912
- - depends_on_task_id (required): Dependency task UUID`,
913
-
914
- get_task_dependencies: `# get_task_dependencies
915
- Get task dependencies for a body of work or specific task.
916
-
917
- **Parameters:**
918
- - body_of_work_id (optional): Body of work UUID
919
- - task_id (optional): Specific task UUID`,
920
-
921
- get_next_body_of_work_task: `# get_next_body_of_work_task
922
- Get the next available task from a body of work.
923
-
924
- **Parameters:**
925
- - body_of_work_id (required): Body of work UUID
926
-
927
- **Note:** Considers phase order (pre → core → post) and dependencies.`,
928
-
929
- // Sprints
930
- create_sprint: `# create_sprint
931
- Create a new sprint with time bounds and velocity tracking.
932
-
933
- **Parameters:**
934
- - project_id (required): Project UUID
935
- - title (required): Sprint title (e.g., "Sprint 5")
936
- - start_date (required): Start date (YYYY-MM-DD)
937
- - end_date (required): End date (YYYY-MM-DD)
938
- - goal (optional): Sprint goal statement
939
- - auto_deploy_on_completion, deploy_environment, deploy_version_bump (optional)`,
940
-
941
- update_sprint: `# update_sprint
942
- Update a sprint's details.
943
-
944
- **Parameters:**
945
- - sprint_id (required): Sprint UUID
946
- - title, goal, start_date, end_date (optional)
947
- - auto_deploy_on_completion, deploy_environment, deploy_version_bump (optional)`,
948
-
949
- get_sprint: `# get_sprint
950
- Get a sprint with all its tasks organized by phase.
951
-
952
- **Parameters:**
953
- - sprint_id (required): Sprint UUID
954
-
955
- **Returns:** Sprint with progress percentage, velocity points, committed points.`,
956
-
957
- get_sprints: `# get_sprints
958
- List sprints for a project with velocity metrics.
959
-
960
- **Parameters:**
961
- - project_id (required): Project UUID
962
- - status (optional): planning, active, in_review, retrospective, completed, cancelled
963
- - limit (optional): Max sprints (default 20)`,
964
-
965
- delete_sprint: `# delete_sprint
966
- Delete a sprint. Tasks are preserved but no longer grouped.
967
-
968
- **Parameters:**
969
- - sprint_id (required): Sprint UUID`,
970
-
971
- start_sprint: `# start_sprint
972
- Start a sprint. Transitions from 'planning' to 'active'.
973
-
974
- **Parameters:**
975
- - sprint_id (required): Sprint UUID
976
-
977
- **Note:** Locks committed_points at current total story points.`,
978
-
979
- complete_sprint: `# complete_sprint
980
- Complete a sprint. Handles retrospective phase and auto-deployment.
981
-
982
- **Parameters:**
983
- - sprint_id (required): Sprint UUID
984
- - retrospective_notes (optional): Sprint retrospective notes
985
- - skip_retrospective (optional): Skip retrospective phase (default: false)`,
986
-
987
- add_task_to_sprint: `# add_task_to_sprint
988
- Add a task to a sprint with optional story points.
989
-
990
- **Parameters:**
991
- - sprint_id (required): Sprint UUID
992
- - task_id (required): Task UUID to add
993
- - story_points (optional): Story point estimate
994
- - phase (optional): pre, core, or post (default: core)`,
995
-
996
- remove_task_from_sprint: `# remove_task_from_sprint
997
- Remove a task from a sprint.
998
-
999
- **Parameters:**
1000
- - sprint_id (required): Sprint UUID
1001
- - task_id (required): Task UUID to remove
1002
-
1003
- **Note:** Task returns to backlog.`,
1004
-
1005
- get_sprint_backlog: `# get_sprint_backlog
1006
- Get tasks that can be added to a sprint.
1007
-
1008
- **Parameters:**
1009
- - project_id (required): Project UUID
1010
- - sprint_id (optional): Exclude tasks already in this sprint
1011
-
1012
- **Returns:** Tasks not assigned to any body of work or sprint.`,
1013
-
1014
- get_sprint_velocity: `# get_sprint_velocity
1015
- Get velocity metrics for completed sprints.
1016
-
1017
- **Parameters:**
1018
- - project_id (required): Project UUID
1019
- - limit (optional): Number of sprints to analyze (default 10)
1020
-
1021
- **Returns:** Committed vs completed points, average velocity.`,
1022
-
1023
- // Git issues
1024
- add_git_issue: `# add_git_issue
1025
- Record a git-related issue (merge conflict, push failure, etc.).
1026
-
1027
- **Parameters:**
1028
- - project_id (required): Project UUID
1029
- - issue_type (required): merge_conflict, push_failed, rebase_needed, branch_diverged, pr_not_mergeable
1030
- - branch (required): Branch where the issue occurred
1031
- - target_branch, conflicting_files, error_message, pr_url, task_id (optional)`,
1032
-
1033
- resolve_git_issue: `# resolve_git_issue
1034
- Mark a git issue as resolved.
1035
-
1036
- **Parameters:**
1037
- - git_issue_id (required): Git issue UUID
1038
- - resolution_note (optional): How the issue was resolved
1039
- - auto_resolved (optional): Whether auto-resolved`,
1040
-
1041
- get_git_issues: `# get_git_issues
1042
- Get git issues for a project.
1043
-
1044
- **Parameters:**
1045
- - project_id (required): Project UUID
1046
- - status (optional): open or resolved (default: open)
1047
- - issue_type (optional): Filter by issue type
1048
- - branch (optional): Filter by branch
1049
- - limit (optional): Max issues (default 50)`,
1050
-
1051
- delete_git_issue: `# delete_git_issue
1052
- Delete a git issue.
1053
-
1054
- **Parameters:**
1055
- - git_issue_id (required): Git issue UUID`,
1056
-
1057
- // Deployment requirements
1058
- add_deployment_requirement: `# add_deployment_requirement
1059
- Add a pre-deployment requirement.
1060
-
1061
- **Parameters:**
1062
- - project_id (required): Project UUID
1063
- - type (required): migration, env_var, config, manual, breaking_change, agent_task
1064
- - title (required): Brief description
1065
- - description (optional): Detailed instructions
1066
- - stage (optional): preparation, deployment, or verification (default: preparation)
1067
- - file_path (optional): File path reference
1068
- - blocking (optional): Whether converted task blocks other work`,
1069
-
1070
- complete_deployment_requirement: `# complete_deployment_requirement
1071
- Mark a deployment requirement as completed.
1072
-
1073
- **Parameters:**
1074
- - requirement_id (required): Requirement UUID`,
1075
-
1076
- get_deployment_requirements: `# get_deployment_requirements
1077
- Get pending deployment requirements.
1078
-
1079
- **Parameters:**
1080
- - project_id (required): Project UUID
1081
- - stage (optional): preparation, deployment, verification, or all
1082
- - status (optional): pending, completed, converted_to_task, or all (default: pending)`,
1083
-
1084
- reorder_deployment_requirements: `# reorder_deployment_requirements
1085
- Reorder deployment requirements within a stage.
1086
-
1087
- **Parameters:**
1088
- - project_id (required): Project UUID
1089
- - stage (required): preparation, deployment, or verification
1090
- - requirement_ids (required): Array of requirement UUIDs in desired order`,
1091
-
1092
- // Knowledge base
1093
- query_knowledge_base: `# query_knowledge_base
1094
- Query aggregated project knowledge in a single call. Reduces token usage by combining multiple data sources.
1095
-
1096
- **Parameters:**
1097
- - project_id (required): Project UUID
1098
- - scope: 'summary' (default) or 'detailed' (includes rationales, descriptions)
1099
- - categories: Array of categories to include (default: all)
1100
- - findings: Audit findings (security, performance, code quality)
1101
- - qa: Questions and answers
1102
- - decisions: Architectural decisions
1103
- - completed_tasks: Tasks with completion summaries
1104
- - blockers: Resolved blockers with resolution notes
1105
- - progress: Recent progress logs
1106
- - limit: Max items per category (default: 5, max: 20)
1107
- - search_query: Optional text search across all knowledge
1108
-
1109
- **Returns:**
1110
- - project: name, goal, tech_stack
1111
- - stats: counts for each category, findings by severity
1112
- - Category data based on selection
1113
-
1114
- **Token savings:** Replaces multiple tool calls (get_findings, get_decisions, get_blockers, etc.) with one call.
1115
-
1116
- **Example:** query_knowledge_base(project_id, categories: ["findings", "decisions"], limit: 10)`,
1117
-
1118
- // Session tools (additional)
1119
- report_token_usage: `# report_token_usage
1120
- Report actual token usage from Claude API responses.
1121
-
1122
- **Parameters:**
1123
- - session_id (optional): Session UUID (uses current session if not provided)
1124
- - input_tokens (required): Number of input tokens
1125
- - output_tokens (required): Number of output tokens
1126
- - model (optional): Model used (e.g., "claude-3-opus")
1127
-
1128
- **Returns:** Updated token usage summary`,
1129
-
1130
- signal_idle: `# signal_idle
1131
- Signal that the agent is idle and available for work.
1132
-
1133
- **Parameters:**
1134
- - session_id (optional): Session UUID (uses current session if not provided)
1135
-
1136
- **Returns:** Idle status confirmation, may include suggested activities`,
1137
-
1138
- confirm_agent_setup: `# confirm_agent_setup
1139
- Confirm that agent setup is complete after following setup instructions.
1140
-
1141
- **Parameters:**
1142
- - project_id (required): Project UUID
1143
- - agent_type (required): Type of agent (e.g., "claude", "gemini")
1144
-
1145
- **Returns:** Setup confirmation status`,
1146
-
1147
- // Project tools (additional)
1148
- get_project_summary: `# get_project_summary
1149
- Get unified project statistics overview in a single call.
1150
-
1151
- **Parameters:**
1152
- - project_id (required): Project UUID
1153
-
1154
- **Returns:** Task counts, blocker counts, finding counts, decision counts, and more`,
1155
-
1156
- // Blocker tools (additional)
1157
- get_blocker: `# get_blocker
1158
- Get a single blocker by ID.
1159
-
1160
- **Parameters:**
1161
- - blocker_id (required): Blocker UUID
1162
-
1163
- **Returns:** Blocker details including description, status, resolution`,
1164
-
1165
- get_blockers_stats: `# get_blockers_stats
1166
- Get aggregate blocker statistics.
1167
-
1168
- **Parameters:**
1169
- - project_id (required): Project UUID
1170
-
1171
- **Returns:** Open/resolved counts, breakdown by age`,
1172
-
1173
- // Decision tools (additional)
1174
- get_decision: `# get_decision
1175
- Get a single decision by ID.
1176
-
1177
- **Parameters:**
1178
- - decision_id (required): Decision UUID
1179
-
1180
- **Returns:** Decision details including title, description, rationale`,
1181
-
1182
- get_decisions_stats: `# get_decisions_stats
1183
- Get aggregate decision statistics.
1184
-
1185
- **Parameters:**
1186
- - project_id (required): Project UUID
1187
-
1188
- **Returns:** Total count, recent decisions count`,
1189
-
1190
- // Idea tools (additional)
1191
- get_idea: `# get_idea
1192
- Get a single idea by ID.
1193
-
1194
- **Parameters:**
1195
- - idea_id (required): Idea UUID
1196
-
1197
- **Returns:** Idea details including title, description, status`,
1198
-
1199
- // Finding tools (additional)
1200
- get_finding: `# get_finding
1201
- Get a single finding by ID.
1202
-
1203
- **Parameters:**
1204
- - finding_id (required): Finding UUID
1205
-
1206
- **Returns:** Finding details including title, category, severity, status`,
1207
-
1208
- get_findings_stats: `# get_findings_stats
1209
- Get aggregate finding statistics.
1210
-
1211
- **Parameters:**
1212
- - project_id (required): Project UUID
1213
-
1214
- **Returns:** Counts by category, severity, and status`,
1215
-
1216
- // Deployment tools (additional)
1217
- get_deployment_requirements_stats: `# get_deployment_requirements_stats
1218
- Get aggregate deployment requirement statistics.
1219
-
1220
- **Parameters:**
1221
- - project_id (required): Project UUID
1222
-
1223
- **Returns:** Counts by stage and status`,
1224
-
1225
- // Worktree tools
1226
- get_stale_worktrees: `# get_stale_worktrees
1227
- Find orphaned worktrees that need cleanup.
1228
-
1229
- **Parameters:**
1230
- - project_id (required): Project UUID
1231
- - hostname (optional): Filter to worktrees created on this machine
1232
-
1233
- **Returns:** List of stale worktrees with task info and cleanup commands`,
1234
-
1235
- clear_worktree_path: `# clear_worktree_path
1236
- Clear worktree path from a task after cleanup.
1237
-
1238
- **Parameters:**
1239
- - task_id (required): Task UUID
1240
-
1241
- **Note:** Call this AFTER running git worktree remove`,
1242
-
1243
- // Role tools
1244
- get_role_settings: `# get_role_settings
1245
- Get project role settings and configuration.
1246
-
1247
- **Parameters:**
1248
- - project_id (required): Project UUID
1249
-
1250
- **Returns:** Role configuration including allowed roles, default role`,
1251
-
1252
- update_role_settings: `# update_role_settings
1253
- Configure project role behavior.
1254
-
1255
- **Parameters:**
1256
- - project_id (required): Project UUID
1257
- - default_role (optional): Default role for new sessions
1258
- - allowed_roles (optional): Array of allowed role names
1259
-
1260
- **Returns:** Updated role settings`,
1261
-
1262
- set_session_role: `# set_session_role
1263
- Set the role for the current session.
1264
-
1265
- **Parameters:**
1266
- - session_id (optional): Session UUID (uses current session)
1267
- - role (required): Role name (e.g., "developer", "validator", "deployer")
1268
-
1269
- **Returns:** Updated session with new role`,
1270
-
1271
- get_agents_by_role: `# get_agents_by_role
1272
- List active agents grouped by role.
1273
-
1274
- **Parameters:**
1275
- - project_id (required): Project UUID
1276
-
1277
- **Returns:** Agents organized by role`,
1278
-
1279
- // File checkout/lock tools
1280
- checkout_file: `# checkout_file
1281
- Lock a file for editing to prevent conflicts with other agents.
1282
-
1283
- **Parameters:**
1284
- - project_id (required): Project UUID
1285
- - file_path (required): Path to the file to lock
1286
- - reason (optional): Why you need to edit this file
1287
-
1288
- **Returns:** Checkout confirmation with expiry time`,
1289
-
1290
- checkin_file: `# checkin_file
1291
- Release a file lock after editing.
1292
-
1293
- **Parameters:**
1294
- - project_id (required): Project UUID
1295
- - file_path (required): Path to the file to release
1296
-
1297
- **Returns:** Checkin confirmation`,
1298
-
1299
- get_file_checkouts: `# get_file_checkouts
1300
- List current file locks.
1301
-
1302
- **Parameters:**
1303
- - project_id (required): Project UUID
1304
- - file_path (optional): Filter to specific file
1305
-
1306
- **Returns:** List of active file checkouts`,
1307
-
1308
- get_file_checkouts_stats: `# get_file_checkouts_stats
1309
- Get file checkout statistics.
1310
-
1311
- **Parameters:**
1312
- - project_id (required): Project UUID
1313
-
1314
- **Returns:** Active checkout count, breakdown by agent`,
1315
-
1316
- abandon_checkout: `# abandon_checkout
1317
- Force-release a file lock (use with caution).
1318
-
1319
- **Parameters:**
1320
- - project_id (required): Project UUID
1321
- - file_path (required): Path to the file to release
1322
-
1323
- **Note:** Only use when the original agent is unreachable`,
1324
-
1325
- is_file_available: `# is_file_available
1326
- Check if a file is available for checkout.
1327
-
1328
- **Parameters:**
1329
- - project_id (required): Project UUID
1330
- - file_path (required): Path to check
1331
-
1332
- **Returns:** Availability status, current holder if locked`,
1333
-
1334
- // Connector tools
1335
- get_connectors: `# get_connectors
1336
- List project connectors (integrations).
1337
-
1338
- **Parameters:**
1339
- - project_id (required): Project UUID
1340
-
1341
- **Returns:** Array of configured connectors`,
1342
-
1343
- get_connector: `# get_connector
1344
- Get connector details.
1345
-
1346
- **Parameters:**
1347
- - connector_id (required): Connector UUID
1348
-
1349
- **Returns:** Connector configuration and status`,
1350
-
1351
- add_connector: `# add_connector
1352
- Create a new external integration connector.
1353
-
1354
- **Parameters:**
1355
- - project_id (required): Project UUID
1356
- - type (required): Connector type (webhook, slack, discord, etc.)
1357
- - name (required): Display name
1358
- - config (required): Type-specific configuration
1359
-
1360
- **Returns:** Created connector details`,
1361
-
1362
- update_connector: `# update_connector
1363
- Update connector configuration.
1364
-
1365
- **Parameters:**
1366
- - connector_id (required): Connector UUID
1367
- - name (optional): New display name
1368
- - config (optional): Updated configuration
1369
- - enabled (optional): Enable/disable connector
1370
-
1371
- **Returns:** Updated connector details`,
1372
-
1373
- delete_connector: `# delete_connector
1374
- Remove a connector.
1375
-
1376
- **Parameters:**
1377
- - connector_id (required): Connector UUID
1378
-
1379
- **Returns:** Deletion confirmation`,
1380
-
1381
- test_connector: `# test_connector
1382
- Send a test event to verify connector configuration.
1383
-
1384
- **Parameters:**
1385
- - connector_id (required): Connector UUID
1386
-
1387
- **Returns:** Test result with success/failure details`,
1388
-
1389
- get_connector_events: `# get_connector_events
1390
- Get event history for a connector.
1391
-
1392
- **Parameters:**
1393
- - connector_id (required): Connector UUID
1394
- - limit (optional): Max events to return (default: 50)
1395
-
1396
- **Returns:** Array of sent events with status`,
1397
-
1398
- // Cloud agent tools
1399
- update_agent_status: `# update_agent_status
1400
- Update your status message on the dashboard. Call this after start_work_session and whenever you start a new task.
1401
-
1402
- **Parameters:**
1403
- - status_message (required): Status text shown on dashboard (e.g. "Working on: Task title")
1404
- - agent_name (required): Your agent name
1405
- - project_id (required): Project UUID
1406
-
1407
- **Example:** update_agent_status(status_message: "Working on: Progress Report Modal", agent_name: "Leon", project_id: "...")`,
1408
-
1409
- cleanup_stale_cloud_agents: `# cleanup_stale_cloud_agents
1410
- Clean up stale cloud agents that failed to start or lost connection.
1411
-
1412
- **Parameters:**
1413
- - project_id (required): Project UUID
1414
- - stale_minutes (optional): Minutes of inactivity before considered stale (default: 5)
1415
- - include_running (optional): Include running agents in cleanup (default: false)
1416
- - dry_run (optional): Preview what would be cleaned without actually cleaning (default: false)
1417
-
1418
- **Returns:**
1419
- - cleaned: Number of agents cleaned up
1420
- - failed: Number of cleanup failures
1421
- - agents: Array of affected agents with status
1422
-
1423
- **Example:** cleanup_stale_cloud_agents(project_id, stale_minutes: 10, dry_run: true)`,
1424
-
1425
- list_cloud_agents: `# list_cloud_agents
1426
- List cloud agents for a project with optional status filter.
1427
-
1428
- **Parameters:**
1429
- - project_id (required): Project UUID
1430
- - status (optional): Filter by status - starting, running, stopped, failed, or all (default: all)
1431
-
1432
- **Returns:**
1433
- - agents: Array of agents with id, name, status, created_at, last_heartbeat, public_ip, ecs_task_id
1434
- - count: Total number of agents returned
1435
-
1436
- **Example:** list_cloud_agents(project_id, status: "running")`,
1437
-
1438
- // Chat tools
1439
- send_project_message: `# send_project_message
1440
- Send a message to the project chat channel for agent and user communication.
1441
-
1442
- **Parameters:**
1443
- - project_id (required): Project UUID
1444
- - message (required): Message content to send
1445
- - author_name (optional): Name of the message sender (defaults to session persona)
1446
-
1447
- **Returns:**
1448
- - message_id: UUID of the sent message
1449
- - timestamp: When the message was sent
1450
-
1451
- **Example:** send_project_message(project_id: "123e4567-e89b-12d3-a456-426614174000", message: "Deployment completed successfully")`,
1452
-
1453
- get_project_messages: `# get_project_messages
1454
- Read recent project chat messages to stay informed about project communication.
1455
-
1456
- **Parameters:**
1457
- - project_id (required): Project UUID
1458
- - limit (optional): Number of recent messages to retrieve (default: 20, max: 100)
1459
- - since (optional): ISO timestamp to get messages after this time
1460
-
1461
- **Returns:**
1462
- - messages: Array of messages with id, author_name, message, timestamp
1463
- - count: Number of messages returned
1464
-
1465
- **Example:** get_project_messages(project_id: "123e4567-e89b-12d3-a456-426614174000", limit: 10)`,
1466
-
1467
- post_progress: `# post_progress
1468
- Post a structured progress update to the project chat. Use at key milestones: starting a task, creating a PR, hitting a blocker, or completing work.
1469
-
1470
- **Parameters:**
1471
- - project_id (required): Project UUID
1472
- - message (required): Progress update message (supports markdown)
1473
- - type (optional): Update type — info (general), milestone (key achievement), blocker (blocking issue), question (asking for input). Default: info
1474
-
1475
- **Returns:** Confirmation with message_id and timestamp.
1476
-
1477
- **Example:** post_progress(project_id: "123e4567-e89b-12d3-a456-426614174000", message: "PR #42 created for auth feature", type: "milestone")`,
1478
-
1479
- // Version management tools
1480
- check_mcp_version: `# check_mcp_version
1481
- Check for available MCP server updates and version information.
1482
-
1483
- **Parameters:**
1484
- - check_remote (optional): Whether to check remote registry for updates (default: true)
1485
-
1486
- **Returns:**
1487
- - current_version: Currently running MCP server version
1488
- - latest_version: Latest available version (if check_remote is true)
1489
- - update_available: Boolean indicating if an update is available
1490
- - release_notes: Summary of changes in latest version (if available)
1491
-
1492
- **Example:** check_mcp_version(check_remote: true)`,
1493
-
1494
- update_mcp_server: `# update_mcp_server
1495
- Self-update the MCP server to the latest available version.
1496
-
1497
- **Parameters:**
1498
- - version (optional): Specific version to update to (defaults to latest)
1499
- - restart_after_update (optional): Whether to restart after update (default: true)
1500
- - backup_config (optional): Whether to backup current config (default: true)
1501
-
1502
- **Returns:**
1503
- - success: Boolean indicating if update succeeded
1504
- - old_version: Previous version before update
1505
- - new_version: Version after update
1506
- - restart_required: Whether manual restart is needed
1507
-
1508
- **Example:** update_mcp_server()
1509
-
1510
- **Note:** This operation may temporarily disconnect active sessions during restart.`,
1511
-
1512
- // Persona template tools
1513
- get_persona_templates: `# get_persona_templates
1514
- List available persona templates for a project. Returns both global defaults and project-specific templates.
1515
-
1516
- **Parameters:**
1517
- - project_id (required): Project UUID
1518
-
1519
- **Returns:**
1520
- - templates: Array of persona templates with id, name, description, focus_areas, icon, is_default, scope (global/project)
1521
-
1522
- **Example:** get_persona_templates(project_id: "123e4567-e89b-12d3-a456-426614174000")`,
1523
-
1524
- add_feature: `# add_feature
1525
- Create a draft feature spec. Features sit between ideas (quick thoughts) and tasks (actionable work).
1526
-
1527
- **Parameters:**
1528
- - project_id (required): Project UUID
1529
- - title (required): Feature title (max 200 chars)
1530
- - body (optional): Markdown spec content — requirements, user stories, acceptance criteria, technical approach
1531
- - priority (optional): Priority 1-5 (1 = highest, default: 2)
1532
-
1533
- **Returns:** Created feature object with id, status ('draft'), and timestamps.
1534
-
1535
- **Example:** add_feature(project_id, title: "Dark mode support", body: "## Goal\\nAdd dark mode toggle...")`,
1536
-
1537
- update_feature: `# update_feature
1538
- Update feature details, status, or priority.
1539
-
1540
- **Parameters:**
1541
- - feature_id (required): Feature UUID
1542
- - title (optional): Updated title
1543
- - body (optional): Updated markdown spec content
1544
- - status (optional): New status — draft → refining → specced → ready → building → shipped
1545
- - priority (optional): Priority 1-5 (1 = highest)
1546
-
1547
- **Returns:** Updated feature object.
1548
-
1549
- **Example:** update_feature(feature_id, status: "specced")`,
1550
-
1551
- get_feature: `# get_feature
1552
- Get a single feature by ID.
1553
-
1554
- **Parameters:**
1555
- - feature_id (required): Feature UUID
1556
-
1557
- **Returns:** Full feature object including title, body, status, priority, and timestamps.
1558
-
1559
- **Example:** get_feature(feature_id: "abc-123")`,
1560
-
1561
- get_features: `# get_features
1562
- List features for a project, optionally filtered by status.
1563
-
1564
- **Parameters:**
1565
- - project_id (required): Project UUID
1566
- - status (optional): Filter by status — draft, refining, specced, ready, building, shipped
1567
- - limit (optional): Max results (default: 50, max: 500)
1568
- - offset (optional): Pagination offset (default: 0)
1569
- - search_query (optional): Search by title or body content
1570
-
1571
- **Returns:** Array of feature objects with pagination metadata.
1572
-
1573
- **Example:** get_features(project_id, status: "specced")`,
1574
-
1575
- delete_feature: `# delete_feature
1576
- Delete a feature permanently.
1577
-
1578
- **Parameters:**
1579
- - feature_id (required): Feature UUID
1580
-
1581
- **Returns:** Confirmation of deletion.
1582
-
1583
- **Example:** delete_feature(feature_id: "abc-123")`,
1584
-
1585
- link_idea_to_feature: `# link_idea_to_feature
1586
- Link an existing idea to a feature spec, creating a traceable connection.
1587
-
1588
- **Parameters:**
1589
- - feature_id (required): Feature UUID
1590
- - idea_id (required): Idea UUID to link
1591
-
1592
- **Returns:** Confirmation of the link creation.
1593
-
1594
- **Example:** link_idea_to_feature(feature_id: "abc-123", idea_id: "def-456")`,
1595
- };
1
+ /**
2
+ * Tool Documentation
3
+ *
4
+ * Externalized documentation for all MCP tools.
5
+ * This file is lazy-loaded by get_tool_info to save tokens.
6
+ *
7
+ * Token savings: ~8,000 tokens per schema load when this isn't bundled.
8
+ */
9
+
10
+ export const TOOL_INFO: Record<string, string> = {
11
+ start_work_session: `# start_work_session
12
+ Initialize agent session and get assigned work.
13
+
14
+ **Parameters:**
15
+ - project_id (optional): Project UUID
16
+ - git_url (optional): Git URL to find project
17
+ - mode: 'lite' (default) or 'full' for complete context
18
+
19
+ **Returns:** session_id, persona, project info, next_task
20
+
21
+ **Example:** start_work_session(git_url: "https://github.com/org/repo")`,
22
+
23
+ get_help: `# get_help
24
+ Get workflow guidance on specific topics.
25
+
26
+ **Parameters:**
27
+ - topic (required): One of: getting_started, tasks, validation, deployment, git, blockers, milestones, fallback, session, tokens, topics
28
+
29
+ **Example:** get_help(topic: "deployment")`,
30
+
31
+ get_token_usage: `# get_token_usage
32
+ Get token usage statistics for current session.
33
+
34
+ **Returns:** total calls, total tokens, breakdown by tool, averages`,
35
+
36
+ heartbeat: `# heartbeat
37
+ Send heartbeat to maintain active status. Call every 30-60 seconds.
38
+
39
+ **Parameters:**
40
+ - session_id (optional): Uses current session if not provided
41
+ - current_worktree_path (optional): Report your current git worktree path (e.g., "../project-task-abc123")`,
42
+
43
+ end_work_session: `# end_work_session
44
+ End session and release claimed tasks.
45
+
46
+ **Parameters:**
47
+ - session_id (optional): Uses current session if not provided
48
+
49
+ **Returns:** Session summary with tasks completed, time spent`,
50
+
51
+ get_project_context: `# get_project_context
52
+ Get full project context including goals, instructions, tasks, blockers, decisions.
53
+
54
+ **Parameters:**
55
+ - project_id (optional): Project UUID
56
+ - git_url (optional): Git URL to find project
57
+
58
+ Without params, lists all projects.`,
59
+
60
+ get_git_workflow: `# get_git_workflow
61
+ Get git workflow config and branching instructions.
62
+
63
+ **Parameters:**
64
+ - project_id (required): Project UUID
65
+ - task_id (optional): Include branch naming suggestion
66
+
67
+ **Returns:** workflow type, branch names, auto-settings`,
68
+
69
+ create_project: `# create_project
70
+ Create a new project to track.
71
+
72
+ **Parameters:**
73
+ - name (required): Project display name
74
+ - description: Brief description
75
+ - goal: What "done" looks like
76
+ - git_url: Repository URL
77
+ - tech_stack: Array of technologies`,
78
+
79
+ update_project: `# update_project
80
+ Update project settings.
81
+
82
+ **Parameters:**
83
+ - project_id (required): Project UUID
84
+ - name, description, goal, git_url, tech_stack, status
85
+ - git_workflow: none, trunk-based, github-flow, git-flow
86
+ - git_main_branch, git_develop_branch, git_auto_branch, git_auto_tag`,
87
+
88
+ update_project_readme: `# update_project_readme
89
+ Sync README content to the dashboard.
90
+
91
+ **Parameters:**
92
+ - project_id (required): Project UUID
93
+ - readme_content (required): Markdown content`,
94
+
95
+ get_task: `# get_task
96
+ Get a single task by ID with optional subtasks and milestones.
97
+
98
+ **Parameters:**
99
+ - task_id (required): Task UUID
100
+ - include_subtasks (optional): Include subtasks array (default: false)
101
+ - include_milestones (optional): Include milestones array (default: false)`,
102
+
103
+ search_tasks: `# search_tasks
104
+ Search tasks by text query. Supports pagination.
105
+
106
+ **Parameters:**
107
+ - project_id (required): Project UUID
108
+ - query (required): Search query (min 2 chars)
109
+ - status (optional): Array of statuses to filter
110
+ - limit (optional): Max results per page (1-20, default: 10)
111
+ - offset (optional): Number of results to skip (default: 0)
112
+
113
+ **Returns:**
114
+ - tasks: Array of matching tasks
115
+ - total_matches: Total number of matching tasks
116
+ - has_more: Whether more results exist beyond current page
117
+ - offset: Current offset
118
+ - limit: Current limit`,
119
+
120
+ get_tasks_by_priority: `# get_tasks_by_priority
121
+ Get tasks filtered by priority. Supports pagination.
122
+
123
+ **Parameters:**
124
+ - project_id (required): Project UUID
125
+ - priority (optional): Exact priority (1-5)
126
+ - priority_max (optional): Max priority for range query
127
+ - status (optional): Filter by status (default: pending)
128
+ - limit (optional): Max results per page (1-20, default: 10)
129
+ - offset (optional): Number of results to skip (default: 0)
130
+
131
+ **Returns:**
132
+ - tasks: Array of matching tasks
133
+ - total_count: Total number of matching tasks
134
+ - has_more: Whether more results exist beyond current page
135
+ - offset: Current offset
136
+ - limit: Current limit`,
137
+
138
+ get_recent_tasks: `# get_recent_tasks
139
+ Get tasks ordered by creation date. Supports pagination.
140
+
141
+ **Parameters:**
142
+ - project_id (required): Project UUID
143
+ - order (optional): 'newest' or 'oldest' (default: newest)
144
+ - status (optional): Filter by status
145
+ - limit (optional): Max results per page (1-20, default: 10)
146
+ - offset (optional): Number of results to skip (default: 0)
147
+
148
+ **Returns:**
149
+ - tasks: Array of matching tasks
150
+ - total_count: Total number of matching tasks
151
+ - has_more: Whether more results exist beyond current page
152
+ - offset: Current offset
153
+ - limit: Current limit`,
154
+
155
+ get_task_stats: `# get_task_stats
156
+ Get aggregate task statistics. Most token-efficient way to understand project state.
157
+
158
+ **Parameters:**
159
+ - project_id (required): Project UUID
160
+
161
+ **Returns:** Counts by status and priority, no task data`,
162
+
163
+ get_next_task: `# get_next_task
164
+ Get highest priority pending task not claimed by another agent.
165
+
166
+ **Parameters:**
167
+ - project_id (required): Project UUID
168
+
169
+ **Returns:** task or null, may suggest fallback activity`,
170
+
171
+ add_task: `# add_task
172
+ Create a new task.
173
+
174
+ **Parameters:**
175
+ - project_id (required): Project UUID
176
+ - title (required): Task title
177
+ - description: Detailed description
178
+ - priority: 1-5 (1=highest, default 3)
179
+ - estimated_minutes: Time estimate`,
180
+
181
+ update_task: `# update_task
182
+ Update task status, progress, or details.
183
+
184
+ **Parameters:**
185
+ - task_id (required): Task UUID
186
+ - status: pending, in_progress, completed, cancelled
187
+ - progress_percentage: 0-100
188
+ - progress_note: Brief note (auto-logged)
189
+ - title, description, priority, estimated_minutes, git_branch
190
+
191
+ **Best practice:** Include progress_note with progress_percentage`,
192
+
193
+ complete_task: `# complete_task
194
+ Mark task as done.
195
+
196
+ **Parameters:**
197
+ - task_id (required): Task UUID
198
+ - summary: What was done
199
+
200
+ **Returns:** next_task, validation_count, blockers_count, deployment_priority`,
201
+
202
+ delete_task: `# delete_task
203
+ Delete a task.
204
+
205
+ **Parameters:**
206
+ - task_id (required): Task UUID`,
207
+
208
+ cancel_task: `# cancel_task
209
+ Cancel a task with an optional reason. Use this when a task should be marked as cancelled rather than deleted (e.g., PR was closed, work was superseded). The task remains visible with a cancelled status for historical tracking.
210
+
211
+ **Parameters:**
212
+ - task_id (required): Task UUID
213
+ - cancelled_reason (optional): One of: pr_closed, superseded, user_cancelled, validation_failed, obsolete, blocked
214
+ - cancellation_note (optional): Additional context about the cancellation
215
+
216
+ **Returns:** task_id, cancelled_reason, message, sprint info (if auto-completed)
217
+
218
+ **Example:** cancel_task(task_id: "abc", cancelled_reason: "pr_closed", cancellation_note: "PR was closed without merging")`,
219
+
220
+ release_task: `# release_task
221
+ Release a claimed task back to pending status. Use when you need to give up a task you've started but cannot complete (e.g., context limits reached, conflicts with other work, user requested different approach).
222
+
223
+ **Parameters:**
224
+ - task_id (required): Task UUID
225
+ - reason (optional): Explanation for releasing the task
226
+
227
+ **Returns:** success, task_id, message, hint
228
+
229
+ **Example:** release_task(task_id: "abc", reason: "Context limit reached, need fresh session")
230
+
231
+ **Note:** Only in_progress tasks can be released. The task becomes available for other agents to claim via get_next_task().`,
232
+
233
+ batch_update_tasks: `# batch_update_tasks
234
+ Update multiple tasks at once.
235
+
236
+ **Parameters:**
237
+ - updates (required): Array of {task_id, status?, progress_percentage?, progress_note?, priority?}`,
238
+
239
+ batch_complete_tasks: `# batch_complete_tasks
240
+ Complete multiple tasks at once.
241
+
242
+ **Parameters:**
243
+ - completions (required): Array of {task_id, summary?}`,
244
+
245
+ add_task_reference: `# add_task_reference
246
+ Add a reference URL to a task.
247
+
248
+ **Parameters:**
249
+ - task_id (required): Task UUID
250
+ - url (required): Reference URL
251
+ - label (optional): Display label`,
252
+
253
+ remove_task_reference: `# remove_task_reference
254
+ Remove a reference URL from a task.
255
+
256
+ **Parameters:**
257
+ - task_id (required): Task UUID
258
+ - url (required): URL to remove`,
259
+
260
+ add_milestone: `# add_milestone
261
+ Add a milestone/step to a task.
262
+
263
+ **Parameters:**
264
+ - task_id (required): Task UUID
265
+ - title (required): Milestone title
266
+ - description (optional): Details
267
+ - order_index (optional): Position (0-based)`,
268
+
269
+ update_milestone: `# update_milestone
270
+ Update a milestone.
271
+
272
+ **Parameters:**
273
+ - milestone_id (required): Milestone UUID
274
+ - title, description, status (pending/in_progress/completed), order_index`,
275
+
276
+ complete_milestone: `# complete_milestone
277
+ Mark milestone as completed.
278
+
279
+ **Parameters:**
280
+ - milestone_id (required): Milestone UUID`,
281
+
282
+ delete_milestone: `# delete_milestone
283
+ Delete a milestone.
284
+
285
+ **Parameters:**
286
+ - milestone_id (required): Milestone UUID`,
287
+
288
+ get_milestones: `# get_milestones
289
+ Get all milestones for a task.
290
+
291
+ **Parameters:**
292
+ - task_id (required): Task UUID`,
293
+
294
+ log_progress: `# log_progress
295
+ Record a progress update.
296
+
297
+ **Parameters:**
298
+ - project_id (required): Project UUID
299
+ - summary (required): Brief summary
300
+ - task_id (optional): Link to task
301
+ - details (optional): Extended notes`,
302
+
303
+ get_activity_feed: `# get_activity_feed
304
+ Get combined activity feed.
305
+
306
+ **Parameters:**
307
+ - project_id (required): Project UUID
308
+ - types (optional): Array of task, progress, blocker, decision
309
+ - created_by (optional): agent or user
310
+ - since (optional): ISO date string
311
+ - limit (optional): Max items (default 50)`,
312
+
313
+ add_blocker: `# add_blocker
314
+ Record a blocker preventing progress.
315
+
316
+ **Parameters:**
317
+ - project_id (required): Project UUID
318
+ - description (required): What is blocking`,
319
+
320
+ resolve_blocker: `# resolve_blocker
321
+ Mark a blocker as resolved.
322
+
323
+ **Parameters:**
324
+ - blocker_id (required): Blocker UUID
325
+ - resolution_note (optional): How it was resolved`,
326
+
327
+ get_blockers: `# get_blockers
328
+ Get blockers for a project.
329
+
330
+ **Parameters:**
331
+ - project_id (required): Project UUID
332
+ - status (optional): open or resolved (default: open)`,
333
+
334
+ delete_blocker: `# delete_blocker
335
+ Delete a blocker.
336
+
337
+ **Parameters:**
338
+ - blocker_id (required): Blocker UUID`,
339
+
340
+ log_decision: `# log_decision
341
+ Record an architectural decision.
342
+
343
+ **Parameters:**
344
+ - project_id (required): Project UUID
345
+ - title (required): Decision title
346
+ - description (required): What was decided
347
+ - rationale (optional): Why
348
+ - alternatives_considered (optional): Array of alternatives`,
349
+
350
+ get_decisions: `# get_decisions
351
+ Get recorded decisions.
352
+
353
+ **Parameters:**
354
+ - project_id (required): Project UUID`,
355
+
356
+ delete_decision: `# delete_decision
357
+ Delete a decision.
358
+
359
+ **Parameters:**
360
+ - decision_id (required): Decision UUID`,
361
+
362
+ add_idea: `# add_idea
363
+ Record an improvement idea.
364
+
365
+ **Parameters:**
366
+ - project_id (required): Project UUID
367
+ - title (required): Idea title
368
+ - description (optional): Details
369
+ - status (optional): raw, exploring, planned, in_development, shipped`,
370
+
371
+ update_idea: `# update_idea
372
+ Update an idea.
373
+
374
+ **Parameters:**
375
+ - idea_id (required): Idea UUID
376
+ - title, description, status, doc_url`,
377
+
378
+ get_ideas: `# get_ideas
379
+ Get recorded ideas.
380
+
381
+ **Parameters:**
382
+ - project_id (required): Project UUID
383
+ - status (optional): Filter by status`,
384
+
385
+ delete_idea: `# delete_idea
386
+ Delete an idea.
387
+
388
+ **Parameters:**
389
+ - idea_id (required): Idea UUID`,
390
+
391
+ convert_idea_to_task: `# convert_idea_to_task
392
+ Convert an idea to a task. Creates a new task from the idea's title and description.
393
+
394
+ **Parameters:**
395
+ - idea_id (required): Idea UUID to convert
396
+ - priority (optional): Task priority 1-5 (default: 3)
397
+ - estimated_minutes (optional): Estimated time
398
+ - update_status (optional): Update idea to 'in_development' (default: true)
399
+
400
+ **Returns:**
401
+ - task_id: Created task UUID
402
+ - Links idea and task together`,
403
+
404
+ add_finding: `# add_finding
405
+ Record an audit/review finding.
406
+
407
+ **Parameters:**
408
+ - project_id (required): Project UUID
409
+ - title (required): Finding title
410
+ - category: performance, security, code_quality, accessibility, documentation, architecture, testing, other
411
+ - description: Details with impact and suggested fix
412
+ - severity: info, low, medium, high, critical
413
+ - file_path, line_number, related_task_id (optional)`,
414
+
415
+ get_findings: `# get_findings
416
+ Get audit findings.
417
+
418
+ **Parameters:**
419
+ - project_id (required): Project UUID
420
+ - category, severity, status (optional filters)
421
+ - limit (optional): Max items`,
422
+
423
+ update_finding: `# update_finding
424
+ Update a finding.
425
+
426
+ **Parameters:**
427
+ - finding_id (required): Finding UUID
428
+ - status: open, addressed, dismissed, wontfix
429
+ - resolution_note, title, description, severity`,
430
+
431
+ delete_finding: `# delete_finding
432
+ Delete a finding.
433
+
434
+ **Parameters:**
435
+ - finding_id (required): Finding UUID`,
436
+
437
+ get_tasks_awaiting_validation: `# get_tasks_awaiting_validation
438
+ Get completed tasks needing validation.
439
+
440
+ **Parameters:**
441
+ - project_id (required): Project UUID
442
+
443
+ **Returns:** Tasks with reviewing status (who's reviewing, when started)`,
444
+
445
+ claim_validation: `# claim_validation
446
+ Claim a completed task for review. Shows "being reviewed" on dashboard.
447
+
448
+ **Parameters:**
449
+ - task_id (required): Task UUID to claim
450
+
451
+ **Note:** Claim before reviewing to prevent duplicate work.`,
452
+
453
+ validate_task: `# validate_task
454
+ Validate a completed task.
455
+
456
+ **Parameters:**
457
+ - task_id (required): Task UUID
458
+ - approved (required): true/false
459
+ - validation_notes: What was checked, issues found`,
460
+
461
+ request_deployment: `# request_deployment
462
+ Request a deployment.
463
+
464
+ **Parameters:**
465
+ - project_id (required): Project UUID
466
+ - environment: development, staging, production
467
+ - version_bump: patch, minor, major
468
+ - notes, git_ref (optional)`,
469
+
470
+ claim_deployment_validation: `# claim_deployment_validation
471
+ Claim pending deployment for validation.
472
+
473
+ **Parameters:**
474
+ - project_id (required): Project UUID
475
+
476
+ Next: Run build+tests, then call report_validation`,
477
+
478
+ report_validation: `# report_validation
479
+ Report build/test results.
480
+
481
+ **Parameters:**
482
+ - project_id (required): Project UUID
483
+ - build_passed (required): boolean
484
+ - tests_passed (required): boolean
485
+ - error_message (if failed)`,
486
+
487
+ check_deployment_status: `# check_deployment_status
488
+ Get active deployment status.
489
+
490
+ **Parameters:**
491
+ - project_id (required): Project UUID`,
492
+
493
+ start_deployment: `# start_deployment
494
+ Start deployment (requires 'ready' status).
495
+
496
+ **Parameters:**
497
+ - project_id (required): Project UUID`,
498
+
499
+ complete_deployment: `# complete_deployment
500
+ Mark deployment complete.
501
+
502
+ **Parameters:**
503
+ - project_id (required): Project UUID
504
+ - success (required): boolean
505
+ - summary: What was deployed or why failed`,
506
+
507
+ cancel_deployment: `# cancel_deployment
508
+ Cancel active deployment.
509
+
510
+ **Parameters:**
511
+ - project_id (required): Project UUID
512
+ - reason (optional): Why cancelled`,
513
+
514
+ schedule_deployment: `# schedule_deployment
515
+ Schedule a deployment for a specific time.
516
+
517
+ **Parameters:**
518
+ - project_id (required): Project UUID
519
+ - scheduled_at (required): ISO 8601 datetime
520
+ - schedule_type (optional): once, daily, weekly, monthly (default: once)
521
+ - auto_trigger (optional): Whether agents auto-trigger (default: true)
522
+ - environment (optional): development, staging, production (default: production)
523
+ - version_bump (optional): patch, minor, major (default: patch)
524
+ - notes (optional): Notes about the deployment
525
+ - git_ref (optional): Git branch or commit
526
+
527
+ **Example:** schedule_deployment(project_id, scheduled_at: "2025-01-15T10:00:00Z", schedule_type: "weekly")`,
528
+
529
+ get_scheduled_deployments: `# get_scheduled_deployments
530
+ List scheduled deployments for a project.
531
+
532
+ **Parameters:**
533
+ - project_id (required): Project UUID
534
+ - include_disabled (optional): Include disabled schedules (default: false)`,
535
+
536
+ update_scheduled_deployment: `# update_scheduled_deployment
537
+ Update a scheduled deployment's configuration.
538
+
539
+ **Parameters:**
540
+ - schedule_id (required): Schedule UUID
541
+ - scheduled_at (optional): New scheduled time
542
+ - schedule_type (optional): once, daily, weekly, monthly
543
+ - auto_trigger (optional): Whether to auto-trigger
544
+ - enabled (optional): Enable or disable
545
+ - environment, version_bump, notes, git_ref (optional)`,
546
+
547
+ delete_scheduled_deployment: `# delete_scheduled_deployment
548
+ Delete a scheduled deployment.
549
+
550
+ **Parameters:**
551
+ - schedule_id (required): Schedule UUID`,
552
+
553
+ trigger_scheduled_deployment: `# trigger_scheduled_deployment
554
+ Manually trigger a scheduled deployment.
555
+
556
+ Creates a new deployment using the schedule's configuration.
557
+ Updates schedule: last_triggered_at, trigger_count, next scheduled_at (for recurring).
558
+
559
+ **Parameters:**
560
+ - schedule_id (required): Schedule UUID`,
561
+
562
+ check_due_deployments: `# check_due_deployments
563
+ Check for scheduled deployments that are due.
564
+
565
+ Returns schedules where: enabled AND auto_trigger AND scheduled_at <= NOW()
566
+
567
+ Use this to find deployments to trigger when working on a project.
568
+
569
+ **Parameters:**
570
+ - project_id (required): Project UUID`,
571
+
572
+ start_fallback_activity: `# start_fallback_activity
573
+ Start background activity when no tasks.
574
+
575
+ **Parameters:**
576
+ - project_id (required): Project UUID
577
+ - activity (required): feature_ideation, code_review, performance_audit, ux_review, cost_analysis, security_review, test_coverage, documentation_review, dependency_audit, validate_completed_tasks`,
578
+
579
+ stop_fallback_activity: `# stop_fallback_activity
580
+ Stop current fallback activity.
581
+
582
+ **Parameters:**
583
+ - project_id (required): Project UUID
584
+ - summary (optional): What was accomplished`,
585
+
586
+ get_activity_history: `# get_activity_history
587
+ Get background activity history.
588
+
589
+ **Parameters:**
590
+ - project_id (required): Project UUID
591
+ - activity_type (optional): Filter by type
592
+ - limit (optional): Max items`,
593
+
594
+ get_activity_schedules: `# get_activity_schedules
595
+ Get activity schedules.
596
+
597
+ **Parameters:**
598
+ - project_id (required): Project UUID`,
599
+
600
+ get_pending_requests: `# get_pending_requests
601
+ Get unacknowledged user requests.
602
+
603
+ **Parameters:**
604
+ - project_id (required): Project UUID`,
605
+
606
+ acknowledge_request: `# acknowledge_request
607
+ Mark a request as handled.
608
+
609
+ **Parameters:**
610
+ - request_id (required): Request UUID`,
611
+
612
+ answer_question: `# answer_question
613
+ Answer a user question from dashboard.
614
+
615
+ **Parameters:**
616
+ - request_id (required): Request UUID
617
+ - answer (required): Your answer`,
618
+
619
+ discover_tools: `# discover_tools
620
+ List available tools by category.
621
+
622
+ **Parameters:**
623
+ - category (optional): Filter to specific category
624
+
625
+ Without category, returns all categories with tool counts.
626
+ With category, returns tools in that category with brief descriptions.`,
627
+
628
+ get_tool_info: `# get_tool_info
629
+ Get detailed info for a specific tool.
630
+
631
+ **Parameters:**
632
+ - tool_name (required): Name of the tool
633
+
634
+ Returns: full documentation, parameters, examples, best practices.`,
635
+
636
+ // Organization tools
637
+ list_organizations: `# list_organizations
638
+ List organizations the current user belongs to.
639
+
640
+ **Parameters:** None
641
+
642
+ **Returns:** Array of organizations with role and joined_at`,
643
+
644
+ create_organization: `# create_organization
645
+ Create a new organization. You become the owner.
646
+
647
+ **Parameters:**
648
+ - name (required): Organization display name
649
+ - description (optional): Brief description
650
+ - slug (optional): URL-friendly identifier (auto-generated if not provided)
651
+
652
+ **Example:** create_organization(name: "Acme Corp", description: "Our development team")`,
653
+
654
+ update_organization: `# update_organization
655
+ Update organization details. Requires admin role.
656
+
657
+ **Parameters:**
658
+ - organization_id (required): Organization UUID
659
+ - name, description, logo_url (optional updates)`,
660
+
661
+ delete_organization: `# delete_organization
662
+ Delete an organization. Requires owner role. Removes all shares.
663
+
664
+ **Parameters:**
665
+ - organization_id (required): Organization UUID
666
+
667
+ **Warning:** This will remove all project shares with this organization.`,
668
+
669
+ list_org_members: `# list_org_members
670
+ List members of an organization.
671
+
672
+ **Parameters:**
673
+ - organization_id (required): Organization UUID
674
+
675
+ **Returns:** Array of members with role and joined_at`,
676
+
677
+ invite_member: `# invite_member
678
+ Invite a user to an organization by email. Requires admin role.
679
+
680
+ **Parameters:**
681
+ - organization_id (required): Organization UUID
682
+ - email (required): Email address to invite
683
+ - role (optional): admin, member, or viewer (default: member)
684
+
685
+ **Returns:** Invite details with token`,
686
+
687
+ update_member_role: `# update_member_role
688
+ Change a member's role. Requires admin role.
689
+
690
+ **Parameters:**
691
+ - organization_id (required): Organization UUID
692
+ - user_id (required): User UUID to update
693
+ - role (required): admin, member, or viewer
694
+
695
+ **Note:** Cannot change your own role or the owner's role.`,
696
+
697
+ remove_member: `# remove_member
698
+ Remove a member from an organization. Requires admin role.
699
+
700
+ **Parameters:**
701
+ - organization_id (required): Organization UUID
702
+ - user_id (required): User UUID to remove
703
+
704
+ **Note:** Cannot remove the owner. Their org-scoped API keys are invalidated.`,
705
+
706
+ leave_organization: `# leave_organization
707
+ Leave an organization.
708
+
709
+ **Parameters:**
710
+ - organization_id (required): Organization UUID
711
+
712
+ **Note:** Owner cannot leave. Must transfer ownership or delete organization.`,
713
+
714
+ share_project_with_org: `# share_project_with_org
715
+ Share a project with an organization. You must own the project.
716
+
717
+ **Parameters:**
718
+ - project_id (required): Project UUID
719
+ - organization_id (required): Organization UUID to share with
720
+ - permission (optional): read, write, or admin (default: read)
721
+
722
+ **Permission levels:**
723
+ - read: View project and tasks
724
+ - write: Add/update tasks, log progress
725
+ - admin: All write permissions plus deployments`,
726
+
727
+ update_project_share: `# update_project_share
728
+ Update the permission level for a project share.
729
+
730
+ **Parameters:**
731
+ - project_id (required): Project UUID
732
+ - organization_id (required): Organization UUID
733
+ - permission (required): read, write, or admin`,
734
+
735
+ unshare_project: `# unshare_project
736
+ Remove a project share from an organization.
737
+
738
+ **Parameters:**
739
+ - project_id (required): Project UUID
740
+ - organization_id (required): Organization UUID
741
+
742
+ **Note:** Org members will lose access immediately.`,
743
+
744
+ list_project_shares: `# list_project_shares
745
+ List all organizations a project is shared with.
746
+
747
+ **Parameters:**
748
+ - project_id (required): Project UUID
749
+
750
+ **Returns:** Array of shares with organization info and permission level`,
751
+
752
+ // Cost monitoring tools
753
+ get_cost_summary: `# get_cost_summary
754
+ Get cost summary (daily/weekly/monthly) for a project.
755
+
756
+ **Parameters:**
757
+ - project_id (required): Project UUID
758
+ - period: 'daily' | 'weekly' | 'monthly' (default: daily)
759
+ - limit: Max records to return (default: 30)
760
+
761
+ **Returns:** Cost summary with totals and breakdown by model`,
762
+
763
+ get_cost_alerts: `# get_cost_alerts
764
+ Get cost alerts for the current user.
765
+
766
+ **Parameters:**
767
+ - project_id (optional): Filter by project
768
+
769
+ **Returns:** Array of configured cost alerts`,
770
+
771
+ add_cost_alert: `# add_cost_alert
772
+ Add a cost threshold alert.
773
+
774
+ **Parameters:**
775
+ - project_id (optional): Specific project or null for all
776
+ - threshold_amount (required): Amount in USD
777
+ - threshold_period (required): 'daily' | 'weekly' | 'monthly'
778
+ - alert_type: 'warning' | 'critical' (default: warning)
779
+
780
+ **Example:** add_cost_alert(threshold_amount: 50, threshold_period: "daily", alert_type: "warning")`,
781
+
782
+ update_cost_alert: `# update_cost_alert
783
+ Update an existing cost alert.
784
+
785
+ **Parameters:**
786
+ - alert_id (required): Alert UUID
787
+ - threshold_amount: New amount in USD
788
+ - threshold_period: New period
789
+ - alert_type: New alert type
790
+ - enabled: Enable/disable the alert`,
791
+
792
+ delete_cost_alert: `# delete_cost_alert
793
+ Delete a cost alert.
794
+
795
+ **Parameters:**
796
+ - alert_id (required): Alert UUID to delete`,
797
+
798
+ get_task_costs: `# get_task_costs
799
+ Get cost breakdown by task for a project.
800
+
801
+ **Parameters:**
802
+ - project_id (required): Project UUID
803
+ - limit: Max tasks to return (default: 20)
804
+
805
+ **Returns:** Tasks sorted by estimated cost with model breakdown`,
806
+
807
+ // Subtasks
808
+ add_subtask: `# add_subtask
809
+ Add a subtask to break down a larger task.
810
+
811
+ **Parameters:**
812
+ - parent_task_id (required): UUID of the parent task
813
+ - title (required): Subtask title
814
+ - description (optional): Detailed description
815
+ - priority (optional): 1-5 (defaults to parent priority)
816
+ - estimated_minutes (optional): Time estimate
817
+
818
+ **Note:** Max depth is 1 (subtasks cannot have their own subtasks).`,
819
+
820
+ get_subtasks: `# get_subtasks
821
+ Get subtasks for a parent task.
822
+
823
+ **Parameters:**
824
+ - parent_task_id (required): UUID of the parent task
825
+ - status (optional): Filter by status
826
+
827
+ **Returns:** Subtasks with aggregate completion stats.`,
828
+
829
+ // Bodies of work
830
+ create_body_of_work: `# create_body_of_work
831
+ Create a new body of work to group tasks into phases.
832
+
833
+ **Parameters:**
834
+ - project_id (required): Project UUID
835
+ - title (required): Title for the body of work
836
+ - description (optional): Description
837
+ - auto_deploy_on_completion (optional): Auto-deploy when all tasks complete (default: false)
838
+ - deploy_environment (optional): Target environment (default: production)
839
+ - deploy_version_bump (optional): Version bump (default: minor)
840
+ - deploy_trigger (optional): When to trigger auto-deploy (default: all_completed_validated)`,
841
+
842
+ update_body_of_work: `# update_body_of_work
843
+ Update a body of work's settings.
844
+
845
+ **Parameters:**
846
+ - body_of_work_id (required): Body of work UUID
847
+ - title, description (optional)
848
+ - auto_deploy_on_completion, deploy_environment, deploy_version_bump, deploy_trigger (optional)`,
849
+
850
+ get_body_of_work: `# get_body_of_work
851
+ Get a body of work with all its tasks organized by phase.
852
+
853
+ **Parameters:**
854
+ - body_of_work_id (required): Body of work UUID
855
+
856
+ **Returns:** Body of work with tasks grouped by pre/core/post phases.`,
857
+
858
+ get_bodies_of_work: `# get_bodies_of_work
859
+ List bodies of work for a project.
860
+
861
+ **Parameters:**
862
+ - project_id (required): Project UUID
863
+ - status (optional): Filter by status (draft, active, completed, cancelled)
864
+ - limit (optional): Max items (default 50)`,
865
+
866
+ delete_body_of_work: `# delete_body_of_work
867
+ Delete a body of work. Tasks are preserved but no longer grouped.
868
+
869
+ **Parameters:**
870
+ - body_of_work_id (required): Body of work UUID`,
871
+
872
+ add_task_to_body_of_work: `# add_task_to_body_of_work
873
+ Add a task to a body of work in a specific phase.
874
+
875
+ **Parameters:**
876
+ - body_of_work_id (required): Body of work UUID
877
+ - task_id (required): Task UUID to add
878
+ - phase (optional): pre, core, or post (default: core)
879
+ - order_index (optional): Order within phase`,
880
+
881
+ remove_task_from_body_of_work: `# remove_task_from_body_of_work
882
+ Remove a task from its body of work.
883
+
884
+ **Parameters:**
885
+ - task_id (required): Task UUID to remove
886
+
887
+ **Note:** The task is preserved, just no longer grouped.`,
888
+
889
+ activate_body_of_work: `# activate_body_of_work
890
+ Activate a draft body of work to start execution.
891
+
892
+ **Parameters:**
893
+ - body_of_work_id (required): Body of work UUID
894
+
895
+ **Note:** Requires at least one task. Once active, tasks follow phase order.`,
896
+
897
+ add_task_dependency: `# add_task_dependency
898
+ Add a dependency between tasks in a body of work.
899
+
900
+ **Parameters:**
901
+ - body_of_work_id (required): Body of work UUID
902
+ - task_id (required): Task that depends on another
903
+ - depends_on_task_id (required): Task that must complete first
904
+
905
+ **Note:** Prevents circular dependencies.`,
906
+
907
+ remove_task_dependency: `# remove_task_dependency
908
+ Remove a dependency between tasks.
909
+
910
+ **Parameters:**
911
+ - task_id (required): Task UUID
912
+ - depends_on_task_id (required): Dependency task UUID`,
913
+
914
+ get_task_dependencies: `# get_task_dependencies
915
+ Get task dependencies for a body of work or specific task.
916
+
917
+ **Parameters:**
918
+ - body_of_work_id (optional): Body of work UUID
919
+ - task_id (optional): Specific task UUID`,
920
+
921
+ get_next_body_of_work_task: `# get_next_body_of_work_task
922
+ Get the next available task from a body of work.
923
+
924
+ **Parameters:**
925
+ - body_of_work_id (required): Body of work UUID
926
+
927
+ **Note:** Considers phase order (pre → core → post) and dependencies.`,
928
+
929
+ // Sprints
930
+ create_sprint: `# create_sprint
931
+ Create a new sprint with time bounds and velocity tracking.
932
+
933
+ **Parameters:**
934
+ - project_id (required): Project UUID
935
+ - title (required): Sprint title (e.g., "Sprint 5")
936
+ - start_date (required): Start date (YYYY-MM-DD)
937
+ - end_date (required): End date (YYYY-MM-DD)
938
+ - goal (optional): Sprint goal statement
939
+ - auto_deploy_on_completion, deploy_environment, deploy_version_bump (optional)`,
940
+
941
+ update_sprint: `# update_sprint
942
+ Update a sprint's details.
943
+
944
+ **Parameters:**
945
+ - sprint_id (required): Sprint UUID
946
+ - title, goal, start_date, end_date (optional)
947
+ - auto_deploy_on_completion, deploy_environment, deploy_version_bump (optional)`,
948
+
949
+ get_sprint: `# get_sprint
950
+ Get a sprint with all its tasks organized by phase.
951
+
952
+ **Parameters:**
953
+ - sprint_id (required): Sprint UUID
954
+
955
+ **Returns:** Sprint with progress percentage, velocity points, committed points.`,
956
+
957
+ get_sprints: `# get_sprints
958
+ List sprints for a project with velocity metrics.
959
+
960
+ **Parameters:**
961
+ - project_id (required): Project UUID
962
+ - status (optional): planning, active, in_review, retrospective, completed, cancelled
963
+ - limit (optional): Max sprints (default 20)`,
964
+
965
+ delete_sprint: `# delete_sprint
966
+ Delete a sprint. Tasks are preserved but no longer grouped.
967
+
968
+ **Parameters:**
969
+ - sprint_id (required): Sprint UUID`,
970
+
971
+ start_sprint: `# start_sprint
972
+ Start a sprint. Transitions from 'planning' to 'active'.
973
+
974
+ **Parameters:**
975
+ - sprint_id (required): Sprint UUID
976
+
977
+ **Note:** Locks committed_points at current total story points.`,
978
+
979
+ complete_sprint: `# complete_sprint
980
+ Complete a sprint. Handles retrospective phase and auto-deployment.
981
+
982
+ **Parameters:**
983
+ - sprint_id (required): Sprint UUID
984
+ - retrospective_notes (optional): Sprint retrospective notes
985
+ - skip_retrospective (optional): Skip retrospective phase (default: false)`,
986
+
987
+ add_task_to_sprint: `# add_task_to_sprint
988
+ Add a task to a sprint with optional story points.
989
+
990
+ **Parameters:**
991
+ - sprint_id (required): Sprint UUID
992
+ - task_id (required): Task UUID to add
993
+ - story_points (optional): Story point estimate
994
+ - phase (optional): pre, core, or post (default: core)`,
995
+
996
+ remove_task_from_sprint: `# remove_task_from_sprint
997
+ Remove a task from a sprint.
998
+
999
+ **Parameters:**
1000
+ - sprint_id (required): Sprint UUID
1001
+ - task_id (required): Task UUID to remove
1002
+
1003
+ **Note:** Task returns to backlog.`,
1004
+
1005
+ get_sprint_backlog: `# get_sprint_backlog
1006
+ Get tasks that can be added to a sprint.
1007
+
1008
+ **Parameters:**
1009
+ - project_id (required): Project UUID
1010
+ - sprint_id (optional): Exclude tasks already in this sprint
1011
+
1012
+ **Returns:** Tasks not assigned to any body of work or sprint.`,
1013
+
1014
+ get_sprint_velocity: `# get_sprint_velocity
1015
+ Get velocity metrics for completed sprints.
1016
+
1017
+ **Parameters:**
1018
+ - project_id (required): Project UUID
1019
+ - limit (optional): Number of sprints to analyze (default 10)
1020
+
1021
+ **Returns:** Committed vs completed points, average velocity.`,
1022
+
1023
+ // Git issues
1024
+ add_git_issue: `# add_git_issue
1025
+ Record a git-related issue (merge conflict, push failure, etc.).
1026
+
1027
+ **Parameters:**
1028
+ - project_id (required): Project UUID
1029
+ - issue_type (required): merge_conflict, push_failed, rebase_needed, branch_diverged, pr_not_mergeable
1030
+ - branch (required): Branch where the issue occurred
1031
+ - target_branch, conflicting_files, error_message, pr_url, task_id (optional)`,
1032
+
1033
+ resolve_git_issue: `# resolve_git_issue
1034
+ Mark a git issue as resolved.
1035
+
1036
+ **Parameters:**
1037
+ - git_issue_id (required): Git issue UUID
1038
+ - resolution_note (optional): How the issue was resolved
1039
+ - auto_resolved (optional): Whether auto-resolved`,
1040
+
1041
+ get_git_issues: `# get_git_issues
1042
+ Get git issues for a project.
1043
+
1044
+ **Parameters:**
1045
+ - project_id (required): Project UUID
1046
+ - status (optional): open or resolved (default: open)
1047
+ - issue_type (optional): Filter by issue type
1048
+ - branch (optional): Filter by branch
1049
+ - limit (optional): Max issues (default 50)`,
1050
+
1051
+ delete_git_issue: `# delete_git_issue
1052
+ Delete a git issue.
1053
+
1054
+ **Parameters:**
1055
+ - git_issue_id (required): Git issue UUID`,
1056
+
1057
+ // Deployment requirements
1058
+ add_deployment_requirement: `# add_deployment_requirement
1059
+ Add a pre-deployment requirement.
1060
+
1061
+ **Parameters:**
1062
+ - project_id (required): Project UUID
1063
+ - type (required): migration, env_var, config, manual, breaking_change, agent_task
1064
+ - title (required): Brief description
1065
+ - description (optional): Detailed instructions
1066
+ - stage (optional): preparation, deployment, or verification (default: preparation)
1067
+ - file_path (optional): File path reference
1068
+ - blocking (optional): Whether converted task blocks other work`,
1069
+
1070
+ complete_deployment_requirement: `# complete_deployment_requirement
1071
+ Mark a deployment requirement as completed.
1072
+
1073
+ **Parameters:**
1074
+ - requirement_id (required): Requirement UUID`,
1075
+
1076
+ get_deployment_requirements: `# get_deployment_requirements
1077
+ Get pending deployment requirements.
1078
+
1079
+ **Parameters:**
1080
+ - project_id (required): Project UUID
1081
+ - stage (optional): preparation, deployment, verification, or all
1082
+ - status (optional): pending, completed, converted_to_task, or all (default: pending)`,
1083
+
1084
+ reorder_deployment_requirements: `# reorder_deployment_requirements
1085
+ Reorder deployment requirements within a stage.
1086
+
1087
+ **Parameters:**
1088
+ - project_id (required): Project UUID
1089
+ - stage (required): preparation, deployment, or verification
1090
+ - requirement_ids (required): Array of requirement UUIDs in desired order`,
1091
+
1092
+ // Knowledge base
1093
+ query_knowledge_base: `# query_knowledge_base
1094
+ Query aggregated project knowledge in a single call. Reduces token usage by combining multiple data sources.
1095
+
1096
+ **Parameters:**
1097
+ - project_id (required): Project UUID
1098
+ - scope: 'summary' (default) or 'detailed' (includes rationales, descriptions)
1099
+ - categories: Array of categories to include (default: all)
1100
+ - findings: Audit findings (security, performance, code quality)
1101
+ - qa: Questions and answers
1102
+ - decisions: Architectural decisions
1103
+ - completed_tasks: Tasks with completion summaries
1104
+ - blockers: Resolved blockers with resolution notes
1105
+ - progress: Recent progress logs
1106
+ - limit: Max items per category (default: 5, max: 20)
1107
+ - search_query: Optional text search across all knowledge
1108
+
1109
+ **Returns:**
1110
+ - project: name, goal, tech_stack
1111
+ - stats: counts for each category, findings by severity
1112
+ - Category data based on selection
1113
+
1114
+ **Token savings:** Replaces multiple tool calls (get_findings, get_decisions, get_blockers, etc.) with one call.
1115
+
1116
+ **Example:** query_knowledge_base(project_id, categories: ["findings", "decisions"], limit: 10)`,
1117
+
1118
+ // Session tools (additional)
1119
+ report_token_usage: `# report_token_usage
1120
+ Report actual token usage from Claude API responses.
1121
+
1122
+ **Parameters:**
1123
+ - session_id (optional): Session UUID (uses current session if not provided)
1124
+ - input_tokens (required): Number of input tokens
1125
+ - output_tokens (required): Number of output tokens
1126
+ - model (optional): Model used (e.g., "claude-3-opus")
1127
+
1128
+ **Returns:** Updated token usage summary`,
1129
+
1130
+ signal_idle: `# signal_idle
1131
+ Signal that the agent is idle and available for work.
1132
+
1133
+ **Parameters:**
1134
+ - session_id (optional): Session UUID (uses current session if not provided)
1135
+
1136
+ **Returns:** Idle status confirmation, may include suggested activities`,
1137
+
1138
+ confirm_agent_setup: `# confirm_agent_setup
1139
+ Confirm that agent setup is complete after following setup instructions.
1140
+
1141
+ **Parameters:**
1142
+ - project_id (required): Project UUID
1143
+ - agent_type (required): Type of agent (e.g., "claude", "gemini")
1144
+
1145
+ **Returns:** Setup confirmation status`,
1146
+
1147
+ // Project tools (additional)
1148
+ get_project_summary: `# get_project_summary
1149
+ Get unified project statistics overview in a single call.
1150
+
1151
+ **Parameters:**
1152
+ - project_id (required): Project UUID
1153
+
1154
+ **Returns:** Task counts, blocker counts, finding counts, decision counts, and more`,
1155
+
1156
+ // Blocker tools (additional)
1157
+ get_blocker: `# get_blocker
1158
+ Get a single blocker by ID.
1159
+
1160
+ **Parameters:**
1161
+ - blocker_id (required): Blocker UUID
1162
+
1163
+ **Returns:** Blocker details including description, status, resolution`,
1164
+
1165
+ get_blockers_stats: `# get_blockers_stats
1166
+ Get aggregate blocker statistics.
1167
+
1168
+ **Parameters:**
1169
+ - project_id (required): Project UUID
1170
+
1171
+ **Returns:** Open/resolved counts, breakdown by age`,
1172
+
1173
+ // Decision tools (additional)
1174
+ get_decision: `# get_decision
1175
+ Get a single decision by ID.
1176
+
1177
+ **Parameters:**
1178
+ - decision_id (required): Decision UUID
1179
+
1180
+ **Returns:** Decision details including title, description, rationale`,
1181
+
1182
+ get_decisions_stats: `# get_decisions_stats
1183
+ Get aggregate decision statistics.
1184
+
1185
+ **Parameters:**
1186
+ - project_id (required): Project UUID
1187
+
1188
+ **Returns:** Total count, recent decisions count`,
1189
+
1190
+ // Idea tools (additional)
1191
+ get_idea: `# get_idea
1192
+ Get a single idea by ID.
1193
+
1194
+ **Parameters:**
1195
+ - idea_id (required): Idea UUID
1196
+
1197
+ **Returns:** Idea details including title, description, status`,
1198
+
1199
+ // Finding tools (additional)
1200
+ get_finding: `# get_finding
1201
+ Get a single finding by ID.
1202
+
1203
+ **Parameters:**
1204
+ - finding_id (required): Finding UUID
1205
+
1206
+ **Returns:** Finding details including title, category, severity, status`,
1207
+
1208
+ get_findings_stats: `# get_findings_stats
1209
+ Get aggregate finding statistics.
1210
+
1211
+ **Parameters:**
1212
+ - project_id (required): Project UUID
1213
+
1214
+ **Returns:** Counts by category, severity, and status`,
1215
+
1216
+ // Deployment tools (additional)
1217
+ get_deployment_requirements_stats: `# get_deployment_requirements_stats
1218
+ Get aggregate deployment requirement statistics.
1219
+
1220
+ **Parameters:**
1221
+ - project_id (required): Project UUID
1222
+
1223
+ **Returns:** Counts by stage and status`,
1224
+
1225
+ // Worktree tools
1226
+ get_stale_worktrees: `# get_stale_worktrees
1227
+ Find orphaned worktrees that need cleanup.
1228
+
1229
+ **Parameters:**
1230
+ - project_id (required): Project UUID
1231
+ - hostname (optional): Filter to worktrees created on this machine
1232
+
1233
+ **Returns:** List of stale worktrees with task info and cleanup commands`,
1234
+
1235
+ clear_worktree_path: `# clear_worktree_path
1236
+ Clear worktree path from a task after cleanup.
1237
+
1238
+ **Parameters:**
1239
+ - task_id (required): Task UUID
1240
+
1241
+ **Note:** Call this AFTER running git worktree remove`,
1242
+
1243
+ // Role tools
1244
+ get_role_settings: `# get_role_settings
1245
+ Get project role settings and configuration.
1246
+
1247
+ **Parameters:**
1248
+ - project_id (required): Project UUID
1249
+
1250
+ **Returns:** Role configuration including allowed roles, default role`,
1251
+
1252
+ update_role_settings: `# update_role_settings
1253
+ Configure project role behavior.
1254
+
1255
+ **Parameters:**
1256
+ - project_id (required): Project UUID
1257
+ - default_role (optional): Default role for new sessions
1258
+ - allowed_roles (optional): Array of allowed role names
1259
+
1260
+ **Returns:** Updated role settings`,
1261
+
1262
+ set_session_role: `# set_session_role
1263
+ Set the role for the current session.
1264
+
1265
+ **Parameters:**
1266
+ - session_id (optional): Session UUID (uses current session)
1267
+ - role (required): Role name (e.g., "developer", "validator", "deployer")
1268
+
1269
+ **Returns:** Updated session with new role`,
1270
+
1271
+ get_agents_by_role: `# get_agents_by_role
1272
+ List active agents grouped by role.
1273
+
1274
+ **Parameters:**
1275
+ - project_id (required): Project UUID
1276
+
1277
+ **Returns:** Agents organized by role`,
1278
+
1279
+ // File checkout/lock tools
1280
+ checkout_file: `# checkout_file
1281
+ Lock a file for editing to prevent conflicts with other agents.
1282
+
1283
+ **Parameters:**
1284
+ - project_id (required): Project UUID
1285
+ - file_path (required): Path to the file to lock
1286
+ - reason (optional): Why you need to edit this file
1287
+
1288
+ **Returns:** Checkout confirmation with expiry time`,
1289
+
1290
+ checkin_file: `# checkin_file
1291
+ Release a file lock after editing.
1292
+
1293
+ **Parameters:**
1294
+ - project_id (required): Project UUID
1295
+ - file_path (required): Path to the file to release
1296
+
1297
+ **Returns:** Checkin confirmation`,
1298
+
1299
+ get_file_checkouts: `# get_file_checkouts
1300
+ List current file locks.
1301
+
1302
+ **Parameters:**
1303
+ - project_id (required): Project UUID
1304
+ - file_path (optional): Filter to specific file
1305
+
1306
+ **Returns:** List of active file checkouts`,
1307
+
1308
+ get_file_checkouts_stats: `# get_file_checkouts_stats
1309
+ Get file checkout statistics.
1310
+
1311
+ **Parameters:**
1312
+ - project_id (required): Project UUID
1313
+
1314
+ **Returns:** Active checkout count, breakdown by agent`,
1315
+
1316
+ abandon_checkout: `# abandon_checkout
1317
+ Force-release a file lock (use with caution).
1318
+
1319
+ **Parameters:**
1320
+ - project_id (required): Project UUID
1321
+ - file_path (required): Path to the file to release
1322
+
1323
+ **Note:** Only use when the original agent is unreachable`,
1324
+
1325
+ is_file_available: `# is_file_available
1326
+ Check if a file is available for checkout.
1327
+
1328
+ **Parameters:**
1329
+ - project_id (required): Project UUID
1330
+ - file_path (required): Path to check
1331
+
1332
+ **Returns:** Availability status, current holder if locked`,
1333
+
1334
+ // Connector tools
1335
+ get_connectors: `# get_connectors
1336
+ List project connectors (integrations).
1337
+
1338
+ **Parameters:**
1339
+ - project_id (required): Project UUID
1340
+
1341
+ **Returns:** Array of configured connectors`,
1342
+
1343
+ get_connector: `# get_connector
1344
+ Get connector details.
1345
+
1346
+ **Parameters:**
1347
+ - connector_id (required): Connector UUID
1348
+
1349
+ **Returns:** Connector configuration and status`,
1350
+
1351
+ add_connector: `# add_connector
1352
+ Create a new external integration connector.
1353
+
1354
+ **Parameters:**
1355
+ - project_id (required): Project UUID
1356
+ - type (required): Connector type (webhook, slack, discord, etc.)
1357
+ - name (required): Display name
1358
+ - config (required): Type-specific configuration
1359
+
1360
+ **Returns:** Created connector details`,
1361
+
1362
+ update_connector: `# update_connector
1363
+ Update connector configuration.
1364
+
1365
+ **Parameters:**
1366
+ - connector_id (required): Connector UUID
1367
+ - name (optional): New display name
1368
+ - config (optional): Updated configuration
1369
+ - enabled (optional): Enable/disable connector
1370
+
1371
+ **Returns:** Updated connector details`,
1372
+
1373
+ delete_connector: `# delete_connector
1374
+ Remove a connector.
1375
+
1376
+ **Parameters:**
1377
+ - connector_id (required): Connector UUID
1378
+
1379
+ **Returns:** Deletion confirmation`,
1380
+
1381
+ test_connector: `# test_connector
1382
+ Send a test event to verify connector configuration.
1383
+
1384
+ **Parameters:**
1385
+ - connector_id (required): Connector UUID
1386
+
1387
+ **Returns:** Test result with success/failure details`,
1388
+
1389
+ get_connector_events: `# get_connector_events
1390
+ Get event history for a connector.
1391
+
1392
+ **Parameters:**
1393
+ - connector_id (required): Connector UUID
1394
+ - limit (optional): Max events to return (default: 50)
1395
+
1396
+ **Returns:** Array of sent events with status`,
1397
+
1398
+ // Cloud agent tools
1399
+ update_agent_status: `# update_agent_status
1400
+ Update your status message on the dashboard. Call this after start_work_session and whenever you start a new task.
1401
+
1402
+ **Parameters:**
1403
+ - status_message (required): Status text shown on dashboard (e.g. "Working on: Task title")
1404
+ - agent_name (required): Your agent name
1405
+ - project_id (required): Project UUID
1406
+
1407
+ **Example:** update_agent_status(status_message: "Working on: Progress Report Modal", agent_name: "Leon", project_id: "...")`,
1408
+
1409
+ cleanup_stale_cloud_agents: `# cleanup_stale_cloud_agents
1410
+ Clean up stale cloud agents that failed to start or lost connection.
1411
+
1412
+ **Parameters:**
1413
+ - project_id (required): Project UUID
1414
+ - stale_minutes (optional): Minutes of inactivity before considered stale (default: 5)
1415
+ - include_running (optional): Include running agents in cleanup (default: false)
1416
+ - dry_run (optional): Preview what would be cleaned without actually cleaning (default: false)
1417
+
1418
+ **Returns:**
1419
+ - cleaned: Number of agents cleaned up
1420
+ - failed: Number of cleanup failures
1421
+ - agents: Array of affected agents with status
1422
+
1423
+ **Example:** cleanup_stale_cloud_agents(project_id, stale_minutes: 10, dry_run: true)`,
1424
+
1425
+ list_cloud_agents: `# list_cloud_agents
1426
+ List cloud agents for a project with optional status filter.
1427
+
1428
+ **Parameters:**
1429
+ - project_id (required): Project UUID
1430
+ - status (optional): Filter by status - starting, running, stopped, failed, or all (default: all)
1431
+
1432
+ **Returns:**
1433
+ - agents: Array of agents with id, name, status, created_at, last_heartbeat, public_ip, ecs_task_id
1434
+ - count: Total number of agents returned
1435
+
1436
+ **Example:** list_cloud_agents(project_id, status: "running")`,
1437
+
1438
+ // Chat tools
1439
+ send_project_message: `# send_project_message
1440
+ Send a message to the project chat channel for agent and user communication.
1441
+
1442
+ **Parameters:**
1443
+ - project_id (required): Project UUID
1444
+ - message (required): Message content to send
1445
+ - author_name (optional): Name of the message sender (defaults to session persona)
1446
+
1447
+ **Returns:**
1448
+ - message_id: UUID of the sent message
1449
+ - timestamp: When the message was sent
1450
+
1451
+ **Example:** send_project_message(project_id: "123e4567-e89b-12d3-a456-426614174000", message: "Deployment completed successfully")`,
1452
+
1453
+ get_project_messages: `# get_project_messages
1454
+ Read recent project chat messages to stay informed about project communication.
1455
+
1456
+ **Parameters:**
1457
+ - project_id (required): Project UUID
1458
+ - limit (optional): Number of recent messages to retrieve (default: 20, max: 100)
1459
+ - since (optional): ISO timestamp to get messages after this time
1460
+
1461
+ **Returns:**
1462
+ - messages: Array of messages with id, author_name, message, timestamp
1463
+ - count: Number of messages returned
1464
+
1465
+ **Example:** get_project_messages(project_id: "123e4567-e89b-12d3-a456-426614174000", limit: 10)`,
1466
+
1467
+ post_progress: `# post_progress
1468
+ Post a structured progress update to the project chat. Use at key milestones: starting a task, creating a PR, hitting a blocker, or completing work.
1469
+
1470
+ **Parameters:**
1471
+ - project_id (required): Project UUID
1472
+ - message (required): Progress update message (supports markdown)
1473
+ - type (optional): Update type — info (general), milestone (key achievement), blocker (blocking issue), question (asking for input). Default: info
1474
+
1475
+ **Returns:** Confirmation with message_id and timestamp.
1476
+
1477
+ **Example:** post_progress(project_id: "123e4567-e89b-12d3-a456-426614174000", message: "PR #42 created for auth feature", type: "milestone")`,
1478
+
1479
+ // Version management tools
1480
+ check_mcp_version: `# check_mcp_version
1481
+ Check for available MCP server updates and version information.
1482
+
1483
+ **Parameters:**
1484
+ - check_remote (optional): Whether to check remote registry for updates (default: true)
1485
+
1486
+ **Returns:**
1487
+ - current_version: Currently running MCP server version
1488
+ - latest_version: Latest available version (if check_remote is true)
1489
+ - update_available: Boolean indicating if an update is available
1490
+ - release_notes: Summary of changes in latest version (if available)
1491
+
1492
+ **Example:** check_mcp_version(check_remote: true)`,
1493
+
1494
+ update_mcp_server: `# update_mcp_server
1495
+ Self-update the MCP server to the latest available version.
1496
+
1497
+ **Parameters:**
1498
+ - version (optional): Specific version to update to (defaults to latest)
1499
+ - restart_after_update (optional): Whether to restart after update (default: true)
1500
+ - backup_config (optional): Whether to backup current config (default: true)
1501
+
1502
+ **Returns:**
1503
+ - success: Boolean indicating if update succeeded
1504
+ - old_version: Previous version before update
1505
+ - new_version: Version after update
1506
+ - restart_required: Whether manual restart is needed
1507
+
1508
+ **Example:** update_mcp_server()
1509
+
1510
+ **Note:** This operation may temporarily disconnect active sessions during restart.`,
1511
+
1512
+ // Persona template tools
1513
+ get_persona_templates: `# get_persona_templates
1514
+ List available persona templates for a project. Returns both global defaults and project-specific templates.
1515
+
1516
+ **Parameters:**
1517
+ - project_id (required): Project UUID
1518
+
1519
+ **Returns:**
1520
+ - templates: Array of persona templates with id, name, description, focus_areas, icon, is_default, scope (global/project)
1521
+
1522
+ **Example:** get_persona_templates(project_id: "123e4567-e89b-12d3-a456-426614174000")`,
1523
+
1524
+ add_feature: `# add_feature
1525
+ Create a draft feature spec. Features sit between ideas (quick thoughts) and tasks (actionable work).
1526
+
1527
+ **Parameters:**
1528
+ - project_id (required): Project UUID
1529
+ - title (required): Feature title (max 200 chars)
1530
+ - body (optional): Markdown spec content — requirements, user stories, acceptance criteria, technical approach
1531
+ - priority (optional): Priority 1-5 (1 = highest, default: 2)
1532
+
1533
+ **Returns:** Created feature object with id, status ('draft'), and timestamps.
1534
+
1535
+ **Example:** add_feature(project_id, title: "Dark mode support", body: "## Goal\\nAdd dark mode toggle...")`,
1536
+
1537
+ update_feature: `# update_feature
1538
+ Update feature details, status, or priority.
1539
+
1540
+ **Parameters:**
1541
+ - feature_id (required): Feature UUID
1542
+ - title (optional): Updated title
1543
+ - body (optional): Updated markdown spec content
1544
+ - status (optional): New status — draft → refining → specced → ready → building → shipped
1545
+ - priority (optional): Priority 1-5 (1 = highest)
1546
+
1547
+ **Returns:** Updated feature object.
1548
+
1549
+ **Example:** update_feature(feature_id, status: "specced")`,
1550
+
1551
+ get_feature: `# get_feature
1552
+ Get a single feature by ID.
1553
+
1554
+ **Parameters:**
1555
+ - feature_id (required): Feature UUID
1556
+
1557
+ **Returns:** Full feature object including title, body, status, priority, and timestamps.
1558
+
1559
+ **Example:** get_feature(feature_id: "abc-123")`,
1560
+
1561
+ get_features: `# get_features
1562
+ List features for a project, optionally filtered by status.
1563
+
1564
+ **Parameters:**
1565
+ - project_id (required): Project UUID
1566
+ - status (optional): Filter by status — draft, refining, specced, ready, building, shipped
1567
+ - limit (optional): Max results (default: 50, max: 500)
1568
+ - offset (optional): Pagination offset (default: 0)
1569
+ - search_query (optional): Search by title or body content
1570
+
1571
+ **Returns:** Array of feature objects with pagination metadata.
1572
+
1573
+ **Example:** get_features(project_id, status: "specced")`,
1574
+
1575
+ delete_feature: `# delete_feature
1576
+ Delete a feature permanently.
1577
+
1578
+ **Parameters:**
1579
+ - feature_id (required): Feature UUID
1580
+
1581
+ **Returns:** Confirmation of deletion.
1582
+
1583
+ **Example:** delete_feature(feature_id: "abc-123")`,
1584
+
1585
+ link_idea_to_feature: `# link_idea_to_feature
1586
+ Link an existing idea to a feature spec, creating a traceable connection.
1587
+
1588
+ **Parameters:**
1589
+ - feature_id (required): Feature UUID
1590
+ - idea_id (required): Idea UUID to link
1591
+
1592
+ **Returns:** Confirmation of the link creation.
1593
+
1594
+ **Example:** link_idea_to_feature(feature_id: "abc-123", idea_id: "def-456")`,
1595
+ };