Skip to content

Commit 3a0aac9

Browse files
authored
Prompt todo list tool more action-oriented (microsoft#258922)
1 parent 194193e commit 3a0aac9

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

src/vs/workbench/contrib/chat/common/tools/manageTodoListTool.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,43 +27,43 @@ export const ManageTodoListToolToolId = 'vscode_manageTodoList';
2727

2828
export const ManageTodoListToolData: IToolData = {
2929
id: ManageTodoListToolToolId,
30-
toolReferenceName: 'manageTodoList',
30+
toolReferenceName: 'todos',
3131
when: ContextKeyExpr.equals(`config.${TodoListToolSettingId}`, true),
3232
canBeReferencedInPrompt: true,
3333
icon: ThemeIcon.fromId(Codicon.checklist.id),
34-
displayName: 'Manage Todo Lists',
35-
modelDescription: 'A tool for managing todo lists. Can create/update and read items in a todo list. Operations: write (add new todo items or update todo items), read(retrieve all todo items).',
34+
displayName: 'Update Todo List',
35+
modelDescription: 'Manage a structured todo list to track progress and plan tasks throughout your coding session. Use this tool VERY frequently to ensure task visibility and proper planning.\n\nWhen to use this tool:\n- Complex multi-step work requiring planning and tracking\n- When user provides multiple tasks or requests (numbered/comma-separated)\n- After receiving new instructions that require multiple steps\n- BEFORE starting work on any todo (mark as in-progress)\n- IMMEDIATELY after completing each todo (mark completed individually)\n- When breaking down larger tasks into smaller actionable steps\n- To give users visibility into your progress and planning\n\nWhen NOT to use:\n- Single, trivial tasks that can be completed in one step\n- Purely conversational/informational requests\n- When just reading files or performing simple searches\n\nCRITICAL workflow:\n1. Plan tasks by writing todo list with specific, actionable items\n2. Mark ONE todo as in-progress before starting work\n3. Complete the work for that specific todo\n4. Mark that todo as completed IMMEDIATELY\n5. Move to next todo and repeat\n\nTodo states:\n- not-started: Todo not yet begun\n- in-progress: Currently working (limit ONE at a time)\n- completed: Finished successfully\n\nIMPORTANT: Mark todos completed as soon as they are done. Do not batch completions.',
3636
source: ToolDataSource.Internal,
3737
inputSchema: {
3838
type: 'object',
3939
properties: {
4040
operation: {
4141
type: 'string',
4242
enum: ['write', 'read'],
43-
description: 'The operation to perform on todo list: write or read. When using write, you must provide the complete todo list, including any new or updated items. Partial updates are not supported.'
43+
description: 'write: Replace entire todo list with new content. read: Retrieve current todo list. ALWAYS provide complete list when writing - partial updates not supported.'
4444
},
4545
todoList: {
4646
type: 'array',
47-
description: 'Array of todo items to be written. Ignore for read operation ',
47+
description: 'Complete array of all todo items (required for write operation, ignored for read). Must include ALL items - both existing and new.',
4848
items: {
4949
type: 'object',
5050
properties: {
5151
id: {
5252
type: 'number',
53-
description: 'Numerical identifier representing the position of the todo item in the ordered list. Lower numbers have higher priority.'
53+
description: 'Unique identifier for the todo. Use sequential numbers starting from 1.'
5454
},
5555
title: {
5656
type: 'string',
57-
description: 'Short title or summary of the todo item.'
57+
description: 'Concise action-oriented todo label (3-5 words). Displayed in UI.'
5858
},
5959
description: {
6060
type: 'string',
61-
description: 'Detailed description of the todo item.'
61+
description: 'Detailed context, requirements, or implementation notes. Include file paths, specific methods, or acceptance criteria.'
6262
},
6363
status: {
6464
type: 'string',
6565
enum: ['not-started', 'in-progress', 'completed'],
66-
description: 'Current status of the todo item.'
66+
description: 'not-started: Not begun | in-progress: Currently working (max 1) | completed: Fully finished with no blockers'
6767
},
6868
},
6969
required: ['id', 'title', 'description', 'status']

0 commit comments

Comments
 (0)