Skip to main content
Glama

kb_repair

Apply mechanical fixes for a specific lint check across the entire knowledge base in one commit. Defaults to dry-run (plan only); skips concepts changed since listing.

Instructions

Applies the mechanical fix a lint finding carries (fix) for one check, KB-wide in one commit. dry_run defaults to true (plan only). Concepts changed since listing are skipped. Judgement fixes: kb-doctor skill.

Input Schema

NameRequiredDescriptionDefault
checkYes
limitNo
scopeNo
reasonNoWhy (commit trailer)
dry_runNoDefault true

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 full burden and does well: it discloses that this is a mutation ('KB-wide in one commit'), that dry_run defaults to true as a plan-only mode, and that concepts changed since listing are skipped (staleness/concurrency handling). It omits any statement of required write permissions, but the safety-relevant behavior is otherwise unusually well covered.

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?

Four tight sentences with no filler, front-loading the action before the dry-run default, staleness rule, and the routing note. Every clause conveys distinct information.

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 mutation tool with no annotations and no output schema, it covers the essential behaviors (atomic commit, safe default, staleness skip, alternative tool). The remaining gap is the undocumented `limit` and `scope` parameters, which leave the agent unable to reason about scoping.

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 only 40% (reason and dry_run are documented), so the description must compensate. It clarifies that `check` selects 'one check' and that the operation is 'KB-wide', which adds meaning. However, `limit` and `scope` are undocumented in both places, and 'KB-wide' arguably sits in tension with an unexplained `scope` parameter.

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?

States a specific verb and resource: it 'applies the mechanical fix a lint finding carries' across the KB. It implicitly differentiates itself from the sibling `lint` (which surfaces findings) by being the actor that applies the carried `fix`. The parenthetical '(fix)' assumes the reader already knows lint findings expose a fix field, which is a mild dependency but not enough to obscure the purpose.

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?

Routes the agent away from judgement-type fixes with an explicit alternative: 'Judgement fixes: kb-doctor skill.' Combined with the implied workflow (this consumes a lint finding's mechanical fix), it gives clear when-to-use and when-not guidance. It stops short of stating whether `lint` must be run first or how to obtain the check identifier.

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