Convenciones para definir subagentes (agents/<name>.md): cuándo se invocan, qué tools
pueden usar, y cómo estructurar sus instrucciones para que produzcan una salida predecible.
Un subagente mal definido produce resultados inconsistentes o usa tools que no debería. Un frontmatter claro con "when to use" hace que el orquestador lo elija bien, y el scoping de tools acota lo que puede hacer (menos riesgo, más foco).
---
name: <agent-name-kebab>
description: <cuándo usar este agente — qué tarea resuelve, en qué situación>
tools: [Read, Grep, Glob] # opcional: acotá a lo que el agente necesita
---descriptiondescribe cuándo despacharlo, no solo qué hace.- Acotá
toolsal mínimo necesario (un analizador read-only no necesita Write).
## Overview — rol del agente en una frase
## Task — qué debe lograr (resultado observable)
## Phases — pasos ordenados, si el trabajo es multi-fase
## Output contract — el schema/forma exacta de lo que devuelve
## Constraints — qué NO hacer, límitesSi el agente alimenta a otro (pipeline) o a un script, definí el schema exacto de
su salida (campos requeridos, tipos). Ver feature agent-pipeline.
- Creá
agents/<name>.mdcon frontmatter + cuerpo estructurado. - Acotá
tools. - Si es parte de un pipeline, definí el contrato de salida explícito.
Despachá el agente con una entrada de ejemplo y verificá que la salida respeta el contrato declarado.
- 1.0.0 — convenciones de
understand-anything(agents/) ysuperpowers.