Skip to main content
Glama

debt_summary

Generate a one-page tech-debt overview of a repo: marker counts by type, directory and language, oldest markers, top authors, quarterly trends, median age, and ticket-linked versus orphaned markers.

Instructions

One-page tech-debt overview of a repo: marker counts (by marker, directory, language), the 5 oldest markers, top authors, markers added per quarter (trend), median age, and how many reference a ticket (TODO(alice): ..., FIXME[JIRA-9], #123) versus orphans. Age and author come from git blame --porcelain -w -M on the marker lines. Default markers: TODO FIXME HACK XXX BUG; pass markers=["TODO","NOTE"] to change. Only real comments count: markers in strings, URLs, regexes and identifiers like TODOS or todo_list are ignored. include_docstrings=True also reads Python triple-quoted docstrings. dir_depth sets how many path components group the by_directory counts.

Input Schema

NameRequiredDescriptionDefault
repoNo
markersNo
dir_depthNo
include_docstringsNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior4/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 substantial work: it discloses the data source for age/author (`git blame --porcelain -w -M`), the false-positive filtering rule (markers in strings, URLs, regexes, identifiers like TODOS or todo_list are ignored), and what dir_depth actually groups. Remaining gaps are the `repo` argument's accepted form and whether a git checkout is required.

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?

Purpose is front-loaded and the sentences progress from outputs to methodology to parameter behavior with no filler. The parenthetical marker examples (TODO(alice): ..., FIXME[JIRA-9], #123) are dense and slightly cryptic, but they carry real information about ticket-reference detection.

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?

An output schema exists, so return shape need not be described, and the description instead covers methodology and filtering, which is the right allocation of effort. The one substantive hole is the `repo` parameter, whose format and default behavior an agent needs in order to call the tool correctly.

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 description coverage is 0%, so the description must compensate, and it does for three of four parameters: markers (default list plus an override example), include_docstrings (scoped to Python triple-quoted docstrings), and dir_depth (path components used for by_directory grouping). The `repo` parameter is never explained — its type, expected path form, and what a null default means are all left unstated.

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?

The opening clause 'One-page tech-debt overview of a repo' names a specific verb-like action and resource, then enumerates the exact aggregates produced (marker counts, oldest 5, top authors, per-quarter trend, median age, ticket-linked vs orphan). That enumeration makes it distinguishable from list_todos and stale_todos 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 Guidelines3/5

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

It gives conditional guidance for parameters ('pass markers=["TODO","NOTE"] to change', 'include_docstrings=True also reads...'), which is usage guidance for options. But it never states when to pick this tool over siblings like stale_todos, todo_history, or hotspot_debt, so the routing decision is left to inference.

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