Skip to content

Commit 8e21573

Browse files
committed
Align task tool names with Claude Code
1 parent 9d8e337 commit 8e21573

11 files changed

Lines changed: 56 additions & 55 deletions

File tree

minion_code/acp_server/hooks.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,11 @@
4141
"glob": "search",
4242
"grep": "search",
4343
"bash": "execute",
44-
"Task": "execute",
45-
"TaskStatus": "read",
44+
"TaskCreate": "execute",
45+
"TaskGet": "read",
4646
"TaskOutput": "read",
4747
"TaskList": "read",
48-
"TaskCancel": "execute",
48+
"TaskStop": "execute",
4949
"python_interpreter": "execute",
5050
"web_fetch": "fetch",
5151
"web_search": "search",
@@ -68,7 +68,7 @@
6868
"final_answer",
6969
"user_input",
7070
"Skill",
71-
"TaskStatus",
71+
"TaskGet",
7272
"TaskOutput",
7373
"TaskList",
7474
# Note: file_write, file_edit, bash, python_interpreter are NOT safe

minion_code/agents/code_agent.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,10 @@
4242
TodoWriteTool,
4343
TodoReadTool,
4444
SkillTool,
45-
TaskStatusTool,
45+
TaskGetTool,
4646
TaskOutputTool,
4747
TaskListTool,
48-
TaskCancelTool,
48+
TaskStopTool,
4949
TOOL_MAPPING,
5050
)
5151

@@ -264,8 +264,8 @@ class MinionCodeAgent(CodeAgent):
264264
"- Use specialized tools instead of bash commands when possible. For file operations, use dedicated tools:\n"
265265
" file_read for reading files instead of cat/head/tail, file_edit for editing instead of sed/awk,\n"
266266
" and file_write for creating files instead of cat with heredoc or echo redirection.\n"
267-
"- Long-running `bash` and `Task` calls may return a background `task_id` instead of a final result.\n"
268-
" Use `TaskStatus`, `TaskOutput`, `TaskList`, and `TaskCancel` to manage these jobs.\n"
267+
"- Long-running `bash` and `TaskCreate` calls may return a background `task_id` instead of a final result.\n"
268+
" Use `TaskGet`, `TaskOutput`, `TaskList`, and `TaskStop` to manage these jobs.\n"
269269
"- Reserve bash tools exclusively for actual system commands and terminal operations that require shell execution.\n"
270270
"- NEVER use bash echo or other command-line tools to communicate thoughts, explanations, or instructions to the user.\n"
271271
" Output all communication directly in your response text instead.\n"
@@ -446,20 +446,20 @@ async def create(
446446
TodoWriteTool(),
447447
TodoReadTool(),
448448
SkillTool(),
449-
TaskStatusTool(workdir=workdir_str),
449+
TaskGetTool(workdir=workdir_str),
450450
TaskOutputTool(workdir=workdir_str),
451451
TaskListTool(workdir=workdir_str),
452-
TaskCancelTool(workdir=workdir_str),
452+
TaskStopTool(workdir=workdir_str),
453453
# Web tools from minion
454454
WebFetchTool(),
455455
WebSearchTool(),
456456
]
457457

458-
# Add TaskTool if available (avoid circular import)
458+
# Add TaskCreateTool if available (avoid circular import)
459459
try:
460-
from ..tools.task_tool import TaskTool
460+
from ..tools.task_tool import TaskCreateTool
461461

462-
minion_tools.append(TaskTool(workdir=str(workdir)))
462+
minion_tools.append(TaskCreateTool(workdir=str(workdir)))
463463
except ImportError:
464464
pass
465465

minion_code/agents/hooks.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ def _format_tool_input(tool_name: str, tool_input: Dict[str, Any]) -> str:
104104
if tool_name == "file_read":
105105
return f"File: {tool_input.get('file_path', '')}"
106106

107-
if tool_name == "Task":
107+
if tool_name == "TaskCreate":
108108
desc = tool_input.get("description", "")
109109
prompt = tool_input.get("prompt", "")
110110
subagent = tool_input.get("subagent_type", "general-purpose")
@@ -159,7 +159,7 @@ async def confirm_writes(
159159
"web_search",
160160
"todo_read",
161161
"user_input",
162-
"TaskStatus",
162+
"TaskGet",
163163
"TaskOutput",
164164
"TaskList",
165165
}
@@ -230,7 +230,7 @@ def create_cli_confirm_hook(
230230
"web_search",
231231
"todo_read",
232232
"user_input",
233-
"TaskStatus",
233+
"TaskGet",
234234
"TaskOutput",
235235
"TaskList",
236236
}

minion_code/subagents/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"""
44
Subagents system for MinionCode
55
6-
Subagents are specialized agent configurations that can be invoked via the Task tool.
6+
Subagents are specialized agent configurations that can be invoked via the TaskCreate tool.
77
Each subagent has specific tools, system prompts, and use cases.
88
99
Subagent search paths (in priority order):

minion_code/subagents/subagent_registry.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ def generate_subagents_prompt(self, char_budget: int = 10000) -> str:
115115

116116
def generate_tool_description_lines(self) -> str:
117117
"""
118-
Generate description lines for the Task tool.
118+
Generate description lines for the TaskCreate tool.
119119
120120
Returns:
121121
Multi-line string with each subagent's prompt line

minion_code/tools/__init__.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@
1919
from .ls_tool import LsTool
2020
from .python_interpreter_tool import PythonInterpreterTool
2121
from .user_input_tool import UserInputTool
22-
from .task_tool import TaskTool
23-
from .task_status_tool import TaskStatusTool
22+
from .task_tool import TaskCreateTool
23+
from .task_status_tool import TaskGetTool
2424
from .task_output_tool import TaskOutputTool
2525
from .task_list_tool import TaskListTool
26-
from .task_cancel_tool import TaskCancelTool
26+
from .task_cancel_tool import TaskStopTool
2727

2828
from .todo_write_tool import TodoWriteTool
2929
from .todo_read_tool import TodoReadTool
@@ -43,11 +43,11 @@
4343
LsTool,
4444
PythonInterpreterTool,
4545
UserInputTool,
46-
TaskTool,
47-
TaskStatusTool,
46+
TaskCreateTool,
47+
TaskGetTool,
4848
TaskOutputTool,
4949
TaskListTool,
50-
TaskCancelTool,
50+
TaskStopTool,
5151
TodoWriteTool,
5252
TodoReadTool,
5353
SkillTool,
@@ -69,11 +69,11 @@
6969
# Execution tools
7070
"PythonInterpreterTool",
7171
# Task tools
72-
"TaskTool",
73-
"TaskStatusTool",
72+
"TaskCreateTool",
73+
"TaskGetTool",
7474
"TaskOutputTool",
7575
"TaskListTool",
76-
"TaskCancelTool",
76+
"TaskStopTool",
7777
# Web tools
7878
# Interactive tools
7979
"UserInputTool",

minion_code/tools/task_cancel_tool.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#!/usr/bin/env python3
2-
"""Cancel managed background tasks."""
2+
"""Stop managed background tasks."""
33

44
from __future__ import annotations
55

@@ -12,16 +12,16 @@
1212
from ..utils.background_tasks import get_background_task_manager
1313

1414

15-
class TaskCancelTool(AsyncBaseTool):
16-
"""Cancel a running background task."""
15+
class TaskStopTool(AsyncBaseTool):
16+
"""Stop a running background task."""
1717

18-
name = "TaskCancel"
19-
description = "Cancel a running background task by task_id."
18+
name = "TaskStop"
19+
description = "Stop a running background task by task_id."
2020
readonly = False
2121
inputs = {
2222
"task_id": {
2323
"type": "string",
24-
"description": "The task_id returned by bash or Task.",
24+
"description": "The task_id returned by bash or TaskCreate.",
2525
}
2626
}
2727
output_type = "string"

minion_code/tools/task_output_tool.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ class TaskOutputTool(BaseTool):
2121
inputs = {
2222
"task_id": {
2323
"type": "string",
24-
"description": "The task_id returned by bash or Task.",
24+
"description": "The task_id returned by bash or TaskCreate.",
2525
},
2626
"offset": {
2727
"type": "integer",

minion_code/tools/task_status_tool.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#!/usr/bin/env python3
2-
"""Read status for managed background tasks."""
2+
"""Read details for managed background tasks."""
33

44
from __future__ import annotations
55

@@ -12,16 +12,16 @@
1212
from ..utils.background_tasks import get_background_task_manager
1313

1414

15-
class TaskStatusTool(BaseTool):
16-
"""Return structured status for a background task."""
15+
class TaskGetTool(BaseTool):
16+
"""Return structured details for a background task."""
1717

18-
name = "TaskStatus"
19-
description = "Get the current status of a background task by task_id."
18+
name = "TaskGet"
19+
description = "Get the current details of a background task by task_id."
2020
readonly = True
2121
inputs = {
2222
"task_id": {
2323
"type": "string",
24-
"description": "The task_id returned by bash or Task.",
24+
"description": "The task_id returned by bash or TaskCreate.",
2525
}
2626
}
2727
output_type = "string"

minion_code/tools/task_tool.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#!/usr/bin/env python3
2-
"""Task tool for running subagents as managed jobs."""
2+
"""TaskCreate tool for running subagents as managed jobs."""
33

44
from __future__ import annotations
55

@@ -16,7 +16,7 @@
1616

1717

1818
def generate_task_tool_prompt() -> str:
19-
"""Generate the dynamic Task tool description."""
19+
"""Generate the dynamic TaskCreate tool description."""
2020
from ..subagents import load_subagents
2121

2222
registry = load_subagents()
@@ -42,10 +42,10 @@ def generate_task_tool_prompt() -> str:
4242
"""
4343

4444

45-
class TaskTool(AsyncBaseTool):
45+
class TaskCreateTool(AsyncBaseTool):
4646
"""Launch a subagent and optionally background it."""
4747

48-
name = "Task"
48+
name = "TaskCreate"
4949
description = "Launch a subagent job to handle complex tasks."
5050
readonly = False
5151
needs_state = True

0 commit comments

Comments
 (0)