Skip to main content
Glama

create_tasks

Bulk-create tasks on a single plan with dependency wiring, cycle rejection, board sync, and optional Slack notifications for orchestrator bootstrap batches.

Instructions

Bulk task creation for orchestrator bootstrap (e.g. Phase 0 of an audit). Accepts a list of tasks on a single plan. Each item may carry 'depends_on_ids' (uuid list referencing tasks already in the database) AND/OR 'depends_on_external_keys' (string list referencing other items in this same batch by their external_key — resolved to ids after the first pass). The batch is processed in two passes: first every task is inserted with no dependencies, then edges are wired up using the resolved id map. Cycles are rejected — the call returns the first cycle's task and rolls back nothing (already-inserted tasks remain, so the caller can fix the bad edge and re-run idempotently using unique external_keys). Board sync always fires for every inserted task so the Project V2 board reflects the batch. Slack is opt-in: 'notify_slack' defaults to false to avoid flooding the channel with a task.created burst — pass true if you want every task announced.

Input Schema

NameRequiredDescriptionDefault
TasksYes
PlanIdYes
as_agentNo
NotifySlackNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior5/5

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

Goes far beyond the annotations: discloses the two-pass insert-then-wire algorithm, cycle rejection behaviour, and the crucial non-atomic detail that 'rolls back nothing (already-inserted tasks remain)', plus the board-sync side effect and Slack opt-in default. For a mutation tool with only generic hints, this is exactly the operational context an agent needs before committing a batch.

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?

Dense and front-loaded — the batch scope comes first, then mechanics, then side effects, then the Slack toggle. Some sentences pack multiple claims (the cycle sentence chains rejection, non-rollback, and retry strategy), which rewards careful reading but costs little.

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?

Covers failure modes, persistence semantics, side effects and the Slack default, which is strong for a non-atomic mutation with no output schema. The remaining gaps are the undocumented as_agent parameter and no statement of what the successful response contains (counts, ids, cycle payload).

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?

With 0% schema coverage the description carries the full burden and does most of it: it defines the item-level fields external_key, depends_on_ids and depends_on_external_keys and explains NotifySlack's default and effect. It leaves 'as_agent' entirely unexplained and the Tasks array's own element shape is never spelled out beyond the dependency keys, so it stops short of complete.

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 — 'Bulk task creation' — plus the scope 'a list of tasks on a single plan', which cleanly separates it from the singular create_task sibling. An agent knows immediately this is the batch path rather than the one-at-a-time path.

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?

Usage context is present but incidental: 'for orchestrator bootstrap (e.g. Phase 0 of an audit)' and the conditional 'pass true if you want every task announced'. It never explicitly compares against create_task or says when a single-task call is preferable, so the selection decision is implied rather than guided.

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