Skip to main content
Glama

task_update

Edits a task or bug (shared team data); only the passed fields change: title, spec, gist, result, priority, labels, placement (featureID or featureKey, featureID null removes it from the feature; versionID), bug fields (build, bugType, stage, browser), non-bug type, modules and components (full new lists), stage assignees and ord. Status is not changed here; returns link, status, transitions, specRevision and changed.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
IDNoTask ID; preferred over key.
keyNoTask number, if the ID is unknown.
ordNoPosition in lists, as drag-and-drop in the web UI. Tasks are sorted by ord DESCENDING (a feature's tasks follow its plan top down): a value between two neighbors' ord goes between them, above the largest - on top, 0 - last (the server assigns it). When neighbors are under 100 apart or the user asks for a re-sort, all of the feature's tasks including closed ones are renumbered: Date.now() for the top one, then steps of -10000.
gistNoGist: one or two plain-text sentences "problem → solution", up to 300 characters, without Markdown, links or task keys, in the language of the workspace data; an empty string clears it.
specNoNew spec (requirements): Markdown in the language of the workspace data, HTML is rejected. Replaces the whole field - text, `::: doc` sections and `attach:`, `design:`, `color:` tokens left out are removed.
typeNoNew work type (non-bugs only).
buildNoBuild where the defect was reproduced (bugs only).
stageNoStand where the bug was reproduced: dev - development and autotests, alpha - manual QA, prod - production data.
titleNoNew name
labelsNoLabels; an empty array removes all.
resultNoReport on the work done: Markdown in the language of the workspace data, HTML is rejected; replaces the whole field, like spec.
browserNoBrowser where the bug was reproduced (bugs only).
bugTypeNoDefect nature (bugs only): ui - interface, fn - functionality, ux - usability, spec - documentation; not the severity, which is type.
priorityNoPriority; a human decision, set only at the user's explicit request.
featureIDNoFeature to move the task to; null removes it from its feature.
moduleIDsNoFull new list of module IDs, replacing the current one; [] removes all.
versionIDNoVersion to move the task to when no feature fits.
featureKeyNoKey of the feature to move the task to (#F12), instead of featureID.
componentIDsNoFull new list of the actually affected component IDs, replacing the current one; [] removes all, adding means the current ones plus new.
designUnlinkNotrue lets a spec / result write drop design markers (designs left without links are deleted); otherwise losing a marker is rejected.
testAssigneeNoTester: employee uuid, "any" (any employee) or null (no testing stage).
workAssigneeNoAssignee: employee uuid or "any" (any employee); null is not allowed - the work stage always exists.
workTimePlanNoPlanned work time in minutes, per the assignee's role level
reviewAssigneeNoReviewer: employee uuid, "any" (any employee) or null (no review stage).
approvalAssigneeNoApprover: employee uuid, "any" (any employee) or null (no approval stage).
expectedSpecRevisionNoThe task's current specRevision; required when spec changes.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only carry readOnlyHint=false and destructiveHint=false, so the description must add the rest — and it does: it discloses merge-vs-replace behavior, that spec/result writes remove omitted doc sections and tokens, that featureID null detaches the task, and it even names the returned payload (link, status, transitions, specRevision, changed) despite no output schema. It stops short of noting permission/prerequisite requirements, keeping it from a full 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded in the first clause and the sentences are dense but information-bearing, with no filler. It is one long semicolon-heavy sentence plus a compact second sentence, which is efficient but slightly difficult to parse for a 26-parameter tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex mutation with no output schema, the description covers the core edit semantics, the return payload, and the status exception. It leaves some parameters (designUnlink, expectedSpecRevision requirement, work/review/approval assignees) to the schema, but the schema's 100% coverage makes that acceptable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents all 26 parameters in detail; the description largely restates and groups them (placement, bug fields, full new lists) rather than adding new syntax or constraints. Baseline 3 is appropriate, with minor credit for the grouping that aids navigation of the large param set.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Edits a task or bug') and immediately scopes it ('shared team data'), then enumerates the editable field families. The clause 'Status is not changed here' implicitly distinguishes it from a status/action tool, so an agent can separate it from task_create, task_delete and task_action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description signals partial-update semantics ('only the passed fields change') and that status changes belong elsewhere, which is useful routing context. However, no alternative tool is named explicitly and there is no statement of when to prefer this over task_create or task_action, so guidance remains implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources