Skip to main content
Glama

resolve_clarification

Handle escalated Meeting Mode clarification decisions by checking whether the user or PM should decide, then dispatch the next clarification round or implementation automatically.

Instructions

PM resolves a Meeting Mode clarification SA escalated with pm_decision_required (get_task_status.brief.waiting_on == PM_CLARIFICATION_DECISION; brief.clarification.pending_pm_decision has the question and SA's recommendation). Check brief.clarification.escalation first: "ask_user" means the real human user must decide — present the question and SA's recommendation in chat and wait for their actual reply before calling this; "auto_pm" means the PM (you) may decide immediately using your own judgement. Dispatches the next clarification round or the real implementation automatically; never call dispatch_agent or advance_project for this instead.

Input Schema

NameRequiredDescriptionDefault
task_idYesTask id, as shown in get_task_status or list results.
decisionYesThe PM's decision on SA's escalated question, in plain language. Must not be blank; it becomes part of the next round's context.
project_idYesRegistered project id, as returned by list_projects.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv0.1.3
    • addedInput schema / properties / decision / description
      Added value: +"The PM's decision on SA's escalated question, in plain language. Must not be blank; it becomes part of the next round's context."
    • addedInput schema / properties / project_id / description
      Added value: +"Registered project id, as returned by list_projects."
    • addedInput schema / properties / task_id / description
      Added value: +"Task id, as shown in get_task_status or list results."
  2. First observedv0.1.0

TDQS

A4.7/5.0
Behavior5/5

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

Annotations only say not-read-only and not-destructive; the description adds the real behavioral payload — that this call dispatches the next clarification round or the actual implementation automatically, i.e. it has far-reaching downstream effects. It also discloses the prerequisite state field that gates the call and the human-escalation branch, which annotations could never encode.

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?

Front-loaded with the action and the gating condition, then the branch rule, then the exclusion — a sensible order with no filler sentences. It is dense with dotted field paths (get_task_status.brief.waiting_on, brief.clarification.escalation), which is efficient for a machine reader but makes the prose heavy; a small amount of that could be tightened.

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?

Return shape is covered by the output schema, safety by annotations, and all three parameters by the schema, so the description's remaining job is preconditions and branching, which it does well. The one gap is failure behavior: it never says what happens if the task is not actually waiting on PM_CLARIFICATION_DECISION or if the decision is rejected.

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, but the description adds sourcing guidance the schema lacks: the decision content comes from brief.clarification.pending_pm_decision (question plus SA's recommendation) in the auto_pm case, or from the human's actual reply in the ask_user case. It does not add format or length guidance for 'decision' beyond what the schema already says.

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 ('PM resolves a Meeting Mode clarification SA escalated with pm_decision_required') plus the exact state predicate that must hold (get_task_status.brief.waiting_on == PM_CLARIFICATION_DECISION). It also names the siblings it must not be confused with (dispatch_agent, advance_project), so an agent can separate it from the surrounding clarification/gate tools without opening any 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?

Gives an explicit two-branch routing rule: when brief.clarification.escalation == 'ask_user' the agent must present the question to the human and wait for a real reply before calling; when it is 'auto_pm' the PM may decide immediately. It also supplies an explicit exclusion ('never call dispatch_agent or advance_project for this instead'), which is exactly the when-not guidance most definitions omit.

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