Todos los recursos

Una guía práctica para definir un subagente enfocado en Claude Code (su archivo, su prompt, su lista de herramientas permitidas) y conectarlo a un flujo de trabajo real para que tu hilo principal se mantenga limpio y el trabajo delegado regrese como un resumen que de verdad puedas usar.

Cómo agregar un flujo con subagentes en Claude Code (paso a paso)

En resumen

  • Un subagente es un archivo markdown en .claude/agents/ con frontmatter YAML y un system prompt. Y ya, esa es toda la interfaz.
  • El campo description es el disparador: ponle el verbo de primero para que Claude sepa exactamente cuándo delegar.
  • Limita las herramientas al mínimo que la tarea necesita. Un revisor de solo lectura no tiene por qué cargar con Write ni Edit.
  • Los subagentes corren en un contexto aislado y solo te devuelven un resumen, por eso las instrucciones que le pasas tienen que bastarse por sí solas.
  • Hazle commit al archivo. Un subagente en tu repo es un compañero de equipo compartido y versionado, no una macro de un solo uso.

Tu sesión principal de Claude Code es un espacio de trabajo compartido, y cada tarea ruidosa que corres ahí (una pasada de seguridad sobre un diff, una corrida de tests que falla a ratos, una auditoría de dependencias de cuarenta archivos) te quema contexto que preferirías gastar en el problema de verdad. Un subagente resuelve eso: es un asistente con nombre, con su propio prompt, su propia lista de herramientas permitidas y su propia ventana de contexto desechable, así que el desorden se queda en su ventana y a la tuya solo regresa un resumen limpio. Al terminar esta guía vas a tener un subagente funcionando, con commit en un repo, invocado de dos formas y conectado a un flujo real de revisar antes de hacer commit, más los modos de falla que hacen que la gente se rinda con los subagentes demasiado pronto.

Esto no es una función que "prendes". Es un archivo pequeño y un contrato claro. Si le aciertas al contrato, delegar se siente de lo más natural. Si lo erras, lo único que armaste fue un agente solo, más lento y disfrazado.

01 · Requisitos y qué es realmente un subagente

Antes de los pasos, asegúrate de tener las piezas en su lugar. Nada de esto es complicado, pero saltarte la que no es te quema una sesión completa.

  • Claude Code instalado y autenticado. Corre claude dentro de un directorio de proyecto y confirma que te sale el prompt.
  • Un proyecto real donde trabajar, idealmente un repo git. Los subagentes brillan en tareas con archivos que leer. En una carpeta vacía no sirven de nada.
  • Permiso de escritura en la raíz del proyecto, porque ahí es donde los subagentes viven, en un directorio .claude/agents/.
  • Una tarea clara y acotada en mente. "Revisa todo mi codebase" no es trabajo para un subagente. "Revisa un diff buscando inyección, secretos y chequeos de authz que falten" sí lo es.

Un subagente son tres cosas y nada más: un name, un system prompt que define su trabajo y una lista de herramientas permitidas que limita lo que puede hacer. Corre en una ventana de contexto nueva que no puede ver tu conversación principal, solo el prompt que lleva encima y la tarea que le entregas. Ese aislamiento es justamente la gracia del asunto. El subagente se traga todo el ruido y te devuelve una conclusión. El ruido se queda muriendo en su ventana.

Nota

Que el subagente no vea tu historial es a la vez una ventaja y una trampa. No se contamina con el desorden que dejaste antes, pero tampoco puede adivinar eso tan obvio que se te olvidó mencionar. Escríbele las instrucciones como si le estuvieras dando la inducción a un contratista nuevo en su primer día.

02 · Crea el archivo del agente

Los subagentes son archivos markdown con frontmatter YAML. Crea el directorio y el archivo:

mkdir -p .claude/agents
$EDITOR .claude/agents/security-reviewer.md

Ahora escribe el agente. El frontmatter es el contrato que lee la máquina. El cuerpo es el system prompt:

---
name: security-reviewer
description: Revisa un diff por inyección, secretos filtrados y chequeos de authz faltantes. Úsalo antes de cualquier commit que toque manejo de input, auth o queries.
tools: Read, Grep, Bash
model: sonnet
---

Revisas código solo por problemas de seguridad. No refactorizas, no renombras
ni arreglas estilo. Por cada hallazgo, devuelve exactamente un bloque:

- archivo:línea
- severidad: baja | media | alta
- el riesgo concreto en una frase
- un arreglo específico (un diff o una frase, no "considera mejorar esto")

Si no encuentras nada, dilo claro. Nunca inventes hallazgos para verte útil.
Corre Bash solo para inspección de lectura (git diff, grep). Nunca escribas archivos.

Cuatro campos son los que cargan con el peso:

  1. name va en minúsculas, con guiones, único. Así es como lo vas a invocar.
  2. description es la línea más importante de todas. Claude la lee para decidir cuándo delegar, así que arranca con el verbo y deja clara la condición que lo dispara. "Revisa un diff… Úsalo antes de cualquier commit que toque auth" le gana por mucho a "Un agente de seguridad."
  3. tools es la lista de herramientas permitidas. Dale solo lo que la tarea necesita. Un revisor lee y hace grep. No tiene por qué cargar con Write ni Edit.
  4. model es tu perilla de velocidad y costo. Usa sonnet para la mayoría del trabajo delegado, reserva el modelo más pesado para razonamiento de verdad difícil, y usa haiku para pasadas baratas de alto volumen.

Atención

La línea tools es un límite de seguridad, no una sugerencia. Si pones Bash sin restricciones, el subagente puede correr cualquier cosa que Bash pueda correr. Deja claros los límites en el prompt ("solo inspección de lectura") y, para todo lo que toque el shell de forma amplia, apóyate en una lista de comandos permitidos en vez de confiar solo en el prompt.

03 · Invócalo, de dos formas

Puedes entregarle trabajo a un subagente de forma explícita o dejar que Claude lo enrute por su cuenta.

Explícita: lo nombras en tu mensaje. Así agarras el hábito y así pruebas el agente de forma aislada:

Usa el subagente security-reviewer sobre el diff en stage. Este es el contexto
que necesita: este PR agrega un endpoint público /api/export que lee un param
"format" del usuario y llama por shell a un convertidor. Enfócate ahí.

Fíjate cuánto contexto viaja con el mensaje. El subagente no puede ver tu conversación, así que ese párrafo es todo su mundo. La causa número uno de una corrida inútil de subagente es una instrucción de una sola línea que da por sentado que el agente vio todo lo que vienes hablando.

Automática: si la description está bien afilada, Claude va a recurrir al agente por su cuenta cuando la conversación encaje. Lo vas a ver delegar, el subagente trabaja en su propio contexto, y un resumen aterriza de vuelta en tu hilo. Esa es la recompensa: las cuarenta líneas de salida de grep y el filtrado de falsos positivos nunca tocan tu ventana principal.

Agentes de proyecto vs. personales

Un archivo en .claude/agents/ dentro del repo se comparte con todo el que lo clone. Un archivo en ~/.claude/agents/ es tuyo en todos tus proyectos. Pon los estándares del equipo (el revisor de seguridad, el corredor de tests) en el repo, y deja los ayudantes personales en tu home. Cuando los dos definen el mismo name, gana el archivo del proyecto.

04 · Ejemplo resuelto: revisar antes del commit

Aquí va el workflow de punta a punta. La meta: que nada llegue a commit sin una pasada de seguridad, y que esa pasada nunca te ensucie la sesión principal.

  1. Terminas un cambio y lo pones en stage. En tu hilo principal dices: "Revisa el diff en stage con el subagente security-reviewer antes de que haga commit."
  2. Claude levanta el subagente con un contexto nuevo. Corre git diff --staged, hace grep de los patrones obvios, lee los archivos tocados y hace la criba.
  3. El subagente devuelve solo su lista de hallazgos, pongamos dos medios y uno alto, como resumen. El diff crudo y todo su razonamiento se quedan en su ventana.
  4. Lees tres hallazgos ordenaditos en vez de hacer scroll por toda la investigación del agente. Arreglas el alto, asumes el riesgo en uno de los medios, y haces commit.

La ganancia no es que Claude encontró bugs. Tu hilo principal también podía hacerlo. La ganancia es que los encontró sin gastarte el contexto en la búsqueda, así que la sesión que hace el trabajo de feature de verdad se mantiene afilada por más tiempo. Encadena un segundo agente, un test-runner que devuelva pasa/falla más el primer assert que truena, y ya tienes una puerta de calidad delegada que casi no le cuesta atención a tu hilo principal.

Consejo

Dale a cada subagente una forma que devolver, no solo un tema. "Devuelve una lista de hallazgos como archivo:línea, severidad, arreglo" se puede exigir. "Revisa el código" es echar una moneda al aire. Mientras más se parezca a datos el output de tu subagente, menos trabajo te toca a ti en el hilo principal para juntarlo todo.

05 · Errores comunes

El mismo puñado de errores explica casi todas las historias de "los subagentes no me sirvieron de nada".

  • Las instrucciones vagas. El agente no puede ver tu chat. Un "revisa esto" no le deja nada con qué trabajar. Dale el contexto por adelantado, siempre.
  • Exceso de herramientas. Darle a cada agente el conjunto completo de herramientas te quita justo la seguridad que la lista permitida venía a darte, y un revisor con acceso a Write tarde o temprano va a "ayudarte" editándote el código. Acótalo.
  • Delegar lo trivial. Levantar un subagente implica volver a leer contexto y te cuesta un viaje de ida y vuelta. Para una tarea de treinta segundos, ese costo extra es pérdida pura. Delega cuando la limpieza, mantener el ruido fuera de tu ventana principal, vale más que el arranque.
  • El agente por vanidad. Cinco subagentes para un problema que uno solo resolvería en secuencia te sale más lento, no más rápido. Paraleliza solo el trabajo que de verdad es independiente. Si no, una sola tarea encadenada está perfecta.
  • El que se autocalifica. Un agente que hace el trabajo y además dictamina que quedó correcto es puro teatro. Si la corrección importa, el verificador es un rol aparte, con su propio prompt.

Importante

Hazle commit a tus archivos de agente. Un subagente que vive solo en tu laptop es una macro privada. Uno en el repo es un compañero versionado que cada clone y cada corrida de CI puede usar igualito. Todo el equipo recibe el mismo revisor de seguridad, la misma puerta de tests, los mismos estándares, y gratis.

Los subagentes no hacen a Claude Code más inteligente. Lo hacen más ordenado. La disciplina que te obligan a tener (un trabajo acotado, una lista de herramientas ajustada, unas instrucciones que se bastan por sí solas, una forma que devolver) es la misma que hace que cualquier delegación funcione, sea humana o máquina. Empieza con un solo agente bien acotado y con commit en un repo, úsalo durante una semana, y vas a sentir exactamente dónde encaja el siguiente.

Puntos clave

  • Un subagente es solo un archivo markdown en .claude/agents/ con tres cosas que de verdad importan: un name, un system prompt y una lista de herramientas permitidas.
  • El campo description es el disparador: ponle el verbo de primero y deja clara la condición para que Claude delegue en el momento justo.
  • Acota las herramientas a la tarea. Un revisor de solo lectura con Read y Grep es seguro. El mismo agente con Write es un riesgo.
  • Dale las instrucciones como a un contratista en su primer día: el subagente no puede ver tu chat, así que todo lo que dejes por fuera, lo adivina.
  • Hazle commit al archivo y exígele una forma de respuesta, no prosa. Un agente versionado que devuelve hallazgos estructurados es un compañero en el que todo el repo puede confiar.

Preguntas frecuentes

¿En qué se diferencia un subagente de simplemente darle a Claude un prompt más largo?

Un prompt más largo corre todo en tu ventana de contexto principal. Cada byte de la tarea y de su output se te queda en el historial. Un subagente corre en una ventana aparte y desechable, y solo te devuelve un resumen, así que todo el ruido del medio nunca te cuesta contexto. La gracia no está en un prompt más grande. Está en el aislamiento.

¿Un subagente puede ver mi conversación principal o hacerme una pregunta a mitad de la tarea?

No, ninguna de las dos. Solo ve el prompt de su archivo más la tarea que le entregas, y no puede frenar para preguntarte nada. Corre hasta terminar y te reporta. Por eso las instrucciones tienen que bastarse por sí solas: todo lo que dejes por fuera, le toca adivinarlo.

¿Cuándo NO vale la pena delegar a un subagente?

Cuando la tarea es rápida y limpia. Levantar un subagente implica volver a leer contexto y te cuesta un viaje de ida y vuelta, así que para una búsqueda de treinta segundos o editar un solo archivo estás pagando un costo extra a cambio de nada. Delega cuando mantener el ruido fuera de tu ventana principal compense el arranque, como pasadas de seguridad, auditorías grandes y corridas de tests que fallan a ratos.

¿Dónde pongo el archivo del agente, y debería hacerle commit?

Los agentes de proyecto van en .claude/agents/ dentro del repo. Los personales van en ~/.claude/agents/. Hazle commit a los de proyecto, porque así todo el equipo recibe el mismo agente versionado y CI también puede usarlo. Si las dos ubicaciones definen el mismo name, gana el archivo del proyecto.

¿De verdad es necesario restringir la lista de herramientas?

Sí, trátalo como un límite de seguridad. Un revisor que solo necesita Read y Grep no tiene por qué cargar con Write ni Edit, porque un agente con acceso a editar tarde o temprano va a 'ayudarte' cambiándote el código. Menos herramientas se traduce en menos sorpresas y un radio de impacto más pequeño si al agente se le va la mano.

¿Cuántos subagentes debería usar una tarea?

Tan pocos como te lo permitan las dependencias. Corre agentes en paralelo solo cuando el trabajo es de verdad independiente. Si el paso dos necesita el output del paso uno, eso es un pipeline, no un abanico, y lo correcto es un agente a la vez. Lanzar cinco donde basta con uno te sale más lento y más ruidoso, no más rápido.

¿Prefieres que lo hagamos por ti?

Esto mismo lo construimos para negocios como el tuyo. La primera conversación es gratis y sin compromiso.

Escríbenos por WhatsApp

Escríbenos por WhatsApp

Escanéalo con tu teléfono para escribirnos por WhatsApp.

Escanéalo con tu teléfono para escribirnos por WhatsApp.

¿Estás desde el teléfono y no puedes escanear? Escríbenos a info@ilustrari.com

Primera conversación gratis. Te responde el fundador.

Recursos relacionados

GuíaClaude Code

Crea un comando slash personalizado en Claude Code (de esos que el equipo sí usa)

Cuando reescribes las mismas instrucciones en Claude Code por décima vez, ya no estás escribiendo prompts: estás capturando datos. Un comando slash convierte ese prompt repetido en una plantilla versionada, que recibe argumentos y vive dentro de tu repo. Esta guía arma uno desde cero, cubre argumentos, referencias a archivos e inyección de bash, y luego te muestra los errores de alcance y de diseño que vuelven peso muerto un comando que era útil.

1 may 20269 min de lectura
ArtículoClaude Code

Director, no solista: cómo orquestar Claude Code con subagentes

Una nota de campo sobre usar los subagentes de Claude Code como obreros y dejar el hilo principal como director: cuándo abrir en abanico, cuándo encadenar, cómo las salidas estructuradas frenan la deriva y los modos de falla de los que nadie te avisa.

3 jun 202611 min de lectura
GuíaClaude Code

Mini-masterclass de Claude Code: arma un juego en el navegador en 10 minutos

Claude Code es un agente de IA que vive en tu terminal: lee, escribe y corre código en una carpeta real de tu máquina. Esta masterclass te explica cómo funciona de verdad y después te lleva de la mano de principio a fin: abre una terminal, crea una carpeta, corre el comando «claude», pega un prompt exacto y míralo entregarte un juego jugable de nave contra asteroides. Lo logras en diez minutos, aunque nunca hayas abierto una terminal por puro gusto.

4 jun 202611 min de lectura