Skip to main content
Glama
imam-db

reimburse-buddy

by imam-db

draft_decision

Drafts the final reviewer decision note for a travel expense claim and re-runs claim checks so reported figures remain consistent.

Instructions

Draft the final decision note for a reviewer. Re-runs check_claim, so numbers stay consistent. language: "id" (Bahasa Indonesia), "en" or "both" (default: Indonesian, then English).

Input Schema

NameRequiredDescriptionDefault
noteNo
claim_idYes
languageNoboth
evidence_idsNo
human_decisionsNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It usefully discloses that the tool re-runs check_claim so numbers stay consistent, and it explains the language fallback behavior. However, it never states that this is a write/draft-creation operation, whether it overwrites an existing note, whether it requires human_decisions, or what permissions are needed.

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?

The description is two short sentences and front-loads the core action before adding behavioral detail and the language note. The language specification is useful but jammed in as a trailing inline fragment, which slightly hurts scannability.

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

Completeness2/5

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

An output schema exists, so return values need not be explained, but this is a multi-parameter drafting operation with no annotations and zero schema description coverage. The description covers purpose, a check_claim rerun, and only one parameter, leaving the roles of claim_id, note, evidence_ids, and human_decisions, plus side effects of drafting, incomplete for correct invocation.

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

Parameters2/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 for five undocumented parameters. It only explains one: the language parameter, adding valuable meanings for 'id', 'en', and 'both' with the fallback default. It says nothing about claim_id, note, evidence_ids, or human_decisions, leaving most parameters unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Draft the final decision note for a reviewer.' That clearly distinguishes it from read-oriented siblings like get_claim or list_claims, and the mention of re-running check_claim further separates it from plain validation. It loses a point because it never explicitly says whether this persists a decision versus producing a draft artifact.

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 is only implied: 'for a reviewer' suggests this is invoked at decision time, and 'Re-runs check_claim' hints at a relationship with that sibling. There is no explicit when-to-use rule, no prerequisites (e.g., must the claim be triaged first), and no guidance on when to use check_claim or update_claim_status instead.

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