@vibescope/mcp-server 0.2.9 → 0.3.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 (95) hide show
  1. package/CHANGELOG.md +84 -84
  2. package/README.md +194 -194
  3. package/dist/api-client.d.ts +36 -0
  4. package/dist/api-client.js +34 -0
  5. package/dist/cli.d.ts +1 -1
  6. package/dist/cli.js +30 -38
  7. package/dist/handlers/discovery.js +2 -0
  8. package/dist/handlers/session.d.ts +11 -0
  9. package/dist/handlers/session.js +101 -0
  10. package/dist/handlers/tasks.d.ts +8 -0
  11. package/dist/handlers/tasks.js +163 -3
  12. package/dist/handlers/tool-docs.js +840 -828
  13. package/dist/handlers/validation.js +49 -2
  14. package/dist/index.js +73 -73
  15. package/dist/setup.js +6 -6
  16. package/dist/templates/agent-guidelines.js +185 -185
  17. package/dist/templates/help-content.js +1622 -1544
  18. package/dist/tools.js +130 -74
  19. package/dist/utils.d.ts +15 -11
  20. package/dist/utils.js +53 -28
  21. package/docs/TOOLS.md +2407 -2053
  22. package/package.json +51 -51
  23. package/scripts/generate-docs.ts +212 -212
  24. package/scripts/version-bump.ts +203 -203
  25. package/src/api-client.test.ts +723 -723
  26. package/src/api-client.ts +2561 -2499
  27. package/src/cli.test.ts +24 -8
  28. package/src/cli.ts +204 -212
  29. package/src/handlers/__test-setup__.ts +236 -236
  30. package/src/handlers/__test-utils__.ts +87 -87
  31. package/src/handlers/blockers.test.ts +468 -468
  32. package/src/handlers/blockers.ts +163 -163
  33. package/src/handlers/bodies-of-work.test.ts +704 -704
  34. package/src/handlers/bodies-of-work.ts +526 -526
  35. package/src/handlers/connectors.test.ts +834 -834
  36. package/src/handlers/connectors.ts +229 -229
  37. package/src/handlers/cost.test.ts +462 -462
  38. package/src/handlers/cost.ts +285 -285
  39. package/src/handlers/decisions.test.ts +382 -382
  40. package/src/handlers/decisions.ts +153 -153
  41. package/src/handlers/deployment.test.ts +551 -551
  42. package/src/handlers/deployment.ts +541 -541
  43. package/src/handlers/discovery.test.ts +206 -206
  44. package/src/handlers/discovery.ts +392 -390
  45. package/src/handlers/fallback.test.ts +537 -537
  46. package/src/handlers/fallback.ts +194 -194
  47. package/src/handlers/file-checkouts.test.ts +750 -750
  48. package/src/handlers/file-checkouts.ts +185 -185
  49. package/src/handlers/findings.test.ts +633 -633
  50. package/src/handlers/findings.ts +239 -239
  51. package/src/handlers/git-issues.test.ts +631 -631
  52. package/src/handlers/git-issues.ts +136 -136
  53. package/src/handlers/ideas.test.ts +644 -644
  54. package/src/handlers/ideas.ts +207 -207
  55. package/src/handlers/index.ts +84 -84
  56. package/src/handlers/milestones.test.ts +475 -475
  57. package/src/handlers/milestones.ts +180 -180
  58. package/src/handlers/organizations.test.ts +826 -826
  59. package/src/handlers/organizations.ts +315 -315
  60. package/src/handlers/progress.test.ts +269 -269
  61. package/src/handlers/progress.ts +77 -77
  62. package/src/handlers/project.test.ts +546 -546
  63. package/src/handlers/project.ts +239 -239
  64. package/src/handlers/requests.test.ts +303 -303
  65. package/src/handlers/requests.ts +99 -99
  66. package/src/handlers/roles.test.ts +305 -305
  67. package/src/handlers/roles.ts +219 -219
  68. package/src/handlers/session.test.ts +998 -875
  69. package/src/handlers/session.ts +839 -730
  70. package/src/handlers/sprints.test.ts +732 -732
  71. package/src/handlers/sprints.ts +537 -537
  72. package/src/handlers/tasks.test.ts +931 -907
  73. package/src/handlers/tasks.ts +1121 -945
  74. package/src/handlers/tool-categories.test.ts +66 -66
  75. package/src/handlers/tool-docs.ts +1109 -1096
  76. package/src/handlers/types.test.ts +259 -259
  77. package/src/handlers/types.ts +175 -175
  78. package/src/handlers/validation.test.ts +582 -582
  79. package/src/handlers/validation.ts +164 -113
  80. package/src/index.test.ts +674 -0
  81. package/src/index.ts +792 -792
  82. package/src/setup.test.ts +233 -233
  83. package/src/setup.ts +404 -403
  84. package/src/templates/agent-guidelines.ts +210 -210
  85. package/src/templates/help-content.ts +1751 -1673
  86. package/src/token-tracking.test.ts +463 -463
  87. package/src/token-tracking.ts +166 -166
  88. package/src/tools.test.ts +416 -0
  89. package/src/tools.ts +3611 -3555
  90. package/src/utils.test.ts +785 -683
  91. package/src/utils.ts +469 -436
  92. package/src/validators.test.ts +223 -223
  93. package/src/validators.ts +249 -249
  94. package/tsconfig.json +16 -16
  95. package/vitest.config.ts +14 -14
package/docs/TOOLS.md CHANGED
@@ -1,2053 +1,2407 @@
1
- # Vibescope MCP Tools Reference
2
-
3
- > Auto-generated from tool definitions. Do not edit manually.
4
- >
5
- > Generated: 2026-01-16
6
- >
7
- > Total tools: 132
8
-
9
- ## Table of Contents
10
-
11
- - [session](#session) - Session lifecycle and monitoring (5 tools)
12
- - [project](#project) - Project CRUD and configuration (5 tools)
13
- - [tasks](#tasks) - Task management and tracking (10 tools)
14
- - [milestones](#milestones) - Task breakdown into steps (5 tools)
15
- - [progress](#progress) - Progress logging and activity (2 tools)
16
- - [blockers](#blockers) - Blocker management (4 tools)
17
- - [decisions](#decisions) - Architectural decisions (3 tools)
18
- - [ideas](#ideas) - Feature ideas tracking (5 tools)
19
- - [findings](#findings) - Audit findings/knowledge base (5 tools)
20
- - [validation](#validation) - Cross-agent task validation (3 tools)
21
- - [deployment](#deployment) - Deployment coordination (16 tools)
22
- - [fallback](#fallback) - Background activities when idle (4 tools)
23
- - [bodies_of_work](#bodies-of-work) - Group tasks into bodies of work (12 tools)
24
- - [sprints](#sprints) - Time-bounded sprints with velocity tracking (11 tools)
25
- - [requests](#requests) - User request handling (3 tools)
26
- - [organizations](#organizations) - Organization and team management (13 tools)
27
- - [cost](#cost) - Cost monitoring and alerts (6 tools)
28
- - [git_issues](#git-issues) - Git conflict and issue tracking (4 tools)
29
- - [knowledge](#knowledge) - Queryable knowledge base from project data (1 tools)
30
- - [discovery](#discovery) - Tool discovery and documentation (2 tools)
31
- - [subtasks](#subtasks) - Break tasks into smaller pieces (2 tools)
32
- - [worktrees](#worktrees) - Git worktree management (2 tools)
33
- - [roles](#roles) - Agent role management (4 tools)
34
- - [file_locks](#file-locks) - File checkout/locking for multi-agent (5 tools)
35
-
36
- ## session
37
-
38
- *Session lifecycle and monitoring*
39
-
40
- ### start_work_session
41
-
42
- CALL THIS FIRST when beginning work on a project.
43
-
44
- Returns session info, persona, role, and next_task. Start the next_task IMMEDIATELY without asking the user.
45
-
46
- Use mode:'full' for complete context, mode:'lite' (default) for minimal tokens.
47
-
48
- **Parameters:**
49
-
50
- | Parameter | Type | Required | Description |
51
- |-----------|------|----------|-------------|
52
- | `project_id` | `string` | No | Project UUID |
53
- | `git_url` | `string` | No | Git repository URL. Used to find project if project_id not provided. |
54
- | `mode` | `"lite" | "full"` | No | Response mode: lite (default, minimal tokens) or full (complete context) |
55
- | `model` | `"opus" | "sonnet" | "haiku"` | No | Claude model being used (for accurate cost tracking). E.g., "opus", "sonnet", "haiku". |
56
- | `role` | `"developer" | "validator" | "deployer" | "reviewer" | "maintainer"` | No | Agent role: developer (general work, default), validator (task validation), deployer (deployments), reviewer (code review), maintainer (housekeeping) |
57
-
58
- ---
59
-
60
- ### get_help
61
-
62
- Get guidance on a specific topic. Use when unsure about workflows.
63
-
64
- **Parameters:**
65
-
66
- | Parameter | Type | Required | Description |
67
- |-----------|------|----------|-------------|
68
- | `topic` | `"getting_started" | "tasks" | "validation" | "deployment" | "git" | "blockers" | "milestones" | "fallback" | "session" | "tokens" | "roles" | "knowledge" | "topics"` | Yes | Help topic. Use "topics" to list all available. |
69
-
70
- ---
71
-
72
- ### get_token_usage
73
-
74
- Get token usage stats for this session. Monitor efficiency.
75
-
76
- **Parameters:** None
77
-
78
- ---
79
-
80
- ### heartbeat
81
-
82
- Send heartbeat to maintain 'active' status. Call every 30-60 seconds.
83
-
84
- **Parameters:**
85
-
86
- | Parameter | Type | Required | Description |
87
- |-----------|------|----------|-------------|
88
- | `session_id` | `string` | No | Session ID from start_work_session (optional, uses current session if not provided) |
89
- | `current_worktree_path` | `string,null` | No | Report your current git worktree path (e.g., "../project-task-abc123"). Set to null to clear. |
90
-
91
- ---
92
-
93
- ### end_work_session
94
-
95
- End session and release claimed tasks. Returns session summary.
96
-
97
- **Parameters:**
98
-
99
- | Parameter | Type | Required | Description |
100
- |-----------|------|----------|-------------|
101
- | `session_id` | `string` | No | Session ID to end (optional, uses current session if not provided) |
102
-
103
- ---
104
-
105
- ## project
106
-
107
- *Project CRUD and configuration*
108
-
109
- ### get_project_context
110
-
111
- Get full project context: goals, instructions, tasks, blockers, decisions.
112
-
113
- **Parameters:**
114
-
115
- | Parameter | Type | Required | Description |
116
- |-----------|------|----------|-------------|
117
- | `project_id` | `string` | No | Project UUID. If not provided, will list all projects. |
118
- | `git_url` | `string` | No | Git repository URL. Used to find project if project_id not provided. |
119
-
120
- ---
121
-
122
- ### get_git_workflow
123
-
124
- Get git workflow config and branching instructions for the project.
125
-
126
- **Parameters:**
127
-
128
- | Parameter | Type | Required | Description |
129
- |-----------|------|----------|-------------|
130
- | `project_id` | `string` | Yes | Project UUID |
131
- | `task_id` | `string` | No | Optional task ID to include branch naming suggestion |
132
-
133
- ---
134
-
135
- ### create_project
136
-
137
- Create a new project to track in Vibescope.
138
-
139
- **Parameters:**
140
-
141
- | Parameter | Type | Required | Description |
142
- |-----------|------|----------|-------------|
143
- | `name` | `string` | Yes | Project display name |
144
- | `description` | `string` | No | Brief project description |
145
- | `goal` | `string` | No | What does "done" look like for this project? |
146
- | `git_url` | `string` | No | Git repository URL (if available) |
147
- | `tech_stack` | `string[]` | No | Technologies used (e.g., ["TypeScript", "React", "PostgreSQL"]) |
148
-
149
- ---
150
-
151
- ### update_project
152
-
153
- Update project details (name, description, goal, settings).
154
-
155
- **Parameters:**
156
-
157
- | Parameter | Type | Required | Description |
158
- |-----------|------|----------|-------------|
159
- | `project_id` | `string` | Yes | Project UUID |
160
- | `name` | `string` | No | |
161
- | `description` | `string` | No | |
162
- | `goal` | `string` | No | |
163
- | `git_url` | `string` | No | |
164
- | `tech_stack` | `string[]` | No | |
165
- | `status` | `"active" | "paused" | "completed" | "archived"` | No | |
166
- | `git_workflow` | `"none" | "trunk-based" | "github-flow" | "git-flow"` | No | Git workflow: none (no branching), trunk-based (commit to main), github-flow (feature branches + PR), git-flow (develop/release branches) |
167
- | `git_main_branch` | `string` | No | Main branch name (default: main) |
168
- | `git_develop_branch` | `string` | No | Development branch name (used with git-flow) |
169
- | `git_auto_branch` | `boolean` | No | Automatically create feature branches for new tasks |
170
- | `git_auto_tag` | `boolean` | No | Automatically tag deployments on main branch |
171
- | `git_auto_commit_on_complete` | `boolean` | No | Agents must commit changes after completing tasks |
172
- | `git_auto_pr_on_complete` | `boolean` | No | Agents must create PR after completing tasks |
173
- | `deployment_instructions` | `string` | No | Instructions for how to deploy (e.g., "Push to main for Vercel auto-deploy", "Run fly deploy") |
174
-
175
- ---
176
-
177
- ### update_project_readme
178
-
179
- Sync README content to the dashboard.
180
-
181
- **Parameters:**
182
-
183
- | Parameter | Type | Required | Description |
184
- |-----------|------|----------|-------------|
185
- | `project_id` | `string` | Yes | Project UUID |
186
- | `readme_content` | `string` | Yes | README content in markdown format |
187
-
188
- ---
189
-
190
- ## tasks
191
-
192
- *Task management and tracking*
193
-
194
- ### get_tasks
195
-
196
- Get tasks for a project, optionally filtered by status. By default returns only root tasks (not subtasks).
197
-
198
- **Parameters:**
199
-
200
- | Parameter | Type | Required | Description |
201
- |-----------|------|----------|-------------|
202
- | `project_id` | `string` | Yes | Project UUID |
203
- | `status` | `"backlog" | "pending" | "in_progress" | "completed" | "cancelled"` | No | Filter by status (optional) |
204
- | `limit` | `number` | No | Max number of tasks to return (default 50) |
205
- | `include_subtasks` | `boolean` | No | Include subtasks in results (default false). Use get_subtasks for subtasks of a specific task. |
206
- | `include_metadata` | `boolean` | No | When true, returns all task fields (description, progress, timestamps, etc.). When false (default), returns only id/title/priority/status to save tokens. |
207
-
208
- ---
209
-
210
- ### get_next_task
211
-
212
- Get highest priority pending task. Start it IMMEDIATELY by calling update_task(task_id, status: "in_progress").
213
-
214
- Do NOT ask the user for permission. Follow the directive in the response.
215
-
216
- **Parameters:**
217
-
218
- | Parameter | Type | Required | Description |
219
- |-----------|------|----------|-------------|
220
- | `project_id` | `string` | Yes | Project UUID |
221
-
222
- ---
223
-
224
- ### add_task
225
-
226
- Add a new task. Priority 1=highest, 5=lowest. Include estimated_minutes. Use blocking=true for deployment finalization tasks that must complete before other work.
227
-
228
- **Parameters:**
229
-
230
- | Parameter | Type | Required | Description |
231
- |-----------|------|----------|-------------|
232
- | `project_id` | `string` | Yes | Project UUID |
233
- | `title` | `string` | Yes | Task title |
234
- | `description` | `string` | No | Detailed description |
235
- | `priority` | `number` | No | Priority 1-5 (1 = highest) (min: 1, max: 5) |
236
- | `estimated_minutes` | `number` | No | Estimated time to complete in minutes (min: 1) |
237
- | `blocking` | `boolean` | No | When true, this task blocks all other work until complete (used for deployment finalization) |
238
- | `model_capability` | `"haiku" | "sonnet" | "opus"` | No | Recommended model capability: haiku (simple tasks), sonnet (standard), opus (complex reasoning) |
239
-
240
- ---
241
-
242
- ### update_task
243
-
244
- Update task status, progress, or details. Include progress_note with progress_percentage.
245
-
246
- IMPORTANT: When setting status to "in_progress", you MUST provide git_branch AND worktree_path to enable cleanup tracking.
247
-
248
- Create worktree first: git worktree add ../PROJECT-task-TASKID -b feature/TASKID-description BASE_BRANCH
249
-
250
- Then call: update_task(task_id, status: "in_progress", git_branch: "feature/TASKID-description", worktree_path: "../PROJECT-task-TASKID")
251
-
252
- For projects without git branching (trunk-based or none), use skip_worktree_requirement: true.
253
-
254
- **Parameters:**
255
-
256
- | Parameter | Type | Required | Description |
257
- |-----------|------|----------|-------------|
258
- | `task_id` | `string` | Yes | Task UUID |
259
- | `title` | `string` | No | |
260
- | `description` | `string` | No | |
261
- | `priority` | `number` | No | (min: 1, max: 5) |
262
- | `status` | `"backlog" | "pending" | "in_progress" | "completed" | "cancelled"` | No | |
263
- | `progress_percentage` | `number` | No | 0-100 completion percentage (min: 0, max: 100) |
264
- | `progress_note` | `string` | No | Brief note (auto-logged) |
265
- | `estimated_minutes` | `number` | No | Revised time estimate (min: 1) |
266
- | `git_branch` | `string` | No | Git branch associated with this task. REQUIRED when status is "in_progress" (unless skip_worktree_requirement is true) |
267
- | `worktree_path` | `string` | No | Git worktree path for this task (e.g., "../project-task-abc123"). Store this for cleanup tracking across sessions. |
268
- | `model_capability` | `"haiku" | "sonnet" | "opus"` | No | Recommended model capability: haiku (simple tasks), sonnet (standard), opus (complex reasoning) |
269
- | `skip_worktree_requirement` | `boolean` | No | Skip git_branch requirement for projects without branching workflows (trunk-based or none). Default: false |
270
-
271
- ---
272
-
273
- ### complete_task
274
-
275
- Mark task done. Returns next_task which you MUST start immediately without asking the user.
276
-
277
- CRITICAL: After calling this tool, you must:
278
-
279
- 1. If next_task is returned Start it immediately by calling update_task(task_id, status: "in_progress")
280
-
281
- 2. If no next_task → Call get_next_task() or start a fallback_activity
282
-
283
- 3. NEVER ask the user "What should I do next?" or "Should I continue?"
284
-
285
- The auto_continue: true flag in the response means you are expected to continue working autonomously.
286
-
287
- **Parameters:**
288
-
289
- | Parameter | Type | Required | Description |
290
- |-----------|------|----------|-------------|
291
- | `task_id` | `string` | Yes | Task UUID |
292
- | `summary` | `string` | No | Brief summary of what was done |
293
-
294
- ---
295
-
296
- ### delete_task
297
-
298
- Delete a task.
299
-
300
- **Parameters:**
301
-
302
- | Parameter | Type | Required | Description |
303
- |-----------|------|----------|-------------|
304
- | `task_id` | `string` | Yes | Task UUID |
305
-
306
- ---
307
-
308
- ### batch_update_tasks
309
-
310
- Update multiple tasks at once. Include progress_note with progress_percentage.
311
-
312
- **Parameters:**
313
-
314
- | Parameter | Type | Required | Description |
315
- |-----------|------|----------|-------------|
316
- | `updates` | `object[]` | Yes | Array of task updates to apply |
317
-
318
- ---
319
-
320
- ### batch_complete_tasks
321
-
322
- Mark multiple tasks as completed at once.
323
-
324
- **Parameters:**
325
-
326
- | Parameter | Type | Required | Description |
327
- |-----------|------|----------|-------------|
328
- | `completions` | `object[]` | Yes | Array of task completions |
329
-
330
- ---
331
-
332
- ### add_task_reference
333
-
334
- Add a reference URL to a task (docs, PRs, issues).
335
-
336
- **Parameters:**
337
-
338
- | Parameter | Type | Required | Description |
339
- |-----------|------|----------|-------------|
340
- | `task_id` | `string` | Yes | Task UUID |
341
- | `url` | `string` | Yes | URL to add as reference |
342
- | `label` | `string` | No | Optional label/title for the reference |
343
-
344
- ---
345
-
346
- ### remove_task_reference
347
-
348
- Remove a reference link from a task by URL.
349
-
350
- **Parameters:**
351
-
352
- | Parameter | Type | Required | Description |
353
- |-----------|------|----------|-------------|
354
- | `task_id` | `string` | Yes | Task UUID |
355
- | `url` | `string` | Yes | URL of the reference to remove |
356
-
357
- ---
358
-
359
- ## milestones
360
-
361
- *Task breakdown into steps*
362
-
363
- ### add_milestone
364
-
365
- Add a milestone to a task.
366
-
367
- Milestones help break down large tasks into smaller trackable steps.
368
-
369
- Use this to show progress on complex tasks and help gauge completion.
370
-
371
- **Parameters:**
372
-
373
- | Parameter | Type | Required | Description |
374
- |-----------|------|----------|-------------|
375
- | `task_id` | `string` | Yes | Task UUID to add milestone to |
376
- | `title` | `string` | Yes | Milestone title (brief description of what needs to be done) |
377
- | `description` | `string` | No | Optional detailed description |
378
- | `order_index` | `number` | No | Order of this milestone (0-based, defaults to end of list) (min: 0) |
379
-
380
- ---
381
-
382
- ### update_milestone
383
-
384
- Update a milestone's title, description, status, or order.
385
-
386
- **Parameters:**
387
-
388
- | Parameter | Type | Required | Description |
389
- |-----------|------|----------|-------------|
390
- | `milestone_id` | `string` | Yes | Milestone UUID |
391
- | `title` | `string` | No | Updated title |
392
- | `description` | `string` | No | Updated description |
393
- | `status` | `"pending" | "in_progress" | "completed"` | No | Milestone status |
394
- | `order_index` | `number` | No | Updated order (min: 0) |
395
-
396
- ---
397
-
398
- ### complete_milestone
399
-
400
- Mark a milestone as completed. This is a convenience wrapper for update_milestone with status=completed.
401
-
402
- **Parameters:**
403
-
404
- | Parameter | Type | Required | Description |
405
- |-----------|------|----------|-------------|
406
- | `milestone_id` | `string` | Yes | Milestone UUID |
407
-
408
- ---
409
-
410
- ### delete_milestone
411
-
412
- Delete a milestone from a task.
413
-
414
- **Parameters:**
415
-
416
- | Parameter | Type | Required | Description |
417
- |-----------|------|----------|-------------|
418
- | `milestone_id` | `string` | Yes | Milestone UUID |
419
-
420
- ---
421
-
422
- ### get_milestones
423
-
424
- Get all milestones for a task, ordered by order_index.
425
-
426
- **Parameters:**
427
-
428
- | Parameter | Type | Required | Description |
429
- |-----------|------|----------|-------------|
430
- | `task_id` | `string` | Yes | Task UUID |
431
-
432
- ---
433
-
434
- ## progress
435
-
436
- *Progress logging and activity*
437
-
438
- ### log_progress
439
-
440
- Log progress update. Record significant milestones or observations.
441
-
442
- **Parameters:**
443
-
444
- | Parameter | Type | Required | Description |
445
- |-----------|------|----------|-------------|
446
- | `project_id` | `string` | Yes | Project UUID |
447
- | `task_id` | `string` | No | Task UUID (optional, links progress to specific task) |
448
- | `summary` | `string` | Yes | Brief summary of progress |
449
- | `details` | `string` | No | Detailed notes (optional) |
450
-
451
- ---
452
-
453
- ### get_activity_feed
454
-
455
- Get combined activity feed (tasks, progress, blockers, decisions) in chronological order.
456
-
457
- **Parameters:**
458
-
459
- | Parameter | Type | Required | Description |
460
- |-----------|------|----------|-------------|
461
- | `project_id` | `string` | Yes | Project UUID |
462
- | `types` | `string[]` | No | Filter by activity types (default: all) |
463
- | `created_by` | `"agent" | "user"` | No | Filter by creator (default: all) |
464
- | `since` | `string` | No | ISO date string - only return activity after this time |
465
- | `limit` | `number` | No | Max number of items to return (default 50, max 200) |
466
-
467
- ---
468
-
469
- ## blockers
470
-
471
- *Blocker management*
472
-
473
- ### add_blocker
474
-
475
- Record a blocker preventing progress.
476
-
477
- **Parameters:**
478
-
479
- | Parameter | Type | Required | Description |
480
- |-----------|------|----------|-------------|
481
- | `project_id` | `string` | Yes | Project UUID |
482
- | `description` | `string` | Yes | What is blocking progress? |
483
-
484
- ---
485
-
486
- ### resolve_blocker
487
-
488
- Mark a blocker as resolved.
489
-
490
- **Parameters:**
491
-
492
- | Parameter | Type | Required | Description |
493
- |-----------|------|----------|-------------|
494
- | `blocker_id` | `string` | Yes | Blocker UUID |
495
- | `resolution_note` | `string` | No | How was it resolved? |
496
-
497
- ---
498
-
499
- ### get_blockers
500
-
501
- Get blockers for a project, optionally filtered by status.
502
-
503
- **Parameters:**
504
-
505
- | Parameter | Type | Required | Description |
506
- |-----------|------|----------|-------------|
507
- | `project_id` | `string` | Yes | Project UUID |
508
- | `status` | `"open" | "resolved"` | No | Filter by status (default: open) |
509
-
510
- ---
511
-
512
- ### delete_blocker
513
-
514
- Delete a blocker.
515
-
516
- **Parameters:**
517
-
518
- | Parameter | Type | Required | Description |
519
- |-----------|------|----------|-------------|
520
- | `blocker_id` | `string` | Yes | Blocker UUID |
521
-
522
- ---
523
-
524
- ## decisions
525
-
526
- *Architectural decisions*
527
-
528
- ### log_decision
529
-
530
- Record an architectural or technical decision with rationale.
531
-
532
- **Parameters:**
533
-
534
- | Parameter | Type | Required | Description |
535
- |-----------|------|----------|-------------|
536
- | `project_id` | `string` | Yes | Project UUID |
537
- | `title` | `string` | Yes | Decision title (e.g., "Use PostgreSQL for database") |
538
- | `description` | `string` | Yes | What was decided |
539
- | `rationale` | `string` | No | Why this decision was made |
540
- | `alternatives_considered` | `string[]` | No | Other options that were considered |
541
-
542
- ---
543
-
544
- ### get_decisions
545
-
546
- Get recorded decisions for a project.
547
-
548
- **Parameters:**
549
-
550
- | Parameter | Type | Required | Description |
551
- |-----------|------|----------|-------------|
552
- | `project_id` | `string` | Yes | Project UUID |
553
-
554
- ---
555
-
556
- ### delete_decision
557
-
558
- Delete a decision.
559
-
560
- **Parameters:**
561
-
562
- | Parameter | Type | Required | Description |
563
- |-----------|------|----------|-------------|
564
- | `decision_id` | `string` | Yes | Decision UUID |
565
-
566
- ---
567
-
568
- ## ideas
569
-
570
- *Feature ideas tracking*
571
-
572
- ### add_idea
573
-
574
- Record an idea for improvements or features. Starts as 'raw', can progress to 'shipped'.
575
-
576
- **Parameters:**
577
-
578
- | Parameter | Type | Required | Description |
579
- |-----------|------|----------|-------------|
580
- | `project_id` | `string` | Yes | Project UUID |
581
- | `title` | `string` | Yes | Idea title |
582
- | `description` | `string` | No | Detailed description |
583
- | `status` | `"raw" | "exploring" | "planned" | "in_development" | "shipped"` | No | Development stage (default: raw) |
584
-
585
- ---
586
-
587
- ### update_idea
588
-
589
- Update an idea's status or details.
590
-
591
- **Parameters:**
592
-
593
- | Parameter | Type | Required | Description |
594
- |-----------|------|----------|-------------|
595
- | `idea_id` | `string` | Yes | Idea UUID |
596
- | `title` | `string` | No | Updated title |
597
- | `description` | `string` | No | Updated description |
598
- | `status` | `"raw" | "exploring" | "planned" | "in_development" | "shipped"` | No | New development stage |
599
- | `doc_url` | `string` | No | URL to feature documentation/specification |
600
-
601
- ---
602
-
603
- ### get_ideas
604
-
605
- Get recorded ideas for a project, optionally filtered by status.
606
-
607
- **Parameters:**
608
-
609
- | Parameter | Type | Required | Description |
610
- |-----------|------|----------|-------------|
611
- | `project_id` | `string` | Yes | Project UUID |
612
- | `status` | `"raw" | "exploring" | "planned" | "in_development" | "shipped"` | No | Filter by status (optional) |
613
- | `limit` | `number` | No | Max number of ideas to return (default 50, max 100) |
614
- | `offset` | `number` | No | Number of ideas to skip for pagination (default 0) |
615
- | `search_query` | `string` | No | Search ideas by title or description |
616
-
617
- ---
618
-
619
- ### delete_idea
620
-
621
- Delete an idea.
622
-
623
- **Parameters:**
624
-
625
- | Parameter | Type | Required | Description |
626
- |-----------|------|----------|-------------|
627
- | `idea_id` | `string` | Yes | Idea UUID |
628
-
629
- ---
630
-
631
- ### convert_idea_to_task
632
-
633
- Convert an idea to a task. Creates a task from the idea's title and description, links them, and optionally updates the idea status to 'in_development'. Useful for planned ideas that are ready for implementation.
634
-
635
- **Parameters:**
636
-
637
- | Parameter | Type | Required | Description |
638
- |-----------|------|----------|-------------|
639
- | `idea_id` | `string` | Yes | Idea UUID to convert |
640
- | `priority` | `number` | No | Task priority 1-5 (default: 3, 1 = highest) (min: 1, max: 5) |
641
- | `estimated_minutes` | `number` | No | Estimated time to complete in minutes (min: 1) |
642
- | `update_status` | `boolean` | No | Update idea status to 'in_development' (default: true) |
643
-
644
- ---
645
-
646
- ## findings
647
-
648
- *Audit findings/knowledge base*
649
-
650
- ### add_finding
651
-
652
- Record a finding from an audit/review (performance, security, code quality, etc).
653
-
654
- **Parameters:**
655
-
656
- | Parameter | Type | Required | Description |
657
- |-----------|------|----------|-------------|
658
- | `project_id` | `string` | Yes | Project UUID |
659
- | `category` | `"performance" | "security" | "code_quality" | "accessibility" | "documentation" | "architecture" | "testing" | "other"` | No | Category of the finding (default: other) |
660
- | `title` | `string` | Yes | Brief title describing the finding |
661
- | `description` | `string` | No | Detailed description of the finding, including impact and suggested fix |
662
- | `severity` | `"info" | "low" | "medium" | "high" | "critical"` | No | Severity level (default: info) |
663
- | `file_path` | `string` | No | File path where the issue was found (optional) |
664
- | `line_number` | `number` | No | Line number in the file (optional) |
665
- | `related_task_id` | `string` | No | ID of related task if this finding came from a task (optional) |
666
-
667
- ---
668
-
669
- ### get_findings
670
-
671
- Get findings for a project, optionally filtered by category, severity, or status. Use summary_only=true to reduce token usage by returning only essential fields (id, title, category, severity, status). For just counts, use get_findings_stats instead.
672
-
673
- **Parameters:**
674
-
675
- | Parameter | Type | Required | Description |
676
- |-----------|------|----------|-------------|
677
- | `project_id` | `string` | Yes | Project UUID |
678
- | `category` | `"performance" | "security" | "code_quality" | "accessibility" | "documentation" | "architecture" | "testing" | "other"` | No | Filter by category (optional) |
679
- | `severity` | `"info" | "low" | "medium" | "high" | "critical"` | No | Filter by severity (optional) |
680
- | `status` | `"open" | "addressed" | "dismissed" | "wontfix"` | No | Filter by status (default: open) |
681
- | `limit` | `number` | No | Max number of findings to return (default 50, max 200) |
682
- | `offset` | `number` | No | Number of findings to skip for pagination (default 0) |
683
- | `search_query` | `string` | No | Search findings by title |
684
- | `summary_only` | `boolean` | No | When true, returns only id, title, category, severity, status (reduces tokens by ~80%). Default: false |
685
-
686
- ---
687
-
688
- ### get_findings_stats
689
-
690
- Get aggregate statistics about findings for a project. Returns total count and breakdowns by status, severity, and category. Much more token-efficient than get_findings when you just need to understand the overall state.
691
-
692
- **Parameters:**
693
-
694
- | Parameter | Type | Required | Description |
695
- |-----------|------|----------|-------------|
696
- | `project_id` | `string` | Yes | Project UUID |
697
-
698
- ---
699
-
700
- ### update_finding
701
-
702
- Update a finding's status or details. Use to mark findings as addressed or dismissed.
703
-
704
- **Parameters:**
705
-
706
- | Parameter | Type | Required | Description |
707
- |-----------|------|----------|-------------|
708
- | `finding_id` | `string` | Yes | Finding UUID |
709
- | `status` | `"open" | "addressed" | "dismissed" | "wontfix"` | No | New status |
710
- | `resolution_note` | `string` | No | Note explaining how the finding was addressed or why it was dismissed |
711
- | `title` | `string` | No | Updated title |
712
- | `description` | `string` | No | Updated description |
713
- | `severity` | `"info" | "low" | "medium" | "high" | "critical"` | No | Updated severity |
714
-
715
- ---
716
-
717
- ### delete_finding
718
-
719
- Delete a finding.
720
-
721
- **Parameters:**
722
-
723
- | Parameter | Type | Required | Description |
724
- |-----------|------|----------|-------------|
725
- | `finding_id` | `string` | Yes | Finding UUID |
726
-
727
- ---
728
-
729
- ## validation
730
-
731
- *Cross-agent task validation*
732
-
733
- ### get_tasks_awaiting_validation
734
-
735
- Get completed tasks not yet validated.
736
-
737
- **Parameters:**
738
-
739
- | Parameter | Type | Required | Description |
740
- |-----------|------|----------|-------------|
741
- | `project_id` | `string` | Yes | Project UUID |
742
-
743
- ---
744
-
745
- ### claim_validation
746
-
747
- Claim a completed task for review. Shows "being reviewed" on dashboard.
748
-
749
- **Parameters:**
750
-
751
- | Parameter | Type | Required | Description |
752
- |-----------|------|----------|-------------|
753
- | `task_id` | `string` | Yes | Task UUID to claim for review |
754
-
755
- ---
756
-
757
- ### validate_task
758
-
759
- Validate a completed task. Include test results in validation_notes. For github-flow/git-flow projects, a PR must exist before approval (add via add_task_reference).
760
-
761
- **Parameters:**
762
-
763
- | Parameter | Type | Required | Description |
764
- |-----------|------|----------|-------------|
765
- | `task_id` | `string` | Yes | Task UUID to validate |
766
- | `validation_notes` | `string` | No | Notes about the validation (what was checked, any issues found) |
767
- | `approved` | `boolean` | Yes | Whether the task passes validation (true = approved, false = needs more work) |
768
- | `skip_pr_check` | `boolean` | No | Skip PR existence check (use only for tasks that legitimately do not need a PR) |
769
-
770
- ---
771
-
772
- ## deployment
773
-
774
- *Deployment coordination*
775
-
776
- ### request_deployment
777
-
778
- Request a deployment. Requires validation first. One active deployment per project.
779
-
780
- **Parameters:**
781
-
782
- | Parameter | Type | Required | Description |
783
- |-----------|------|----------|-------------|
784
- | `project_id` | `string` | Yes | Project UUID |
785
- | `environment` | `"development" | "staging" | "production"` | No | Target environment (default: production) |
786
- | `version_bump` | `"patch" | "minor" | "major"` | No | Version bump: major/minor/patch (default: patch) |
787
- | `notes` | `string` | No | Optional notes about this deployment |
788
- | `git_ref` | `string` | No | Git branch or commit being deployed |
789
-
790
- ---
791
-
792
- ### claim_deployment_validation
793
-
794
- Claim pending deployment for validation. Run build+tests, then call report_validation.
795
-
796
- **Parameters:**
797
-
798
- | Parameter | Type | Required | Description |
799
- |-----------|------|----------|-------------|
800
- | `project_id` | `string` | Yes | Project UUID |
801
-
802
- ---
803
-
804
- ### report_validation
805
-
806
- Report build/test results. If passed, status->'ready'. If failed, creates investigation task.
807
-
808
- **Parameters:**
809
-
810
- | Parameter | Type | Required | Description |
811
- |-----------|------|----------|-------------|
812
- | `project_id` | `string` | Yes | Project UUID |
813
- | `build_passed` | `boolean` | Yes | Whether the build succeeded |
814
- | `tests_passed` | `boolean` | Yes | Whether the tests passed |
815
- | `error_message` | `string` | No | Error details if validation failed |
816
-
817
- ---
818
-
819
- ### check_deployment_status
820
-
821
- Get active deployment status and details.
822
-
823
- **Parameters:**
824
-
825
- | Parameter | Type | Required | Description |
826
- |-----------|------|----------|-------------|
827
- | `project_id` | `string` | Yes | Project UUID |
828
-
829
- ---
830
-
831
- ### start_deployment
832
-
833
- Start deployment (requires 'ready' status). Sets status to 'deploying'.
834
-
835
- **Parameters:**
836
-
837
- | Parameter | Type | Required | Description |
838
- |-----------|------|----------|-------------|
839
- | `project_id` | `string` | Yes | Project UUID |
840
-
841
- ---
842
-
843
- ### complete_deployment
844
-
845
- Mark deployment as complete (success or failure).
846
-
847
- **Parameters:**
848
-
849
- | Parameter | Type | Required | Description |
850
- |-----------|------|----------|-------------|
851
- | `project_id` | `string` | Yes | Project UUID |
852
- | `success` | `boolean` | Yes | Whether the deployment succeeded |
853
- | `summary` | `string` | No | Summary of what was deployed or why it failed |
854
-
855
- ---
856
-
857
- ### cancel_deployment
858
-
859
- Cancel active deployment. Sets status to 'failed'.
860
-
861
- **Parameters:**
862
-
863
- | Parameter | Type | Required | Description |
864
- |-----------|------|----------|-------------|
865
- | `project_id` | `string` | Yes | Project UUID |
866
- | `reason` | `string` | No | Reason for cancellation |
867
-
868
- ---
869
-
870
- ### add_deployment_requirement
871
-
872
- Add a pre-deployment requirement (migration, env var, config change). These are shown as a checklist before deployment.
873
-
874
- **Parameters:**
875
-
876
- | Parameter | Type | Required | Description |
877
- |-----------|------|----------|-------------|
878
- | `project_id` | `string` | Yes | Project UUID |
879
- | `type` | `"migration" | "env_var" | "config" | "manual" | "breaking_change" | "agent_task"` | Yes | Type of requirement |
880
- | `title` | `string` | Yes | Brief description (e.g., "Run migration: 20250114_token_tracking.sql") |
881
- | `description` | `string` | No | Optional detailed instructions |
882
- | `file_path` | `string` | No | Optional file path reference |
883
- | `stage` | `"preparation" | "deployment" | "verification"` | No | Deployment stage: preparation (default), deployment, or verification |
884
- | `blocking` | `boolean` | No | When true, converted task blocks all other work until complete |
885
- | `recurring` | `boolean` | No | When true, requirement resets to pending when a new deployment is requested |
886
-
887
- ---
888
-
889
- ### complete_deployment_requirement
890
-
891
- Mark a deployment requirement as completed.
892
-
893
- **Parameters:**
894
-
895
- | Parameter | Type | Required | Description |
896
- |-----------|------|----------|-------------|
897
- | `requirement_id` | `string` | Yes | Requirement UUID |
898
-
899
- ---
900
-
901
- ### get_deployment_requirements
902
-
903
- Get pending deployment requirements for a project.
904
-
905
- **Parameters:**
906
-
907
- | Parameter | Type | Required | Description |
908
- |-----------|------|----------|-------------|
909
- | `project_id` | `string` | Yes | Project UUID |
910
- | `status` | `"pending" | "completed" | "converted_to_task" | "all"` | No | Filter by status (default: pending) |
911
- | `stage` | `"preparation" | "deployment" | "verification" | "all"` | No | Filter by stage (optional) |
912
-
913
- ---
914
-
915
- ### schedule_deployment
916
-
917
- Schedule a deployment for a specific time. Supports one-time and recurring schedules with auto-trigger or manual trigger modes.
918
-
919
- **Parameters:**
920
-
921
- | Parameter | Type | Required | Description |
922
- |-----------|------|----------|-------------|
923
- | `project_id` | `string` | Yes | Project UUID |
924
- | `scheduled_at` | `string` | Yes | ISO 8601 datetime for when the deployment should be triggered |
925
- | `schedule_type` | `"once" | "hourly" | "daily" | "weekly" | "monthly"` | No | Schedule type: once (one-time), hourly, daily, weekly, or monthly |
926
- | `hours_interval` | `number` | No | For hourly schedules, the number of hours between runs (1-24, default: 1) (min: 1, max: 24) |
927
- | `auto_trigger` | `boolean` | No | Whether agents should automatically trigger this deployment when due (default: true) |
928
- | `environment` | `"development" | "staging" | "production"` | No | Target environment (default: production) |
929
- | `version_bump` | `"patch" | "minor" | "major"` | No | Version bump: patch, minor, or major (default: patch) |
930
- | `notes` | `string` | No | Optional notes about this scheduled deployment |
931
- | `git_ref` | `string` | No | Optional git branch or commit to deploy |
932
-
933
- ---
934
-
935
- ### get_scheduled_deployments
936
-
937
- Get scheduled deployments for a project.
938
-
939
- **Parameters:**
940
-
941
- | Parameter | Type | Required | Description |
942
- |-----------|------|----------|-------------|
943
- | `project_id` | `string` | Yes | Project UUID |
944
- | `include_disabled` | `boolean` | No | Include disabled schedules (default: false) |
945
-
946
- ---
947
-
948
- ### update_scheduled_deployment
949
-
950
- Update a scheduled deployment's configuration.
951
-
952
- **Parameters:**
953
-
954
- | Parameter | Type | Required | Description |
955
- |-----------|------|----------|-------------|
956
- | `schedule_id` | `string` | Yes | Schedule UUID |
957
- | `scheduled_at` | `string` | No | New scheduled time (ISO 8601) |
958
- | `schedule_type` | `"once" | "hourly" | "daily" | "weekly" | "monthly"` | No | New schedule type |
959
- | `hours_interval` | `number` | No | For hourly schedules, the number of hours between runs (1-24) (min: 1, max: 24) |
960
- | `auto_trigger` | `boolean` | No | Whether to auto-trigger |
961
- | `enabled` | `boolean` | No | Enable or disable the schedule |
962
- | `environment` | `"development" | "staging" | "production"` | No | Target environment |
963
- | `version_bump` | `"patch" | "minor" | "major"` | No | Version bump type |
964
- | `notes` | `string` | No | Notes about this deployment |
965
- | `git_ref` | `string` | No | Git branch or commit to deploy |
966
-
967
- ---
968
-
969
- ### delete_scheduled_deployment
970
-
971
- Delete a scheduled deployment.
972
-
973
- **Parameters:**
974
-
975
- | Parameter | Type | Required | Description |
976
- |-----------|------|----------|-------------|
977
- | `schedule_id` | `string` | Yes | Schedule UUID |
978
-
979
- ---
980
-
981
- ### trigger_scheduled_deployment
982
-
983
- Manually trigger a scheduled deployment. Creates a new deployment and updates the schedule.
984
-
985
- **Parameters:**
986
-
987
- | Parameter | Type | Required | Description |
988
- |-----------|------|----------|-------------|
989
- | `schedule_id` | `string` | Yes | Schedule UUID |
990
-
991
- ---
992
-
993
- ### check_due_deployments
994
-
995
- Check for scheduled deployments that are due. Returns schedules where: enabled AND auto_trigger AND scheduled_at <= NOW().
996
-
997
- **Parameters:**
998
-
999
- | Parameter | Type | Required | Description |
1000
- |-----------|------|----------|-------------|
1001
- | `project_id` | `string` | Yes | Project UUID |
1002
-
1003
- ---
1004
-
1005
- ## fallback
1006
-
1007
- *Background activities when idle*
1008
-
1009
- ### start_fallback_activity
1010
-
1011
- Start a background activity when no tasks available.
1012
-
1013
- **Parameters:**
1014
-
1015
- | Parameter | Type | Required | Description |
1016
- |-----------|------|----------|-------------|
1017
- | `project_id` | `string` | Yes | Project UUID |
1018
- | `activity` | `"feature_ideation" | "code_review" | "performance_audit" | "ux_review" | "cost_analysis" | "security_review" | "test_coverage" | "documentation_review" | "dependency_audit" | "validate_completed_tasks"` | Yes | The fallback activity type (e.g., code_review, security_review) |
1019
-
1020
- ---
1021
-
1022
- ### stop_fallback_activity
1023
-
1024
- Stop current fallback activity. Auto-clears when starting a regular task.
1025
-
1026
- **Parameters:**
1027
-
1028
- | Parameter | Type | Required | Description |
1029
- |-----------|------|----------|-------------|
1030
- | `project_id` | `string` | Yes | Project UUID |
1031
- | `summary` | `string` | No | Optional summary of what was accomplished during this activity |
1032
-
1033
- ---
1034
-
1035
- ### get_activity_history
1036
-
1037
- Get background activity completion history.
1038
-
1039
- **Parameters:**
1040
-
1041
- | Parameter | Type | Required | Description |
1042
- |-----------|------|----------|-------------|
1043
- | `project_id` | `string` | Yes | Project UUID |
1044
- | `activity_type` | `string` | No | Optional: filter to a specific activity type |
1045
- | `limit` | `number` | No | Max number of history entries to return (default 50) |
1046
-
1047
- ---
1048
-
1049
- ### get_activity_schedules
1050
-
1051
- Get background activity schedules.
1052
-
1053
- **Parameters:**
1054
-
1055
- | Parameter | Type | Required | Description |
1056
- |-----------|------|----------|-------------|
1057
- | `project_id` | `string` | Yes | Project UUID |
1058
-
1059
- ---
1060
-
1061
- ## bodies_of_work
1062
-
1063
- *Group tasks into bodies of work*
1064
-
1065
- ### create_body_of_work
1066
-
1067
- Create a new body of work to group tasks into phases (pre/core/post).
1068
-
1069
- Bodies of work allow organizing related tasks with optional auto-deployment on completion.
1070
-
1071
- **Parameters:**
1072
-
1073
- | Parameter | Type | Required | Description |
1074
- |-----------|------|----------|-------------|
1075
- | `project_id` | `string` | Yes | Project UUID |
1076
- | `title` | `string` | Yes | Title for the body of work |
1077
- | `description` | `string` | No | Optional description |
1078
- | `auto_deploy_on_completion` | `boolean` | No | Automatically request deployment when all tasks complete (default: false) |
1079
- | `deploy_environment` | `"development" | "staging" | "production"` | No | Target environment for auto-deploy (default: production) |
1080
- | `deploy_version_bump` | `"patch" | "minor" | "major"` | No | Version bump for auto-deploy (default: minor) |
1081
- | `deploy_trigger` | `"all_completed" | "all_completed_validated"` | No | When to trigger auto-deploy: all_completed (immediate) or all_completed_validated (requires validation, default) |
1082
-
1083
- ---
1084
-
1085
- ### update_body_of_work
1086
-
1087
- Update a body of work's settings.
1088
-
1089
- **Parameters:**
1090
-
1091
- | Parameter | Type | Required | Description |
1092
- |-----------|------|----------|-------------|
1093
- | `body_of_work_id` | `string` | Yes | Body of work UUID |
1094
- | `title` | `string` | No | Updated title |
1095
- | `description` | `string` | No | Updated description |
1096
- | `auto_deploy_on_completion` | `boolean` | No | Auto-deploy setting |
1097
- | `deploy_environment` | `"development" | "staging" | "production"` | No | Target environment |
1098
- | `deploy_version_bump` | `"patch" | "minor" | "major"` | No | Version bump type |
1099
- | `deploy_trigger` | `"all_completed" | "all_completed_validated"` | No | When to trigger auto-deploy |
1100
-
1101
- ---
1102
-
1103
- ### get_body_of_work
1104
-
1105
- Get a body of work with all its tasks organized by phase.
1106
-
1107
- **Parameters:**
1108
-
1109
- | Parameter | Type | Required | Description |
1110
- |-----------|------|----------|-------------|
1111
- | `body_of_work_id` | `string` | Yes | Body of work UUID |
1112
-
1113
- ---
1114
-
1115
- ### get_bodies_of_work
1116
-
1117
- List bodies of work for a project with task counts per phase.
1118
-
1119
- **Parameters:**
1120
-
1121
- | Parameter | Type | Required | Description |
1122
- |-----------|------|----------|-------------|
1123
- | `project_id` | `string` | Yes | Project UUID |
1124
- | `status` | `"draft" | "active" | "completed" | "cancelled"` | No | Filter by status (optional) |
1125
-
1126
- ---
1127
-
1128
- ### delete_body_of_work
1129
-
1130
- Delete a body of work. Tasks are preserved but no longer grouped.
1131
-
1132
- **Parameters:**
1133
-
1134
- | Parameter | Type | Required | Description |
1135
- |-----------|------|----------|-------------|
1136
- | `body_of_work_id` | `string` | Yes | Body of work UUID |
1137
-
1138
- ---
1139
-
1140
- ### add_task_to_body_of_work
1141
-
1142
- Add a task to a body of work in a specific phase.
1143
-
1144
- Phases control execution order: pre tasks run first, then core, then post.
1145
-
1146
- **Parameters:**
1147
-
1148
- | Parameter | Type | Required | Description |
1149
- |-----------|------|----------|-------------|
1150
- | `body_of_work_id` | `string` | Yes | Body of work UUID |
1151
- | `task_id` | `string` | Yes | Task UUID to add |
1152
- | `phase` | `"pre" | "core" | "post"` | No | Task phase (default: core) |
1153
- | `order_index` | `number` | No | Order within phase (auto-assigned if not specified) |
1154
-
1155
- ---
1156
-
1157
- ### remove_task_from_body_of_work
1158
-
1159
- Remove a task from its body of work. The task is preserved.
1160
-
1161
- **Parameters:**
1162
-
1163
- | Parameter | Type | Required | Description |
1164
- |-----------|------|----------|-------------|
1165
- | `task_id` | `string` | Yes | Task UUID to remove |
1166
-
1167
- ---
1168
-
1169
- ### activate_body_of_work
1170
-
1171
- Activate a draft body of work to start execution.
1172
-
1173
- Requires at least one task. Once active, tasks can be worked on following phase order.
1174
-
1175
- **Parameters:**
1176
-
1177
- | Parameter | Type | Required | Description |
1178
- |-----------|------|----------|-------------|
1179
- | `body_of_work_id` | `string` | Yes | Body of work UUID |
1180
-
1181
- ---
1182
-
1183
- ### add_task_dependency
1184
-
1185
- Add a dependency between tasks in a body of work.
1186
-
1187
- The dependent task cannot start until the dependency is completed. Prevents circular dependencies.
1188
-
1189
- **Parameters:**
1190
-
1191
- | Parameter | Type | Required | Description |
1192
- |-----------|------|----------|-------------|
1193
- | `body_of_work_id` | `string` | Yes | Body of work UUID |
1194
- | `task_id` | `string` | Yes | Task that depends on another task |
1195
- | `depends_on_task_id` | `string` | Yes | Task that must complete first |
1196
-
1197
- ---
1198
-
1199
- ### remove_task_dependency
1200
-
1201
- Remove a dependency between tasks.
1202
-
1203
- **Parameters:**
1204
-
1205
- | Parameter | Type | Required | Description |
1206
- |-----------|------|----------|-------------|
1207
- | `task_id` | `string` | Yes | Task UUID |
1208
- | `depends_on_task_id` | `string` | Yes | Dependency task UUID |
1209
-
1210
- ---
1211
-
1212
- ### get_task_dependencies
1213
-
1214
- Get task dependencies for a body of work or specific task.
1215
-
1216
- **Parameters:**
1217
-
1218
- | Parameter | Type | Required | Description |
1219
- |-----------|------|----------|-------------|
1220
- | `body_of_work_id` | `string` | No | Body of work UUID (optional if task_id provided) |
1221
- | `task_id` | `string` | No | Specific task UUID (optional if body_of_work_id provided) |
1222
-
1223
- ---
1224
-
1225
- ### get_next_body_of_work_task
1226
-
1227
- Get the next available task from a body of work.
1228
-
1229
- Considers phase order (pre → core → post) and task dependencies.
1230
-
1231
- Only returns tasks where all dependencies are completed.
1232
-
1233
- **Parameters:**
1234
-
1235
- | Parameter | Type | Required | Description |
1236
- |-----------|------|----------|-------------|
1237
- | `body_of_work_id` | `string` | Yes | Body of work UUID |
1238
-
1239
- ---
1240
-
1241
- ## sprints
1242
-
1243
- *Time-bounded sprints with velocity tracking*
1244
-
1245
- ### create_sprint
1246
-
1247
- Create a new sprint. Sprints are time-bounded bodies of work with velocity tracking.
1248
-
1249
- Sprints start in 'planning' status where tasks can be added with story points.
1250
-
1251
- **Parameters:**
1252
-
1253
- | Parameter | Type | Required | Description |
1254
- |-----------|------|----------|-------------|
1255
- | `project_id` | `string` | Yes | Project UUID |
1256
- | `title` | `string` | Yes | Sprint title (e.g., "Sprint 5" or "Q1 Release") |
1257
- | `goal` | `string` | No | Sprint goal statement |
1258
- | `start_date` | `string` | Yes | Start date (YYYY-MM-DD) |
1259
- | `end_date` | `string` | Yes | End date (YYYY-MM-DD) |
1260
- | `auto_deploy_on_completion` | `boolean` | No | Automatically request deployment when sprint completes (default: false) |
1261
- | `deploy_environment` | `"development" | "staging" | "production"` | No | Target environment for auto-deploy (default: production) |
1262
- | `deploy_version_bump` | `"patch" | "minor" | "major"` | No | Version bump for auto-deploy (default: minor) |
1263
-
1264
- ---
1265
-
1266
- ### update_sprint
1267
-
1268
- Update a sprint's details. Can update title, goal, dates, and deployment settings.
1269
-
1270
- **Parameters:**
1271
-
1272
- | Parameter | Type | Required | Description |
1273
- |-----------|------|----------|-------------|
1274
- | `sprint_id` | `string` | Yes | Sprint UUID |
1275
- | `title` | `string` | No | New sprint title |
1276
- | `goal` | `string` | No | New sprint goal |
1277
- | `start_date` | `string` | No | New start date (YYYY-MM-DD) |
1278
- | `end_date` | `string` | No | New end date (YYYY-MM-DD) |
1279
- | `auto_deploy_on_completion` | `boolean` | No | Auto-deploy setting |
1280
- | `deploy_environment` | `"development" | "staging" | "production"` | No | Target environment |
1281
- | `deploy_version_bump` | `"patch" | "minor" | "major"` | No | Version bump type |
1282
-
1283
- ---
1284
-
1285
- ### get_sprint
1286
-
1287
- Get a sprint with all its tasks organized by phase (pre/core/post).
1288
-
1289
- Includes progress percentage, velocity points, and committed points.
1290
-
1291
- Use summary_only: true to get task counts and next task instead of full task arrays (saves tokens).
1292
-
1293
- **Parameters:**
1294
-
1295
- | Parameter | Type | Required | Description |
1296
- |-----------|------|----------|-------------|
1297
- | `sprint_id` | `string` | Yes | Sprint UUID |
1298
- | `summary_only` | `boolean` | No | Return task counts and next task instead of full task arrays (default: false) |
1299
-
1300
- ---
1301
-
1302
- ### get_sprints
1303
-
1304
- List sprints for a project with velocity metrics.
1305
-
1306
- Returns sprints sorted by sprint_number descending (most recent first).
1307
-
1308
- **Parameters:**
1309
-
1310
- | Parameter | Type | Required | Description |
1311
- |-----------|------|----------|-------------|
1312
- | `project_id` | `string` | Yes | Project UUID |
1313
- | `status` | `"planning" | "active" | "in_review" | "retrospective" | "completed" | "cancelled"` | No | Filter by sprint status (optional) |
1314
- | `limit` | `number` | No | Max sprints to return (default: 20, max: 100) |
1315
-
1316
- ---
1317
-
1318
- ### delete_sprint
1319
-
1320
- Delete a sprint. Tasks are preserved but no longer grouped.
1321
-
1322
- **Parameters:**
1323
-
1324
- | Parameter | Type | Required | Description |
1325
- |-----------|------|----------|-------------|
1326
- | `sprint_id` | `string` | Yes | Sprint UUID |
1327
-
1328
- ---
1329
-
1330
- ### start_sprint
1331
-
1332
- Start a sprint. Transitions from 'planning' to 'active' status.
1333
-
1334
- Locks the committed_points at the current total story points.
1335
-
1336
- **Parameters:**
1337
-
1338
- | Parameter | Type | Required | Description |
1339
- |-----------|------|----------|-------------|
1340
- | `sprint_id` | `string` | Yes | Sprint UUID |
1341
-
1342
- ---
1343
-
1344
- ### complete_sprint
1345
-
1346
- Complete a sprint. Handles retrospective phase and auto-deployment if configured.
1347
-
1348
- Status flow: active in_review retrospective completed
1349
-
1350
- **Parameters:**
1351
-
1352
- | Parameter | Type | Required | Description |
1353
- |-----------|------|----------|-------------|
1354
- | `sprint_id` | `string` | Yes | Sprint UUID |
1355
- | `retrospective_notes` | `string` | No | Sprint retrospective notes |
1356
- | `skip_retrospective` | `boolean` | No | Skip retrospective phase and go directly to completed (default: false) |
1357
-
1358
- ---
1359
-
1360
- ### add_task_to_sprint
1361
-
1362
- Add a task to a sprint with optional story points.
1363
-
1364
- Tasks can be added during 'planning' status. Story points contribute to committed_points.
1365
-
1366
- **Parameters:**
1367
-
1368
- | Parameter | Type | Required | Description |
1369
- |-----------|------|----------|-------------|
1370
- | `sprint_id` | `string` | Yes | Sprint UUID |
1371
- | `task_id` | `string` | Yes | Task UUID to add |
1372
- | `story_points` | `number` | No | Story point estimate (optional, must be non-negative integer) |
1373
- | `phase` | `"pre" | "core" | "post"` | No | Task phase (default: core) |
1374
-
1375
- ---
1376
-
1377
- ### remove_task_from_sprint
1378
-
1379
- Remove a task from a sprint. Task is preserved but returns to backlog.
1380
-
1381
- **Parameters:**
1382
-
1383
- | Parameter | Type | Required | Description |
1384
- |-----------|------|----------|-------------|
1385
- | `sprint_id` | `string` | Yes | Sprint UUID |
1386
- | `task_id` | `string` | Yes | Task UUID to remove |
1387
-
1388
- ---
1389
-
1390
- ### get_sprint_backlog
1391
-
1392
- Get tasks from backlog/pending that can be added to a sprint.
1393
-
1394
- Returns tasks not already assigned to any body of work or sprint.
1395
-
1396
- **Parameters:**
1397
-
1398
- | Parameter | Type | Required | Description |
1399
- |-----------|------|----------|-------------|
1400
- | `project_id` | `string` | Yes | Project UUID |
1401
- | `sprint_id` | `string` | No | Sprint UUID to exclude already-added tasks (optional) |
1402
-
1403
- ---
1404
-
1405
- ### get_sprint_velocity
1406
-
1407
- Get velocity metrics for completed sprints.
1408
-
1409
- Returns committed vs completed points and average velocity.
1410
-
1411
- **Parameters:**
1412
-
1413
- | Parameter | Type | Required | Description |
1414
- |-----------|------|----------|-------------|
1415
- | `project_id` | `string` | Yes | Project UUID |
1416
- | `limit` | `number` | No | Number of sprints to analyze (default: 10, max: 50) |
1417
-
1418
- ---
1419
-
1420
- ## requests
1421
-
1422
- *User request handling*
1423
-
1424
- ### get_pending_requests
1425
-
1426
- Get unacknowledged user requests for this agent/project.
1427
-
1428
- **Parameters:**
1429
-
1430
- | Parameter | Type | Required | Description |
1431
- |-----------|------|----------|-------------|
1432
- | `project_id` | `string` | Yes | Project UUID |
1433
-
1434
- ---
1435
-
1436
- ### acknowledge_request
1437
-
1438
- Mark a user request as handled.
1439
-
1440
- **Parameters:**
1441
-
1442
- | Parameter | Type | Required | Description |
1443
- |-----------|------|----------|-------------|
1444
- | `request_id` | `string` | Yes | Request UUID to acknowledge |
1445
-
1446
- ---
1447
-
1448
- ### answer_question
1449
-
1450
- Answer a question from the user. Use this when the user has asked a question via the dashboard.
1451
-
1452
- The answer will be displayed to the user and the question marked as answered.
1453
-
1454
- **Parameters:**
1455
-
1456
- | Parameter | Type | Required | Description |
1457
- |-----------|------|----------|-------------|
1458
- | `request_id` | `string` | Yes | Request UUID of the question to answer |
1459
- | `answer` | `string` | Yes | Your answer to the user's question |
1460
-
1461
- ---
1462
-
1463
- ## organizations
1464
-
1465
- *Organization and team management*
1466
-
1467
- ### list_organizations
1468
-
1469
- List organizations the current user belongs to.
1470
-
1471
- **Parameters:** None
1472
-
1473
- ---
1474
-
1475
- ### create_organization
1476
-
1477
- Create a new organization. You become the owner.
1478
-
1479
- **Parameters:**
1480
-
1481
- | Parameter | Type | Required | Description |
1482
- |-----------|------|----------|-------------|
1483
- | `name` | `string` | Yes | Organization display name |
1484
- | `description` | `string` | No | Brief description of the organization |
1485
- | `slug` | `string` | No | URL-friendly identifier (auto-generated from name if not provided) |
1486
-
1487
- ---
1488
-
1489
- ### update_organization
1490
-
1491
- Update organization details. Requires admin role.
1492
-
1493
- **Parameters:**
1494
-
1495
- | Parameter | Type | Required | Description |
1496
- |-----------|------|----------|-------------|
1497
- | `organization_id` | `string` | Yes | Organization UUID |
1498
- | `name` | `string` | No | New organization name |
1499
- | `description` | `string` | No | New description |
1500
- | `logo_url` | `string` | No | URL to organization logo |
1501
-
1502
- ---
1503
-
1504
- ### delete_organization
1505
-
1506
- Delete an organization. Requires owner role. Removes all shares.
1507
-
1508
- **Parameters:**
1509
-
1510
- | Parameter | Type | Required | Description |
1511
- |-----------|------|----------|-------------|
1512
- | `organization_id` | `string` | Yes | Organization UUID |
1513
-
1514
- ---
1515
-
1516
- ### list_org_members
1517
-
1518
- List members of an organization.
1519
-
1520
- **Parameters:**
1521
-
1522
- | Parameter | Type | Required | Description |
1523
- |-----------|------|----------|-------------|
1524
- | `organization_id` | `string` | Yes | Organization UUID |
1525
-
1526
- ---
1527
-
1528
- ### invite_member
1529
-
1530
- Invite a user to an organization by email. Requires admin role.
1531
-
1532
- **Parameters:**
1533
-
1534
- | Parameter | Type | Required | Description |
1535
- |-----------|------|----------|-------------|
1536
- | `organization_id` | `string` | Yes | Organization UUID |
1537
- | `email` | `string` | Yes | Email address to invite |
1538
- | `role` | `"admin" | "member" | "viewer"` | No | Role to assign (default: member) |
1539
-
1540
- ---
1541
-
1542
- ### update_member_role
1543
-
1544
- Change a member's role. Requires admin role. Cannot change owner.
1545
-
1546
- **Parameters:**
1547
-
1548
- | Parameter | Type | Required | Description |
1549
- |-----------|------|----------|-------------|
1550
- | `organization_id` | `string` | Yes | Organization UUID |
1551
- | `user_id` | `string` | Yes | User UUID to update |
1552
- | `role` | `"admin" | "member" | "viewer"` | Yes | New role to assign |
1553
-
1554
- ---
1555
-
1556
- ### remove_member
1557
-
1558
- Remove a member from an organization. Requires admin role.
1559
-
1560
- **Parameters:**
1561
-
1562
- | Parameter | Type | Required | Description |
1563
- |-----------|------|----------|-------------|
1564
- | `organization_id` | `string` | Yes | Organization UUID |
1565
- | `user_id` | `string` | Yes | User UUID to remove |
1566
-
1567
- ---
1568
-
1569
- ### leave_organization
1570
-
1571
- Leave an organization. Owner cannot leave without transferring ownership.
1572
-
1573
- **Parameters:**
1574
-
1575
- | Parameter | Type | Required | Description |
1576
- |-----------|------|----------|-------------|
1577
- | `organization_id` | `string` | Yes | Organization UUID |
1578
-
1579
- ---
1580
-
1581
- ### share_project_with_org
1582
-
1583
- Share a project with an organization. You must own the project.
1584
-
1585
- **Parameters:**
1586
-
1587
- | Parameter | Type | Required | Description |
1588
- |-----------|------|----------|-------------|
1589
- | `project_id` | `string` | Yes | Project UUID |
1590
- | `organization_id` | `string` | Yes | Organization UUID to share with |
1591
- | `permission` | `"read" | "write" | "admin"` | No | Permission level (default: read) |
1592
-
1593
- ---
1594
-
1595
- ### update_project_share
1596
-
1597
- Update the permission level for a project share.
1598
-
1599
- **Parameters:**
1600
-
1601
- | Parameter | Type | Required | Description |
1602
- |-----------|------|----------|-------------|
1603
- | `project_id` | `string` | Yes | Project UUID |
1604
- | `organization_id` | `string` | Yes | Organization UUID |
1605
- | `permission` | `"read" | "write" | "admin"` | Yes | New permission level |
1606
-
1607
- ---
1608
-
1609
- ### unshare_project
1610
-
1611
- Remove a project share from an organization.
1612
-
1613
- **Parameters:**
1614
-
1615
- | Parameter | Type | Required | Description |
1616
- |-----------|------|----------|-------------|
1617
- | `project_id` | `string` | Yes | Project UUID |
1618
- | `organization_id` | `string` | Yes | Organization UUID |
1619
-
1620
- ---
1621
-
1622
- ### list_project_shares
1623
-
1624
- List all organizations a project is shared with.
1625
-
1626
- **Parameters:**
1627
-
1628
- | Parameter | Type | Required | Description |
1629
- |-----------|------|----------|-------------|
1630
- | `project_id` | `string` | Yes | Project UUID |
1631
-
1632
- ---
1633
-
1634
- ## cost
1635
-
1636
- *Cost monitoring and alerts*
1637
-
1638
- ### get_cost_summary
1639
-
1640
- Get cost summary (daily/weekly/monthly) for a project.
1641
-
1642
- **Parameters:**
1643
-
1644
- | Parameter | Type | Required | Description |
1645
- |-----------|------|----------|-------------|
1646
- | `project_id` | `string` | Yes | Project UUID |
1647
- | `period` | `"daily" | "weekly" | "monthly"` | No | Summary period (default: daily) |
1648
- | `limit` | `number` | No | Max records to return (default: 30) |
1649
-
1650
- ---
1651
-
1652
- ### get_cost_alerts
1653
-
1654
- Get cost alerts for the current user.
1655
-
1656
- **Parameters:**
1657
-
1658
- | Parameter | Type | Required | Description |
1659
- |-----------|------|----------|-------------|
1660
- | `project_id` | `string` | No | Filter by project (optional) |
1661
-
1662
- ---
1663
-
1664
- ### add_cost_alert
1665
-
1666
- Add a cost alert threshold.
1667
-
1668
- **Parameters:**
1669
-
1670
- | Parameter | Type | Required | Description |
1671
- |-----------|------|----------|-------------|
1672
- | `project_id` | `string` | No | Project UUID (null for all projects) |
1673
- | `threshold_amount` | `number` | Yes | Amount in USD that triggers the alert |
1674
- | `threshold_period` | `"daily" | "weekly" | "monthly"` | Yes | Period for the threshold |
1675
- | `alert_type` | `"warning" | "critical"` | No | Alert severity (default: warning) |
1676
-
1677
- ---
1678
-
1679
- ### update_cost_alert
1680
-
1681
- Update a cost alert.
1682
-
1683
- **Parameters:**
1684
-
1685
- | Parameter | Type | Required | Description |
1686
- |-----------|------|----------|-------------|
1687
- | `alert_id` | `string` | Yes | Alert UUID |
1688
- | `threshold_amount` | `number` | No | New threshold amount in USD |
1689
- | `threshold_period` | `"daily" | "weekly" | "monthly"` | No | New period |
1690
- | `alert_type` | `"warning" | "critical"` | No | New alert type |
1691
- | `enabled` | `boolean` | No | Enable or disable the alert |
1692
-
1693
- ---
1694
-
1695
- ### delete_cost_alert
1696
-
1697
- Delete a cost alert.
1698
-
1699
- **Parameters:**
1700
-
1701
- | Parameter | Type | Required | Description |
1702
- |-----------|------|----------|-------------|
1703
- | `alert_id` | `string` | Yes | Alert UUID to delete |
1704
-
1705
- ---
1706
-
1707
- ### get_task_costs
1708
-
1709
- Get cost breakdown by task for a project.
1710
-
1711
- **Parameters:**
1712
-
1713
- | Parameter | Type | Required | Description |
1714
- |-----------|------|----------|-------------|
1715
- | `project_id` | `string` | Yes | Project UUID |
1716
- | `limit` | `number` | No | Max tasks to return (default: 20) |
1717
-
1718
- ---
1719
-
1720
- ## git_issues
1721
-
1722
- *Git conflict and issue tracking*
1723
-
1724
- ### add_git_issue
1725
-
1726
- Record a git-related issue (merge conflict, push failure, etc.). Auto-created by claim_validation when conflicts detected.
1727
-
1728
- **Parameters:**
1729
-
1730
- | Parameter | Type | Required | Description |
1731
- |-----------|------|----------|-------------|
1732
- | `project_id` | `string` | Yes | Project UUID |
1733
- | `issue_type` | `"merge_conflict" | "push_failed" | "rebase_needed" | "branch_diverged" | "pr_not_mergeable"` | Yes | Type of git issue |
1734
- | `branch` | `string` | Yes | Branch where the issue occurred |
1735
- | `target_branch` | `string` | No | Target branch for merge/rebase (optional) |
1736
- | `pr_url` | `string` | No | Pull request URL if applicable (optional) |
1737
- | `conflicting_files` | `string[]` | No | List of files with conflicts (optional) |
1738
- | `error_message` | `string` | No | Error message from git operation (optional) |
1739
- | `task_id` | `string` | No | Related task UUID (optional) |
1740
-
1741
- ---
1742
-
1743
- ### resolve_git_issue
1744
-
1745
- Mark a git issue as resolved.
1746
-
1747
- **Parameters:**
1748
-
1749
- | Parameter | Type | Required | Description |
1750
- |-----------|------|----------|-------------|
1751
- | `git_issue_id` | `string` | Yes | Git issue UUID |
1752
- | `resolution_note` | `string` | No | How the issue was resolved (optional) |
1753
- | `auto_resolved` | `boolean` | No | Whether this was auto-resolved (e.g., PR became mergeable) |
1754
-
1755
- ---
1756
-
1757
- ### get_git_issues
1758
-
1759
- Get git issues for a project, optionally filtered by status, type, or branch.
1760
-
1761
- **Parameters:**
1762
-
1763
- | Parameter | Type | Required | Description |
1764
- |-----------|------|----------|-------------|
1765
- | `project_id` | `string` | Yes | Project UUID |
1766
- | `status` | `"open" | "resolved"` | No | Filter by status (default: open) |
1767
- | `issue_type` | `"merge_conflict" | "push_failed" | "rebase_needed" | "branch_diverged" | "pr_not_mergeable"` | No | Filter by issue type (optional) |
1768
- | `branch` | `string` | No | Filter by branch (optional) |
1769
- | `limit` | `number` | No | Max issues to return (default: 50) |
1770
-
1771
- ---
1772
-
1773
- ### delete_git_issue
1774
-
1775
- Delete a git issue.
1776
-
1777
- **Parameters:**
1778
-
1779
- | Parameter | Type | Required | Description |
1780
- |-----------|------|----------|-------------|
1781
- | `git_issue_id` | `string` | Yes | Git issue UUID |
1782
-
1783
- ---
1784
-
1785
- ## knowledge
1786
-
1787
- *Queryable knowledge base from project data*
1788
-
1789
- ### query_knowledge_base
1790
-
1791
- Query aggregated project knowledge in a single call. Returns findings, Q&A, decisions, completed tasks, and resolved blockers. Use this instead of multiple separate tool calls to reduce token usage.
1792
-
1793
- **Parameters:**
1794
-
1795
- | Parameter | Type | Required | Description |
1796
- |-----------|------|----------|-------------|
1797
- | `project_id` | `string` | Yes | Project UUID |
1798
- | `scope` | `"summary" | "detailed"` | No | Response detail level: summary (default) or detailed (includes rationales) |
1799
- | `categories` | `string[]` | No | Categories to include (default: all). Filter to reduce response size. |
1800
- | `limit` | `number` | No | Max items per category (default: 5, max: 20) |
1801
- | `search_query` | `string` | No | Optional text search across all knowledge |
1802
-
1803
- ---
1804
-
1805
- ## discovery
1806
-
1807
- *Tool discovery and documentation*
1808
-
1809
- ### discover_tools
1810
-
1811
- List tools by category. Use get_tool_info for details.
1812
-
1813
- **Parameters:**
1814
-
1815
- | Parameter | Type | Required | Description |
1816
- |-----------|------|----------|-------------|
1817
- | `category` | `"session" | "project" | "tasks" | "milestones" | "progress" | "blockers" | "decisions" | "ideas" | "findings" | "validation" | "deployment" | "fallback" | "bodies_of_work" | "sprints" | "requests" | "organizations" | "cost" | "git_issues" | "knowledge" | "discovery" | "subtasks" | "worktrees" | "roles" | "file_locks"` | No | Category to list (omit for all categories) |
1818
-
1819
- ---
1820
-
1821
- ### get_tool_info
1822
-
1823
- Get detailed tool documentation.
1824
-
1825
- **Parameters:**
1826
-
1827
- | Parameter | Type | Required | Description |
1828
- |-----------|------|----------|-------------|
1829
- | `tool_name` | `string` | Yes | Tool name |
1830
-
1831
- ---
1832
-
1833
- ## subtasks
1834
-
1835
- *Break tasks into smaller pieces*
1836
-
1837
- ### add_subtask
1838
-
1839
- Add a subtask to break down a larger task into smaller workable pieces.
1840
-
1841
- Subtasks can be claimed and worked on independently by any agent.
1842
-
1843
- Subtasks inherit the project from their parent task.
1844
-
1845
- Max depth is 1 (subtasks cannot have their own subtasks).
1846
-
1847
- **Parameters:**
1848
-
1849
- | Parameter | Type | Required | Description |
1850
- |-----------|------|----------|-------------|
1851
- | `parent_task_id` | `string` | Yes | UUID of the parent task to add subtask to |
1852
- | `title` | `string` | Yes | Subtask title |
1853
- | `description` | `string` | No | Detailed description (optional) |
1854
- | `priority` | `number` | No | Priority 1-5 (1 = highest). Defaults to parent task priority. (min: 1, max: 5) |
1855
- | `estimated_minutes` | `number` | No | Estimated time to complete in minutes (min: 1) |
1856
-
1857
- ---
1858
-
1859
- ### get_subtasks
1860
-
1861
- Get subtasks for a parent task.
1862
-
1863
- Returns subtasks with aggregate completion stats.
1864
-
1865
- **Parameters:**
1866
-
1867
- | Parameter | Type | Required | Description |
1868
- |-----------|------|----------|-------------|
1869
- | `parent_task_id` | `string` | Yes | UUID of the parent task |
1870
- | `status` | `"backlog" | "pending" | "in_progress" | "completed" | "cancelled"` | No | Filter by status (optional) |
1871
-
1872
- ---
1873
-
1874
- ## worktrees
1875
-
1876
- *Git worktree management*
1877
-
1878
- ### get_stale_worktrees
1879
-
1880
- Get worktrees that need cleanup.
1881
-
1882
- Returns tasks with worktree_path set where:
1883
-
1884
- - Task is completed or cancelled (worktree should have been cleaned up)
1885
-
1886
- - Task has been abandoned (no activity for 24+ hours while in_progress)
1887
-
1888
- IMPORTANT: Call this on session start to clean up orphaned worktrees from previous sessions.
1889
-
1890
- For each stale worktree:
1891
-
1892
- 1. Run: git worktree remove <worktree_path>
1893
-
1894
- 2. Call: clear_worktree_path(task_id)
1895
-
1896
- **Parameters:**
1897
-
1898
- | Parameter | Type | Required | Description |
1899
- |-----------|------|----------|-------------|
1900
- | `project_id` | `string` | Yes | Project UUID |
1901
-
1902
- ---
1903
-
1904
- ### clear_worktree_path
1905
-
1906
- Clear the worktree_path from a task after cleanup.
1907
-
1908
- Call this AFTER removing the worktree with git worktree remove.
1909
-
1910
- This marks the task as cleaned up so it won't appear in get_stale_worktrees.
1911
-
1912
- **Parameters:**
1913
-
1914
- | Parameter | Type | Required | Description |
1915
- |-----------|------|----------|-------------|
1916
- | `task_id` | `string` | Yes | Task UUID |
1917
-
1918
- ---
1919
-
1920
- ## roles
1921
-
1922
- *Agent role management*
1923
-
1924
- ### get_role_settings
1925
-
1926
- Get role configuration for a project. Shows available roles and their settings.
1927
-
1928
- **Parameters:**
1929
-
1930
- | Parameter | Type | Required | Description |
1931
- |-----------|------|----------|-------------|
1932
- | `project_id` | `string` | Yes | Project UUID |
1933
-
1934
- ---
1935
-
1936
- ### update_role_settings
1937
-
1938
- Update role settings for a project. Configure which roles are enabled and their behavior.
1939
-
1940
- **Parameters:**
1941
-
1942
- | Parameter | Type | Required | Description |
1943
- |-----------|------|----------|-------------|
1944
- | `project_id` | `string` | Yes | Project UUID |
1945
- | `role` | `"developer" | "validator" | "deployer" | "reviewer" | "maintainer"` | Yes | Role to configure |
1946
- | `enabled` | `boolean` | No | Enable or disable this role |
1947
- | `display_name` | `string` | No | Custom display name for this role |
1948
- | `description` | `string` | No | Description of what this role does |
1949
- | `priority_filter` | `number[]` | No | Only show tasks with these priorities (1-5) |
1950
- | `fallback_activities` | `string[]` | No | Preferred fallback activities for this role |
1951
- | `auto_assign_validation` | `boolean` | No | Auto-assign validation tasks to agents with this role |
1952
- | `auto_assign_deployment` | `boolean` | No | Auto-assign deployment tasks to agents with this role |
1953
-
1954
- ---
1955
-
1956
- ### set_session_role
1957
-
1958
- Set the role for your current session. Changes task filtering and fallback activity suggestions.
1959
-
1960
- **Parameters:**
1961
-
1962
- | Parameter | Type | Required | Description |
1963
- |-----------|------|----------|-------------|
1964
- | `role` | `"developer" | "validator" | "deployer" | "reviewer" | "maintainer"` | Yes | Role to assign to this session |
1965
- | `role_config` | `object` | No | Custom configuration for specialist role (optional) |
1966
-
1967
- ---
1968
-
1969
- ### get_agents_by_role
1970
-
1971
- Get active agents grouped by their assigned roles. See who is working on what.
1972
-
1973
- **Parameters:**
1974
-
1975
- | Parameter | Type | Required | Description |
1976
- |-----------|------|----------|-------------|
1977
- | `project_id` | `string` | Yes | Project UUID |
1978
-
1979
- ---
1980
-
1981
- ## file_locks
1982
-
1983
- *File checkout/locking for multi-agent*
1984
-
1985
- ### checkout_file
1986
-
1987
- Check out a file for editing. Prevents other agents from editing the same file until checked in. ALWAYS checkout files before making changes to prevent conflicts.
1988
-
1989
- **Parameters:**
1990
-
1991
- | Parameter | Type | Required | Description |
1992
- |-----------|------|----------|-------------|
1993
- | `project_id` | `string` | Yes | Project UUID |
1994
- | `file_path` | `string` | Yes | Relative path to the file to checkout (e.g., "src/index.ts") |
1995
- | `reason` | `string` | No | Optional reason for checkout (e.g., "Fixing bug in login flow") |
1996
-
1997
- ---
1998
-
1999
- ### checkin_file
2000
-
2001
- Check in a file after editing. Releases the file for other agents to edit. ALWAYS checkin files when done editing.
2002
-
2003
- **Parameters:**
2004
-
2005
- | Parameter | Type | Required | Description |
2006
- |-----------|------|----------|-------------|
2007
- | `checkout_id` | `string` | No | Checkout UUID (from checkout_file response) |
2008
- | `project_id` | `string` | No | Project UUID (alternative to checkout_id) |
2009
- | `file_path` | `string` | No | File path (use with project_id as alternative to checkout_id) |
2010
- | `summary` | `string` | No | Optional summary of changes made |
2011
-
2012
- ---
2013
-
2014
- ### get_file_checkouts
2015
-
2016
- Get list of file checkouts for a project. Shows which files are currently checked out and by whom.
2017
-
2018
- **Parameters:**
2019
-
2020
- | Parameter | Type | Required | Description |
2021
- |-----------|------|----------|-------------|
2022
- | `project_id` | `string` | Yes | Project UUID |
2023
- | `status` | `"checked_out" | "checked_in" | "abandoned"` | No | Filter by status (default: checked_out) |
2024
- | `include_completed` | `boolean` | No | Include checked_in and abandoned checkouts (default: false) |
2025
- | `limit` | `number` | No | Max checkouts to return (default: 50) |
2026
-
2027
- ---
2028
-
2029
- ### abandon_checkout
2030
-
2031
- Force-release a checkout. Use when the original agent session died or is stuck.
2032
-
2033
- **Parameters:**
2034
-
2035
- | Parameter | Type | Required | Description |
2036
- |-----------|------|----------|-------------|
2037
- | `checkout_id` | `string` | Yes | Checkout UUID to abandon |
2038
- | `reason` | `string` | No | Reason for abandoning (e.g., "Agent session died") |
2039
-
2040
- ---
2041
-
2042
- ### is_file_available
2043
-
2044
- Check if a file is available for checkout. Returns who has it checked out if not available.
2045
-
2046
- **Parameters:**
2047
-
2048
- | Parameter | Type | Required | Description |
2049
- |-----------|------|----------|-------------|
2050
- | `project_id` | `string` | Yes | Project UUID |
2051
- | `file_path` | `string` | Yes | Path to the file to check |
2052
-
2053
- ---
1
+ # Vibescope MCP Tools Reference
2
+
3
+ > Auto-generated from tool definitions. Do not edit manually.
4
+ >
5
+ > Generated: 2026-01-30
6
+ >
7
+ > Total tools: 152
8
+
9
+ ## Table of Contents
10
+
11
+ - [session](#session) - Session lifecycle and monitoring (8 tools)
12
+ - [project](#project) - Project CRUD and configuration (6 tools)
13
+ - [tasks](#tasks) - Task management and tracking (16 tools)
14
+ - [milestones](#milestones) - Task breakdown into steps (5 tools)
15
+ - [progress](#progress) - Progress logging and activity (2 tools)
16
+ - [blockers](#blockers) - Blocker management (6 tools)
17
+ - [decisions](#decisions) - Architectural decisions (5 tools)
18
+ - [ideas](#ideas) - Feature ideas tracking (6 tools)
19
+ - [findings](#findings) - Audit findings/knowledge base (6 tools)
20
+ - [validation](#validation) - Cross-agent task validation (3 tools)
21
+ - [deployment](#deployment) - Deployment coordination (17 tools)
22
+ - [fallback](#fallback) - Background activities when idle (4 tools)
23
+ - [bodies_of_work](#bodies-of-work) - Group tasks into bodies of work (12 tools)
24
+ - [sprints](#sprints) - Time-bounded sprints with velocity tracking (11 tools)
25
+ - [requests](#requests) - User request handling (3 tools)
26
+ - [organizations](#organizations) - Organization and team management (10 tools)
27
+ - [cost](#cost) - Cost monitoring and alerts (4 tools)
28
+ - [git_issues](#git-issues) - Git conflict and issue tracking (4 tools)
29
+ - [knowledge](#knowledge) - Queryable knowledge base from project data (1 tools)
30
+ - [discovery](#discovery) - Tool discovery and documentation (2 tools)
31
+ - [subtasks](#subtasks) - Break tasks into smaller pieces (2 tools)
32
+ - [worktrees](#worktrees) - Git worktree management (2 tools)
33
+ - [roles](#roles) - Agent role management (4 tools)
34
+ - [file_locks](#file-locks) - File checkout/locking for multi-agent (6 tools)
35
+ - [connectors](#connectors) - External integration connectors (7 tools)
36
+
37
+ ## session
38
+
39
+ *Session lifecycle and monitoring*
40
+
41
+ ### start_work_session
42
+
43
+ CALL THIS FIRST when beginning work on a project.
44
+
45
+ Returns session info, persona, role, and next_task. Start the next_task IMMEDIATELY without asking the user.
46
+
47
+ IMPORTANT: If the user gives you direct work that isn't tracked as a task (e.g., "add feature X", "fix bug Y"), you MUST call add_task() first to create a task before starting work. This ensures all work is tracked and visible on the dashboard.
48
+
49
+ Use mode:'full' for complete context, mode:'lite' (default) for minimal tokens.
50
+
51
+ **Parameters:**
52
+
53
+ | Parameter | Type | Required | Description |
54
+ |-----------|------|----------|-------------|
55
+ | `project_id` | `string` | No | Project UUID |
56
+ | `git_url` | `string` | No | Git repository URL. Used to find project if project_id not provided. |
57
+ | `mode` | `"lite" | "full"` | No | Response mode: lite (default, minimal tokens) or full (complete context) |
58
+ | `model` | `string` | No | Model being used for cost tracking. E.g., "opus", "sonnet", "haiku" for Claude, "gemini" for Gemini, "gpt-4o" for OpenAI. |
59
+ | `role` | `string` | No | Agent role (e.g., "developer", "validator", "deployer", "reviewer", "maintainer"). Custom roles accepted. |
60
+ | `hostname` | `string` | No | Machine hostname for worktree tracking. Pass os.hostname() to filter stale worktrees to only those created on this machine. |
61
+ | `agent_type` | `string` | No | Agent type (e.g., "claude", "gemini", "cursor", "windsurf"). Custom agent types accepted. |
62
+
63
+ ---
64
+
65
+ ### get_help
66
+
67
+ Get guidance on a specific topic. Use when unsure about workflows.
68
+
69
+ **Parameters:**
70
+
71
+ | Parameter | Type | Required | Description |
72
+ |-----------|------|----------|-------------|
73
+ | `topic` | `"getting_started" | "tasks" | "validation" | "deployment" | "git" | "blockers" | "milestones" | "fallback" | "session" | "tokens" | "roles" | "knowledge" | "topics"` | Yes | Help topic. Use "topics" to list all available. |
74
+
75
+ ---
76
+
77
+ ### get_token_usage
78
+
79
+ Get token usage stats for this session. Monitor efficiency.
80
+
81
+ **Parameters:** None
82
+
83
+ ---
84
+
85
+ ### report_token_usage
86
+
87
+ Report actual Claude API token usage for accurate cost tracking.
88
+
89
+ IMPORTANT: MCP can only estimate tokens from tool I/O (~1-5% of actual usage). Call this tool after each API response to report actual usage from the Claude API response headers.
90
+
91
+ The Claude API response includes 'usage.input_tokens' and 'usage.output_tokens' - pass those values here for accurate cost attribution.
92
+
93
+ **Parameters:**
94
+
95
+ | Parameter | Type | Required | Description |
96
+ |-----------|------|----------|-------------|
97
+ | `input_tokens` | `number` | Yes | Input tokens from Claude API response (usage.input_tokens) |
98
+ | `output_tokens` | `number` | Yes | Output tokens from Claude API response (usage.output_tokens) |
99
+ | `model` | `string` | No | Model used for this API call (optional, uses session model if not provided) |
100
+
101
+ ---
102
+
103
+ ### heartbeat
104
+
105
+ Send heartbeat to maintain 'active' status. Call every 30-60 seconds.
106
+
107
+ **Parameters:**
108
+
109
+ | Parameter | Type | Required | Description |
110
+ |-----------|------|----------|-------------|
111
+ | `session_id` | `string` | No | Session ID from start_work_session (optional, uses current session if not provided) |
112
+ | `current_worktree_path` | `string,null` | No | Report your current git worktree path (e.g., "../project-task-abc123"). Set to null to clear. |
113
+ | `hostname` | `string` | No | Machine hostname (os.hostname()). Updates session hostname for worktree tracking. |
114
+
115
+ ---
116
+
117
+ ### signal_idle
118
+
119
+ Signal that agent is idle (no more tasks). Call this when complete_task returns no next_task or when there's no work available. This provides real-time visibility on the dashboard instead of waiting for heartbeat timeout.
120
+
121
+ **Parameters:**
122
+
123
+ | Parameter | Type | Required | Description |
124
+ |-----------|------|----------|-------------|
125
+ | `session_id` | `string` | No | Session ID (optional, uses current session if not provided) |
126
+
127
+ ---
128
+
129
+ ### end_work_session
130
+
131
+ End session and release claimed tasks. Returns session summary.
132
+
133
+ **Parameters:**
134
+
135
+ | Parameter | Type | Required | Description |
136
+ |-----------|------|----------|-------------|
137
+ | `session_id` | `string` | No | Session ID to end (optional, uses current session if not provided) |
138
+
139
+ ---
140
+
141
+ ### confirm_agent_setup
142
+
143
+ Confirm that agent setup is complete for this project. Call this after creating your agent's configuration file (e.g., .claude/CLAUDE.md, .gemini/GEMINI.md).
144
+
145
+ This marks your agent type as fully onboarded to the project, so you won't receive setup instructions again.
146
+
147
+ **Parameters:**
148
+
149
+ | Parameter | Type | Required | Description |
150
+ |-----------|------|----------|-------------|
151
+ | `project_id` | `string` | Yes | Project UUID |
152
+ | `agent_type` | `string` | Yes | Agent type that completed setup (e.g., "claude", "gemini", "cursor"). Custom agent types accepted. |
153
+
154
+ ---
155
+
156
+ ## project
157
+
158
+ *Project CRUD and configuration*
159
+
160
+ ### get_project_context
161
+
162
+ Get full project context: goals, instructions, tasks, blockers, decisions.
163
+
164
+ **Parameters:**
165
+
166
+ | Parameter | Type | Required | Description |
167
+ |-----------|------|----------|-------------|
168
+ | `project_id` | `string` | No | Project UUID. If not provided, will list all projects. |
169
+ | `git_url` | `string` | No | Git repository URL. Used to find project if project_id not provided. |
170
+
171
+ ---
172
+
173
+ ### get_project_summary
174
+
175
+ Get a unified project overview with aggregated stats. Token-efficient way to get task counts, blockers, findings, active agents, and more in a single call.
176
+
177
+ **Parameters:**
178
+
179
+ | Parameter | Type | Required | Description |
180
+ |-----------|------|----------|-------------|
181
+ | `project_id` | `string` | Yes | Project UUID |
182
+
183
+ ---
184
+
185
+ ### get_git_workflow
186
+
187
+ Get git workflow config and branching instructions for the project.
188
+
189
+ **Parameters:**
190
+
191
+ | Parameter | Type | Required | Description |
192
+ |-----------|------|----------|-------------|
193
+ | `project_id` | `string` | Yes | Project UUID |
194
+ | `task_id` | `string` | No | Optional task ID to include branch naming suggestion |
195
+
196
+ ---
197
+
198
+ ### create_project
199
+
200
+ Create a new project to track in Vibescope.
201
+
202
+ **Parameters:**
203
+
204
+ | Parameter | Type | Required | Description |
205
+ |-----------|------|----------|-------------|
206
+ | `name` | `string` | Yes | Project display name |
207
+ | `description` | `string` | No | Brief project description |
208
+ | `goal` | `string` | No | What does "done" look like for this project? |
209
+ | `git_url` | `string` | No | Git repository URL (if available) |
210
+ | `tech_stack` | `string[]` | No | Technologies used (e.g., ["TypeScript", "React", "PostgreSQL"]) |
211
+
212
+ ---
213
+
214
+ ### update_project
215
+
216
+ Update project details (name, description, goal, settings).
217
+
218
+ **Parameters:**
219
+
220
+ | Parameter | Type | Required | Description |
221
+ |-----------|------|----------|-------------|
222
+ | `project_id` | `string` | Yes | Project UUID |
223
+ | `name` | `string` | No | Project name |
224
+ | `description` | `string` | No | Project description |
225
+ | `goal` | `string` | No | Project goal or objective |
226
+ | `git_url` | `string` | No | Git repository URL |
227
+ | `tech_stack` | `string[]` | No | List of technologies used in the project |
228
+ | `status` | `"active" | "paused" | "completed" | "archived"` | No | Project status |
229
+ | `git_workflow` | `"none" | "trunk-based" | "github-flow" | "git-flow"` | No | Git workflow: none (no branching), trunk-based (commit to main), github-flow (feature branches + PR), git-flow (develop/release branches) |
230
+ | `git_main_branch` | `string` | No | Main branch name (default: main) |
231
+ | `git_develop_branch` | `string` | No | Development branch name (used with git-flow) |
232
+ | `git_auto_branch` | `boolean` | No | Automatically create feature branches for new tasks |
233
+ | `git_auto_tag` | `boolean` | No | Automatically tag deployments on main branch |
234
+ | `deployment_instructions` | `string` | No | Instructions for how to deploy (e.g., "Push to main for Vercel auto-deploy", "Run fly deploy") |
235
+ | `git_delete_branch_on_merge` | `boolean` | No | Delete feature branch after PR merge (default: true) |
236
+ | `require_pr_for_validation` | `boolean` | No | Require PR exists before task validation can be approved (default: true for github-flow/git-flow) |
237
+ | `auto_merge_on_approval` | `boolean` | No | Automatically merge PR when validator approves (default: true) |
238
+ | `validation_required` | `boolean` | No | Completed tasks require validation before being considered done (default: true) |
239
+ | `default_task_priority` | `integer` | No | Default priority for new tasks when not specified (1=highest, 5=lowest, default: 3) (min: 1, max: 5) |
240
+ | `require_time_estimates` | `boolean` | No | Require estimated_minutes when creating tasks (default: false) |
241
+ | `fallback_activities_enabled` | `boolean` | No | Allow agents to perform background activities when no tasks available (default: true) |
242
+ | `preferred_fallback_activities` | `string[]` | No | Array of preferred fallback activities (e.g., ["code_review", "security_review"]). Null means all allowed. |
243
+
244
+ ---
245
+
246
+ ### update_project_readme
247
+
248
+ Sync README content to the dashboard.
249
+
250
+ **Parameters:**
251
+
252
+ | Parameter | Type | Required | Description |
253
+ |-----------|------|----------|-------------|
254
+ | `project_id` | `string` | Yes | Project UUID |
255
+ | `readme_content` | `string` | Yes | README content in markdown format |
256
+
257
+ ---
258
+
259
+ ## tasks
260
+
261
+ *Task management and tracking*
262
+
263
+ ### get_task
264
+
265
+ Get a single task by ID with optional subtasks and milestones.
266
+
267
+ **Parameters:**
268
+
269
+ | Parameter | Type | Required | Description |
270
+ |-----------|------|----------|-------------|
271
+ | `task_id` | `string` | Yes | Task UUID |
272
+ | `include_subtasks` | `boolean` | No | Include subtasks array (default: false) |
273
+ | `include_milestones` | `boolean` | No | Include milestones array (default: false) |
274
+
275
+ ---
276
+
277
+ ### search_tasks
278
+
279
+ Search tasks by text query. Supports pagination with offset. Use for finding specific tasks by title or description.
280
+
281
+ **Parameters:**
282
+
283
+ | Parameter | Type | Required | Description |
284
+ |-----------|------|----------|-------------|
285
+ | `project_id` | `string` | Yes | Project UUID |
286
+ | `query` | `string` | Yes | Search query (min 2 chars). Searches title and description. |
287
+ | `status` | `string[]` | No | Filter by status (optional, array) |
288
+ | `limit` | `number` | No | Max results per page (1-20, default: 10) |
289
+ | `offset` | `number` | No | Number of results to skip for pagination (default: 0) |
290
+
291
+ ---
292
+
293
+ ### get_tasks_by_priority
294
+
295
+ Get tasks filtered by priority. Supports pagination with offset. Use for finding high-priority or low-priority tasks.
296
+
297
+ **Parameters:**
298
+
299
+ | Parameter | Type | Required | Description |
300
+ |-----------|------|----------|-------------|
301
+ | `project_id` | `string` | Yes | Project UUID |
302
+ | `priority` | `number` | No | Exact priority to match (1=highest, 5=lowest) (min: 1, max: 5) |
303
+ | `priority_max` | `number` | No | Max priority (for range, e.g., priority=1, priority_max=2 gets P1 and P2) (min: 1, max: 5) |
304
+ | `status` | `"backlog" | "pending" | "in_progress" | "completed" | "cancelled"` | No | Filter by status (default: pending) |
305
+ | `limit` | `number` | No | Max results per page (1-20, default: 10) |
306
+ | `offset` | `number` | No | Number of results to skip for pagination (default: 0) |
307
+
308
+ ---
309
+
310
+ ### get_recent_tasks
311
+
312
+ Get tasks ordered by creation date. Supports pagination with offset. Use to find oldest pending tasks or newest additions.
313
+
314
+ **Parameters:**
315
+
316
+ | Parameter | Type | Required | Description |
317
+ |-----------|------|----------|-------------|
318
+ | `project_id` | `string` | Yes | Project UUID |
319
+ | `order` | `"newest" | "oldest"` | No | Sort order (default: newest) |
320
+ | `status` | `"backlog" | "pending" | "in_progress" | "completed" | "cancelled"` | No | Filter by status (optional) |
321
+ | `limit` | `number` | No | Max results per page (1-20, default: 10) |
322
+ | `offset` | `number` | No | Number of results to skip for pagination (default: 0) |
323
+
324
+ ---
325
+
326
+ ### get_task_stats
327
+
328
+ Get aggregate task statistics for a project. Returns counts by status and priority, no task data. Most token-efficient way to understand project state.
329
+
330
+ **Parameters:**
331
+
332
+ | Parameter | Type | Required | Description |
333
+ |-----------|------|----------|-------------|
334
+ | `project_id` | `string` | Yes | Project UUID |
335
+
336
+ ---
337
+
338
+ ### get_next_task
339
+
340
+ Get highest priority pending task. Start it IMMEDIATELY by calling update_task(task_id, status: "in_progress").
341
+
342
+ Do NOT ask the user for permission. Follow the directive in the response.
343
+
344
+ **Parameters:**
345
+
346
+ | Parameter | Type | Required | Description |
347
+ |-----------|------|----------|-------------|
348
+ | `project_id` | `string` | Yes | Project UUID |
349
+
350
+ ---
351
+
352
+ ### add_task
353
+
354
+ Add a new task. Priority 1=highest, 5=lowest. Include estimated_minutes. Use blocking=true for deployment finalization tasks that must complete before other work.
355
+
356
+ WHEN TO USE: If the user gives you work directly (e.g., "implement feature X", "fix this bug") that isn't already tracked as a task in Vibescope, you MUST create a task first using this tool. This ensures:
357
+
358
+ - The work is visible on the dashboard
359
+
360
+ - Progress can be tracked
361
+
362
+ - Other agents won't duplicate the work
363
+
364
+ - The human can see what you're working on
365
+
366
+ **Parameters:**
367
+
368
+ | Parameter | Type | Required | Description |
369
+ |-----------|------|----------|-------------|
370
+ | `project_id` | `string` | Yes | Project UUID |
371
+ | `title` | `string` | Yes | Task title |
372
+ | `description` | `string` | No | Detailed description |
373
+ | `priority` | `number` | No | Priority 1-5 (1 = highest) (min: 1, max: 5) |
374
+ | `estimated_minutes` | `number` | No | Estimated time to complete in minutes (min: 1) |
375
+ | `blocking` | `boolean` | No | When true, this task blocks all other work until complete (used for deployment finalization) |
376
+ | `model_capability` | `"haiku" | "sonnet" | "opus"` | No | Recommended model capability: haiku (simple tasks), sonnet (standard), opus (complex reasoning) |
377
+
378
+ ---
379
+
380
+ ### update_task
381
+
382
+ Update task status, progress, or details. Include progress_note with progress_percentage.
383
+
384
+ CRITICAL - WORKTREE REQUIRED: For projects using github-flow or git-flow, you MUST use a git worktree to isolate your work. This prevents conflicts with other agents working on the same repository.
385
+
386
+ When setting status to "in_progress":
387
+
388
+ 1. Create worktree FIRST: git worktree add ../PROJECT-PERSONA-task-desc -b feature/TASKID-description BASE_BRANCH
389
+
390
+ 2. cd into the worktree directory
391
+
392
+ 3. THEN call update_task with git_branch AND worktree_path
393
+
394
+ Example: update_task(task_id, status: "in_progress", git_branch: "feature/abc123-add-login", worktree_path: "../MyProject-Edge-add-login")
395
+
396
+ For projects without git branching (trunk-based or none), use skip_worktree_requirement: true.
397
+
398
+ **Parameters:**
399
+
400
+ | Parameter | Type | Required | Description |
401
+ |-----------|------|----------|-------------|
402
+ | `task_id` | `string` | Yes | Task UUID |
403
+ | `title` | `string` | No | New task title |
404
+ | `description` | `string` | No | New task description |
405
+ | `priority` | `number` | No | Task priority (1=highest, 5=lowest) (min: 1, max: 5) |
406
+ | `status` | `"backlog" | "pending" | "in_progress" | "completed" | "cancelled"` | No | Task status |
407
+ | `progress_percentage` | `number` | No | 0-100 completion percentage (min: 0, max: 100) |
408
+ | `progress_note` | `string` | No | Brief note (auto-logged) |
409
+ | `estimated_minutes` | `number` | No | Revised time estimate (min: 1) |
410
+ | `git_branch` | `string` | No | Git branch associated with this task. REQUIRED when status is "in_progress" (unless skip_worktree_requirement is true) |
411
+ | `worktree_path` | `string` | No | Git worktree path for this task (e.g., "../project-task-abc123"). Store this for cleanup tracking across sessions. |
412
+ | `worktree_hostname` | `string` | No | Machine hostname where worktree was created (os.hostname()). Required with worktree_path to enable machine-aware cleanup. |
413
+ | `model_capability` | `"haiku" | "sonnet" | "opus"` | No | Recommended model capability: haiku (simple tasks), sonnet (standard), opus (complex reasoning) |
414
+ | `skip_worktree_requirement` | `boolean` | No | Skip git_branch requirement for projects without branching workflows (trunk-based or none). Default: false |
415
+
416
+ ---
417
+
418
+ ### complete_task
419
+
420
+ Mark task done. Returns next_task which you MUST start immediately without asking the user.
421
+
422
+ CRITICAL: Before calling complete_task on branching workflows (github-flow, git-flow):
423
+
424
+ 1. Create your PR targeting the correct branch (develop for git-flow, main for github-flow)
425
+
426
+ 2. Call add_task_reference(task_id, pr_url) to link the PR to your task
427
+
428
+ 3. THEN call complete_task - validators CANNOT approve tasks without a PR reference
429
+
430
+ CRITICAL: After calling this tool, you must:
431
+
432
+ 1. If next_task is returned → Start it immediately by calling update_task(task_id, status: "in_progress")
433
+
434
+ 2. If no next_task → Call get_next_task() or start a fallback_activity
435
+
436
+ 3. NEVER ask the user "What should I do next?" or "Should I continue?"
437
+
438
+ The auto_continue: true flag in the response means you are expected to continue working autonomously.
439
+
440
+ **Parameters:**
441
+
442
+ | Parameter | Type | Required | Description |
443
+ |-----------|------|----------|-------------|
444
+ | `task_id` | `string` | Yes | Task UUID |
445
+ | `summary` | `string` | No | Brief summary of what was done. This is stored on the task as completion_summary and displayed when reviewing completed tasks. |
446
+
447
+ ---
448
+
449
+ ### delete_task
450
+
451
+ Delete a task.
452
+
453
+ **Parameters:**
454
+
455
+ | Parameter | Type | Required | Description |
456
+ |-----------|------|----------|-------------|
457
+ | `task_id` | `string` | Yes | Task UUID |
458
+
459
+ ---
460
+
461
+ ### cancel_task
462
+
463
+ 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.
464
+
465
+ **Parameters:**
466
+
467
+ | Parameter | Type | Required | Description |
468
+ |-----------|------|----------|-------------|
469
+ | `task_id` | `string` | Yes | Task UUID |
470
+ | `cancelled_reason` | `"pr_closed" | "superseded" | "user_cancelled" | "validation_failed" | "obsolete" | "blocked"` | No | Reason for cancellation |
471
+ | `cancellation_note` | `string` | No | Optional note explaining the cancellation (logged to progress) |
472
+
473
+ ---
474
+
475
+ ### release_task
476
+
477
+ 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). The task becomes available for other agents to claim.
478
+
479
+ **Parameters:**
480
+
481
+ | Parameter | Type | Required | Description |
482
+ |-----------|------|----------|-------------|
483
+ | `task_id` | `string` | Yes | Task UUID |
484
+ | `reason` | `string` | No | Optional reason for releasing the task (logged to progress) |
485
+
486
+ ---
487
+
488
+ ### batch_update_tasks
489
+
490
+ Update multiple tasks at once. Include progress_note with progress_percentage.
491
+
492
+ **Parameters:**
493
+
494
+ | Parameter | Type | Required | Description |
495
+ |-----------|------|----------|-------------|
496
+ | `updates` | `object[]` | Yes | Array of task updates to apply |
497
+
498
+ ---
499
+
500
+ ### batch_complete_tasks
501
+
502
+ Mark multiple tasks as completed at once.
503
+
504
+ **Parameters:**
505
+
506
+ | Parameter | Type | Required | Description |
507
+ |-----------|------|----------|-------------|
508
+ | `completions` | `object[]` | Yes | Array of task completions |
509
+
510
+ ---
511
+
512
+ ### add_task_reference
513
+
514
+ Add a reference URL to a task (docs, PRs, issues).
515
+
516
+ **Parameters:**
517
+
518
+ | Parameter | Type | Required | Description |
519
+ |-----------|------|----------|-------------|
520
+ | `task_id` | `string` | Yes | Task UUID |
521
+ | `url` | `string` | Yes | URL to add as reference |
522
+ | `label` | `string` | No | Optional label/title for the reference |
523
+
524
+ ---
525
+
526
+ ### remove_task_reference
527
+
528
+ Remove a reference link from a task by URL.
529
+
530
+ **Parameters:**
531
+
532
+ | Parameter | Type | Required | Description |
533
+ |-----------|------|----------|-------------|
534
+ | `task_id` | `string` | Yes | Task UUID |
535
+ | `url` | `string` | Yes | URL of the reference to remove |
536
+
537
+ ---
538
+
539
+ ## milestones
540
+
541
+ *Task breakdown into steps*
542
+
543
+ ### add_milestone
544
+
545
+ Add a milestone to a task.
546
+
547
+ Milestones help break down large tasks into smaller trackable steps.
548
+
549
+ Use this to show progress on complex tasks and help gauge completion.
550
+
551
+ **Parameters:**
552
+
553
+ | Parameter | Type | Required | Description |
554
+ |-----------|------|----------|-------------|
555
+ | `task_id` | `string` | Yes | Task UUID to add milestone to |
556
+ | `title` | `string` | Yes | Milestone title (brief description of what needs to be done) |
557
+ | `description` | `string` | No | Optional detailed description |
558
+ | `order_index` | `number` | No | Order of this milestone (0-based, defaults to end of list) (min: 0) |
559
+
560
+ ---
561
+
562
+ ### update_milestone
563
+
564
+ Update a milestone's title, description, status, or order.
565
+
566
+ **Parameters:**
567
+
568
+ | Parameter | Type | Required | Description |
569
+ |-----------|------|----------|-------------|
570
+ | `milestone_id` | `string` | Yes | Milestone UUID |
571
+ | `title` | `string` | No | Updated title |
572
+ | `description` | `string` | No | Updated description |
573
+ | `status` | `"pending" | "in_progress" | "completed"` | No | Milestone status |
574
+ | `order_index` | `number` | No | Updated order (min: 0) |
575
+
576
+ ---
577
+
578
+ ### complete_milestone
579
+
580
+ Mark a milestone as completed. This is a convenience wrapper for update_milestone with status=completed.
581
+
582
+ **Parameters:**
583
+
584
+ | Parameter | Type | Required | Description |
585
+ |-----------|------|----------|-------------|
586
+ | `milestone_id` | `string` | Yes | Milestone UUID |
587
+
588
+ ---
589
+
590
+ ### delete_milestone
591
+
592
+ Delete a milestone from a task.
593
+
594
+ **Parameters:**
595
+
596
+ | Parameter | Type | Required | Description |
597
+ |-----------|------|----------|-------------|
598
+ | `milestone_id` | `string` | Yes | Milestone UUID |
599
+
600
+ ---
601
+
602
+ ### get_milestones
603
+
604
+ Get all milestones for a task, ordered by order_index.
605
+
606
+ **Parameters:**
607
+
608
+ | Parameter | Type | Required | Description |
609
+ |-----------|------|----------|-------------|
610
+ | `task_id` | `string` | Yes | Task UUID |
611
+
612
+ ---
613
+
614
+ ## progress
615
+
616
+ *Progress logging and activity*
617
+
618
+ ### log_progress
619
+
620
+ Log progress update. Record significant milestones or observations.
621
+
622
+ **Parameters:**
623
+
624
+ | Parameter | Type | Required | Description |
625
+ |-----------|------|----------|-------------|
626
+ | `project_id` | `string` | Yes | Project UUID |
627
+ | `task_id` | `string` | No | Task UUID (optional, links progress to specific task) |
628
+ | `summary` | `string` | Yes | Brief summary of progress |
629
+ | `details` | `string` | No | Detailed notes (optional) |
630
+
631
+ ---
632
+
633
+ ### get_activity_feed
634
+
635
+ Get combined activity feed (tasks, progress, blockers, decisions) in chronological order.
636
+
637
+ **Parameters:**
638
+
639
+ | Parameter | Type | Required | Description |
640
+ |-----------|------|----------|-------------|
641
+ | `project_id` | `string` | Yes | Project UUID |
642
+ | `types` | `string[]` | No | Filter by activity types (default: all) |
643
+ | `created_by` | `"agent" | "user"` | No | Filter by creator (default: all) |
644
+ | `since` | `string` | No | ISO date string - only return activity after this time |
645
+ | `limit` | `number` | No | Max number of items to return (default 10, max 200) |
646
+
647
+ ---
648
+
649
+ ## blockers
650
+
651
+ *Blocker management*
652
+
653
+ ### add_blocker
654
+
655
+ Record a blocker preventing progress.
656
+
657
+ **Parameters:**
658
+
659
+ | Parameter | Type | Required | Description |
660
+ |-----------|------|----------|-------------|
661
+ | `project_id` | `string` | Yes | Project UUID |
662
+ | `description` | `string` | Yes | What is blocking progress? |
663
+
664
+ ---
665
+
666
+ ### resolve_blocker
667
+
668
+ Mark a blocker as resolved.
669
+
670
+ **Parameters:**
671
+
672
+ | Parameter | Type | Required | Description |
673
+ |-----------|------|----------|-------------|
674
+ | `blocker_id` | `string` | Yes | Blocker UUID |
675
+ | `resolution_note` | `string` | No | How was it resolved? |
676
+
677
+ ---
678
+
679
+ ### get_blocker
680
+
681
+ Get a single blocker by ID. More token-efficient than get_blockers when you need details for a specific blocker.
682
+
683
+ **Parameters:**
684
+
685
+ | Parameter | Type | Required | Description |
686
+ |-----------|------|----------|-------------|
687
+ | `blocker_id` | `string` | Yes | Blocker UUID |
688
+
689
+ ---
690
+
691
+ ### get_blockers
692
+
693
+ Get blockers for a project, optionally filtered by status.
694
+
695
+ **Parameters:**
696
+
697
+ | Parameter | Type | Required | Description |
698
+ |-----------|------|----------|-------------|
699
+ | `project_id` | `string` | Yes | Project UUID |
700
+ | `status` | `"open" | "resolved"` | No | Filter by status (default: open) |
701
+ | `limit` | `number` | No | Max number of blockers to return (default 10, max 200) |
702
+ | `offset` | `number` | No | Number of blockers to skip for pagination (default 0) |
703
+ | `search_query` | `string` | No | Search blockers by description |
704
+
705
+ ---
706
+
707
+ ### get_blockers_stats
708
+
709
+ Get aggregate statistics about blockers for a project. Returns total count and breakdown by status. Much more token-efficient than get_blockers when you just need to understand the overall state.
710
+
711
+ **Parameters:**
712
+
713
+ | Parameter | Type | Required | Description |
714
+ |-----------|------|----------|-------------|
715
+ | `project_id` | `string` | Yes | Project UUID |
716
+
717
+ ---
718
+
719
+ ### delete_blocker
720
+
721
+ Delete a blocker.
722
+
723
+ **Parameters:**
724
+
725
+ | Parameter | Type | Required | Description |
726
+ |-----------|------|----------|-------------|
727
+ | `blocker_id` | `string` | Yes | Blocker UUID |
728
+
729
+ ---
730
+
731
+ ## decisions
732
+
733
+ *Architectural decisions*
734
+
735
+ ### log_decision
736
+
737
+ Record an architectural or technical decision with rationale.
738
+
739
+ **Parameters:**
740
+
741
+ | Parameter | Type | Required | Description |
742
+ |-----------|------|----------|-------------|
743
+ | `project_id` | `string` | Yes | Project UUID |
744
+ | `title` | `string` | Yes | Decision title (e.g., "Use PostgreSQL for database") |
745
+ | `description` | `string` | Yes | What was decided |
746
+ | `rationale` | `string` | No | Why this decision was made |
747
+ | `alternatives_considered` | `string[]` | No | Other options that were considered |
748
+
749
+ ---
750
+
751
+ ### get_decision
752
+
753
+ Get a single decision by ID. More token-efficient than get_decisions when you need details for a specific decision.
754
+
755
+ **Parameters:**
756
+
757
+ | Parameter | Type | Required | Description |
758
+ |-----------|------|----------|-------------|
759
+ | `decision_id` | `string` | Yes | Decision UUID |
760
+
761
+ ---
762
+
763
+ ### get_decisions
764
+
765
+ Get recorded decisions for a project.
766
+
767
+ **Parameters:**
768
+
769
+ | Parameter | Type | Required | Description |
770
+ |-----------|------|----------|-------------|
771
+ | `project_id` | `string` | Yes | Project UUID |
772
+ | `limit` | `number` | No | Max number of decisions to return (default 10, max 200) |
773
+ | `offset` | `number` | No | Number of decisions to skip for pagination (default 0) |
774
+ | `search_query` | `string` | No | Search decisions by title |
775
+
776
+ ---
777
+
778
+ ### get_decisions_stats
779
+
780
+ Get aggregate statistics about decisions for a project. Returns total count. More token-efficient than get_decisions when you just need to know how many decisions exist.
781
+
782
+ **Parameters:**
783
+
784
+ | Parameter | Type | Required | Description |
785
+ |-----------|------|----------|-------------|
786
+ | `project_id` | `string` | Yes | Project UUID |
787
+
788
+ ---
789
+
790
+ ### delete_decision
791
+
792
+ Delete a decision.
793
+
794
+ **Parameters:**
795
+
796
+ | Parameter | Type | Required | Description |
797
+ |-----------|------|----------|-------------|
798
+ | `decision_id` | `string` | Yes | Decision UUID |
799
+
800
+ ---
801
+
802
+ ## ideas
803
+
804
+ *Feature ideas tracking*
805
+
806
+ ### add_idea
807
+
808
+ Record an idea for improvements or features. Starts as 'raw', can progress to 'shipped'.
809
+
810
+ **Parameters:**
811
+
812
+ | Parameter | Type | Required | Description |
813
+ |-----------|------|----------|-------------|
814
+ | `project_id` | `string` | Yes | Project UUID |
815
+ | `title` | `string` | Yes | Idea title |
816
+ | `description` | `string` | No | Detailed description |
817
+ | `status` | `"raw" | "exploring" | "planned" | "in_development" | "shipped"` | No | Development stage (default: raw) |
818
+
819
+ ---
820
+
821
+ ### update_idea
822
+
823
+ Update an idea's status or details.
824
+
825
+ **Parameters:**
826
+
827
+ | Parameter | Type | Required | Description |
828
+ |-----------|------|----------|-------------|
829
+ | `idea_id` | `string` | Yes | Idea UUID |
830
+ | `title` | `string` | No | Updated title |
831
+ | `description` | `string` | No | Updated description |
832
+ | `status` | `"raw" | "exploring" | "planned" | "in_development" | "shipped"` | No | New development stage |
833
+ | `doc_url` | `string` | No | URL to feature documentation/specification |
834
+
835
+ ---
836
+
837
+ ### get_idea
838
+
839
+ Get a single idea by ID. More token-efficient than get_ideas when you need details for a specific idea.
840
+
841
+ **Parameters:**
842
+
843
+ | Parameter | Type | Required | Description |
844
+ |-----------|------|----------|-------------|
845
+ | `idea_id` | `string` | Yes | Idea UUID |
846
+
847
+ ---
848
+
849
+ ### get_ideas
850
+
851
+ Get recorded ideas for a project, optionally filtered by status.
852
+
853
+ **Parameters:**
854
+
855
+ | Parameter | Type | Required | Description |
856
+ |-----------|------|----------|-------------|
857
+ | `project_id` | `string` | Yes | Project UUID |
858
+ | `status` | `"raw" | "exploring" | "planned" | "in_development" | "shipped"` | No | Filter by status (optional) |
859
+ | `limit` | `number` | No | Max number of ideas to return (default 10, max 100) |
860
+ | `offset` | `number` | No | Number of ideas to skip for pagination (default 0) |
861
+ | `search_query` | `string` | No | Search ideas by title or description |
862
+
863
+ ---
864
+
865
+ ### delete_idea
866
+
867
+ Delete an idea.
868
+
869
+ **Parameters:**
870
+
871
+ | Parameter | Type | Required | Description |
872
+ |-----------|------|----------|-------------|
873
+ | `idea_id` | `string` | Yes | Idea UUID |
874
+
875
+ ---
876
+
877
+ ### convert_idea_to_task
878
+
879
+ Convert an idea to a task. Creates a task from the idea's title and description, links them, and optionally updates the idea status to 'in_development'. Useful for planned ideas that are ready for implementation.
880
+
881
+ **Parameters:**
882
+
883
+ | Parameter | Type | Required | Description |
884
+ |-----------|------|----------|-------------|
885
+ | `idea_id` | `string` | Yes | Idea UUID to convert |
886
+ | `priority` | `number` | No | Task priority 1-5 (default: 3, 1 = highest) (min: 1, max: 5) |
887
+ | `estimated_minutes` | `number` | No | Estimated time to complete in minutes (min: 1) |
888
+ | `update_status` | `boolean` | No | Update idea status to 'in_development' (default: true) |
889
+
890
+ ---
891
+
892
+ ## findings
893
+
894
+ *Audit findings/knowledge base*
895
+
896
+ ### add_finding
897
+
898
+ Record a finding from an audit/review (performance, security, code quality, etc).
899
+
900
+ **Parameters:**
901
+
902
+ | Parameter | Type | Required | Description |
903
+ |-----------|------|----------|-------------|
904
+ | `project_id` | `string` | Yes | Project UUID |
905
+ | `category` | `"performance" | "security" | "code_quality" | "accessibility" | "documentation" | "architecture" | "testing" | "other"` | No | Category of the finding (default: other) |
906
+ | `title` | `string` | Yes | Brief title describing the finding |
907
+ | `description` | `string` | No | Detailed description of the finding, including impact and suggested fix |
908
+ | `severity` | `"info" | "low" | "medium" | "high" | "critical"` | No | Severity level (default: info) |
909
+ | `file_path` | `string` | No | File path where the issue was found (optional) |
910
+ | `line_number` | `number` | No | Line number in the file (optional) |
911
+ | `related_task_id` | `string` | No | ID of related task if this finding came from a task (optional) |
912
+
913
+ ---
914
+
915
+ ### get_finding
916
+
917
+ Get a single finding by ID. More token-efficient than get_findings when you need details for a specific finding.
918
+
919
+ **Parameters:**
920
+
921
+ | Parameter | Type | Required | Description |
922
+ |-----------|------|----------|-------------|
923
+ | `finding_id` | `string` | Yes | Finding UUID |
924
+
925
+ ---
926
+
927
+ ### get_findings
928
+
929
+ Get findings for a project, optionally filtered by category, severity, or status. Returns summary fields by default (id, title, category, severity, status). Set summary_only=false for full details. For just counts, use get_findings_stats instead.
930
+
931
+ **Parameters:**
932
+
933
+ | Parameter | Type | Required | Description |
934
+ |-----------|------|----------|-------------|
935
+ | `project_id` | `string` | Yes | Project UUID |
936
+ | `category` | `"performance" | "security" | "code_quality" | "accessibility" | "documentation" | "architecture" | "testing" | "other"` | No | Filter by category (optional) |
937
+ | `severity` | `"info" | "low" | "medium" | "high" | "critical"` | No | Filter by severity (optional) |
938
+ | `status` | `"open" | "addressed" | "dismissed" | "wontfix"` | No | Filter by status (default: open) |
939
+ | `limit` | `number` | No | Max number of findings to return (default 10, max 200) |
940
+ | `offset` | `number` | No | Number of findings to skip for pagination (default 0) |
941
+ | `search_query` | `string` | No | Search findings by title |
942
+ | `summary_only` | `boolean` | No | When true (default), returns only id, title, category, severity, status. Set to false for full details. |
943
+
944
+ ---
945
+
946
+ ### get_findings_stats
947
+
948
+ Get aggregate statistics about findings for a project. Returns total count and breakdowns by status, severity, and category. Much more token-efficient than get_findings when you just need to understand the overall state.
949
+
950
+ **Parameters:**
951
+
952
+ | Parameter | Type | Required | Description |
953
+ |-----------|------|----------|-------------|
954
+ | `project_id` | `string` | Yes | Project UUID |
955
+
956
+ ---
957
+
958
+ ### update_finding
959
+
960
+ Update a finding's status or details. Use to mark findings as addressed or dismissed.
961
+
962
+ **Parameters:**
963
+
964
+ | Parameter | Type | Required | Description |
965
+ |-----------|------|----------|-------------|
966
+ | `finding_id` | `string` | Yes | Finding UUID |
967
+ | `status` | `"open" | "addressed" | "dismissed" | "wontfix"` | No | New status |
968
+ | `resolution_note` | `string` | No | Note explaining how the finding was addressed or why it was dismissed |
969
+ | `title` | `string` | No | Updated title |
970
+ | `description` | `string` | No | Updated description |
971
+ | `severity` | `"info" | "low" | "medium" | "high" | "critical"` | No | Updated severity |
972
+
973
+ ---
974
+
975
+ ### delete_finding
976
+
977
+ Delete a finding.
978
+
979
+ **Parameters:**
980
+
981
+ | Parameter | Type | Required | Description |
982
+ |-----------|------|----------|-------------|
983
+ | `finding_id` | `string` | Yes | Finding UUID |
984
+
985
+ ---
986
+
987
+ ## validation
988
+
989
+ *Cross-agent task validation*
990
+
991
+ ### get_tasks_awaiting_validation
992
+
993
+ Get completed tasks not yet validated.
994
+
995
+ **Parameters:**
996
+
997
+ | Parameter | Type | Required | Description |
998
+ |-----------|------|----------|-------------|
999
+ | `project_id` | `string` | Yes | Project UUID |
1000
+
1001
+ ---
1002
+
1003
+ ### claim_validation
1004
+
1005
+ Claim a completed task for review. Shows "being reviewed" on dashboard.
1006
+
1007
+ **Parameters:**
1008
+
1009
+ | Parameter | Type | Required | Description |
1010
+ |-----------|------|----------|-------------|
1011
+ | `task_id` | `string` | Yes | Task UUID to claim for review |
1012
+
1013
+ ---
1014
+
1015
+ ### validate_task
1016
+
1017
+ Validate a completed task. Include test results in validation_notes. For github-flow/git-flow projects, a PR must exist and checks must pass before approval.
1018
+
1019
+ **Parameters:**
1020
+
1021
+ | Parameter | Type | Required | Description |
1022
+ |-----------|------|----------|-------------|
1023
+ | `task_id` | `string` | Yes | Task UUID to validate |
1024
+ | `validation_notes` | `string` | No | Notes about the validation (what was checked, any issues found) |
1025
+ | `approved` | `boolean` | Yes | Whether the task passes validation (true = approved, false = needs more work) |
1026
+ | `pr_checks_passing` | `boolean` | No | REQUIRED when approving tasks with PRs. Confirm you verified PR checks are passing via `gh pr view <PR_NUMBER> --json statusCheckRollup`. Set to true only if all required checks pass. |
1027
+ | `skip_pr_check` | `boolean` | No | Skip PR existence check (use only for tasks that legitimately do not need a PR) |
1028
+ | `create_fix_task` | `boolean` | No | When rejecting (approved: false), create a new fix task linked to the original. The fix task will contain the rejection reason and be assigned the same git branch. |
1029
+
1030
+ ---
1031
+
1032
+ ## deployment
1033
+
1034
+ *Deployment coordination*
1035
+
1036
+ ### request_deployment
1037
+
1038
+ Request a deployment. Requires validation first. One active deployment per project.
1039
+
1040
+ **Parameters:**
1041
+
1042
+ | Parameter | Type | Required | Description |
1043
+ |-----------|------|----------|-------------|
1044
+ | `project_id` | `string` | Yes | Project UUID |
1045
+ | `environment` | `"development" | "staging" | "production"` | No | Target environment (default: production) |
1046
+ | `version_bump` | `"patch" | "minor" | "major"` | No | Version bump: major/minor/patch (default: patch) |
1047
+ | `notes` | `string` | No | Optional notes about this deployment |
1048
+ | `git_ref` | `string` | No | Git branch or commit being deployed |
1049
+
1050
+ ---
1051
+
1052
+ ### claim_deployment_validation
1053
+
1054
+ Claim pending deployment for validation. Run build+tests, then call report_validation.
1055
+
1056
+ **Parameters:**
1057
+
1058
+ | Parameter | Type | Required | Description |
1059
+ |-----------|------|----------|-------------|
1060
+ | `project_id` | `string` | Yes | Project UUID |
1061
+
1062
+ ---
1063
+
1064
+ ### report_validation
1065
+
1066
+ Report build/test results. If passed, status->'ready'. If failed, creates investigation task.
1067
+
1068
+ **Parameters:**
1069
+
1070
+ | Parameter | Type | Required | Description |
1071
+ |-----------|------|----------|-------------|
1072
+ | `project_id` | `string` | Yes | Project UUID |
1073
+ | `build_passed` | `boolean` | Yes | Whether the build succeeded |
1074
+ | `tests_passed` | `boolean` | Yes | Whether the tests passed |
1075
+ | `error_message` | `string` | No | Error details if validation failed |
1076
+
1077
+ ---
1078
+
1079
+ ### check_deployment_status
1080
+
1081
+ Get active deployment status and details.
1082
+
1083
+ **Parameters:**
1084
+
1085
+ | Parameter | Type | Required | Description |
1086
+ |-----------|------|----------|-------------|
1087
+ | `project_id` | `string` | Yes | Project UUID |
1088
+
1089
+ ---
1090
+
1091
+ ### start_deployment
1092
+
1093
+ Start deployment (requires 'ready' status). Sets status to 'deploying'.
1094
+
1095
+ **Parameters:**
1096
+
1097
+ | Parameter | Type | Required | Description |
1098
+ |-----------|------|----------|-------------|
1099
+ | `project_id` | `string` | Yes | Project UUID |
1100
+
1101
+ ---
1102
+
1103
+ ### complete_deployment
1104
+
1105
+ Mark deployment as complete (success or failure).
1106
+
1107
+ **Parameters:**
1108
+
1109
+ | Parameter | Type | Required | Description |
1110
+ |-----------|------|----------|-------------|
1111
+ | `project_id` | `string` | Yes | Project UUID |
1112
+ | `success` | `boolean` | Yes | Whether the deployment succeeded |
1113
+ | `summary` | `string` | No | Summary of what was deployed or why it failed |
1114
+
1115
+ ---
1116
+
1117
+ ### cancel_deployment
1118
+
1119
+ Cancel active deployment. Sets status to 'failed'.
1120
+
1121
+ **Parameters:**
1122
+
1123
+ | Parameter | Type | Required | Description |
1124
+ |-----------|------|----------|-------------|
1125
+ | `project_id` | `string` | Yes | Project UUID |
1126
+ | `reason` | `string` | No | Reason for cancellation |
1127
+
1128
+ ---
1129
+
1130
+ ### add_deployment_requirement
1131
+
1132
+ Add a pre-deployment requirement (migration, env var, config change). These are shown as a checklist before deployment.
1133
+
1134
+ **Parameters:**
1135
+
1136
+ | Parameter | Type | Required | Description |
1137
+ |-----------|------|----------|-------------|
1138
+ | `project_id` | `string` | Yes | Project UUID |
1139
+ | `type` | `"migration" | "env_var" | "config" | "manual" | "breaking_change" | "agent_task"` | Yes | Type of requirement |
1140
+ | `title` | `string` | Yes | Brief description (e.g., "Run migration: 20250114_token_tracking.sql") |
1141
+ | `description` | `string` | No | Optional detailed instructions |
1142
+ | `file_path` | `string` | No | Optional file path reference |
1143
+ | `stage` | `"preparation" | "deployment" | "verification"` | No | Deployment stage: preparation (default), deployment, or verification |
1144
+ | `blocking` | `boolean` | No | When true, converted task blocks all other work until complete |
1145
+ | `recurring` | `boolean` | No | When true, requirement resets to pending when a new deployment is requested |
1146
+
1147
+ ---
1148
+
1149
+ ### complete_deployment_requirement
1150
+
1151
+ Mark a deployment requirement as completed.
1152
+
1153
+ **Parameters:**
1154
+
1155
+ | Parameter | Type | Required | Description |
1156
+ |-----------|------|----------|-------------|
1157
+ | `requirement_id` | `string` | Yes | Requirement UUID |
1158
+
1159
+ ---
1160
+
1161
+ ### get_deployment_requirements
1162
+
1163
+ Get pending deployment requirements for a project.
1164
+
1165
+ **Parameters:**
1166
+
1167
+ | Parameter | Type | Required | Description |
1168
+ |-----------|------|----------|-------------|
1169
+ | `project_id` | `string` | Yes | Project UUID |
1170
+ | `status` | `"pending" | "completed" | "converted_to_task" | "all"` | No | Filter by status (default: pending) |
1171
+ | `stage` | `"preparation" | "deployment" | "verification" | "all"` | No | Filter by stage (optional) |
1172
+ | `limit` | `number` | No | Max number of requirements to return (default 50, max 200) |
1173
+ | `offset` | `number` | No | Number of requirements to skip for pagination (default 0) |
1174
+
1175
+ ---
1176
+
1177
+ ### get_deployment_requirements_stats
1178
+
1179
+ Get aggregate statistics about deployment requirements for a project. Returns total count and breakdowns by status, stage, and type. More token-efficient than get_deployment_requirements when you just need to understand the overall state.
1180
+
1181
+ **Parameters:**
1182
+
1183
+ | Parameter | Type | Required | Description |
1184
+ |-----------|------|----------|-------------|
1185
+ | `project_id` | `string` | Yes | Project UUID |
1186
+
1187
+ ---
1188
+
1189
+ ### schedule_deployment
1190
+
1191
+ Schedule a deployment for a specific time. Supports one-time and recurring schedules with auto-trigger or manual trigger modes.
1192
+
1193
+ **Parameters:**
1194
+
1195
+ | Parameter | Type | Required | Description |
1196
+ |-----------|------|----------|-------------|
1197
+ | `project_id` | `string` | Yes | Project UUID |
1198
+ | `scheduled_at` | `string` | Yes | ISO 8601 datetime for when the deployment should be triggered |
1199
+ | `schedule_type` | `"once" | "hourly" | "daily" | "weekly" | "monthly"` | No | Schedule type: once (one-time), hourly, daily, weekly, or monthly |
1200
+ | `hours_interval` | `number` | No | For hourly schedules, the number of hours between runs (1-24, default: 1) (min: 1, max: 24) |
1201
+ | `auto_trigger` | `boolean` | No | Whether agents should automatically trigger this deployment when due (default: true) |
1202
+ | `environment` | `"development" | "staging" | "production"` | No | Target environment (default: production) |
1203
+ | `version_bump` | `"patch" | "minor" | "major"` | No | Version bump: patch, minor, or major (default: patch) |
1204
+ | `notes` | `string` | No | Optional notes about this scheduled deployment |
1205
+ | `git_ref` | `string` | No | Optional git branch or commit to deploy |
1206
+
1207
+ ---
1208
+
1209
+ ### get_scheduled_deployments
1210
+
1211
+ Get scheduled deployments for a project.
1212
+
1213
+ **Parameters:**
1214
+
1215
+ | Parameter | Type | Required | Description |
1216
+ |-----------|------|----------|-------------|
1217
+ | `project_id` | `string` | Yes | Project UUID |
1218
+ | `include_disabled` | `boolean` | No | Include disabled schedules (default: false) |
1219
+ | `limit` | `number` | No | Max schedules to return (default: 50) |
1220
+ | `offset` | `number` | No | Number of schedules to skip for pagination (default: 0) |
1221
+
1222
+ ---
1223
+
1224
+ ### update_scheduled_deployment
1225
+
1226
+ Update a scheduled deployment's configuration.
1227
+
1228
+ **Parameters:**
1229
+
1230
+ | Parameter | Type | Required | Description |
1231
+ |-----------|------|----------|-------------|
1232
+ | `schedule_id` | `string` | Yes | Schedule UUID |
1233
+ | `scheduled_at` | `string` | No | New scheduled time (ISO 8601) |
1234
+ | `schedule_type` | `"once" | "hourly" | "daily" | "weekly" | "monthly"` | No | New schedule type |
1235
+ | `hours_interval` | `number` | No | For hourly schedules, the number of hours between runs (1-24) (min: 1, max: 24) |
1236
+ | `auto_trigger` | `boolean` | No | Whether to auto-trigger |
1237
+ | `enabled` | `boolean` | No | Enable or disable the schedule |
1238
+ | `environment` | `"development" | "staging" | "production"` | No | Target environment |
1239
+ | `version_bump` | `"patch" | "minor" | "major"` | No | Version bump type |
1240
+ | `notes` | `string` | No | Notes about this deployment |
1241
+ | `git_ref` | `string` | No | Git branch or commit to deploy |
1242
+
1243
+ ---
1244
+
1245
+ ### delete_scheduled_deployment
1246
+
1247
+ Delete a scheduled deployment.
1248
+
1249
+ **Parameters:**
1250
+
1251
+ | Parameter | Type | Required | Description |
1252
+ |-----------|------|----------|-------------|
1253
+ | `schedule_id` | `string` | Yes | Schedule UUID |
1254
+
1255
+ ---
1256
+
1257
+ ### trigger_scheduled_deployment
1258
+
1259
+ Manually trigger a scheduled deployment. Creates a new deployment and updates the schedule.
1260
+
1261
+ **Parameters:**
1262
+
1263
+ | Parameter | Type | Required | Description |
1264
+ |-----------|------|----------|-------------|
1265
+ | `schedule_id` | `string` | Yes | Schedule UUID |
1266
+
1267
+ ---
1268
+
1269
+ ### check_due_deployments
1270
+
1271
+ Check for scheduled deployments that are due. Returns schedules where: enabled AND auto_trigger AND scheduled_at <= NOW().
1272
+
1273
+ **Parameters:**
1274
+
1275
+ | Parameter | Type | Required | Description |
1276
+ |-----------|------|----------|-------------|
1277
+ | `project_id` | `string` | Yes | Project UUID |
1278
+
1279
+ ---
1280
+
1281
+ ## fallback
1282
+
1283
+ *Background activities when idle*
1284
+
1285
+ ### start_fallback_activity
1286
+
1287
+ Start a background activity when no tasks available.
1288
+
1289
+ **Parameters:**
1290
+
1291
+ | Parameter | Type | Required | Description |
1292
+ |-----------|------|----------|-------------|
1293
+ | `project_id` | `string` | Yes | Project UUID |
1294
+ | `activity` | `"feature_ideation" | "code_review" | "performance_audit" | "ux_review" | "cost_analysis" | "security_review" | "test_coverage" | "documentation_review" | "dependency_audit" | "validate_completed_tasks" | "worktree_cleanup"` | Yes | The fallback activity type (e.g., code_review, security_review) |
1295
+
1296
+ ---
1297
+
1298
+ ### stop_fallback_activity
1299
+
1300
+ Stop current fallback activity. Auto-clears when starting a regular task.
1301
+
1302
+ **Parameters:**
1303
+
1304
+ | Parameter | Type | Required | Description |
1305
+ |-----------|------|----------|-------------|
1306
+ | `project_id` | `string` | Yes | Project UUID |
1307
+ | `summary` | `string` | No | Optional summary of what was accomplished during this activity |
1308
+
1309
+ ---
1310
+
1311
+ ### get_activity_history
1312
+
1313
+ Get background activity completion history.
1314
+
1315
+ **Parameters:**
1316
+
1317
+ | Parameter | Type | Required | Description |
1318
+ |-----------|------|----------|-------------|
1319
+ | `project_id` | `string` | Yes | Project UUID |
1320
+ | `activity_type` | `string` | No | Optional: filter to a specific activity type |
1321
+ | `limit` | `number` | No | Max number of history entries to return (default 50) |
1322
+ | `offset` | `number` | No | Number of entries to skip for pagination (default 0) |
1323
+
1324
+ ---
1325
+
1326
+ ### get_activity_schedules
1327
+
1328
+ Get background activity schedules.
1329
+
1330
+ **Parameters:**
1331
+
1332
+ | Parameter | Type | Required | Description |
1333
+ |-----------|------|----------|-------------|
1334
+ | `project_id` | `string` | Yes | Project UUID |
1335
+ | `limit` | `number` | No | Max schedules to return (default: 50) |
1336
+ | `offset` | `number` | No | Number of schedules to skip for pagination (default: 0) |
1337
+
1338
+ ---
1339
+
1340
+ ## bodies_of_work
1341
+
1342
+ *Group tasks into bodies of work*
1343
+
1344
+ ### create_body_of_work
1345
+
1346
+ Create a new body of work to group tasks into phases (pre/core/post).
1347
+
1348
+ Bodies of work allow organizing related tasks with optional auto-deployment on completion.
1349
+
1350
+ **Parameters:**
1351
+
1352
+ | Parameter | Type | Required | Description |
1353
+ |-----------|------|----------|-------------|
1354
+ | `project_id` | `string` | Yes | Project UUID |
1355
+ | `title` | `string` | Yes | Title for the body of work |
1356
+ | `description` | `string` | No | Optional description |
1357
+ | `auto_deploy_on_completion` | `boolean` | No | Automatically request deployment when all tasks complete (default: false) |
1358
+ | `deploy_environment` | `"development" | "staging" | "production"` | No | Target environment for auto-deploy (default: production) |
1359
+ | `deploy_version_bump` | `"patch" | "minor" | "major"` | No | Version bump for auto-deploy (default: minor) |
1360
+ | `deploy_trigger` | `"all_completed" | "all_completed_validated"` | No | When to trigger auto-deploy: all_completed (immediate) or all_completed_validated (requires validation, default) |
1361
+
1362
+ ---
1363
+
1364
+ ### update_body_of_work
1365
+
1366
+ Update a body of work's settings.
1367
+
1368
+ **Parameters:**
1369
+
1370
+ | Parameter | Type | Required | Description |
1371
+ |-----------|------|----------|-------------|
1372
+ | `body_of_work_id` | `string` | Yes | Body of work UUID |
1373
+ | `title` | `string` | No | Updated title |
1374
+ | `description` | `string` | No | Updated description |
1375
+ | `auto_deploy_on_completion` | `boolean` | No | Auto-deploy setting |
1376
+ | `deploy_environment` | `"development" | "staging" | "production"` | No | Target environment |
1377
+ | `deploy_version_bump` | `"patch" | "minor" | "major"` | No | Version bump type |
1378
+ | `deploy_trigger` | `"all_completed" | "all_completed_validated"` | No | When to trigger auto-deploy |
1379
+
1380
+ ---
1381
+
1382
+ ### get_body_of_work
1383
+
1384
+ Get a body of work with all its tasks organized by phase.
1385
+
1386
+ **Parameters:**
1387
+
1388
+ | Parameter | Type | Required | Description |
1389
+ |-----------|------|----------|-------------|
1390
+ | `body_of_work_id` | `string` | Yes | Body of work UUID |
1391
+
1392
+ ---
1393
+
1394
+ ### get_bodies_of_work
1395
+
1396
+ List bodies of work for a project with task counts per phase.
1397
+
1398
+ **Parameters:**
1399
+
1400
+ | Parameter | Type | Required | Description |
1401
+ |-----------|------|----------|-------------|
1402
+ | `project_id` | `string` | Yes | Project UUID |
1403
+ | `status` | `"draft" | "active" | "completed" | "cancelled"` | No | Filter by status (optional) |
1404
+
1405
+ ---
1406
+
1407
+ ### delete_body_of_work
1408
+
1409
+ Delete a body of work. Tasks are preserved but no longer grouped.
1410
+
1411
+ **Parameters:**
1412
+
1413
+ | Parameter | Type | Required | Description |
1414
+ |-----------|------|----------|-------------|
1415
+ | `body_of_work_id` | `string` | Yes | Body of work UUID |
1416
+
1417
+ ---
1418
+
1419
+ ### add_task_to_body_of_work
1420
+
1421
+ Add a task to a body of work in a specific phase.
1422
+
1423
+ Phases control execution order: pre tasks run first, then core, then post.
1424
+
1425
+ **Parameters:**
1426
+
1427
+ | Parameter | Type | Required | Description |
1428
+ |-----------|------|----------|-------------|
1429
+ | `body_of_work_id` | `string` | Yes | Body of work UUID |
1430
+ | `task_id` | `string` | Yes | Task UUID to add |
1431
+ | `phase` | `"pre" | "core" | "post"` | No | Task phase (default: core) |
1432
+ | `order_index` | `number` | No | Order within phase (auto-assigned if not specified) |
1433
+
1434
+ ---
1435
+
1436
+ ### remove_task_from_body_of_work
1437
+
1438
+ Remove a task from its body of work. The task is preserved.
1439
+
1440
+ **Parameters:**
1441
+
1442
+ | Parameter | Type | Required | Description |
1443
+ |-----------|------|----------|-------------|
1444
+ | `task_id` | `string` | Yes | Task UUID to remove |
1445
+
1446
+ ---
1447
+
1448
+ ### activate_body_of_work
1449
+
1450
+ Activate a draft body of work to start execution.
1451
+
1452
+ Requires at least one task. Once active, tasks can be worked on following phase order.
1453
+
1454
+ **Parameters:**
1455
+
1456
+ | Parameter | Type | Required | Description |
1457
+ |-----------|------|----------|-------------|
1458
+ | `body_of_work_id` | `string` | Yes | Body of work UUID |
1459
+
1460
+ ---
1461
+
1462
+ ### add_task_dependency
1463
+
1464
+ Add a dependency between tasks in a body of work.
1465
+
1466
+ The dependent task cannot start until the dependency is completed. Prevents circular dependencies.
1467
+
1468
+ **Parameters:**
1469
+
1470
+ | Parameter | Type | Required | Description |
1471
+ |-----------|------|----------|-------------|
1472
+ | `body_of_work_id` | `string` | Yes | Body of work UUID |
1473
+ | `task_id` | `string` | Yes | Task that depends on another task |
1474
+ | `depends_on_task_id` | `string` | Yes | Task that must complete first |
1475
+
1476
+ ---
1477
+
1478
+ ### remove_task_dependency
1479
+
1480
+ Remove a dependency between tasks.
1481
+
1482
+ **Parameters:**
1483
+
1484
+ | Parameter | Type | Required | Description |
1485
+ |-----------|------|----------|-------------|
1486
+ | `task_id` | `string` | Yes | Task UUID |
1487
+ | `depends_on_task_id` | `string` | Yes | Dependency task UUID |
1488
+
1489
+ ---
1490
+
1491
+ ### get_task_dependencies
1492
+
1493
+ Get task dependencies for a body of work or specific task.
1494
+
1495
+ **Parameters:**
1496
+
1497
+ | Parameter | Type | Required | Description |
1498
+ |-----------|------|----------|-------------|
1499
+ | `body_of_work_id` | `string` | No | Body of work UUID (optional if task_id provided) |
1500
+ | `task_id` | `string` | No | Specific task UUID (optional if body_of_work_id provided) |
1501
+
1502
+ ---
1503
+
1504
+ ### get_next_body_of_work_task
1505
+
1506
+ Get the next available task from a body of work.
1507
+
1508
+ Considers phase order (pre → core → post) and task dependencies.
1509
+
1510
+ Only returns tasks where all dependencies are completed.
1511
+
1512
+ **Parameters:**
1513
+
1514
+ | Parameter | Type | Required | Description |
1515
+ |-----------|------|----------|-------------|
1516
+ | `body_of_work_id` | `string` | Yes | Body of work UUID |
1517
+
1518
+ ---
1519
+
1520
+ ## sprints
1521
+
1522
+ *Time-bounded sprints with velocity tracking*
1523
+
1524
+ ### create_sprint
1525
+
1526
+ Create a new sprint. Sprints are time-bounded bodies of work with velocity tracking.
1527
+
1528
+ Sprints start in 'planning' status where tasks can be added with story points.
1529
+
1530
+ **Parameters:**
1531
+
1532
+ | Parameter | Type | Required | Description |
1533
+ |-----------|------|----------|-------------|
1534
+ | `project_id` | `string` | Yes | Project UUID |
1535
+ | `title` | `string` | Yes | Sprint title (e.g., "Sprint 5" or "Q1 Release") |
1536
+ | `goal` | `string` | No | Sprint goal statement |
1537
+ | `start_date` | `string` | Yes | Start date (YYYY-MM-DD) |
1538
+ | `end_date` | `string` | Yes | End date (YYYY-MM-DD) |
1539
+ | `auto_deploy_on_completion` | `boolean` | No | Automatically request deployment when sprint completes (default: false) |
1540
+ | `deploy_environment` | `"development" | "staging" | "production"` | No | Target environment for auto-deploy (default: production) |
1541
+ | `deploy_version_bump` | `"patch" | "minor" | "major"` | No | Version bump for auto-deploy (default: minor) |
1542
+
1543
+ ---
1544
+
1545
+ ### update_sprint
1546
+
1547
+ Update a sprint's details. Can update title, goal, dates, and deployment settings.
1548
+
1549
+ **Parameters:**
1550
+
1551
+ | Parameter | Type | Required | Description |
1552
+ |-----------|------|----------|-------------|
1553
+ | `sprint_id` | `string` | Yes | Sprint UUID |
1554
+ | `title` | `string` | No | New sprint title |
1555
+ | `goal` | `string` | No | New sprint goal |
1556
+ | `start_date` | `string` | No | New start date (YYYY-MM-DD) |
1557
+ | `end_date` | `string` | No | New end date (YYYY-MM-DD) |
1558
+ | `auto_deploy_on_completion` | `boolean` | No | Auto-deploy setting |
1559
+ | `deploy_environment` | `"development" | "staging" | "production"` | No | Target environment |
1560
+ | `deploy_version_bump` | `"patch" | "minor" | "major"` | No | Version bump type |
1561
+
1562
+ ---
1563
+
1564
+ ### get_sprint
1565
+
1566
+ Get a sprint with all its tasks organized by phase (pre/core/post).
1567
+
1568
+ Includes progress percentage, velocity points, and committed points.
1569
+
1570
+ Use summary_only: true to get task counts and next task instead of full task arrays (saves tokens).
1571
+
1572
+ **Parameters:**
1573
+
1574
+ | Parameter | Type | Required | Description |
1575
+ |-----------|------|----------|-------------|
1576
+ | `sprint_id` | `string` | Yes | Sprint UUID |
1577
+ | `summary_only` | `boolean` | No | Return task counts and next task instead of full task arrays (default: false) |
1578
+
1579
+ ---
1580
+
1581
+ ### get_sprints
1582
+
1583
+ List sprints for a project with velocity metrics.
1584
+
1585
+ Returns sprints sorted by sprint_number descending (most recent first).
1586
+
1587
+ **Parameters:**
1588
+
1589
+ | Parameter | Type | Required | Description |
1590
+ |-----------|------|----------|-------------|
1591
+ | `project_id` | `string` | Yes | Project UUID |
1592
+ | `status` | `"planning" | "active" | "in_review" | "retrospective" | "completed" | "cancelled"` | No | Filter by sprint status (optional) |
1593
+ | `limit` | `number` | No | Max sprints to return (default: 20, max: 100) |
1594
+
1595
+ ---
1596
+
1597
+ ### delete_sprint
1598
+
1599
+ Delete a sprint. Tasks are preserved but no longer grouped.
1600
+
1601
+ **Parameters:**
1602
+
1603
+ | Parameter | Type | Required | Description |
1604
+ |-----------|------|----------|-------------|
1605
+ | `sprint_id` | `string` | Yes | Sprint UUID |
1606
+
1607
+ ---
1608
+
1609
+ ### start_sprint
1610
+
1611
+ Start a sprint. Transitions from 'planning' to 'active' status.
1612
+
1613
+ Locks the committed_points at the current total story points.
1614
+
1615
+ **Parameters:**
1616
+
1617
+ | Parameter | Type | Required | Description |
1618
+ |-----------|------|----------|-------------|
1619
+ | `sprint_id` | `string` | Yes | Sprint UUID |
1620
+
1621
+ ---
1622
+
1623
+ ### complete_sprint
1624
+
1625
+ Complete a sprint. Handles retrospective phase and auto-deployment if configured.
1626
+
1627
+ Status flow: active → in_review → retrospective → completed
1628
+
1629
+ **Parameters:**
1630
+
1631
+ | Parameter | Type | Required | Description |
1632
+ |-----------|------|----------|-------------|
1633
+ | `sprint_id` | `string` | Yes | Sprint UUID |
1634
+ | `retrospective_notes` | `string` | No | Sprint retrospective notes |
1635
+ | `skip_retrospective` | `boolean` | No | Skip retrospective phase and go directly to completed (default: false) |
1636
+
1637
+ ---
1638
+
1639
+ ### add_task_to_sprint
1640
+
1641
+ Add a task to a sprint with optional story points.
1642
+
1643
+ Tasks can be added during 'planning' status. Story points contribute to committed_points.
1644
+
1645
+ **Parameters:**
1646
+
1647
+ | Parameter | Type | Required | Description |
1648
+ |-----------|------|----------|-------------|
1649
+ | `sprint_id` | `string` | Yes | Sprint UUID |
1650
+ | `task_id` | `string` | Yes | Task UUID to add |
1651
+ | `story_points` | `number` | No | Story point estimate (optional, must be non-negative integer) |
1652
+ | `phase` | `"pre" | "core" | "post"` | No | Task phase (default: core) |
1653
+
1654
+ ---
1655
+
1656
+ ### remove_task_from_sprint
1657
+
1658
+ Remove a task from a sprint. Task is preserved but returns to backlog.
1659
+
1660
+ **Parameters:**
1661
+
1662
+ | Parameter | Type | Required | Description |
1663
+ |-----------|------|----------|-------------|
1664
+ | `sprint_id` | `string` | Yes | Sprint UUID |
1665
+ | `task_id` | `string` | Yes | Task UUID to remove |
1666
+
1667
+ ---
1668
+
1669
+ ### get_sprint_backlog
1670
+
1671
+ Get tasks from backlog/pending that can be added to a sprint with pagination.
1672
+
1673
+ Returns tasks not already assigned to any body of work or sprint.
1674
+
1675
+ **Parameters:**
1676
+
1677
+ | Parameter | Type | Required | Description |
1678
+ |-----------|------|----------|-------------|
1679
+ | `project_id` | `string` | Yes | Project UUID |
1680
+ | `sprint_id` | `string` | No | Sprint UUID to exclude already-added tasks (optional) |
1681
+ | `limit` | `number` | No | Max tasks to return (default: 20, max: 50) |
1682
+ | `offset` | `number` | No | Number of tasks to skip (default: 0) |
1683
+
1684
+ ---
1685
+
1686
+ ### get_sprint_velocity
1687
+
1688
+ Get velocity metrics for completed sprints.
1689
+
1690
+ Returns committed vs completed points and average velocity.
1691
+
1692
+ **Parameters:**
1693
+
1694
+ | Parameter | Type | Required | Description |
1695
+ |-----------|------|----------|-------------|
1696
+ | `project_id` | `string` | Yes | Project UUID |
1697
+ | `limit` | `number` | No | Number of sprints to analyze (default: 10, max: 50) |
1698
+
1699
+ ---
1700
+
1701
+ ## requests
1702
+
1703
+ *User request handling*
1704
+
1705
+ ### get_pending_requests
1706
+
1707
+ Get unacknowledged user requests for this agent/project.
1708
+
1709
+ **Parameters:**
1710
+
1711
+ | Parameter | Type | Required | Description |
1712
+ |-----------|------|----------|-------------|
1713
+ | `project_id` | `string` | Yes | Project UUID |
1714
+ | `limit` | `number` | No | Max number of requests to return (default 50, max 200) |
1715
+ | `offset` | `number` | No | Number of requests to skip for pagination (default 0) |
1716
+
1717
+ ---
1718
+
1719
+ ### acknowledge_request
1720
+
1721
+ Mark a user request as handled.
1722
+
1723
+ **Parameters:**
1724
+
1725
+ | Parameter | Type | Required | Description |
1726
+ |-----------|------|----------|-------------|
1727
+ | `request_id` | `string` | Yes | Request UUID to acknowledge |
1728
+
1729
+ ---
1730
+
1731
+ ### answer_question
1732
+
1733
+ Answer a question from the user. Use this when the user has asked a question via the dashboard.
1734
+
1735
+ The answer will be displayed to the user and the question marked as answered.
1736
+
1737
+ **Parameters:**
1738
+
1739
+ | Parameter | Type | Required | Description |
1740
+ |-----------|------|----------|-------------|
1741
+ | `request_id` | `string` | Yes | Request UUID of the question to answer |
1742
+ | `answer` | `string` | Yes | Your answer to the user's question |
1743
+
1744
+ ---
1745
+
1746
+ ## organizations
1747
+
1748
+ *Organization and team management*
1749
+
1750
+ ### create_organization
1751
+
1752
+ Create a new organization. You become the owner.
1753
+
1754
+ **Parameters:**
1755
+
1756
+ | Parameter | Type | Required | Description |
1757
+ |-----------|------|----------|-------------|
1758
+ | `name` | `string` | Yes | Organization display name |
1759
+ | `description` | `string` | No | Brief description of the organization |
1760
+ | `slug` | `string` | No | URL-friendly identifier (auto-generated from name if not provided) |
1761
+
1762
+ ---
1763
+
1764
+ ### update_organization
1765
+
1766
+ Update organization details. Requires admin role.
1767
+
1768
+ **Parameters:**
1769
+
1770
+ | Parameter | Type | Required | Description |
1771
+ |-----------|------|----------|-------------|
1772
+ | `organization_id` | `string` | Yes | Organization UUID |
1773
+ | `name` | `string` | No | New organization name |
1774
+ | `description` | `string` | No | New description |
1775
+ | `logo_url` | `string` | No | URL to organization logo |
1776
+
1777
+ ---
1778
+
1779
+ ### delete_organization
1780
+
1781
+ Delete an organization. Requires owner role. Removes all shares.
1782
+
1783
+ **Parameters:**
1784
+
1785
+ | Parameter | Type | Required | Description |
1786
+ |-----------|------|----------|-------------|
1787
+ | `organization_id` | `string` | Yes | Organization UUID |
1788
+
1789
+ ---
1790
+
1791
+ ### invite_member
1792
+
1793
+ Invite a user to an organization by email. Requires admin role.
1794
+
1795
+ **Parameters:**
1796
+
1797
+ | Parameter | Type | Required | Description |
1798
+ |-----------|------|----------|-------------|
1799
+ | `organization_id` | `string` | Yes | Organization UUID |
1800
+ | `email` | `string` | Yes | Email address to invite |
1801
+ | `role` | `"admin" | "member" | "viewer"` | No | Role to assign (default: member) |
1802
+
1803
+ ---
1804
+
1805
+ ### update_member_role
1806
+
1807
+ Change a member's role. Requires admin role. Cannot change owner.
1808
+
1809
+ **Parameters:**
1810
+
1811
+ | Parameter | Type | Required | Description |
1812
+ |-----------|------|----------|-------------|
1813
+ | `organization_id` | `string` | Yes | Organization UUID |
1814
+ | `user_id` | `string` | Yes | User UUID to update |
1815
+ | `role` | `"admin" | "member" | "viewer"` | Yes | New role to assign |
1816
+
1817
+ ---
1818
+
1819
+ ### remove_member
1820
+
1821
+ Remove a member from an organization. Requires admin role.
1822
+
1823
+ **Parameters:**
1824
+
1825
+ | Parameter | Type | Required | Description |
1826
+ |-----------|------|----------|-------------|
1827
+ | `organization_id` | `string` | Yes | Organization UUID |
1828
+ | `user_id` | `string` | Yes | User UUID to remove |
1829
+
1830
+ ---
1831
+
1832
+ ### leave_organization
1833
+
1834
+ Leave an organization. Owner cannot leave without transferring ownership.
1835
+
1836
+ **Parameters:**
1837
+
1838
+ | Parameter | Type | Required | Description |
1839
+ |-----------|------|----------|-------------|
1840
+ | `organization_id` | `string` | Yes | Organization UUID |
1841
+
1842
+ ---
1843
+
1844
+ ### share_project_with_org
1845
+
1846
+ Share a project with an organization. You must own the project.
1847
+
1848
+ **Parameters:**
1849
+
1850
+ | Parameter | Type | Required | Description |
1851
+ |-----------|------|----------|-------------|
1852
+ | `project_id` | `string` | Yes | Project UUID |
1853
+ | `organization_id` | `string` | Yes | Organization UUID to share with |
1854
+ | `permission` | `"read" | "write" | "admin"` | No | Permission level (default: read) |
1855
+
1856
+ ---
1857
+
1858
+ ### update_project_share
1859
+
1860
+ Update the permission level for a project share.
1861
+
1862
+ **Parameters:**
1863
+
1864
+ | Parameter | Type | Required | Description |
1865
+ |-----------|------|----------|-------------|
1866
+ | `project_id` | `string` | Yes | Project UUID |
1867
+ | `organization_id` | `string` | Yes | Organization UUID |
1868
+ | `permission` | `"read" | "write" | "admin"` | Yes | New permission level |
1869
+
1870
+ ---
1871
+
1872
+ ### unshare_project
1873
+
1874
+ Remove a project share from an organization.
1875
+
1876
+ **Parameters:**
1877
+
1878
+ | Parameter | Type | Required | Description |
1879
+ |-----------|------|----------|-------------|
1880
+ | `project_id` | `string` | Yes | Project UUID |
1881
+ | `organization_id` | `string` | Yes | Organization UUID |
1882
+
1883
+ ---
1884
+
1885
+ ## cost
1886
+
1887
+ *Cost monitoring and alerts*
1888
+
1889
+ ### get_cost_summary
1890
+
1891
+ Get cost summary (daily/weekly/monthly) for a project.
1892
+
1893
+ **Parameters:**
1894
+
1895
+ | Parameter | Type | Required | Description |
1896
+ |-----------|------|----------|-------------|
1897
+ | `project_id` | `string` | Yes | Project UUID |
1898
+ | `period` | `"daily" | "weekly" | "monthly"` | No | Summary period (default: daily) |
1899
+ | `limit` | `number` | No | Max records to return (default: 30) |
1900
+
1901
+ ---
1902
+
1903
+ ### add_cost_alert
1904
+
1905
+ Add a cost alert threshold.
1906
+
1907
+ **Parameters:**
1908
+
1909
+ | Parameter | Type | Required | Description |
1910
+ |-----------|------|----------|-------------|
1911
+ | `project_id` | `string` | No | Project UUID (null for all projects) |
1912
+ | `threshold_amount` | `number` | Yes | Amount in USD that triggers the alert |
1913
+ | `threshold_period` | `"daily" | "weekly" | "monthly"` | Yes | Period for the threshold |
1914
+ | `alert_type` | `"warning" | "critical"` | No | Alert severity (default: warning) |
1915
+
1916
+ ---
1917
+
1918
+ ### update_cost_alert
1919
+
1920
+ Update a cost alert.
1921
+
1922
+ **Parameters:**
1923
+
1924
+ | Parameter | Type | Required | Description |
1925
+ |-----------|------|----------|-------------|
1926
+ | `alert_id` | `string` | Yes | Alert UUID |
1927
+ | `threshold_amount` | `number` | No | New threshold amount in USD |
1928
+ | `threshold_period` | `"daily" | "weekly" | "monthly"` | No | New period |
1929
+ | `alert_type` | `"warning" | "critical"` | No | New alert type |
1930
+ | `enabled` | `boolean` | No | Enable or disable the alert |
1931
+
1932
+ ---
1933
+
1934
+ ### delete_cost_alert
1935
+
1936
+ Delete a cost alert.
1937
+
1938
+ **Parameters:**
1939
+
1940
+ | Parameter | Type | Required | Description |
1941
+ |-----------|------|----------|-------------|
1942
+ | `alert_id` | `string` | Yes | Alert UUID to delete |
1943
+
1944
+ ---
1945
+
1946
+ ## git_issues
1947
+
1948
+ *Git conflict and issue tracking*
1949
+
1950
+ ### add_git_issue
1951
+
1952
+ Record a git-related issue (merge conflict, push failure, etc.). Auto-created by claim_validation when conflicts detected.
1953
+
1954
+ **Parameters:**
1955
+
1956
+ | Parameter | Type | Required | Description |
1957
+ |-----------|------|----------|-------------|
1958
+ | `project_id` | `string` | Yes | Project UUID |
1959
+ | `issue_type` | `"merge_conflict" | "push_failed" | "rebase_needed" | "branch_diverged" | "pr_not_mergeable"` | Yes | Type of git issue |
1960
+ | `branch` | `string` | Yes | Branch where the issue occurred |
1961
+ | `target_branch` | `string` | No | Target branch for merge/rebase (optional) |
1962
+ | `pr_url` | `string` | No | Pull request URL if applicable (optional) |
1963
+ | `conflicting_files` | `string[]` | No | List of files with conflicts (optional) |
1964
+ | `error_message` | `string` | No | Error message from git operation (optional) |
1965
+ | `task_id` | `string` | No | Related task UUID (optional) |
1966
+
1967
+ ---
1968
+
1969
+ ### resolve_git_issue
1970
+
1971
+ Mark a git issue as resolved.
1972
+
1973
+ **Parameters:**
1974
+
1975
+ | Parameter | Type | Required | Description |
1976
+ |-----------|------|----------|-------------|
1977
+ | `git_issue_id` | `string` | Yes | Git issue UUID |
1978
+ | `resolution_note` | `string` | No | How the issue was resolved (optional) |
1979
+ | `auto_resolved` | `boolean` | No | Whether this was auto-resolved (e.g., PR became mergeable) |
1980
+
1981
+ ---
1982
+
1983
+ ### get_git_issues
1984
+
1985
+ Get git issues for a project, optionally filtered by status, type, or branch.
1986
+
1987
+ **Parameters:**
1988
+
1989
+ | Parameter | Type | Required | Description |
1990
+ |-----------|------|----------|-------------|
1991
+ | `project_id` | `string` | Yes | Project UUID |
1992
+ | `status` | `"open" | "resolved"` | No | Filter by status (default: open) |
1993
+ | `issue_type` | `"merge_conflict" | "push_failed" | "rebase_needed" | "branch_diverged" | "pr_not_mergeable"` | No | Filter by issue type (optional) |
1994
+ | `branch` | `string` | No | Filter by branch (optional) |
1995
+ | `limit` | `number` | No | Max issues to return (default: 50) |
1996
+ | `offset` | `number` | No | Number of issues to skip for pagination (default 0) |
1997
+
1998
+ ---
1999
+
2000
+ ### delete_git_issue
2001
+
2002
+ Delete a git issue.
2003
+
2004
+ **Parameters:**
2005
+
2006
+ | Parameter | Type | Required | Description |
2007
+ |-----------|------|----------|-------------|
2008
+ | `git_issue_id` | `string` | Yes | Git issue UUID |
2009
+
2010
+ ---
2011
+
2012
+ ## knowledge
2013
+
2014
+ *Queryable knowledge base from project data*
2015
+
2016
+ ### query_knowledge_base
2017
+
2018
+ Query aggregated project knowledge in a single call. Returns findings, Q&A, decisions, completed tasks, and resolved blockers. Use this instead of multiple separate tool calls to reduce token usage.
2019
+
2020
+ **Parameters:**
2021
+
2022
+ | Parameter | Type | Required | Description |
2023
+ |-----------|------|----------|-------------|
2024
+ | `project_id` | `string` | Yes | Project UUID |
2025
+ | `scope` | `"summary" | "detailed"` | No | Response detail level: summary (default) or detailed (includes rationales) |
2026
+ | `categories` | `string[]` | No | Categories to include (default: all). Filter to reduce response size. |
2027
+ | `limit` | `number` | No | Max items per category (default: 5, max: 20) |
2028
+ | `search_query` | `string` | No | Optional text search across all knowledge |
2029
+
2030
+ ---
2031
+
2032
+ ## discovery
2033
+
2034
+ *Tool discovery and documentation*
2035
+
2036
+ ### discover_tools
2037
+
2038
+ List tools by category. Use get_tool_info for details.
2039
+
2040
+ **Parameters:**
2041
+
2042
+ | Parameter | Type | Required | Description |
2043
+ |-----------|------|----------|-------------|
2044
+ | `category` | `"session" | "project" | "tasks" | "milestones" | "progress" | "blockers" | "decisions" | "ideas" | "findings" | "validation" | "deployment" | "fallback" | "bodies_of_work" | "sprints" | "requests" | "organizations" | "cost" | "git_issues" | "knowledge" | "discovery" | "subtasks" | "worktrees" | "roles" | "file_locks"` | No | Category to list (omit for all categories) |
2045
+
2046
+ ---
2047
+
2048
+ ### get_tool_info
2049
+
2050
+ Get detailed tool documentation.
2051
+
2052
+ **Parameters:**
2053
+
2054
+ | Parameter | Type | Required | Description |
2055
+ |-----------|------|----------|-------------|
2056
+ | `tool_name` | `string` | Yes | Tool name |
2057
+
2058
+ ---
2059
+
2060
+ ## subtasks
2061
+
2062
+ *Break tasks into smaller pieces*
2063
+
2064
+ ### add_subtask
2065
+
2066
+ Add a subtask to break down a larger task into smaller workable pieces.
2067
+
2068
+ Subtasks can be claimed and worked on independently by any agent.
2069
+
2070
+ Subtasks inherit the project from their parent task.
2071
+
2072
+ Max depth is 1 (subtasks cannot have their own subtasks).
2073
+
2074
+ **Parameters:**
2075
+
2076
+ | Parameter | Type | Required | Description |
2077
+ |-----------|------|----------|-------------|
2078
+ | `parent_task_id` | `string` | Yes | UUID of the parent task to add subtask to |
2079
+ | `title` | `string` | Yes | Subtask title |
2080
+ | `description` | `string` | No | Detailed description (optional) |
2081
+ | `priority` | `number` | No | Priority 1-5 (1 = highest). Defaults to parent task priority. (min: 1, max: 5) |
2082
+ | `estimated_minutes` | `number` | No | Estimated time to complete in minutes (min: 1) |
2083
+
2084
+ ---
2085
+
2086
+ ### get_subtasks
2087
+
2088
+ Get subtasks for a parent task with pagination.
2089
+
2090
+ Returns subtasks with aggregate completion stats.
2091
+
2092
+ **Parameters:**
2093
+
2094
+ | Parameter | Type | Required | Description |
2095
+ |-----------|------|----------|-------------|
2096
+ | `parent_task_id` | `string` | Yes | UUID of the parent task |
2097
+ | `status` | `"backlog" | "pending" | "in_progress" | "completed" | "cancelled"` | No | Filter by status (optional) |
2098
+ | `limit` | `number` | No | Max subtasks to return (default: 20, max: 50) |
2099
+ | `offset` | `number` | No | Number of subtasks to skip (default: 0) |
2100
+
2101
+ ---
2102
+
2103
+ ## worktrees
2104
+
2105
+ *Git worktree management*
2106
+
2107
+ ### get_stale_worktrees
2108
+
2109
+ Get worktrees that need cleanup.
2110
+
2111
+ Returns tasks with worktree_path set where:
2112
+
2113
+ - Task is completed or cancelled (worktree should have been cleaned up)
2114
+
2115
+ - Task has been abandoned (no activity for 24+ hours while in_progress)
2116
+
2117
+ IMPORTANT: Pass hostname (os.hostname()) to only see worktrees created on THIS machine.
2118
+
2119
+ Worktrees created on other machines cannot be removed locally.
2120
+
2121
+ For each stale worktree:
2122
+
2123
+ 1. Run: git worktree remove <worktree_path>
2124
+
2125
+ 2. Call: clear_worktree_path(task_id)
2126
+
2127
+ **Parameters:**
2128
+
2129
+ | Parameter | Type | Required | Description |
2130
+ |-----------|------|----------|-------------|
2131
+ | `project_id` | `string` | Yes | Project UUID |
2132
+ | `hostname` | `string` | No | Machine hostname (os.hostname()). Only returns worktrees created on this machine, preventing attempts to clean up worktrees on other machines. |
2133
+ | `limit` | `number` | No | Max worktrees to return (default: 50) |
2134
+ | `offset` | `number` | No | Number of worktrees to skip for pagination (default: 0) |
2135
+
2136
+ ---
2137
+
2138
+ ### clear_worktree_path
2139
+
2140
+ Clear the worktree_path from a task after cleanup.
2141
+
2142
+ Call this AFTER removing the worktree with git worktree remove.
2143
+
2144
+ This marks the task as cleaned up so it won't appear in get_stale_worktrees.
2145
+
2146
+ **Parameters:**
2147
+
2148
+ | Parameter | Type | Required | Description |
2149
+ |-----------|------|----------|-------------|
2150
+ | `task_id` | `string` | Yes | Task UUID |
2151
+
2152
+ ---
2153
+
2154
+ ## roles
2155
+
2156
+ *Agent role management*
2157
+
2158
+ ### get_role_settings
2159
+
2160
+ Get role configuration for a project. Shows available roles and their settings.
2161
+
2162
+ **Parameters:**
2163
+
2164
+ | Parameter | Type | Required | Description |
2165
+ |-----------|------|----------|-------------|
2166
+ | `project_id` | `string` | Yes | Project UUID |
2167
+
2168
+ ---
2169
+
2170
+ ### update_role_settings
2171
+
2172
+ Update role settings for a project. Configure which roles are enabled and their behavior.
2173
+
2174
+ **Parameters:**
2175
+
2176
+ | Parameter | Type | Required | Description |
2177
+ |-----------|------|----------|-------------|
2178
+ | `project_id` | `string` | Yes | Project UUID |
2179
+ | `role` | `string` | Yes | Role to configure (e.g., "developer", "validator", "deployer"). Custom roles accepted. |
2180
+ | `enabled` | `boolean` | No | Enable or disable this role |
2181
+ | `display_name` | `string` | No | Custom display name for this role |
2182
+ | `description` | `string` | No | Description of what this role does |
2183
+ | `priority_filter` | `number[]` | No | Only show tasks with these priorities (1-5) |
2184
+ | `fallback_activities` | `string[]` | No | Preferred fallback activities for this role |
2185
+ | `auto_assign_validation` | `boolean` | No | Auto-assign validation tasks to agents with this role |
2186
+ | `auto_assign_deployment` | `boolean` | No | Auto-assign deployment tasks to agents with this role |
2187
+
2188
+ ---
2189
+
2190
+ ### set_session_role
2191
+
2192
+ Set the role for your current session. Changes task filtering and fallback activity suggestions.
2193
+
2194
+ **Parameters:**
2195
+
2196
+ | Parameter | Type | Required | Description |
2197
+ |-----------|------|----------|-------------|
2198
+ | `role` | `string` | Yes | Role to assign to this session (e.g., "developer", "validator", "deployer"). Custom roles accepted. |
2199
+ | `role_config` | `object` | No | Custom configuration for specialist role (optional) |
2200
+
2201
+ ---
2202
+
2203
+ ### get_agents_by_role
2204
+
2205
+ Get active agents grouped by their assigned roles. See who is working on what.
2206
+
2207
+ **Parameters:**
2208
+
2209
+ | Parameter | Type | Required | Description |
2210
+ |-----------|------|----------|-------------|
2211
+ | `project_id` | `string` | Yes | Project UUID |
2212
+ | `counts_only` | `boolean` | No | When true (default), returns only counts per role to save tokens. Set to false for full agent details. |
2213
+
2214
+ ---
2215
+
2216
+ ## file_locks
2217
+
2218
+ *File checkout/locking for multi-agent*
2219
+
2220
+ ### checkout_file
2221
+
2222
+ Check out a file for editing. Prevents other agents from editing the same file until checked in. ALWAYS checkout files before making changes to prevent conflicts.
2223
+
2224
+ **Parameters:**
2225
+
2226
+ | Parameter | Type | Required | Description |
2227
+ |-----------|------|----------|-------------|
2228
+ | `project_id` | `string` | Yes | Project UUID |
2229
+ | `file_path` | `string` | Yes | Relative path to the file to checkout (e.g., "src/index.ts") |
2230
+ | `reason` | `string` | No | Optional reason for checkout (e.g., "Fixing bug in login flow") |
2231
+
2232
+ ---
2233
+
2234
+ ### checkin_file
2235
+
2236
+ Check in a file after editing. Releases the file for other agents to edit. ALWAYS checkin files when done editing.
2237
+
2238
+ **Parameters:**
2239
+
2240
+ | Parameter | Type | Required | Description |
2241
+ |-----------|------|----------|-------------|
2242
+ | `checkout_id` | `string` | No | Checkout UUID (from checkout_file response) |
2243
+ | `project_id` | `string` | No | Project UUID (alternative to checkout_id) |
2244
+ | `file_path` | `string` | No | File path (use with project_id as alternative to checkout_id) |
2245
+ | `summary` | `string` | No | Optional summary of changes made |
2246
+
2247
+ ---
2248
+
2249
+ ### get_file_checkouts
2250
+
2251
+ Get list of file checkouts for a project. Shows which files are currently checked out and by whom.
2252
+
2253
+ **Parameters:**
2254
+
2255
+ | Parameter | Type | Required | Description |
2256
+ |-----------|------|----------|-------------|
2257
+ | `project_id` | `string` | Yes | Project UUID |
2258
+ | `status` | `"checked_out" | "checked_in" | "abandoned"` | No | Filter by status (default: checked_out) |
2259
+ | `include_completed` | `boolean` | No | Include checked_in and abandoned checkouts (default: false) |
2260
+ | `limit` | `number` | No | Max checkouts to return (default: 50) |
2261
+ | `offset` | `number` | No | Number of checkouts to skip for pagination (default 0) |
2262
+
2263
+ ---
2264
+
2265
+ ### get_file_checkouts_stats
2266
+
2267
+ Get aggregate statistics about file checkouts for a project. Returns counts by status without the actual checkout data. This is much more token-efficient than get_file_checkouts for understanding the overall state.
2268
+
2269
+ **Parameters:**
2270
+
2271
+ | Parameter | Type | Required | Description |
2272
+ |-----------|------|----------|-------------|
2273
+ | `project_id` | `string` | Yes | Project UUID |
2274
+
2275
+ ---
2276
+
2277
+ ### abandon_checkout
2278
+
2279
+ Force-release a checkout. Use when the original agent session died or is stuck.
2280
+
2281
+ **Parameters:**
2282
+
2283
+ | Parameter | Type | Required | Description |
2284
+ |-----------|------|----------|-------------|
2285
+ | `checkout_id` | `string` | Yes | Checkout UUID to abandon |
2286
+ | `reason` | `string` | No | Reason for abandoning (e.g., "Agent session died") |
2287
+
2288
+ ---
2289
+
2290
+ ### is_file_available
2291
+
2292
+ Check if a file is available for checkout. Returns who has it checked out if not available.
2293
+
2294
+ **Parameters:**
2295
+
2296
+ | Parameter | Type | Required | Description |
2297
+ |-----------|------|----------|-------------|
2298
+ | `project_id` | `string` | Yes | Project UUID |
2299
+ | `file_path` | `string` | Yes | Path to the file to check |
2300
+
2301
+ ---
2302
+
2303
+ ## connectors
2304
+
2305
+ *External integration connectors*
2306
+
2307
+ ### get_connectors
2308
+
2309
+ List connectors for a project. Connectors enable sending events to external services (Slack, Discord, webhooks, etc.).
2310
+
2311
+ **Parameters:**
2312
+
2313
+ | Parameter | Type | Required | Description |
2314
+ |-----------|------|----------|-------------|
2315
+ | `project_id` | `string` | Yes | Project UUID |
2316
+ | `type` | `"webhook" | "slack" | "discord" | "github" | "custom"` | No | Filter by connector type (optional) |
2317
+ | `status` | `"active" | "disabled"` | No | Filter by status (optional) |
2318
+ | `limit` | `number` | No | Max connectors to return (default: 50) |
2319
+ | `offset` | `number` | No | Pagination offset (default: 0) |
2320
+
2321
+ ---
2322
+
2323
+ ### get_connector
2324
+
2325
+ Get a single connector with full details including configuration (sensitive fields are masked).
2326
+
2327
+ **Parameters:**
2328
+
2329
+ | Parameter | Type | Required | Description |
2330
+ |-----------|------|----------|-------------|
2331
+ | `connector_id` | `string` | Yes | Connector UUID |
2332
+
2333
+ ---
2334
+
2335
+ ### add_connector
2336
+
2337
+ Add a new connector for external integrations. Supports webhook, Slack, Discord, GitHub, and custom connectors.
2338
+
2339
+ **Parameters:**
2340
+
2341
+ | Parameter | Type | Required | Description |
2342
+ |-----------|------|----------|-------------|
2343
+ | `project_id` | `string` | Yes | Project UUID |
2344
+ | `name` | `string` | Yes | Connector name (e.g., "Slack Notifications") |
2345
+ | `type` | `"webhook" | "slack" | "discord" | "github" | "custom"` | Yes | Connector type |
2346
+ | `description` | `string` | No | Optional description |
2347
+ | `config` | `object` | No | Type-specific configuration (e.g., { webhook_url: "..." } for Slack) |
2348
+ | `events` | `object` | No | Event subscriptions (e.g., { task_completed: true, blocker_added: true }) |
2349
+
2350
+ ---
2351
+
2352
+ ### update_connector
2353
+
2354
+ Update a connector's configuration, events, or status.
2355
+
2356
+ **Parameters:**
2357
+
2358
+ | Parameter | Type | Required | Description |
2359
+ |-----------|------|----------|-------------|
2360
+ | `connector_id` | `string` | Yes | Connector UUID |
2361
+ | `name` | `string` | No | Updated name |
2362
+ | `description` | `string` | No | Updated description |
2363
+ | `config` | `object` | No | Updated configuration (merged with existing) |
2364
+ | `events` | `object` | No | Updated event subscriptions |
2365
+ | `status` | `"active" | "disabled"` | No | Enable or disable the connector |
2366
+
2367
+ ---
2368
+
2369
+ ### delete_connector
2370
+
2371
+ Delete a connector.
2372
+
2373
+ **Parameters:**
2374
+
2375
+ | Parameter | Type | Required | Description |
2376
+ |-----------|------|----------|-------------|
2377
+ | `connector_id` | `string` | Yes | Connector UUID |
2378
+
2379
+ ---
2380
+
2381
+ ### test_connector
2382
+
2383
+ Test a connector by sending a test event. Returns success/failure status.
2384
+
2385
+ **Parameters:**
2386
+
2387
+ | Parameter | Type | Required | Description |
2388
+ |-----------|------|----------|-------------|
2389
+ | `connector_id` | `string` | Yes | Connector UUID to test |
2390
+
2391
+ ---
2392
+
2393
+ ### get_connector_events
2394
+
2395
+ Get event history for a connector or project. Shows delivery status and errors.
2396
+
2397
+ **Parameters:**
2398
+
2399
+ | Parameter | Type | Required | Description |
2400
+ |-----------|------|----------|-------------|
2401
+ | `connector_id` | `string` | No | Connector UUID (optional if project_id provided) |
2402
+ | `project_id` | `string` | No | Project UUID (optional if connector_id provided) |
2403
+ | `status` | `"pending" | "sent" | "failed" | "retrying"` | No | Filter by delivery status (optional) |
2404
+ | `limit` | `number` | No | Max events to return (default: 50) |
2405
+ | `offset` | `number` | No | Pagination offset (default: 0) |
2406
+
2407
+ ---