Skip to main content
Glama

lint

Checks a knowledge base for silent rot, finding orphan captures, unclosed superseded claims, unresolved contradictions, stale questions, and fragmented tags.

Instructions

Knowledge base health check. Catches the ways a knowledge base silently
rots: orphan captures nothing links to, superseded claims not closed
out, unresolved contradictions, open questions going stale, and
fragmented tags from normalization failures.

Run it occasionally — a base that is never linted entrenches errors
instead of correcting them.

Args:
    stale_question_days: Age at which an unanswered ? question is
                         flagged (default 30).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
stale_question_daysNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv3.9.0

TDQS

A3.9/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 and does convey substantive detail about what is inspected and why it matters. It never states, though, whether the operation is read-only or non-destructive, nor how its findings are surfaced, leaving an agent to infer the safety profile.

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?

Front-loads the core purpose and then the checks, with the parameter note clearly separated. The prose is slightly colorful ('silently rots', 'entrenches errors') but mostly earns its place and stays readable.

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 values need not be explained, and the single optional parameter is covered. The main gap is the absence of any read-only/destructive statement and of routing versus the similar audit siblings, but the essentials are present.

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: it explains stale_question_days as the age at which an unanswered '?' question is flagged, and confirms the default of 30. Meaning is added beyond the bare integer in the schema.

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 action (a knowledge base health check / lint) and enumerates exactly the failure modes it detects: orphan captures, superseded claims, unresolved contradictions, stale questions, and tag fragmentation. This is concrete enough to distinguish it from nearby diagnostic siblings like journal_health or audit_knowledge_status.

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?

Gives frequency guidance ('run it occasionally') and a rationale (a never-linted base entrenches errors), which implies when to use it. However, it never names an alternative or explains when NOT to run it, despite several plausibly overlapping diagnostic siblings in the list.

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