@@ -144,26 +144,17 @@ export const TOOL_DEFINITIONS = {
144144 todo_write : {
145145 description :
146146 "Create or update the todo list for tracking multi-step tasks (limit: 7 items). " +
147- "Use this for ALL complex, multi-step plans to keep the user informed of progress. " +
148- "Replace the entire list on each call - the AI should track which tasks are completed. " +
149- "\n\n" +
150- "Structure the list with high precision at the center:\n" +
151- "- Old completed work: Summarize into 1 overview item (e.g., 'Set up project infrastructure (4 tasks)')\n" +
152- "- Recent completions: Keep detailed (last 1-2 items)\n" +
153- "- Current work: One in_progress item with clear description\n" +
154- "- Immediate next steps: Detailed pending items (next 2-3 actions)\n" +
155- "- Far future work: Summarize into phase items (e.g., 'Testing and polish (3 items)')\n" +
147+ "The TODO list is prominently displayed to the user at the bottom of the chat. " +
148+ "Replace the entire list on each call - the AI tracks which tasks are completed.\n" +
156149 "\n" +
157- "Update frequently as work progresses. As tasks complete, older completions should be " +
158- "condensed to make room. Similarly, summarized future work expands into detailed items " +
159- "as it becomes immediate. " +
160- "\n\n" +
161150 "Mark ONE task as in_progress at a time. " +
162151 "Order tasks as: completed first, then in_progress (max 1), then pending last. " +
163- "Before finishing your response, ensure all todos are marked as completed. " +
164152 "Use appropriate tense in content: past tense for completed (e.g., 'Added tests'), " +
165153 "present progressive for in_progress (e.g., 'Adding tests'), " +
166- "and imperative/infinitive for pending (e.g., 'Add tests')." ,
154+ "and imperative/infinitive for pending (e.g., 'Add tests').\n" +
155+ "\n" +
156+ "Update the list as work progresses. If work fails or the approach changes, update " +
157+ "the list to reflect reality - only mark tasks complete when they actually succeed." ,
167158 schema : z . object ( {
168159 todos : z . array (
169160 z . object ( {
0 commit comments