TodoList
Task tracking tool for agents to manage complex, multi-step tasks.
Installation
Want to customize? Run co copy todo_list to get an editable copy.
Why Use TodoList?
- •Track progress on complex tasks with multiple steps
- •Show users what the agent is working on
- •Organize multi-step workflows
- •Prevent forgetting steps in complex tasks
When to Use
Use when:
- • Task requires 3+ distinct steps
- • User provides multiple tasks
- • Task requires careful planning
- • You want to show progress
Don't use when:
- • Task is trivial (1-2 simple steps)
- • Task is purely conversational
API
add(content, active_form)
Add a new pending task.
start(content)
Mark a task as in_progress. Only one task can be in_progress at a time.
complete(content)
Mark a task as completed.
remove(content)
Remove a task from the list.
list()
Get all todos as text.
update(todos)
Replace entire todo list (for bulk updates).
clear()
Clear all todos.
Properties
progress
Get completion percentage (0.0 to 1.0).
current_task
Get the currently in_progress task.
Task States
| Icon | Status | Description |
|---|---|---|
| ○ | pending | Not yet started |
| ◐ | in_progress | Currently working on |
| ● | completed | Finished |
Visual Display
When tasks change, TodoList shows a panel:
Use with Agent
Best Practices
Task Naming
Use both forms:
One In-Progress at a Time
Only one task should be in_progress. Complete current before starting next.
Mark Complete Immediately
Complete tasks as soon as done, don't batch:
Example: Multi-Step Task
Customizing
Need to modify TodoList's behavior? Copy the source to your project:
Then import from your local copy:
ConnectOnion