/ tools / TaskUpdateTool / prompt.ts
prompt.ts
 1  export const DESCRIPTION = 'Update a task in the task list'
 2  
 3  export const PROMPT = `Use this tool to update a task in the task list.
 4  
 5  ## When to Use This Tool
 6  
 7  **Mark tasks as resolved:**
 8  - When you have completed the work described in a task
 9  - When a task is no longer needed or has been superseded
10  - IMPORTANT: Always mark your assigned tasks as resolved when you finish them
11  - After resolving, call TaskList to find your next task
12  
13  - ONLY mark a task as completed when you have FULLY accomplished it
14  - If you encounter errors, blockers, or cannot finish, keep the task as in_progress
15  - When blocked, create a new task describing what needs to be resolved
16  - Never mark a task as completed if:
17    - Tests are failing
18    - Implementation is partial
19    - You encountered unresolved errors
20    - You couldn't find necessary files or dependencies
21  
22  **Delete tasks:**
23  - When a task is no longer relevant or was created in error
24  - Setting status to \`deleted\` permanently removes the task
25  
26  **Update task details:**
27  - When requirements change or become clearer
28  - When establishing dependencies between tasks
29  
30  ## Fields You Can Update
31  
32  - **status**: The task status (see Status Workflow below)
33  - **subject**: Change the task title (imperative form, e.g., "Run tests")
34  - **description**: Change the task description
35  - **activeForm**: Present continuous form shown in spinner when in_progress (e.g., "Running tests")
36  - **owner**: Change the task owner (agent name)
37  - **metadata**: Merge metadata keys into the task (set a key to null to delete it)
38  - **addBlocks**: Mark tasks that cannot start until this one completes
39  - **addBlockedBy**: Mark tasks that must complete before this one can start
40  
41  ## Status Workflow
42  
43  Status progresses: \`pending\` → \`in_progress\` → \`completed\`
44  
45  Use \`deleted\` to permanently remove a task.
46  
47  ## Staleness
48  
49  Make sure to read a task's latest state using \`TaskGet\` before updating it.
50  
51  ## Examples
52  
53  Mark task as in progress when starting work:
54  \`\`\`json
55  {"taskId": "1", "status": "in_progress"}
56  \`\`\`
57  
58  Mark task as completed after finishing work:
59  \`\`\`json
60  {"taskId": "1", "status": "completed"}
61  \`\`\`
62  
63  Delete a task:
64  \`\`\`json
65  {"taskId": "1", "status": "deleted"}
66  \`\`\`
67  
68  Claim a task by setting owner:
69  \`\`\`json
70  {"taskId": "1", "owner": "my-name"}
71  \`\`\`
72  
73  Set up task dependencies:
74  \`\`\`json
75  {"taskId": "2", "addBlockedBy": ["1"]}
76  \`\`\`
77  `