@tencent-ai/codebuddy-code 2.50.3 → 2.50.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tencent-ai/codebuddy-code",
3
- "version": "2.50.3",
3
+ "version": "2.50.5",
4
4
  "description": "Use CodeBuddy, Tencent's AI assistant, right from your terminal. CodeBuddy can understand your codebase, edit files, run terminal commands, and handle entire workflows for you.",
5
5
  "main": "lib/node/index.js",
6
6
  "typings": "lib/node/index.d.ts",
@@ -19,7 +19,6 @@
19
19
  ],
20
20
  "tools": [
21
21
  "Task",
22
- "TaskOutput",
23
22
  "Read",
24
23
  "Write",
25
24
  "Edit",
@@ -37,6 +36,7 @@
37
36
  "WebSearch",
38
37
  "NotebookEdit",
39
38
  "TaskStop",
39
+ "TaskOutput",
40
40
  "Skill",
41
41
  "AskUserQuestion",
42
42
  "LSP",
@@ -72,6 +72,7 @@
72
72
  "WebSearch",
73
73
  "NotebookEdit",
74
74
  "TaskStop",
75
+ "TaskOutput",
75
76
  "Skill",
76
77
  "AskUserQuestion",
77
78
  "LSP",
@@ -200,6 +201,23 @@
200
201
  "sub-agent"
201
202
  ]
202
203
  },
204
+ {
205
+ "name": "Bash",
206
+ "instructions": "agent-bash-instructions",
207
+ "description": "Command execution specialist for running bash commands. Use this for git operations, running build tools, executing tests, installing dependencies, and other terminal tasks.",
208
+ "color": "#5b9bd5",
209
+ "models": [
210
+ "lite"
211
+ ],
212
+ "tools": [
213
+ "Bash"
214
+ ],
215
+ "asTool": true,
216
+ "tags": [
217
+ "cli",
218
+ "sub-agent"
219
+ ]
220
+ },
203
221
  {
204
222
  "name": "Plan",
205
223
  "instructions": "agent-plan-instructions",
@@ -212,8 +230,6 @@
212
230
  "Bash",
213
231
  "Glob",
214
232
  "Grep",
215
- "EnterPlanMode",
216
- "ExitPlanMode",
217
233
  "TaskCreate",
218
234
  "TaskGet",
219
235
  "TaskUpdate",
@@ -221,7 +237,10 @@
221
237
  "WebFetch",
222
238
  "WebSearch",
223
239
  "Skill",
224
- "AskUserQuestion"
240
+ "ToolSearch",
241
+ "TeamCreate",
242
+ "TeamDelete",
243
+ "SendMessage"
225
244
  ],
226
245
  "asTool": true,
227
246
  "tags": [
@@ -365,6 +384,6 @@
365
384
  "DeferToolLoading": true,
366
385
  "ImageGen": true
367
386
  },
368
- "commit": "d9942f6ec5032ddf63704af659636540b9080b97",
369
- "date": "2026-02-13T15:33:02.455Z"
387
+ "commit": "9fe43db2bb6d365844755e53043394a15830296a",
388
+ "date": "2026-02-14T09:39:03.973Z"
370
389
  }
@@ -24,7 +24,6 @@
24
24
  ],
25
25
  "tools": [
26
26
  "Task",
27
- "TaskOutput",
28
27
  "Read",
29
28
  "Write",
30
29
  "Edit",
@@ -42,6 +41,7 @@
42
41
  "WebSearch",
43
42
  "NotebookEdit",
44
43
  "TaskStop",
44
+ "TaskOutput",
45
45
  "Skill",
46
46
  "AskUserQuestion",
47
47
  "LSP",
@@ -60,7 +60,7 @@
60
60
  {
61
61
  "name": "general-purpose",
62
62
  "instructions": "cli-agent-prompt",
63
- "description": "taskgeneral-purpose agent",
63
+ "description": "general-purpose agent",
64
64
  "tools": [
65
65
  "Read",
66
66
  "Write",
@@ -77,6 +77,7 @@
77
77
  "WebSearch",
78
78
  "NotebookEdit",
79
79
  "TaskStop",
80
+ "TaskOutput",
80
81
  "Skill",
81
82
  "AskUserQuestion",
82
83
  "LSP",
@@ -205,6 +206,23 @@
205
206
  "sub-agent"
206
207
  ]
207
208
  },
209
+ {
210
+ "name": "Bash",
211
+ "instructions": "agent-bash-instructions",
212
+ "description": "Command execution specialist for running bash commands. Use this for git operations, running build tools, executing tests, installing dependencies, and other terminal tasks.",
213
+ "color": "#5b9bd5",
214
+ "models": [
215
+ "lite"
216
+ ],
217
+ "tools": [
218
+ "Bash"
219
+ ],
220
+ "asTool": true,
221
+ "tags": [
222
+ "cli",
223
+ "sub-agent"
224
+ ]
225
+ },
208
226
  {
209
227
  "name": "Plan",
210
228
  "instructions": "agent-plan-instructions",
@@ -217,8 +235,6 @@
217
235
  "Bash",
218
236
  "Glob",
219
237
  "Grep",
220
- "EnterPlanMode",
221
- "ExitPlanMode",
222
238
  "TaskCreate",
223
239
  "TaskGet",
224
240
  "TaskUpdate",
@@ -226,7 +242,10 @@
226
242
  "WebFetch",
227
243
  "WebSearch",
228
244
  "Skill",
229
- "AskUserQuestion"
245
+ "ToolSearch",
246
+ "TeamCreate",
247
+ "TeamDelete",
248
+ "SendMessage"
230
249
  ],
231
250
  "asTool": true,
232
251
  "tags": [
@@ -413,6 +432,6 @@
413
432
  "DeferToolLoading": true,
414
433
  "ImageGen": true
415
434
  },
416
- "commit": "d9942f6ec5032ddf63704af659636540b9080b97",
417
- "date": "2026-02-13T15:33:02.491Z"
435
+ "commit": "9fe43db2bb6d365844755e53043394a15830296a",
436
+ "date": "2026-02-14T09:39:04.016Z"
418
437
  }
package/product.ioa.json CHANGED
@@ -41,7 +41,6 @@
41
41
  ],
42
42
  "tools": [
43
43
  "Task",
44
- "TaskOutput",
45
44
  "Read",
46
45
  "Write",
47
46
  "Edit",
@@ -59,6 +58,7 @@
59
58
  "WebSearch",
60
59
  "NotebookEdit",
61
60
  "TaskStop",
61
+ "TaskOutput",
62
62
  "Skill",
63
63
  "AskUserQuestion",
64
64
  "LSP",
@@ -96,6 +96,7 @@
96
96
  "WebSearch",
97
97
  "NotebookEdit",
98
98
  "TaskStop",
99
+ "TaskOutput",
99
100
  "Skill",
100
101
  "AskUserQuestion",
101
102
  "LSP",
@@ -233,6 +234,23 @@
233
234
  "sub-agent"
234
235
  ]
235
236
  },
237
+ {
238
+ "name": "Bash",
239
+ "instructions": "agent-bash-instructions",
240
+ "description": "Command execution specialist for running bash commands. Use this for git operations, running build tools, executing tests, installing dependencies, and other terminal tasks.",
241
+ "color": "#5b9bd5",
242
+ "models": [
243
+ "lite"
244
+ ],
245
+ "tools": [
246
+ "Bash"
247
+ ],
248
+ "asTool": true,
249
+ "tags": [
250
+ "cli",
251
+ "sub-agent"
252
+ ]
253
+ },
236
254
  {
237
255
  "name": "Plan",
238
256
  "instructions": "agent-plan-instructions",
@@ -245,8 +263,6 @@
245
263
  "Bash",
246
264
  "Glob",
247
265
  "Grep",
248
- "EnterPlanMode",
249
- "ExitPlanMode",
250
266
  "TaskCreate",
251
267
  "TaskGet",
252
268
  "TaskUpdate",
@@ -254,7 +270,10 @@
254
270
  "WebFetch",
255
271
  "WebSearch",
256
272
  "Skill",
257
- "AskUserQuestion"
273
+ "ToolSearch",
274
+ "TeamCreate",
275
+ "TeamDelete",
276
+ "SendMessage"
258
277
  ],
259
278
  "asTool": true,
260
279
  "tags": [
@@ -631,6 +650,6 @@
631
650
  "ImageGen": true,
632
651
  "ImageEdit": true
633
652
  },
634
- "commit": "d9942f6ec5032ddf63704af659636540b9080b97",
635
- "date": "2026-02-13T15:33:02.510Z"
653
+ "commit": "9fe43db2bb6d365844755e53043394a15830296a",
654
+ "date": "2026-02-14T09:39:04.036Z"
636
655
  }
package/product.json CHANGED
@@ -434,7 +434,7 @@
434
434
  },
435
435
  {
436
436
  "name": "tool-task-description",
437
- "template": "Launch a new agent to handle complex, multi-step tasks autonomously.\n\nThe Task tool launches specialized agents (subprocesses) that autonomously handle complex tasks. Each agent type has specific capabilities and tools available to it.\n\nAvailable agent types and the tools they have access to:\n- general-purpose: General-purpose agent for researching complex questions, searching for code, and executing multi-step tasks. When you are searching for a keyword or file and are not confident that you will find the right match in the first few tries use this agent to perform the search for you. (Tools: *)\n{%- if agents and agents.length > 0 -%}\n{%- for agent in agents -%}\n{%- if agent.asTool %}\n- {{agent.name}}: {{agent.description}} (Tools: {%- if agent.tools and agent.tools.length > 0 -%}{{agent.tools.join(',')}}{%- endif -%})\n{%- endif -%}\n{%- endfor -%}\n{%- endif %}\n\nWhen using the Task tool, you must specify a subagent_type parameter to select which agent type to use.\n\nWhen NOT to use the Task tool:\n- If you want to read a specific file path, use the Read or Glob tool instead of the Task tool, to find the match more quickly\n- If you are searching for a specific class definition like \"class Foo\", use the Glob tool instead, to find the match more quickly\n- If you are searching for code within a specific file or set of 2-3 files, use the Read tool instead of the Task tool, to find the match more quickly\n- Other tasks that are not related to the agent descriptions above\n\n\nUsage notes:\n- Always include a short description (3-5 words) summarizing what the agent will do\n- Launch multiple agents concurrently whenever possible, to maximize performance; to do that, use a single message with multiple tool uses\n- When the agent is done, it will return a single message back to you. The result returned by the agent is not visible to the user. To show the user the result, you should send a text message back to the user with a concise summary of the result.\n- You can optionally run agents in the background using the run_in_background parameter. When an agent runs in the background, the tool result will include a Task ID. To check on the agent's progress or retrieve its results, use the TaskOutput tool.\n- Agents can be resumed using the `resume` parameter by passing the agent ID from a previous invocation. When resumed, the agent continues with its full previous context preserved. When NOT resuming, each invocation starts fresh and you should provide a detailed task description with all necessary context.\n- When the agent is done, it will return a single message back to you along with its agent ID. You can use this ID to resume the agent later if needed for follow-up work.\n- Provide clear, detailed prompts so the agent can work autonomously and return exactly the information you need.\n- Agents with \"access to current context\" can see the full conversation history before the tool call. When using these agents, you can write concise prompts that reference earlier context (e.g., \"investigate the error discussed above\") instead of repeating information. The agent will receive all prior messages and understand the context.\n- The agent's outputs should generally be trusted\n- Clearly tell the agent whether you expect it to write code or just to do research (search, file reads, web fetches, etc.), since it is not aware of the user's intent\n- If the agent description mentions that it should be used proactively, then you should try your best to use it without the user having to ask for it first. Use your judgement.\n- If the user specifies that they want you to run agents \"in parallel\", you MUST send a single message with multiple Task tool use content blocks. For example, if you need to launch both a code-reviewer agent and a test-runner agent in parallel, send a single message with both tool calls.\n\n{%- if teamEnabled %}\n## Spawning Teammates\n\nWhen a team is active (created via TeamCreate), you can spawn teammates by providing the `name` and optionally `team_name` parameters:\n\n- `name`: Name for the spawned agent (e.g., \"researcher\", \"tester\", \"frontend-dev\")\n- `team_name`: Team name for spawning. Uses current team context if omitted.\n- `mode`: Permission mode for the spawned teammate (e.g., \"plan\" to require plan approval)\n- `max_turns`: Maximum number of agentic turns (API round-trips) before the agent stops\n\nTeammates always run in the background in detached mode. They communicate via the SendMessage tool and coordinate through the shared task list.\n{%- endif %}\n\nExample usage:\n\n<example_agent_descriptions>\n\"code-reviewer\": use this agent after you are done writing a signficant piece of code\n\"greeting-responder\": use this agent when to respond to user greetings with a friendly joke\n</example_agent_description>\n\n<example>\nuser: \"Please write a function that checks if a number is prime\"\nassistant: Sure let me write a function that checks if a number is prime\nassistant: First let me use the Write tool to write a function that checks if a number is prime\nassistant: I'm going to use the Write tool to write the following code:\n<code>\nfunction isPrime(n) {\n if (n <= 1) return false\n for (let i = 2; i * i <= n; i++) {\n if (n % i === 0) return false\n }\n return true\n}\n</code>\n<commentary>\nSince a signficant piece of code was written and the task was completed, now use the code-reviewer agent to run the tests\n</commentary>\nassistant: Now let me use the code-reviewer agent to run the tests\nassistant: Uses the Task tool to launch the code-reviewer agent\n</example>\n\n<example>\nuser: \"Hello\"\n<commentary>\nSince the user is greeting, use the greeting-responder agent to respond with a friendly joke\n</commentary>\nassistant: \"I'm going to use the Task tool to launch the greeting-responder agent\"\n</example>\n"
437
+ "template": "Launch a new agent to handle complex, multi-step tasks autonomously.\n\nThe Task tool launches specialized agents (subprocesses) that autonomously handle complex tasks. Each agent type has specific capabilities and tools available to it.\n\nAvailable agent types and the tools they have access to:\n- general-purpose: General-purpose agent for researching complex questions, searching for code, and executing multi-step tasks. When you are searching for a keyword or file and are not confident that you will find the right match in the first few tries use this agent to perform the search for you. (Tools: *)\n{%- if agents and agents.length > 0 -%}\n{%- for agent in agents -%}\n{%- if agent.asTool %}\n- {{agent.name}}: {{agent.description}} (Tools: {%- if agent.tools and agent.tools.length > 0 -%}{{agent.tools.join(',')}}{%- endif -%})\n{%- endif -%}\n{%- endfor -%}\n{%- endif %}\n\nWhen using the Task tool, you must specify a subagent_type parameter to select which agent type to use.\n\nWhen NOT to use the Task tool:\n- If you want to read a specific file path, use the Read or Glob tool instead of the Task tool, to find the match more quickly\n- If you are searching for a specific class definition like \"class Foo\", use the Glob tool instead, to find the match more quickly\n- If you are searching for code within a specific file or set of 2-3 files, use the Read tool instead of the Task tool, to find the match more quickly\n- Other tasks that are not related to the agent descriptions above\n\n\nUsage notes:\n- Always include a short description (3-5 words) summarizing what the agent will do\n- Launch multiple agents concurrently whenever possible, to maximize performance; to do that, use a single message with multiple tool uses\n- When the agent is done, it will return a single message back to you. The result returned by the agent is not visible to the user. To show the user the result, you should send a text message back to the user with a concise summary of the result.\n- You can optionally run agents in the background using the run_in_background parameter. When an agent runs in the background, the tool result will include a Task ID. Background agents will automatically send their results back to you via the SendMessage tool when they complete — you do not need to poll or check on them manually.\n- When running agents in the background, the tool result is only a launch confirmation — the agent is still running. Results will arrive later via SendMessage from the background agent. Do not treat the launch confirmation as the agent's output.\n- Agents can be resumed using the `resume` parameter by passing the agent ID from a previous invocation. When resumed, the agent continues with its full previous context preserved. When NOT resuming, each invocation starts fresh and you should provide a detailed task description with all necessary context.\n- When the agent is done, it will return a single message back to you along with its agent ID. You can use this ID to resume the agent later if needed for follow-up work.\n- Provide clear, detailed prompts so the agent can work autonomously and return exactly the information you need.\n- Agents with \"access to current context\" can see the full conversation history before the tool call. When using these agents, you can write concise prompts that reference earlier context (e.g., \"investigate the error discussed above\") instead of repeating information. The agent will receive all prior messages and understand the context.\n- The agent's outputs should generally be trusted\n- Clearly tell the agent whether you expect it to write code or just to do research (search, file reads, web fetches, etc.), since it is not aware of the user's intent\n- If the agent description mentions that it should be used proactively, then you should try your best to use it without the user having to ask for it first. Use your judgement.\n- If the user specifies that they want you to run agents \"in parallel\", you MUST send a single message with multiple Task tool use content blocks. For example, if you need to launch both a code-reviewer agent and a test-runner agent in parallel, send a single message with both tool calls.\n\n{%- if teamEnabled %}\n## Spawning Teammates\n\nWhen a team is active (created via TeamCreate), you can spawn teammates by providing the `name` and optionally `team_name` parameters:\n\n- `name`: Name for the spawned agent (e.g., \"researcher\", \"tester\", \"frontend-dev\")\n- `team_name`: Team name for spawning. Uses current team context if omitted.\n- `mode`: Permission mode for the spawned teammate (e.g., \"plan\" to require plan approval)\n- `max_turns`: Maximum number of agentic turns (API round-trips) before the agent stops\n\nTeammates always run in the background in detached mode. They communicate via the SendMessage tool and coordinate through the shared task list.\n{%- endif %}\n\nExample usage:\n\n<example_agent_descriptions>\n\"code-reviewer\": use this agent after you are done writing a signficant piece of code\n\"greeting-responder\": use this agent when to respond to user greetings with a friendly joke\n</example_agent_description>\n\n<example>\nuser: \"Please write a function that checks if a number is prime\"\nassistant: Sure let me write a function that checks if a number is prime\nassistant: First let me use the Write tool to write a function that checks if a number is prime\nassistant: I'm going to use the Write tool to write the following code:\n<code>\nfunction isPrime(n) {\n if (n <= 1) return false\n for (let i = 2; i * i <= n; i++) {\n if (n % i === 0) return false\n }\n return true\n}\n</code>\n<commentary>\nSince a signficant piece of code was written and the task was completed, now use the code-reviewer agent to run the tests\n</commentary>\nassistant: Now let me use the code-reviewer agent to run the tests\nassistant: Uses the Task tool to launch the code-reviewer agent\n</example>\n\n<example>\nuser: \"Hello\"\n<commentary>\nSince the user is greeting, use the greeting-responder agent to respond with a friendly joke\n</commentary>\nassistant: \"I'm going to use the Task tool to launch the greeting-responder agent\"\n</example>\n"
438
438
  },
439
439
  {
440
440
  "name": "tool-bash-description",
@@ -602,11 +602,11 @@
602
602
  },
603
603
  {
604
604
  "name": "tool-sendmessage-description",
605
- "template": "# SendMessageTool\n\nSend messages to agent teammates and handle protocol requests/responses in a team.\n\n## Message Types\n\n### type: \"message\" - Send a Direct Message\n\nSend a message to a **single specific teammate**. You MUST specify the recipient.\n\n**IMPORTANT for teammates**: Your plain text output is NOT visible to the team lead or other teammates. To communicate with anyone on your team, you **MUST** use this tool. Just typing a response or acknowledgment in text is not enough.\n\n```\n{\n \"type\": \"message\",\n \"recipient\": \"researcher\",\n \"content\": \"Your message here\",\n \"summary\": \"Brief status update on auth module\"\n}\n```\n\n- **recipient**: The name of the teammate to message (required)\n- **content**: The message text (required)\n- **summary**: A 5-10 word summary shown as preview in the UI (required)\n\n### type: \"broadcast\" - Send Message to ALL Teammates (USE SPARINGLY)\n\nSend the **same message to everyone** on the team at once.\n\n**WARNING: Broadcasting is expensive.** Each broadcast sends a separate message to every teammate, which means:\n- N teammates = N separate message deliveries\n- Each delivery consumes API resources\n- Costs scale linearly with team size\n\n```\n{\n \"type\": \"broadcast\",\n \"content\": \"Message to send to all teammates\",\n \"summary\": \"Critical blocking issue found\"\n}\n```\n\n- **content**: The message content to broadcast (required)\n- **summary**: A 5-10 word summary shown as preview in the UI (required)\n\n**CRITICAL: Use broadcast only when absolutely necessary.** Valid use cases:\n- Critical issues requiring immediate team-wide attention (e.g., \"stop all work, blocking bug found\")\n- Major announcements that genuinely affect every teammate equally\n\n**Default to \"message\" instead of \"broadcast\".** Use \"message\" for:\n- Responding to a single teammate\n- Normal back-and-forth communication\n- Following up on a task with one person\n- Sharing findings relevant to only some teammates\n- Any message that doesn't require everyone's attention\n\n### type: \"shutdown_request\" - Request a Teammate to Shut Down\n\nUse this to ask a teammate to gracefully shut down:\n\n```\n{\n \"type\": \"shutdown_request\",\n \"recipient\": \"researcher\",\n \"content\": \"Task complete, wrapping up the session\"\n}\n```\n\nThe teammate will receive a shutdown request and can either approve (exit) or reject (continue working).\n\n### type: \"shutdown_response\" - Respond to a Shutdown Request\n\n#### Approve Shutdown\n\nWhen you receive a shutdown request as a JSON message with `type: \"shutdown_request\"`, you **MUST** respond to approve or reject it. Do NOT just acknowledge the request in text - you must actually call this tool.\n\n```\n{\n \"type\": \"shutdown_response\",\n \"request_id\": \"abc-123\",\n \"approve\": true\n}\n```\n\n**IMPORTANT**: Extract the `requestId` from the JSON message and pass it as `request_id` to the tool. Simply saying \"I'll shut down\" is not enough - you must call the tool.\n\nThis will send confirmation to the leader and terminate your process.\n\n#### Reject Shutdown\n\n```\n{\n \"type\": \"shutdown_response\",\n \"request_id\": \"abc-123\",\n \"approve\": false,\n \"content\": \"Still working on task #3, need 5 more minutes\"\n}\n```\n\nThe leader will receive your rejection with the reason.\n\n### type: \"plan_approval_response\" - Approve or Reject a Teammate's Plan\n\n#### Approve Plan\n\nWhen a teammate with `plan_mode_required` calls ExitPlanMode, they send you a plan approval request as a JSON message with `type: \"plan_approval_request\"`. Use this to approve their plan:\n\n```\n{\n \"type\": \"plan_approval_response\",\n \"request_id\": \"abc-123\",\n \"recipient\": \"researcher\",\n \"approve\": true\n}\n```\n\nAfter approval, the teammate will automatically exit plan mode and can proceed with implementation.\n\n#### Reject Plan\n\n```\n{\n \"type\": \"plan_approval_response\",\n \"request_id\": \"abc-123\",\n \"recipient\": \"researcher\",\n \"approve\": false,\n \"content\": \"Please add error handling for the API calls\"\n}\n```\n\nThe teammate will receive the rejection with your feedback and can revise their plan.\n\n## Important Notes\n\n- Messages from teammates are automatically delivered to you. You do NOT need to manually check your inbox.\n- When reporting on teammate messages, you do NOT need to quote the original message - it's already rendered to the user.\n- **IMPORTANT**: Always refer to teammates by their NAME (e.g., \"team-lead\", \"researcher\", \"tester\"), never by UUID.\n- Do NOT send structured JSON status messages. Use TaskUpdate to mark tasks completed and the system will automatically send idle notifications when you stop.\n"
605
+ "template": "# SendMessageTool\n\nSend messages to agent teammates and handle protocol requests/responses in a team.\n\n## Message Types\n\n### type: \"message\" - Send a Direct Message\n\nSend a message to a **single specific teammate**. You MUST specify the recipient.\n\n**IMPORTANT for teammates**: Your plain text output is NOT visible to the team lead or other teammates. To communicate with anyone on your team, you **MUST** use this tool. Just typing a response or acknowledgment in text is not enough.\n\n```\n{\n \"type\": \"message\",\n \"recipient\": \"researcher\",\n \"content\": \"Your message here\",\n \"summary\": \"Brief status update on auth module\"\n}\n```\n\n- **recipient**: The name of the teammate to message (required)\n- **content**: The message text (required)\n- **summary**: A 5-10 word summary shown as preview in the UI (required)\n\n### type: \"broadcast\" - Send Message to ALL Teammates (USE SPARINGLY)\n\nSend the **same message to everyone** on the team at once.\n\n**WARNING: Broadcasting is expensive.** Each broadcast sends a separate message to every teammate, which means:\n- N teammates = N separate message deliveries\n- Each delivery consumes API resources\n- Costs scale linearly with team size\n\n```\n{\n \"type\": \"broadcast\",\n \"content\": \"Message to send to all teammates\",\n \"summary\": \"Critical blocking issue found\"\n}\n```\n\n- **content**: The message content to broadcast (required)\n- **summary**: A 5-10 word summary shown as preview in the UI (required)\n\n**CRITICAL: Use broadcast only when absolutely necessary.** Valid use cases:\n- Critical issues requiring immediate team-wide attention (e.g., \"stop all work, blocking bug found\")\n- Major announcements that genuinely affect every teammate equally\n\n**Default to \"message\" instead of \"broadcast\".** Use \"message\" for:\n- Responding to a single teammate\n- Normal back-and-forth communication\n- Following up on a task with one person\n- Sharing findings relevant to only some teammates\n- Any message that doesn't require everyone's attention\n\n### type: \"shutdown_request\" - Request a Teammate to Shut Down\n\nUse this to ask a teammate to gracefully shut down:\n\n```\n{\n \"type\": \"shutdown_request\",\n \"recipient\": \"researcher\",\n \"content\": \"Task complete, wrapping up the session\"\n}\n```\n\nThe teammate will receive a shutdown request and can either approve (exit) or reject (continue working).\n\n### type: \"shutdown_response\" - Respond to a Shutdown Request\n\n#### Approve Shutdown\n\nWhen you receive a shutdown request as a JSON message with `type: \"shutdown_request\"`, you **MUST** respond to approve or reject it. Do NOT just acknowledge the request in text - you must actually call this tool.\n\n```\n{\n \"type\": \"shutdown_response\",\n \"request_id\": \"abc-123\",\n \"approve\": true\n}\n```\n\n**IMPORTANT**: Extract the `requestId` from the JSON message and pass it as `request_id` to the tool. Simply saying \"I'll shut down\" is not enough - you must call the tool.\n\nThis will send confirmation to the leader and terminate your process.\n\n#### Reject Shutdown\n\n```\n{\n \"type\": \"shutdown_response\",\n \"request_id\": \"abc-123\",\n \"approve\": false,\n \"content\": \"Still working on task #3, need 5 more minutes\"\n}\n```\n\nThe leader will receive your rejection with the reason.\n\n### type: \"plan_approval_response\" - Approve or Reject a Teammate's Plan\n\n#### Approve Plan\n\nWhen a teammate with `plan_mode_required` calls ExitPlanMode, they send you a plan approval request as a JSON message with `type: \"plan_approval_request\"`. Use this to approve their plan:\n\n```\n{\n \"type\": \"plan_approval_response\",\n \"request_id\": \"abc-123\",\n \"recipient\": \"researcher\",\n \"approve\": true\n}\n```\n\nAfter approval, the teammate will automatically exit plan mode and can proceed with implementation.\n\n#### Reject Plan\n\n```\n{\n \"type\": \"plan_approval_response\",\n \"request_id\": \"abc-123\",\n \"recipient\": \"researcher\",\n \"approve\": false,\n \"content\": \"Please add error handling for the API calls\"\n}\n```\n\nThe teammate will receive the rejection with your feedback and can revise their plan.\n\n## Important Notes\n\n- Messages from teammates are automatically delivered to you. You do NOT need to manually check your inbox.\n- When reporting on teammate messages, you do NOT need to quote the original message - it's already rendered to the user.\n- **IMPORTANT**: Always refer to teammates by their NAME (e.g., \"team-lead\", \"researcher\", \"tester\"), never by UUID.\n- Do NOT send structured JSON status messages. Use TaskUpdate to mark tasks completed and the system will automatically send idle notifications when you stop.\n\n## Background Agent Usage\n\nThis tool is also available to **background agents** launched via the Task tool with `run_in_background: true`. Background agents should use this tool to send their results back to the main agent:\n\n```\n{\n \"type\": \"message\",\n \"recipient\": \"main\",\n \"content\": \"Here are my findings: ...\",\n \"summary\": \"Completed analysis of auth module\"\n}\n```\n\n- **recipient**: Use `\"main\"` to send results back to the main agent\n- The main agent will automatically receive and process the message\n"
606
606
  },
607
607
  {
608
608
  "name": "team-sys-prompt",
609
- "template": "# Agent Teammate Communication\n\nYou are **{{ memberName }}**, a teammate in team **{{ teamName }}**.\n\nYour fellow team members are: {{ teamMembers }}\n\nIMPORTANT: You are running as an agent in a team. To communicate with anyone on your team:\n- Use the SendMessage tool with type `message` to send messages to specific teammates\n- Use the SendMessage tool with type `broadcast` sparingly for team-wide announcements\n\nJust writing a response in text is NOT visible to others on your team - you MUST use the SendMessage tool.\n\nThe user interacts primarily with the team lead. Your work is coordinated through the task system and teammate messaging.\n\n## Key Rules\n- Refer to teammates by their NAME when sending messages (e.g. `recipient: \"team-lead\"`)\n- When you complete a task, use TaskUpdate to mark it as completed, then check TaskList for next available work\n- When you need input from a teammate, send them a message and wait\n- When you finish all assigned work, send a summary to the team lead\n- Do NOT send structured JSON status messages. Communicate in plain text.\n"
609
+ "template": "# Agent Teammate Communication\n\nYou are **{{ memberName }}**, a teammate in team **{{ teamName }}**.\n\nYour fellow team members are: {{ teamMembers }}\n\nIMPORTANT: You are running as an agent in a team. To communicate with anyone on your team:\n- Use the SendMessage tool with type `message` to send messages to specific teammates\n- Use the SendMessage tool with type `broadcast` sparingly for team-wide announcements\n\nJust writing a response in text is NOT visible to others on your team - you MUST use the SendMessage tool.\n\nThe user interacts primarily with the team lead. Your work is coordinated through the task system and teammate messaging.\n\n## Key Rules\n- Refer to teammates by their NAME when sending messages (e.g. `recipient: \"team-lead\"` or `recipient: \"<teammate-name>\"`)\n- When you complete a task, use TaskUpdate to mark it as completed, then check TaskList for next available work\n- When you need input from a teammate, send them a message and wait\n- When you finish all assigned work, send a summary of your results to `team-lead`\n- Do NOT send structured JSON status messages. Communicate in plain text.\n"
610
610
  },
611
611
  {
612
612
  "name": "output-style-explanatory",
@@ -694,7 +694,6 @@
694
694
  ],
695
695
  "tools": [
696
696
  "Task",
697
- "TaskOutput",
698
697
  "Read",
699
698
  "Write",
700
699
  "Edit",
@@ -712,6 +711,7 @@
712
711
  "WebSearch",
713
712
  "NotebookEdit",
714
713
  "TaskStop",
714
+ "TaskOutput",
715
715
  "Skill",
716
716
  "AskUserQuestion",
717
717
  "LSP",
@@ -748,6 +748,7 @@
748
748
  "WebSearch",
749
749
  "NotebookEdit",
750
750
  "TaskStop",
751
+ "TaskOutput",
751
752
  "Skill",
752
753
  "AskUserQuestion",
753
754
  "LSP",
@@ -885,6 +886,23 @@
885
886
  "sub-agent"
886
887
  ]
887
888
  },
889
+ {
890
+ "name": "Bash",
891
+ "instructions": "agent-bash-instructions",
892
+ "description": "Command execution specialist for running bash commands. Use this for git operations, running build tools, executing tests, installing dependencies, and other terminal tasks.",
893
+ "color": "#5b9bd5",
894
+ "models": [
895
+ "lite"
896
+ ],
897
+ "tools": [
898
+ "Bash"
899
+ ],
900
+ "asTool": true,
901
+ "tags": [
902
+ "cli",
903
+ "sub-agent"
904
+ ]
905
+ },
888
906
  {
889
907
  "name": "Plan",
890
908
  "instructions": "agent-plan-instructions",
@@ -897,8 +915,6 @@
897
915
  "Bash",
898
916
  "Glob",
899
917
  "Grep",
900
- "EnterPlanMode",
901
- "ExitPlanMode",
902
918
  "TaskCreate",
903
919
  "TaskGet",
904
920
  "TaskUpdate",
@@ -906,7 +922,10 @@
906
922
  "WebFetch",
907
923
  "WebSearch",
908
924
  "Skill",
909
- "AskUserQuestion"
925
+ "ToolSearch",
926
+ "TeamCreate",
927
+ "TeamDelete",
928
+ "SendMessage"
910
929
  ],
911
930
  "asTool": true,
912
931
  "tags": [
@@ -1162,14 +1181,6 @@
1162
1181
  "name": "ExitPlanMode",
1163
1182
  "description": "tool-exit-planmode-description"
1164
1183
  },
1165
- {
1166
- "name": "BashOutput",
1167
- "description": "tool-bashoutput-description"
1168
- },
1169
- {
1170
- "name": "TaskOutput",
1171
- "description": "tool-taskoutput-description"
1172
- },
1173
1184
  {
1174
1185
  "name": "KillShell",
1175
1186
  "description": "tool-killshell-description"
@@ -1178,6 +1189,10 @@
1178
1189
  "name": "TaskStop",
1179
1190
  "description": "tool-taskstop-description"
1180
1191
  },
1192
+ {
1193
+ "name": "TaskOutput",
1194
+ "description": "tool-taskoutput-description"
1195
+ },
1181
1196
  {
1182
1197
  "name": "SlashCommand",
1183
1198
  "description": "tool-slashcommand-description"
@@ -1223,6 +1238,6 @@
1223
1238
  "description": "tool-sendmessage-description"
1224
1239
  }
1225
1240
  ],
1226
- "commit": "d9942f6ec5032ddf63704af659636540b9080b97",
1227
- "date": "2026-02-13T15:33:02.458Z"
1241
+ "commit": "9fe43db2bb6d365844755e53043394a15830296a",
1242
+ "date": "2026-02-14T09:39:03.948Z"
1228
1243
  }
@@ -15,7 +15,6 @@
15
15
  ],
16
16
  "tools": [
17
17
  "Task",
18
- "TaskOutput",
19
18
  "Read",
20
19
  "Write",
21
20
  "Edit",
@@ -33,6 +32,7 @@
33
32
  "WebSearch",
34
33
  "NotebookEdit",
35
34
  "TaskStop",
35
+ "TaskOutput",
36
36
  "Skill",
37
37
  "AskUserQuestion",
38
38
  "Lsp",
@@ -68,6 +68,7 @@
68
68
  "WebSearch",
69
69
  "NotebookEdit",
70
70
  "TaskStop",
71
+ "TaskOutput",
71
72
  "Skill",
72
73
  "AskUserQuestion",
73
74
  "Lsp",
@@ -196,6 +197,23 @@
196
197
  "sub-agent"
197
198
  ]
198
199
  },
200
+ {
201
+ "name": "Bash",
202
+ "instructions": "agent-bash-instructions",
203
+ "description": "Command execution specialist for running bash commands. Use this for git operations, running build tools, executing tests, installing dependencies, and other terminal tasks.",
204
+ "color": "#5b9bd5",
205
+ "models": [
206
+ "lite"
207
+ ],
208
+ "tools": [
209
+ "Bash"
210
+ ],
211
+ "asTool": true,
212
+ "tags": [
213
+ "cli",
214
+ "sub-agent"
215
+ ]
216
+ },
199
217
  {
200
218
  "name": "Plan",
201
219
  "instructions": "agent-plan-instructions",
@@ -208,8 +226,6 @@
208
226
  "Bash",
209
227
  "Glob",
210
228
  "Grep",
211
- "EnterPlanMode",
212
- "ExitPlanMode",
213
229
  "TaskCreate",
214
230
  "TaskGet",
215
231
  "TaskUpdate",
@@ -217,7 +233,10 @@
217
233
  "WebFetch",
218
234
  "WebSearch",
219
235
  "Skill",
220
- "AskUserQuestion"
236
+ "ToolSearch",
237
+ "TeamCreate",
238
+ "TeamDelete",
239
+ "SendMessage"
221
240
  ],
222
241
  "asTool": true,
223
242
  "tags": [
@@ -255,6 +274,6 @@
255
274
  "CustomModelsJSON": true,
256
275
  "DeferToolLoading": true
257
276
  },
258
- "commit": "d9942f6ec5032ddf63704af659636540b9080b97",
259
- "date": "2026-02-13T15:33:02.478Z"
277
+ "commit": "9fe43db2bb6d365844755e53043394a15830296a",
278
+ "date": "2026-02-14T09:39:04.017Z"
260
279
  }