export const DESCRIPTION = 'Update a task in the task list' export const PROMPT = `Use this tool to update a task in the task list. ## When to Use This Tool **Mark tasks as resolved:** - When you have completed the work described in a task - When a task is no longer needed or has been superseded - IMPORTANT: Always mark your assigned tasks as resolved when you finish them - After resolving, call TaskList to find your next task - ONLY mark a task as completed when you have FULLY accomplished it - If you encounter errors, blockers, or cannot finish, keep the task as in_progress - When blocked, create a new task describing what needs to be resolved - Never mark a task as completed if: - Tests are failing - Implementation is partial - You encountered unresolved errors - You couldn't find necessary files or dependencies **Delete tasks:** - When a task is no longer relevant or was created in error - Setting status to \`deleted\` permanently removes the task **Update task details:** - When requirements change or become clearer - When establishing dependencies between tasks ## Fields You Can Update - **status**: The task status (see Status Workflow below) - **subject**: Change the task title (imperative form, e.g., "Run tests") - **description**: Change the task description - **activeForm**: Present continuous form shown in spinner when in_progress (e.g., "Running tests") - **owner**: Change the task owner (agent name) - **metadata**: Merge metadata keys into the task (set a key to null to delete it) - **addBlocks**: Mark tasks that cannot start until this one completes - **addBlockedBy**: Mark tasks that must complete before this one can start ## Status Workflow Status progresses: \`pending\` → \`in_progress\` → \`completed\` Use \`deleted\` to permanently remove a task. ## Staleness Make sure to read a task's latest state using \`TaskGet\` before updating it. ## Examples Mark task as in progress when starting work: \`\`\`json {"taskId": "1", "status": "in_progress"} \`\`\` Mark task as completed after finishing work: \`\`\`json {"taskId": "1", "status": "completed"} \`\`\` Delete a task: \`\`\`json {"taskId": "1", "status": "deleted"} \`\`\` Claim a task by setting owner: \`\`\`json {"taskId": "1", "owner": "my-name"} \`\`\` Set up task dependencies: \`\`\`json {"taskId": "2", "addBlockedBy": ["1"]} \`\`\` `