|
| 1 | +# update_todo_list |
| 2 | + |
| 3 | +The `update_todo_list` tool enables dynamic, interactive task management within the chat interface. It replaces the entire TODO list with an updated checklist, ensuring that task status is always current and providing step-by-step tracking for complex, multi-step workflows. |
| 4 | + |
| 5 | +--- |
| 6 | + |
| 7 | +## Parameters |
| 8 | + |
| 9 | +The tool accepts these parameters: |
| 10 | + |
| 11 | +- `todos` (required): A markdown-formatted string representing the complete checklist with status indicators |
| 12 | + |
| 13 | +--- |
| 14 | + |
| 15 | +## What It Does |
| 16 | + |
| 17 | +This tool creates and manages an interactive todo list that appears as a UI component in the chat interface. It allows for real-time task tracking, status updates, and dynamic addition of new items as they are discovered during complex workflows. The list provides a structured way to manage multi-step tasks with clear visual progress indicators. |
| 18 | + |
| 19 | +--- |
| 20 | + |
| 21 | +## When is it used? |
| 22 | + |
| 23 | +- When managing complex, multi-step tasks that benefit from structured tracking |
| 24 | +- When Roo needs to show progress through a series of related activities |
| 25 | +- When tasks require step-by-step completion verification before proceeding |
| 26 | +- When new actionable items are discovered during long or complex workflows |
| 27 | +- When providing clear checkpoints and progress visibility to users |
| 28 | + |
| 29 | +--- |
| 30 | + |
| 31 | +## Key Features |
| 32 | + |
| 33 | +- **Full Checklist Replacement**: Overwrites the existing todo list with the updated version provided |
| 34 | +- **Interactive UI Component**: Displays as an editable interface element in the chat |
| 35 | +- **Multiple Status Types**: Supports pending, in-progress, and completed task states |
| 36 | +- **Dynamic Task Management**: Add new tasks as they arise during workflow execution |
| 37 | +- **User-Friendly Editing**: Provides direct editing capabilities within the chat interface |
| 38 | +- **Step-by-Step Tracking**: Enables confirmation of each step before updating and proceeding |
| 39 | +- **Progress Visualization**: Clear visual indicators for task completion status |
| 40 | +- **Workflow Integration**: Seamlessly integrates with task execution and completion flows |
| 41 | + |
| 42 | +--- |
| 43 | + |
| 44 | +## Limitations |
| 45 | + |
| 46 | +- **Complete Replacement**: Replaces the entire list rather than making incremental updates |
| 47 | +- **Single-Level Structure**: Uses single-level markdown checklists without nesting support |
| 48 | +- **Format Requirements**: Requires specific markdown checkbox syntax for proper parsing |
| 49 | +- **Manual Updates**: Requires explicit tool calls to update the list status |
| 50 | +- **State Management**: Todo list state is tied to the current task and conversation context |
| 51 | + |
| 52 | +--- |
| 53 | + |
| 54 | +## How It Works |
| 55 | + |
| 56 | +When the `update_todo_list` tool is invoked, it follows this process: |
| 57 | + |
| 58 | +1. **Input Validation**: |
| 59 | + - Validates the required `todos` parameter is provided |
| 60 | + - Parses the markdown checklist format for syntax correctness |
| 61 | + - Checks for valid status indicators: `[ ]`, `[-]`, and `[x]` |
| 62 | + |
| 63 | +2. **List Processing**: |
| 64 | + - Processes the markdown-formatted checklist |
| 65 | + - Extracts individual todo items with their status indicators |
| 66 | + - Validates the structure and format of each item |
| 67 | + |
| 68 | +3. **UI Integration**: |
| 69 | + - Presents the updated todo list to the user for approval |
| 70 | + - Replaces any existing todo list with the new version |
| 71 | + - Renders the list as an interactive component in the chat interface |
| 72 | + |
| 73 | +4. **User Interaction**: |
| 74 | + - Allows users to edit todos directly in the UI when in editing mode |
| 75 | + - Provides "Add Todo" functionality for real-time list expansion |
| 76 | + - Synchronizes changes back to the extension to maintain state consistency |
| 77 | + |
| 78 | +5. **State Management**: |
| 79 | + - Updates the task's internal todo list representation |
| 80 | + - Maintains synchronization between UI state and backend data |
| 81 | + - Preserves todo list state across conversation interactions |
| 82 | + |
| 83 | +--- |
| 84 | + |
| 85 | +## Checklist Format Requirements |
| 86 | + |
| 87 | +The tool uses a specific markdown format for todo items: |
| 88 | + |
| 89 | +### Status Options |
| 90 | +- `[ ]` - Pending task (not started) |
| 91 | +- `[-]` - In progress task (currently being worked on) |
| 92 | +- `[x]` - Completed task (fully finished) |
| 93 | + |
| 94 | +### Format Rules |
| 95 | +- Use single-level markdown checklist (no nesting or subtasks) |
| 96 | +- List todos in intended execution order |
| 97 | +- Each todo item should be clear and actionable |
| 98 | +- Status should accurately reflect current task state |
| 99 | + |
| 100 | +--- |
| 101 | + |
| 102 | +## Task Management Guidelines |
| 103 | + |
| 104 | +### Status Updates |
| 105 | +- Mark tasks as completed immediately after all work is finished |
| 106 | +- Start the next task by marking it as in progress |
| 107 | +- Use pending status for tasks not yet started |
| 108 | +- Only mark tasks as completed when fully accomplished with no unresolved dependencies |
| 109 | + |
| 110 | +### Dynamic List Management |
| 111 | +- Add new todos as soon as they are identified during task execution |
| 112 | +- Remove tasks only if they are no longer relevant or explicitly requested |
| 113 | +- Retain all unfinished tasks and update their status as needed |
| 114 | +- If a task is blocked, keep it as in progress and add new todos for resolution steps |
| 115 | + |
| 116 | +--- |
| 117 | + |
| 118 | +## Examples When Used |
| 119 | + |
| 120 | +- When developing a web application, Roo creates a todo list tracking design, implementation, testing, and deployment phases. |
| 121 | +- When setting up a development environment, Roo tracks installation of dependencies, configuration steps, and verification tasks. |
| 122 | +- When debugging complex issues, Roo maintains a list of investigation steps, potential causes, and testing procedures. |
| 123 | +- When refactoring code, Roo tracks which files need updates, what tests need modification, and documentation changes required. |
| 124 | +- When implementing new features, Roo manages tasks for planning, coding, testing, and integration steps. |
| 125 | + |
| 126 | +--- |
| 127 | + |
| 128 | +## Usage Examples |
| 129 | + |
| 130 | +Creating an initial todo list for a development task: |
| 131 | +```xml |
| 132 | +<update_todo_list> |
| 133 | +<todos> |
| 134 | +[ ] Analyze requirements |
| 135 | +[ ] Design architecture |
| 136 | +[ ] Implement core logic |
| 137 | +[ ] Write tests |
| 138 | +[ ] Update documentation |
| 139 | +</todos> |
| 140 | +</update_todo_list> |
| 141 | +``` |
| 142 | + |
| 143 | +Updating progress after completing the first task: |
| 144 | +```xml |
| 145 | +<update_todo_list> |
| 146 | +<todos> |
| 147 | +[x] Analyze requirements |
| 148 | +[-] Design architecture |
| 149 | +[ ] Implement core logic |
| 150 | +[ ] Write tests |
| 151 | +[ ] Update documentation |
| 152 | +</todos> |
| 153 | +</update_todo_list> |
| 154 | +``` |
| 155 | + |
| 156 | +Adding new tasks discovered during implementation: |
| 157 | +```xml |
| 158 | +<update_todo_list> |
| 159 | +<todos> |
| 160 | +[x] Analyze requirements |
| 161 | +[x] Design architecture |
| 162 | +[x] Implement core logic |
| 163 | +[-] Write tests |
| 164 | +[ ] Update documentation |
| 165 | +[ ] Add performance benchmarks |
| 166 | +[ ] Create deployment script |
| 167 | +</todos> |
| 168 | +</update_todo_list> |
| 169 | +``` |
| 170 | + |
| 171 | +Managing a complex debugging workflow: |
| 172 | +```xml |
| 173 | +<update_todo_list> |
| 174 | +<todos> |
| 175 | +[x] Reproduce the issue |
| 176 | +[x] Check recent code changes |
| 177 | +[-] Analyze error logs |
| 178 | +[ ] Test with different configurations |
| 179 | +[ ] Check database queries |
| 180 | +[ ] Verify network connectivity |
| 181 | +[ ] Create fix and test |
| 182 | +</todos> |
| 183 | +</update_todo_list> |
0 commit comments