Calidad de descripciones de tools como contrato de seleccion; rename y split sobre overloading para evitar misroute.
La descripción de un tool es el único mecanismo que el modelo usa para escoger entre tools similares. Una buena descripción no es prosa decorativa: es un contrato de uso que declara tres cosas concretas: el input format que acepta, ejemplos de query que la disparan, y la frontera explícita ("usa esto en lugar de X cuando..."). El nombre del tool es parte del contrato; cuando el nombre confunde, ninguna cantidad de explicación lo arregla.
Aplica a tres escenarios: Customer Support (enrutamiento entre tools de respuesta), Multi-Agent (selección entre agentes con capacidades solapadas) y Dev Productivity (tools de análisis y extracción que compiten por el mismo turno).
Cuando dos tools tienen descripciones genéricas (Analyzes content vs Analyzes documents), el modelo enruta mal en 20–30% de los turnos. El síntoma es traicionero: una "respuesta razonable pero del tool incorrecto", que pasa desapercibida en los logs hasta que un componente downstream rompe porque recibió el shape equivocado. No es un crash visible; es deriva silenciosa de routing que se acumula.
analyze_content → extract_web_results resuelve más misroutes que tres párrafos extra.{
"name": "extract_web_results",
"description": "Parses HTML pages from a search query into a list of {title,url,snippet}. Use when input is a URL or raw HTML; for PDF/DOCX use parse_document instead."
}Con su par recíproco parse_document, cuya descripción declara el input format inverso y devuelve la frontera ("para HTML o URLs usa extract_web_results").
[
{"name":"analyze_content","description":"Analyzes content"},
{"name":"analyze_document","description":"Analyzes documents"}
]Dos contratos genéricos y solapados, sin input format, sin frontera, sin ejemplo de query. El modelo adivina y acierta el 70–80% de las veces.
Para certificar dominio de esta kata hay que sostener cuatro afirmaciones:
katas-mcp-server-configurationkatas-builtin-tool-selectionkatas-custom-commands-skillsCapas del packet, cargables bajo demanda (disciplina ICM: una capa por vez, nunca todas juntas): knowledge/ cuerpo de conocimiento · prompts/ prompts listos · examples/ salida de ejemplo · agents/ subagentes del packet · templates/ plantilla de output.
e8f986b
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.