Skip to main content
Glama

check_decisions

Detect contradictions between a working-tree git diff and accepted engineering decisions, returning advisory findings with file, line, and rule to prevent conflicting changes.

Instructions

Check the working-tree diff against accepted decisions. Returns status skipped unless hosted diff checks are enabled (lockstep checks on). The optional base is the git ref to diff against. Uploads the diff of tracked changes (untracked files are not uploaded) to the Lockstep server and returns the findings: possible contradictions with accepted decisions, each with file, line and the rule. Findings are advisory; use decisions to read the decisions themselves.

Input Schema

NameRequiredDescriptionDefault
baseNoGit ref to diff the working tree against, for example origin/main. Defaults to HEAD (uncommitted changes only).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.1.3
    • addedInput schema / properties / base / description
      Added value: +"Git ref to diff the working tree against, for example origin/main. Defaults to HEAD (uncommitted changes only)."
  2. Addedv0.1.2

TDQS

A4.3/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does it well: it discloses that the diff of tracked changes is uploaded to a Lockstep server (untracked files are excluded), that a 'skipped' status is returned unless hosted diff checks are on, and that findings are advisory rather than blocking. These are exactly the side-effect and outcome traits an agent needs before calling.

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?

Four tight sentences, front-loaded with the purpose and scope, then the gating behavior, parameter note, and return shape. The parameter sentence is somewhat redundant with the schema but not wasteful enough to penalize heavily.

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 the upload behavior, the skipped-status path, the finding shape (file, line, rule), and the advisory nature — all important for a tool with no output schema. Minor gaps remain around required permissions or configuration for enabling lockstep checks, but the agent has enough to act 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 the schema already documents `base` with its default of HEAD. The description only restates 'the optional base is the git ref to diff against', adding no format guidance or examples beyond the schema. 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?

Opens with a specific verb+resource: 'Check the working-tree diff against accepted decisions.' It also names the sibling `decisions` for the adjacent read-the-rules task, so the agent can tell the two apart without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a clear context (working-tree diff checking) and routes the agent to `decisions` when it wants to read the decisions themselves. It doesn't state explicit when-not-to-use conditions or a workflow point (e.g. before commit), so it falls short of a 5.

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