Skip to main content
Glama

task_create

Queue a todo task on the shared board so any agent can pull it, with dependencies, priority, and file paths to prevent conflicts. Returns the new task id.

Instructions

Add a todo task to the shared board for any agent to pull. depends_on holds it back until those tasks are done, higher priority is pulled first, and paths lets task_pull keep agents off each other's files. Use to queue work, not to start it: task_pull assigns work and task_update changes a task. Lead-only while a swarm has a lead. Returns the task with its id.

Input Schema

NameRequiredDescriptionDefault
agentYesYour stable agent name.
pathsNoPaths the task will likely touch.
titleYesShort imperative title.
priorityNoHigher pulls first. Default 0.
depends_onNoTask ids that must be done first.
descriptionNoWhat needs doing, for whoever pulls the task.

Output Schema

NameRequiredDescriptionDefault
leadNoOn a lead-only conflict: the lead to message.
taskNoThe new task: id, title, description, priority, depends_on, paths, created_by, created_at, updated_at, notes, and state: its status with owner (in_progress), owner and reason (blocked), or by (done).
statusYesok. conflict: lead-only while a swarm has a lead. not_found: an unknown depends_on id. invalid: bad input or an ambiguous id prefix.
messageNoHuman-readable detail, on most outcomes other than ok.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv1.3.0
    • addedOutput schema / properties / lead
      Added value: +{
      +  "description": "On a lead-only conflict: the lead to message."
      +}
    • changedOutput schema / properties / status / description
      Previous value: -"ok. not_found: an unknown depends_on id. invalid: bad input or an ambiguous id prefix."New value: +"ok. conflict: lead-only while a swarm has a lead. not_found: an unknown depends_on id. invalid: bad input or an ambiguous id prefix."
  2. Changed7 schema fields changedv1.1.2
    • addedInput schema / properties / agent / description
      Added value: +"Your stable agent name."
    • addedInput schema / properties / depends_on / description
      Added value: +"Task ids that must be done first."
    • addedInput schema / properties / description / description
      Added value: +"What needs doing, for whoever pulls the task."
    • addedInput schema / properties / paths / description
      Added value: +"Paths the task will likely touch."
    • addedInput schema / properties / priority / description
      Added value: +"Higher pulls first. Default 0."
    • addedInput schema / properties / title / description
      Added value: +"Short imperative title."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "description": "Any result may also carry lost, inbox, inbox_more and persist_error; see guide.",
      +  "properties": {
      +    "message": {
      +      "description": "Human-readable detail, on most outcomes other than ok.",
      +      "type": "string"
      +    },
      +    "status": {
      +      "description": "ok. not_found: an unknown depends_on id. invalid: bad input or an ambiguous id prefix.",
      +      "enum": [
      +        "ok",
      +        "conflict",
      +        "not_found",
      +        "none",
      +        "invalid",
      +        "cancelled"
      +      ],
      +      "type": "string"
      +    },
      +    "task": {
      +      "description": "The new task: id, title, description, priority, depends_on, paths, created_by, created_at, updated_at, notes, and state: its status with owner (in_progress), owner and reason (blocked), or by (done).",
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "status"
      +  ],
      +  "type": "object"
      +}
  3. First observedv1.1.1

TDQS

A4.9/5.0
Behavior5/5

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

With only destructiveHint=false in annotations, the description carries the load and does it well: it explains that depends_on gates execution, that higher priority is pulled first, that paths is consumed by task_pull to avoid file collisions, that the operation is lead-gated, and that the created task is returned with its id. These are operational traits not derivable from the schema.

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?

Three tight sentences, front-loaded with the core action before the semantic clauses and the usage routing. No filler and every clause carries information.

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

Completeness5/5

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

Covers action, queueing semantics, precondition (lead-only), alternatives, and return shape. An output schema exists, so return values need not be expanded further; nothing an agent needs to call this correctly is missing.

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 coverage is 100%, so the baseline is 3 and the schema already documents each parameter's purpose. The description nonetheless adds mechanism the schema omits: how depends_on holds the task back and how paths is used downstream by task_pull. That is genuine added meaning, though the field-level defaults still live in the schema.

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 ('Add a todo task to the shared board') plus the consumption model ('for any agent to pull'). It draws sharp boundaries against siblings by naming task_pull (assigns work) and task_update (changes a task).

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-to-use ('to queue work, not to start it'), names both alternatives and what they do instead, and states a real precondition ('Lead-only while a swarm has a lead'). Nothing about selection is left to inference.

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