Skip to main content
Glama

diff_guidance

Compares draft and final guidance section by section, identifying added, removed, modified, or unchanged sections and paragraph-level changes, then optionally saves the full diff as JSON.

Instructions

Section-aligned draft-vs-final diff. For each section: section_id, heading, status (added/removed/modified/unchanged), draft_text, final_text, paragraph_changes (incl. paragraphs moved between sections) and change_summary_stats. Refs as in get_guidance_text. write_to saves the full diff as JSON (relative paths resolve to the repo) and returns a summary.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "draft_ref": "<draft_ref>",
      "final_ref": "<final_ref>"
    },
    "name": "diff_guidance"
  }
}

Input Schema

NameRequiredDescriptionDefault
write_toNo
draft_refYes
final_refYes
include_textNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the burden and does disclose the output structure, section statuses, paragraph-move handling, summary stats, and the write_to side effect including relative path resolution. It does not fully clarify read-only behavior, overwrite behavior, or permissions, but it adds substantial behavioral context.

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 front-loaded and dense: it states the operation, enumerates the relevant per-section fields, and explains write_to without filler. The field list earns its place by clarifying the returned diff structure.

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?

For a tool with no output schema and no annotations, it gives a useful return-structure summary and discloses the write_to side effect. The main gap is the unexplained include_text parameter, but the core invocation requirements are otherwise covered.

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 description coverage is 0%, so the description must compensate. It explains write_to and points to get_guidance_text for refs, but include_text is not mentioned at all, leaving one optional parameter undocumented.

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 operation: a section-aligned draft-vs-final diff. It lists per-section outputs and statuses, and references get_guidance_text for ref semantics, which distinguishes it from the sibling text-retrieval tool.

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?

The comparison purpose is clear from the description, so use is implied when comparing two guidance refs. However, it does not explicitly say when to use this instead of get_guidance_text or other siblings, nor does it give exclusions or prerequisites.

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