Skip to main content
Glama

decision.create

Records an architectural or implementation decision with an optional reason in the current session, preserving it across later contexts and handoffs so agents do not reopen settled choices.

Instructions

Record an architectural or implementation decision, with an optional reason, in the current session and log a decision.created event. Every call stores a new decision, so do not repeat one already in decision.list. Returns the decision JSON and may write an auto-checkpoint. Decisions appear in every later context and handoff. To combine it with an event or checkpoint use session.record.

Input Schema

NameRequiredDescriptionDefault
reasonNoWhy, so the next agent does not reopen it
decisionYesWhat was decided, in one sentence

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.1.9
    • changedInput schema / properties / decision / description
      Previous value: -"The decision"New value: +"What was decided, in one sentence"
    • changedInput schema / properties / reason / description
      Previous value: -"Reasoning behind the decision"New value: +"Why, so the next agent does not reopen it"
  2. First observedv0.1.8

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations present, the description carries the full burden and does so: it discloses non-idempotent append behavior ('Every call stores a new decision'), the event side effect, a possible auto-checkpoint write ('may write'), the return shape ('Returns the decision JSON'), and downstream visibility ('Decisions appear in every later context and handoff'). That is substantially more than the empty annotation set provides.

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?

Four short sentences, front-loaded with the action and followed by constraints and alternatives. Every sentence conveys a distinct fact (effect, dedup rule, return/side effect, alternative tool) with no filler.

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?

No output schema exists, and the description compensates by naming the return value and the possible checkpoint write, plus the cross-session visibility consequence. For a two-parameter append tool, an agent has everything needed to call it correctly.

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

Parameters3/5

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

Schema coverage is 100% and both parameters already carry descriptions ('What was decided, in one sentence', 'Why, so the next agent does not reopen it'), so the schema does the heavy lifting. The description only echoes that the reason is optional and adds no format or length guidance beyond the schema, so the baseline 3 applies.

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 ('Record an architectural or implementation decision ... in the current session') plus the side effect of logging a decision.created event. An agent can distinguish it from decision.list (read) and session.record (combined event/checkpoint) 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?

Gives an explicit when-not condition ('do not repeat one already in decision.list') and an explicit alternative for a different need ('To combine it with an event or checkpoint use session.record'). Both routing decisions are stated rather than inferred.

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