From 2899021a21378efa816f988ba9fba78f32317ca1 Mon Sep 17 00:00:00 2001 From: 0xallam Date: Mon, 15 Dec 2025 07:40:54 -0800 Subject: [PATCH] chore(todo): encourage batched todo operations Strengthen schema guidance to batch todo creation, status updates, and completions while reducing unnecessary list refreshes to cut tool-call volume. --- strix/tools/todo/todo_actions_schema.xml | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/strix/tools/todo/todo_actions_schema.xml b/strix/tools/todo/todo_actions_schema.xml index 254b5a9..5cbe87b 100644 --- a/strix/tools/todo/todo_actions_schema.xml +++ b/strix/tools/todo/todo_actions_schema.xml @@ -1,6 +1,6 @@ - YOU MUST USE THE TODO TOOL EXTENSIVELY. This is critical for staying organized and focused. + YOU MUST USE THE TODO TOOL EXTENSIVELY — AND DO SO IN BATCHES. Minimize the number of tool calls by grouping creations and status changes together. IMPORTANT: Each subagent has their own separate todo list. Your todos are private to you and do not interfere with other agents' todos. Use this to your advantage. @@ -8,12 +8,12 @@ WORKFLOW - Follow this for EVERY task: 1. Keep the list short-horizon: track only the next few concrete steps (3-6 max), not long-term goals. 2. Create/update todos as you learn new info; drop or rewrite items when plans change. - 3. BEFORE starting a task: Mark it as "in_progress" using update_todo. - 4. AFTER completing a task: Mark it as "done" using mark_todo_done. - 5. When you discover new tasks: Add them right away and re-prioritize; avoid giant upfront lists. + 3. Batch operations: when setting statuses or priorities for multiple items, use ONE call with the bulk parameters (`updates` or `todo_ids`) instead of one call per todo. + 4. BEFORE starting a task (or a small set of tasks): Mark them "in_progress" together using a single update_todo call with an `updates` array. + 5. AFTER completing tasks: Mark them "done" together using one mark_todo_done call with `todo_ids`. + 6. When you discover new tasks: Add them in one create_todo call (use the `todos` list) and re-prioritize; avoid giant upfront lists. - ALWAYS mark the current task as in_progress before working on it. This shows what you're - actively doing. Then mark it done when finished. Never skip these status updates. + ALWAYS mark the current task(s) as in_progress before working on them. This shows what you're actively doing. Then mark them done when finished. Do these status updates in batches to avoid excessive tool calls. A well-maintained todo list prevents you from going in circles, forgetting important tasks, or losing track of your progress. USE IT CONSTANTLY. @@ -75,8 +75,7 @@ List all todos with optional filtering by status or priority. CHECK THIS OFTEN. -
Use this frequently to review your task list, check progress, and decide what to work on next. - Check your todos regularly to stay focused and avoid missing important tasks. +
Use this when you need fresh IDs or to reprioritize. Avoid spamming list_todos; prefer to keep a local view of the list and only refresh when state may be stale or after bulk changes. The list is sorted: done first, then in_progress, then pending. Within each status, sorted by priority (critical > high > normal > low). Each subagent has their own independent todo list.
@@ -108,13 +107,13 @@ - Update one or multiple todo items. Supports bulk updates in a single call. + Update one or multiple todo items. ALWAYS prefer bulk updates in a single call. ID of a single todo to update (for simple updates) - Bulk update multiple todos at once. JSON array of objects with todo_id and fields to update: [{"todo_id": "abc", "status": "done"}, {"todo_id": "def", "priority": "high"}] + Bulk update multiple todos at once. JSON array of objects with todo_id and fields to update: [{"todo_id": "abc", "status": "done"}, {"todo_id": "def", "priority": "high"}]. USE THIS INSTEAD OF multiple single-item calls. New title (used with todo_id) @@ -147,9 +146,8 @@ - Mark one or multiple todos as completed in a single call. DO THIS IMMEDIATELY after finishing tasks. -
Mark todos as done right after completing them - don't wait! Supports marking multiple todos at once - to save tool calls. This keeps your list accurate and gives you a clear picture of progress.
+ Mark one or multiple todos as completed in a single call. DO THIS IN BATCHES after finishing a small group of tasks. +
Mark todos as done right after completing them - group multiple completions into one call using todo_ids. Avoid one-call-per-item to save tool calls. This keeps your list accurate and gives you a clear picture of progress.
ID of a single todo to mark as done