Skip to main content
Glama

weeek_update_task

Update a WEEEK task's title, due/start dates, priority, type, duration, tags, and custom fields to keep details accurate; description is set only on create.

Instructions

Update a WEEEK task: title, natural-language due and start dates (start goes with the due date — due or the task's own — because the API refuses one alone; some plans refuse start dates), priority (low, medium, high, hold), type (action, meet, call), duration in minutes, tags by name or id (replaces; an empty list clears), and fields: custom-field values by field name (options and members by name; null clears; other fields keep their values). Description is NOT updatable — the API ignores it; set it on create. Assignees, watchers, parent and projects have their own tools.

Input Schema

NameRequiredDescriptionDefault
idYes
dueNo
tagsNoReplaces the task's tags; an empty list clears them.
typeNo
startNo
titleNo
fieldsNoCustom-field values by field name or id. text/link: a string; number: a number; boolean: true/false; datetime: a natural-language date or time; select: an option name; multiselect: option names; member/approval: member names; contact: a contact name or id; null clears the field.
durationNo
priorityNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.0.0
    • changedInput schema / properties / fields / description
      Previous value: -"Custom-field values by field name or id. text/link: a string; number: a number; boolean: true/false; datetime: a natural-language date or time; select: an option name; multiselect: option names; member/approval: member names; contact: a contact id; null clears the field."New value: +"Custom-field values by field name or id. text/link: a string; number: a number; boolean: true/false; datetime: a natural-language date or time; select: an option name; multiselect: option names; member/approval: member names; contact: a contact name or id; null clears the field."
  2. Changed6 schema fields changedv0.7.0
    • addedInput schema / properties / duration
      Added value: +{
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • addedInput schema / properties / fields
      Added value: +{
      +  "additionalProperties": {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "type": "number"
      +      },
      +      {
      +        "type": "boolean"
      +      },
      +      {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ]
      +  },
      +  "description": "Custom-field values by field name or id. text/link: a string; number: a number; boolean: true/false; datetime: a natural-language date or time; select: an option name; multiselect: option names; member/approval: member names; contact: a contact id; null clears the field.",
      +  "type": "object"
      +}
    • addedInput schema / properties / priority
      Added value: +{
      +  "enum": [
      +    "low",
      +    "medium",
      +    "high",
      +    "hold"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / start
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / tags
      Added value: +{
      +  "description": "Replaces the task's tags; an empty list clears them.",
      +  "items": {
      +    "type": [
      +      "string",
      +      "number"
      +    ]
      +  },
      +  "maxItems": 50,
      +  "type": "array"
      +}
    • addedInput schema / properties / type
      Added value: +{
      +  "enum": [
      +    "action",
      +    "meet",
      +    "call"
      +  ],
      +  "type": "string"
      +}
  3. First observedv0.1.0

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden and does well: it discloses replace-vs-merge semantics for tags ('replaces; an empty list clears'), custom-field merge behavior ('null clears; other fields keep their values'), a hard API constraint ('the API refuses one alone'), and a silently ignored field. It stops short of covering auth/permission requirements or what is returned after a successful update.

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

Conciseness5/5

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

One dense but front-loaded block: purpose first, then per-field semantics, then exclusions. Every clause carries information — enum values, defaults, clearing behavior — and there is no filler or repetition of the schema's enum lists for their own sake (they are cited alongside behavioral consequences).

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 9-parameter mutation tool with no output schema and sparse schema descriptions, the description covers the mutation surface, edge cases, and sibling routing well enough to call correctly. It would be complete at 5 with a note on partial-update behavior (omitted params are untouched) and any permission requirements.

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

Parameters4/5

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

Schema description coverage is only 22%, and the description compensates substantially: it reveals accepted formats (natural-language dates for due/start, duration in minutes, tags by name or id), the interaction rule between start and due, and a detailed semantics map for the nested `fields` object that goes beyond the schema's type-level anyOf. The only gap is `id`, which the description never characterizes as the target task identifier.

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?

Opens with a specific verb+resource ('Update a WEEEK task') and then enumerates exactly which attributes are mutable: title, due/start, priority, type, duration, tags, custom fields. It also draws boundaries against siblings by naming that assignees, watchers, parent and projects 'have their own tools,' so an agent can distinguish this from weeek_add_assignees or weeek_set_task_parent immediately.

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

Usage Guidelines5/5

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

Gives explicit when-not guidance: 'Description is NOT updatable — the API ignores it; set it on create,' which routes the agent to weeek_create_task for that case. It also names the specific sibling tools that own assignees, watchers, parent and projects, and flags a plan-level caveat ('some plans refuse start dates') that affects whether the call should be attempted at all.

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