Skip to main content

Task Tools

Tools for creating, claiming, and managing the task lifecycle.

Task States​

backlog ──► todo ──► in_progress ──► in_review ──► completed
▲ │ │
│ ▼ ▼
├─── failed ◄┘ todo (bounce)
├─── blocked
├─── cancelled
└─── skipped

Priorities: urgent | high | medium | low | none


core_create_task​

Create a new task. Returns the created task including its assigned task_id.

ParameterTypeRequiredDescription
project_keystring✓Project identifier
run_idUUID✓Run that created this task
agent_idUUID✓Creating agent
titlestring✓Task title (max 512 chars)
task_idUUIDExplicit task ID (generated if omitted)
parent_idUUIDParent task for hierarchical grouping
depends_onUUID[]Task IDs this task depends on (max 256)
detailstringFull markdown description (max 8000 chars)
statusstringInitial status (default: backlog)
prioritystringurgent, high, medium, low, or none (default)
order_indexnumberSort order within a list
assigned_toUUIDAgent to assign immediately
meta_jsonobjectArbitrary metadata

core_get_task​

Retrieve a task by ID including current status, lock state, and metadata.

ParameterTypeRequiredDescription
task_idUUID✓Task UUID

core_claim_task​

Acquire an advisory lock on a task. Safe to call concurrently — only one agent wins. Does not change task status.

ParameterTypeRequiredDescription
task_idUUID✓Task to claim
agent_idUUID✓Claiming agent
notestringOptional claim note (max 4000)

Returns { claimed: true } on success, { claimed: false } if already locked by another agent.


core_claim_and_start_task​

Atomic claim + advisory lock + transition to in_progress. Preferred over separate core_claim_task + core_transition_task calls.

ParameterTypeRequiredDescription
task_idUUID✓Task to claim and start
agent_idUUID✓Claiming agent
claim_notestringNote for the claim event (max 4000)
start_notestringNote for the status transition (max 4000)

core_transition_task​

Move a task to a new lifecycle state. Enforces the state machine — invalid transitions are rejected.

ParameterTypeRequiredDescription
task_idUUID✓Task to transition
agent_idUUID✓Agent performing the transition
to_statusstring✓Target status (see state machine above)
expected_from_statusstringGuard: fail if current status differs
notestringTransition note appended to history (max 4000)
release_lockbooleanRelease advisory lock alongside transition (default: false)

Valid transitions by source state:

FromAllowed transitions
backlogtodo, cancelled, skipped
todoin_progress, blocked, cancelled, skipped
in_progressin_review, todo, failed, blocked, cancelled
in_reviewcompleted, todo, in_review, failed, cancelled
completedtodo
failedtodo, backlog, cancelled
blockedtodo, backlog, cancelled
cancelledbacklog, todo
skippedbacklog, todo

core_update_task​

Update task metadata, priority, assignment, or order. Does not change status (use core_transition_task for that).

ParameterTypeRequiredDescription
task_idUUID✓Task to update
agent_idUUID✓Agent making the update
assigned_toUUID/nullReassign or unassign (null to unassign)
prioritystringNew priority
order_indexnumber/nullNew sort position
meta_jsonobjectMetadata to merge or replace
merge_metabooleanMerge meta_json into existing (default: true). False replaces.
notestringUpdate note (max 4000)

core_list_tasks​

Query tasks with filtering and full-text title search.

ParameterTypeRequiredDescription
project_keystring✓Project identifier
statusstring[]Filter to one or more statuses
prioritystring[]Filter to one or more priorities
assigned_toUUIDFilter by assignee
title_searchstringSubstring search on task title (max 256)
limitnumberMaximum results (default: 20, max: 1000)

core_release_task_lock​

Release an advisory lock on a task. Use when an agent finishes or yields without transitioning state.

ParameterTypeRequiredDescription
task_idUUID✓Task to unlock
agent_idUUID✓Agent releasing the lock
notestringRelease note (max 4000)

core_recover_task​

Force a stuck task into a recoverable state. Used for tasks that failed, timed out, or have orphaned locks. Bypasses normal transition guards.

ParameterTypeRequiredDescription
task_idUUID✓Task to recover
agent_idUUID✓Agent performing recovery
to_statusstring✓Recovery target: todo, failed, or in_review
notestring✓Recovery reason (required, max 4000)

post_task_message​

Append a message to a task's thread. Used for inter-agent communication, inline notes, and structured log entries.

ParameterTypeRequiredDescription
project_keystring✓Project identifier
task_idUUID✓Target task
agent_idUUID✓Posting agent
bodystring✓Message content (max 8000 chars)
kindstringmessage (default), note, or log
tagsstring[]Searchable tags (max 32)
metaobjectArbitrary metadata

list_task_messages​

List messages on a task thread in chronological order.

ParameterTypeRequiredDescription
project_keystring✓Project identifier
task_idUUID✓Target task
limitnumberMaximum results (default: 50, max: 200)