You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Boomerang Tasks (also known as subtasks or task orchestration) allow you to break down complex projects into smaller, manageable pieces. Think of it like delegating parts of your work to specialized assistants. Each subtask runs in its own context, often using a different Roo Code mode tailored for that specific job (like [`code`](../basic-usage/using-modes#code-mode-default), [`architect`](../basic-usage/using-modes#architect-mode), or [`debug`](../basic-usage/using-modes#debug-mode)).
7
+
Boomerang Tasks (also known as subtasks or task orchestration) allow you to break down complex projects into smaller, manageable pieces. Think of it like delegating parts of your work to specialized assistants. Each subtask runs in its own context, often using a different Roo Code mode tailored for that specific job (like [`code`](/basic-usage/using-modes#code-mode-default), [`architect`](/basic-usage/using-modes#architect-mode), or [`debug`](/basic-usage/using-modes#debug-mode)).
8
8
9
9
:::info Boomerang Mode is a Custom Mode
10
10
The `Boomerang Mode` mentioned here is not a built-in mode but a custom mode you can create yourself. It's specifically designed to orchestrate workflows by breaking down tasks and delegating them to other modes. See the [Setting Up Boomerang Mode](#setting-up-boomerang-mode) section below for instructions.
11
11
12
-
Learn more about [Built-in Modes](../basic-usage/using-modes#built-in-modes) or the general process of creating [Custom Modes](./custom-modes).
12
+
Learn more about [Built-in Modes](/basic-usage/using-modes#built-in-modes) or the general process of creating [Custom Modes](/features/custom-modes).
13
13
:::
14
14
15
15
## Why Use Boomerang Tasks?
@@ -21,35 +21,29 @@ Learn more about [Built-in Modes](../basic-usage/using-modes#built-in-modes) or
21
21
22
22
## How It Works
23
23
24
-
1. Using a [Custom Mode](./custom-modes) configured for orchestration (like the [`Boomerang Mode` described below](#setting-up-boomerang-mode)), Roo can analyze a complex task and suggest breaking it down into a subtask[^1].
25
-
26
-
<!-- Image Placeholder: Screenshot of the subtask approval prompt in the chat -->
27
-
<imgsrc="/img/boomerang-tasks/subtask-approval.png"alt="Roo asking for approval to start a new subtask"width="600" />
24
+
1. Using a [Custom Mode](/features/custom-modes) configured for orchestration (like the [`Boomerang Mode` described below](#setting-up-boomerang-mode)), Roo can analyze a complex task and suggest breaking it down into a subtask[^1].
28
25
29
26
2. The parent task pauses, and the new subtask begins in a different mode[^2].
30
27
3. When the subtask's goal is achieved, Roo signals completion.
31
28
4. The parent task resumes with only the summary[^3] of the subtask. The parent uses this summary to continue the main workflow.
32
29
33
30
## Key Considerations
34
31
35
-
-**Approval Required:** By default, you must approve the creation and completion of each subtask. This can be automated via the [Auto-Approving Actions](./auto-approving-actions#subtasks) settings if desired.
32
+
-**Approval Required:** By default, you must approve the creation and completion of each subtask. This can be automated via the [Auto-Approving Actions](/features/auto-approving-actions#subtasks) settings if desired.
36
33
-**Context Isolation and Transfer:** Each subtask operates in complete isolation with its own conversation history. It does not automatically inherit the parent's context. Information must be explicitly passed:
37
34
***Down:** Via the initial instructions provided when the subtask is created.
38
35
***Up:** Via the final summary provided when the subtask finishes. Be mindful that only this summary returns to the parent.
39
36
-**Navigation:** Roo's interface helps you see the hierarchy of tasks (which task is the parent, which are children). You can typically navigate between active and paused tasks.
40
37
41
-
<!-- Image Placeholder: Screenshot of the task hierarchy/navigation UI element -->
42
-
<imgsrc="/img/boomerang-tasks/task-navigation.png"alt="UI showing parent and child tasks for navigation"width="400" />
43
-
44
38
Boomerang Tasks provide a powerful way to manage complex development workflows directly within Roo Code, leveraging specialized modes for maximum efficiency.
45
39
46
40
:::tip Keep Tasks Focused
47
41
48
42
## Setting Up Boomerang Mode
49
43
50
-
You can create your own Boomerang Mode to manage complex workflows. Follow the steps in the [Custom Modes](./custom-modes) documentation, using the text below for the key configuration fields.
44
+
You can create your own Boomerang Mode to manage complex workflows. Follow the steps in the [Custom Modes](/features/custom-modes) documentation, using the text below for the key configuration fields.
51
45
52
-
**Recommended Tool Access:** Ensure **all tool access checkboxes are unchecked** in the "Available Tools" section when creating the mode. Boomerang Mode primarily uses the [`new_task`](./tools/new-task) capability (which doesn't require specific tool group permissions) to delegate work to other modes.
46
+
**Recommended Tool Access:** Ensure **all tool access checkboxes are unchecked** in the "Available Tools" section when creating the mode. Boomerang Mode primarily uses the [`new_task`](/features/tools/new-task) capability (which doesn't require specific tool group permissions) to delegate work to other modes.
53
47
54
48
**Role Definition:**
55
49
```text title="Copy this for the 'Role Definition' field"
@@ -66,7 +60,7 @@ Your role is to coordinate complex workflows by delegating tasks to specialized
66
60
* All necessary context from the parent task or previous subtasks required to complete the work.
67
61
* A clearly defined scope, specifying exactly what the subtask should accomplish.
68
62
* An explicit statement that the subtask should *only* perform the work outlined in these instructions and not deviate.
69
-
* An instruction for the subtask to signal completion by using the `attempt_completion` tool, providing a concise yet thourough summary of the outcome in the `result` parameter, keeping in mind that this summary will be the source of truth used to keep track of what was completed on this project.
63
+
* An instruction for the subtask to signal completion by using the `attempt_completion` tool, providing a concise yet thourough summary of the outcome in the `result` parameter, keeping in mind that this summary will be the source of truth used to keep track of what was completed on this project.
70
64
* A statement that these specific instructions supersede any conflicting general instructions the subtask's mode might have.
71
65
72
66
3. Track and manage the progress of all subtasks. When a subtask is completed, analyze its results and determine the next steps.
@@ -86,6 +80,6 @@ A downloadable `.roomodes` file containing this configuration will be available
86
80
Use subtasks to maintain clarity. If a request significantly shifts focus or requires a different expertise (mode), consider creating a subtask rather than overloading the current one.
87
81
:::
88
82
89
-
[^1]: This context is passed via the `message` parameter of the [`new_task`](./tools/new-task) tool.
90
-
[^2]: The mode for the subtask is specified via the `mode` parameter of the [`new_task`](./tools/new-task) tool during initiation.
91
-
[^3]: This summary is passed via the `result` parameter of the [`attempt_completion`](./tools/attempt-completion) tool when the subtask finishes.
83
+
[^1]: This context is passed via the `message` parameter of the [`new_task`](/features/tools/new-task) tool.
84
+
[^2]: The mode for the subtask is specified via the `mode` parameter of the [`new_task`](/features/tools/new-task) tool during initiation.
85
+
[^3]: This summary is passed via the `result` parameter of the [`attempt_completion`](/features/tools/attempt-completion) tool when the subtask finishes.
0 commit comments