Skip to main content

Task Tools

These 17 tools manage the task graph — a Kanban-style task system with priorities, assignees, due dates, and cross-graph context. Tasks are mirrored to .tasks/ markdown files for IDE access.

info

These tools are always available. Mutation tools (marked below) are hidden when the task graph is set to readonly.

tasks_create​

Mutation — hidden in readonly mode

Creates a new task.

Parameters​

ParameterRequiredDefaultDescription
titleYes—Task title
descriptionYes—Task description (markdown supported)
priorityYes—Priority: critical, high, medium, low
statusNo"backlog"Status: backlog, todo, in_progress, review, done, cancelled
tagsNo—Array of tags
dueDateNo—Due date as Unix timestamp in milliseconds
estimateNo—Estimated effort in hours (number)
assigneeNo—Assignee name or ID

Returns​

{ taskId } — the generated task ID.


tasks_update​

Mutation — hidden in readonly mode

Partially updates a task. Only send fields you want to change.

Parameters​

ParameterRequiredDescription
taskIdYesTask ID to update
All tasks_create fieldsNoAny field from tasks_create can be updated
expectedVersionNoCurrent version for optimistic locking — fails with version_conflict if the task has been updated since

Returns​

{ taskId, updated }.

tip

Use tasks_move instead of tasks_update for status changes — it handles completedAt automatically.


tasks_delete​

Mutation — hidden in readonly mode

Deletes the task, all its relations, proxy nodes, and mirror directory.

Parameters​

ParameterRequiredDescription
taskIdYesTask ID to delete

Returns​

{ taskId, deleted }.


tasks_get​

Fetches a task with all its relations and cross-graph links.

Parameters​

ParameterRequiredDescription
taskIdYesTask ID

Returns​

{ id, title, description, status, priority, tags, dueDate, estimate, assignee, completedAt, createdAt, updatedAt, version, attachments, subtasks, blockedBy, blocks, related, crossLinks? } — includes resolved relation arrays.


tasks_list​

Lists tasks with optional filters, sorted by priority (critical first) then due date (earliest first, nulls last).

Parameters​

ParameterRequiredDefaultDescription
statusNo—Filter by status
priorityNo—Filter by priority
tagNo—Filter by tag
filterNo—Substring match on title
assigneeNo—Filter by assignee
limitNo50Maximum results

Returns​

Array of { id, title, description, status, priority, tags, dueDate, estimate, assignee, completedAt, version, createdAt, updatedAt, attachments }.

note

Descriptions are truncated to 500 characters in list results. Use tasks_get to retrieve the full description.


Hybrid semantic search over tasks.

Parameters​

ParameterRequiredDefaultDescription
queryYes—Search query (natural language)
topKNo5Seed results for BFS
bfsDepthNo1BFS expansion hops
maxResultsNo5Maximum results
minScoreNo0.5Minimum relevance score
bfsDecayNo0.8Score decay per hop
searchModeNohybridhybrid, vector, or keyword

Returns​

Array of { id, title, description, status, priority, tags, score }.


tasks_move​

Mutation — hidden in readonly mode

Changes a task's status with automatic completedAt management.

Parameters​

ParameterRequiredDescription
taskIdYesTask ID
statusYesNew status
expectedVersionNoCurrent version for optimistic locking — fails with version_conflict if the task has been updated since

Returns​

{ taskId, status, completedAt }.

Behavior​

  • Moving to done or cancelled automatically sets completedAt to now.
  • Moving to any other status automatically clears completedAt.

When to use​

Always use tasks_move instead of tasks_update for status changes. It properly manages completion timestamps.


tasks_reorder​

Mutation — hidden in readonly mode

Sets the display order of tasks within a status column. Pass an ordered array of task IDs to define their position. Tasks not included in the array keep their existing order and appear after the explicitly ordered ones.

Parameters​

ParameterRequiredDescription
statusYesThe status column to reorder (e.g., todo, in_progress)
taskIdsYesOrdered array of task IDs defining the new display order

Returns​

{ status, ordered } — the status column and the number of tasks reordered.

When to use​

Use tasks_reorder when the priority-based default sort is not sufficient and you need manual control over task ordering within a column, such as arranging a sprint backlog or ordering items for a review queue.


tasks_bulk_move​

Mutation — hidden in readonly mode

Move multiple tasks to a new status in one operation.

Parameters​

ParameterRequiredDescription
taskIdsYesArray of task IDs to move (1–100)
statusYesTarget status for all tasks

Returns​

{ moved } — array of task IDs that were successfully moved. Tasks that don't exist are silently skipped.


tasks_bulk_priority​

Mutation — hidden in readonly mode

Update priority for multiple tasks in one operation.

Parameters​

ParameterRequiredDescription
taskIdsYesArray of task IDs to update (1–100)
priorityYesNew priority for all tasks

Returns​

{ updated } — array of task IDs that were successfully updated.


tasks_bulk_delete​

Mutation — hidden in readonly mode

Delete multiple tasks in one operation. This action is irreversible.

Parameters​

ParameterRequiredDescription
taskIdsYesArray of task IDs to delete (1–100)

Returns​

{ deleted } — array of task IDs that were successfully deleted.


Mutation — hidden in readonly mode

Creates a relation between two tasks.

Parameters​

ParameterRequiredDescription
fromIdYesSource task ID
toIdYesTarget task ID
kindYesRelation type: subtask_of, blocks, or related_to

Returns​

{ fromId, toId, kind, created }.


Mutation — hidden in readonly mode

Links a task to another task (same-graph) or to a node in the docs, code, files, knowledge, or skills graph (cross-graph). Omit targetGraph for task-to-task links.

Parameters​

ParameterRequiredDescription
taskIdYesSource task ID
targetIdYesTarget task ID (same-graph) or target node ID in external graph (cross-graph)
targetGraphNoTarget graph: "docs", "code", "files", "knowledge", "skills". Omit for task-to-task links.
kindYesRelation type (free-form string)
projectIdNoTarget project ID (for cross-project links)

Returns​

{ taskId, targetId, targetGraph, kind, created }.

When to use​

Connect tasks to the code, docs, or files they relate to. For instance, link a bug fix task to the function it modifies.


Mutation — hidden in readonly mode

Deletes a link from a task to another task (same-graph) or to a node in an external graph (cross-graph). Omit targetGraph for task-to-task links. Orphaned proxy nodes are cleaned up automatically.

Parameters​

ParameterRequiredDescription
taskIdYesTask ID
targetIdYesTarget node ID
targetGraphNoTarget graph. Omit for task-to-task links.
projectIdNoTarget project ID

Returns​

{ taskId, targetId, deleted }.


tasks_find_linked​

Reverse lookup: finds all tasks that link to a specific node in another graph.

Parameters​

ParameterRequiredDescription
targetIdYesTarget node ID
targetGraphYesWhich graph the target is in
kindNoFilter by relation kind
projectIdNoTarget project ID

Returns​

Array of { taskId, title, kind, status, priority, tags }.

When to use​

Before modifying code, check for related tasks. For instance: "Are there open tasks related to this file?"


tasks_add_attachment​

Mutation — hidden in readonly mode

Attaches a file to a task.

Parameters​

ParameterRequiredDescription
taskIdYesTask ID
filePathYesAbsolute path to the file on disk

Returns​

{ filename, mimeType, size, addedAt }.

note

Max 10 MB per file. Max 20 attachments per entity.


tasks_remove_attachment​

Mutation — hidden in readonly mode

Removes a file attachment from a task.

Parameters​

ParameterRequiredDescription
taskIdYesTask ID
filenameYesFilename to remove

Returns​

{ deleted: filename }.