🔧Tool Prompts/tasks
Task Update Tool
src/tools/TaskUpdateTool/prompt.ts
Prompt Engineering Insight
Strict completion criteria (no premature done); JSON examples for common update patterns; dependency edges via addBlockedBy.
Techniques Used
guardrailsfew-shot-examplesbehavioral-constraintstool-use-guidance
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
deletedpermanently 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 → completedUse
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"]}
```
Tags
tasksworkflowownership