Skip to main content
Glama

impacto

Read-onlyIdempotent

Determine what code is affected by changes to a file, function, or class by tracing reverse calls, imports, and inheritance. Returns file:line evidence.

Instructions

Quem pode ser afetado se mudar um arquivo, função ou classe? Segue chamadas/imports/herança no sentido inverso, até 6 saltos. Use arquivo::Classe.metodo para nomes repetidos. Por padrão só EXTRACTED. Inclua INFERRED explicitamente para examinar hipóteses. Retorna evidência arquivo:linha; dependência estática não é garantia de quebra.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
alvoYes
tokensNo
profundidadeNo
incluir_inferidasNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior5/5

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

Annotations already declare read-only, idempotent, closed-world behavior. The description adds substantial value beyond that: reverse traversal semantics, a 6-hop limit, default precision level (EXTRACTED only), and a crucial caveat that static dependencies are not guaranteed breakages. This is rich 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 with a clear purpose question, followed by concise, information-dense sentences. No filler or repetition; every sentence adds distinct guidance.

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?

With an output schema present, return-value details need not be fully described, yet the description still notes the file:line evidence format. Combined with rich behavioral and usage context, it is nearly complete, though the missing explanation of 'tokens' and the depth mapping leaves a small gap.

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 clarifies the 'alvo' syntax and the effect of the 'incluir_inferidas' parameter, and implies a depth limit via 'até 6 saltos.' However, it never mentions the 'tokens' parameter, and the relationship between the 'profundidade' parameter (default 3) and the 6-hop limit is ambiguous.

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 analytical purpose (who is affected by a change) and specifies the traversal direction (reverse) and mechanisms (calls/imports/inheritance). It distinguishes itself from general graph traversal siblings by focusing on reverse impact, but does not explicitly name alternatives like 'relacionados' or 'caminho'.

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 clear context for use: reverse dependency analysis up to 6 hops. It also provides parameter usage guidance (use arquivo::Classe.metodo for disambiguation; default to EXTRACTED, add INFERRED for hypotheses). No explicit when-not or alternative tool routing.

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