Skip to main content
Glama
PhononX

Carbon Voice

by PhononX

set_action_item_status

Destructive

Set an action item's status to suggested, todo, or done. Use to complete items, reopen them, or promote AI suggestions to your todo list.

Instructions

Move an action item between suggested, todo and done. USE WHEN: Completing an item (done), reopening it (todo), or accepting an AI-suggested item by promoting it from suggested to todo. USE INSTEAD: update_action_item for title, notes, assignee or due date; this tool only sets status. FIRST: id comes from list_my_action_items (field results[].id) — call it first if you don't have one. EXAMPLE: {"id":"ai-abc","status":"done"} RETURNS: The updated action item, same shape as get_action_item.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYes
statusYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.10.0

TDQS

A4.8/5.0
Behavior4/5

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

Annotations already declare the operation is not read-only and is destructive, so the description's job is lighter. It adds useful context by clarifying that this tool only sets status, not other fields, and by stating the return value. It does not explicitly warn that a previous status is overwritten, but the status enum makes that mostly self-evident.

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?

The description is well-structured with labeled sections: move semantics, USE WHEN, USE INSTEAD, FIRST, EXAMPLE, RETURNS. Every sentence earns its place, and the most important scoping detail appears before the usage guidance.

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?

For a two-parameter status setter, this is complete. It covers all parameter semantics, provides a source for the id, gives usage conditions, and explains the return shape by referencing `get_action_item`. No output schema exists, but the description handles that gap sufficiently.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must compensate, and it does thoroughly. It explains where `id` comes from with an exact field path, maps each `status` enum value to a real intent ('completing', 'reopening', 'promoting'), and provides a concrete JSON example.

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?

The description leads with a specific verb and resource: 'Move an action item between `suggested`, `todo` and `done`.' It names the exact status transitions and explicitly contrasts itself with `update_action_item`, so an agent can distinguish it from siblings without opening the schema.

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?

The USE WHEN block gives explicit triggering conditions for each status change, and USE INSTEAD tells the agent to prefer `update_action_item` for other fields. The FIRST instruction even explains how to obtain `id` from `list_my_action_items`, making the calling workflow concrete.

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