Módulo 6: Subagents: delegar trabajo a agentes especializados

Built-in Subagents: los agentes especializados de Claude Code

Built-in Subagents: los agentes especializados de Claude Code

Descripción

Claude Code no es un solo agente — es un agente principal que puede crear agentes hijos especializados para delegar trabajo. Estos subagents built-in vienen integrados y no requieren configuración: general-purpose (ejecución completa de subtareas), Explore (análisis read-only), Plan (diseño sin ejecución), statusline-setup (configuración de status line), y claude-code-guide (documentación de Claude Code).

Cada subagent tiene un perfil distinto: herramientas permitidas, velocidad, profundidad de análisis, y tipo de output. Saber cuándo usar cada uno — y cuándo dejar que Claude Code los active automáticamente — es la diferencia entre desperdiciar context window y usarlo quirúrgicamente.

Esta cápsula cubre los 5 subagents built-in en profundidad: qué hacen, cómo funcionan internamente, cuándo se activan, y cómo pedirlos explícitamente. Con ejemplos prácticos que puedes replicar en tu proyecto.


Qué es un subagent

Un subagent es una instancia ligera de agente que Claude Code crea para manejar una subtarea. No es un proceso separado ni un servidor externo — es un agente que opera dentro de la misma sesión de Claude Code pero con su propio contexto y restricciones.

Anatomía de un subagent

┌──────────────────────────────────────────────────────────┐
│                    AGENTE PRINCIPAL (Parent)              │
│                                                          │
│  Context window: [tu conversación + proyecto]            │
│  Tools: Read, Write, Execute, Search, Glob, etc.         │
│                                                          │
│  ┌────────────────────────────────────────────────────┐   │
│  │              SUBAGENT (Child)                      │   │
│  │                                                    │   │
│  │  Context propio: [instrucción + archivos leídos]   │   │
│  │  Tools: [subset del parent]                        │   │
│  │  Output: resultado compacto → devuelto al parent   │   │
│  └────────────────────────────────────────────────────┘   │
│                                                          │
└──────────────────────────────────────────────────────────┘

Características comunes de todos los subagents

  1. Context aislado: Cada subagent tiene su propio context window. No comparte el contexto del parent directamente — recibe una instrucción y trabaja con ella.
  2. Tools restringidas: Los subagents tienen un subset de las herramientas del parent. Un Explore subagent no puede escribir archivos. Un statusline-setup subagent solo puede leer y editar.
  3. Output compacto: El subagent devuelve un resultado resumido al parent. El parent no recibe todo lo que el subagent leyó — recibe la conclusión.
  4. Lifecycle efímero: Los subagents se crean para una tarea, la ejecutan, devuelven el resultado, y se destruyen. No persisten entre invocaciones.
  5. Proyecto compartido: Aunque el contexto es aislado, los subagents operan sobre el mismo proyecto. Si un subagent escribe un archivo, el parent lo verá.

Context de subagents

Cada subagent recibe su propia ventana de contexto. Esto significa:

  • Los subagents NO comparten contexto con el agente principal
  • Debes incluir toda la información relevante en el prompt del subagent
  • El resultado del subagent se devuelve como un mensaje al agente principal
  • El agente principal NO ve las herramientas intermedias que usó el subagent

Los 5 subagents built-in

1. Explore subagent

El Explore subagent es un agente read-only optimizado para análisis de código. Su propósito es leer, buscar, entender — sin modificar nada.

Perfil técnico

PropiedadValor
ModoRead-only
Tools disponiblesGlob, Grep, Read (NO Edit, Write, ni Agent)
Tools NO disponiblesEdit, Write, Bash, Agent
VelocidadRápido (modelo optimizado para lectura)
Cuándo se activaAnálisis de codebase, búsqueda de patterns, comprensión de arquitectura

Qué puede hacer

  • Leer archivos del proyecto
  • Buscar patterns en el código (grep, búsqueda semántica)
  • Analizar la estructura de directorios
  • Identificar dependencias entre módulos
  • Mapear la arquitectura del proyecto

Qué NO puede hacer

  • Escribir o modificar archivos
  • Ejecutar comandos en terminal
  • Instalar dependencias
  • Crear archivos nuevos

Ejemplo básico

Tú: Analiza todos los archivos de test del proyecto. ¿Qué 
    framework se usa? ¿Cuál es la convención de nombres? 
    ¿Hay tests unitarios e integración separados?

Claude Code crea automáticamente un Explore subagent que:

  1. Busca archivos *.test.*, *.spec.*, __tests__/
  2. Lee samples de tests para identificar el framework
  3. Analiza la estructura de directorios de tests
  4. Devuelve al parent un resumen como:
Resumen del Explore subagent:
- Framework: Vitest (vitest.config.ts encontrado)
- Naming: [name].test.ts para unitarios, [name].integration.test.ts para integración
- Estructura: tests unitarios coubicados con los módulos, tests de integración en __tests__/integration/
- Cobertura: 47 archivos de test, 12 módulos sin tests
- Patterns: describe/it con factories en __tests__/factories/

El parent recibe este resumen compacto — no los 47 archivos completos. Esa es la eficiencia del modelo.

Ejemplo intermedio

Tú: Antes de refactorizar el módulo de autenticación, necesito 
    entender todas las dependencias. ¿Qué otros módulos importan 
    desde auth/? ¿Qué interfaces expone?

Explore subagent analiza:

  1. Todos los imports que referencian auth/
  2. Las interfaces y tipos exportados desde auth/
  3. Los módulos que dependen transitivamente
  4. Devuelve un grafo de dependencias en texto
Dependencias de auth/:
├── auth/index.ts exporta: AuthService, AuthMiddleware, UserSession (type)
├── Importado por:
│   ├── routes/api.ts → usa AuthMiddleware
│   ├── routes/admin.ts → usa AuthMiddleware, AuthService
│   ├── services/user.ts → usa AuthService, UserSession
│   ├── services/payment.ts → usa AuthService (solo verificación)
│   └── middleware/cors.ts → usa UserSession (type only)
└── Dependencias internas de auth/:
    ├── auth/jwt.ts → jsonwebtoken, config/secrets
    ├── auth/session.ts → redis, auth/jwt
    └── auth/middleware.ts → auth/session, auth/jwt

Con este mapa, puedes refactorizar con confianza sabiendo exactamente qué se afecta.


2. Plan subagent

El Plan subagent diseña soluciones sin ejecutarlas. Es el modo /plan que ya conoces del Módulo 04, pero aquí lo entiendes como subagent.

Perfil técnico

PropiedadValor
ModoRead-only + razonamiento
Tools disponiblesGlob, Grep, Read (NO Edit, Write, ni Agent)
Tools NO disponiblesEdit, Write, Bash, Agent
VelocidadModerado (razonamiento profundo)
Cuándo se activaDiseño de features, planificación de migraciones, decisiones de arquitectura

Qué puede hacer

  • Leer código existente para informar el plan
  • Analizar trade-offs entre opciones
  • Producir planes de implementación paso a paso
  • Identificar riesgos y dependencias
  • Proponer arquitectura sin implementarla

Qué NO puede hacer

  • Escribir archivos
  • Ejecutar comandos
  • Implementar el plan que diseña

Ejemplo básico

Tú: /plan Diseña la migración de Express a Fastify. 
    No implementes nada todavía.

Plan subagent produce:

Plan de migración Express → Fastify

Fase 1: Preparación (sin romper nada)
  1. Instalar fastify y @fastify/cors, @fastify/jwt
  2. Crear fastify-app.ts paralelo a express-app.ts
  3. Migrar config/server.ts para soportar ambos

Fase 2: Migración de rutas (una por una)
  4. Crear adaptador de middleware Express → Fastify
  5. Migrar rutas en orden: health → auth → users → products
  6. Cada ruta: migrar + test + verificar

Fase 3: Migración de middleware
  7. Reescribir auth middleware para Fastify hooks
  8. Reescribir error handler como Fastify error handler
  9. Reescribir validation (Joi → Fastify schema validation)

Fase 4: Cleanup
  10. Eliminar express-app.ts y dependencias Express
  11. Actualizar CI/CD config
  12. Ejecutar suite completa de tests

Riesgos identificados:
- Middleware custom que usa req/res de Express directamente
- Tests de integración que importan app de Express
- 3 dependencias que dependen de Express types

Estimación: 4-6 sesiones de Claude Code

Ejemplo intermedio

Tú: /plan Tengo que agregar soporte para múltiples idiomas 
    en la app. Analiza qué opciones hay (i18next, react-intl, 
    custom) y recomienda una con justificación.

El Plan subagent lee la estructura del proyecto, analiza las dependencias existentes, y produce un plan con comparación de opciones, recomendación fundamentada, y pasos de implementación.


3. General-purpose subagent

El General-purpose subagent tiene capacidad de ejecución completa. Claude Code lo usa cuando necesita delegar una tarea que requiere leer, razonar, y potencialmente ejecutar acciones.

Perfil técnico

PropiedadValor
ModoEjecución completa (con restricciones del parent)
Tools disponiblesTODAS las herramientas (Bash, Read, Write, Edit, Glob, Grep, Agent, etc.)
VelocidadVariable (depende de la complejidad de la tarea)
Cuándo se activaTareas delegadas complejas, análisis profundo con razonamiento

Qué puede hacer

  • Todo lo que Explore puede (leer, buscar, analizar)
  • Razonamiento profundo sobre problemas complejos
  • Potencialmente escribir archivos (si el parent lo permite)
  • Ejecutar secuencias de acciones para cumplir una tarea

Ejemplo básico

Tú: Busca todos los TODO comments en el proyecto, clasifícalos 
    por prioridad (critical, important, nice-to-have), y dame 
    un resumen.

Claude Code delega a un General-purpose subagent que:

  1. Busca todos los TODO, FIXME, HACK, XXX en el proyecto
  2. Lee el contexto de cada uno para clasificar
  3. Produce un informe organizado:
TODOs del proyecto (43 encontrados):

CRITICAL (5):
- src/auth/jwt.ts:45    TODO: tokens no se invalidan en logout
- src/db/migration.ts:12 FIXME: race condition en migración concurrente
- src/api/payment.ts:89  HACK: hardcoded API key (debe ir a env)
- ...

IMPORTANT (15):
- src/services/user.ts:23  TODO: agregar validación de email
- ...

NICE-TO-HAVE (23):
- src/utils/format.ts:7   TODO: soportar más formatos de fecha
- ...

Ejemplo intermedio

Tú: Necesito entender cómo fluyen los datos desde que un 
    usuario hace login hasta que recibe el dashboard. 
    Traza el flujo completo.

El General-purpose subagent sigue el flujo a través de múltiples archivos:

Flujo de login → dashboard:

1. POST /api/auth/login (routes/auth.ts:34)
   → Recibe { email, password }
   → Llama AuthService.login()

2. AuthService.login (services/auth.ts:67)
   → UserRepository.findByEmail()
   → bcrypt.compare(password, hash)
   → JWTService.createToken({ userId, role })
   → SessionStore.create(userId, token)
   → Return { token, refreshToken }

3. Redirect a /dashboard (client/router.tsx:23)
   → AuthGuard verifica token en localStorage
   → GET /api/dashboard (routes/dashboard.ts:12)

4. DashboardController.getData (controllers/dashboard.ts:8)
   → UserService.getProfile(userId from token)
   → StatsService.getUserStats(userId)
   → NotificationService.getUnread(userId)
   → Return { profile, stats, notifications }

5. Dashboard.tsx renderiza con los datos

4. statusline-setup subagent

El statusline-setup subagent se especializa en configurar los settings de la status line de Claude Code. Es un subagent muy enfocado con acceso limitado.

Perfil técnico

PropiedadValor
ModoConfiguración
Tools disponiblesRead, Edit
Tools NO disponiblesBash, Write, Glob, Grep, Agent
VelocidadRápido
Cuándo se activaCuando se necesita configurar o ajustar la status line

Ejemplo

Claude Code activa este subagent internamente cuando necesita 
ajustar la configuración de la status line. Es un subagent de 
soporte interno — raramente lo invocas directamente.

5. claude-code-guide subagent

El claude-code-guide subagent es un agente de documentación que responde preguntas sobre las features de Claude Code: hooks, MCP, settings, integraciones con IDEs, y más.

Perfil técnico

PropiedadValor
ModoConsulta de documentación
Tools disponiblesGlob, Grep, Read, WebFetch, WebSearch
Tools NO disponiblesBash, Write, Edit, Agent
VelocidadRápido
Cuándo se activaPreguntas sobre cómo usar Claude Code, sus features, configuración

Ejemplo

Tú: ¿Cómo configuro hooks en Claude Code?

Claude Code puede delegar a claude-code-guide, que busca en la 
documentación oficial y devuelve una respuesta precisa sobre la 
configuración de hooks.

Cuándo Claude Code crea subagents automáticamente

Claude Code no siempre espera que le pidas un subagent. En varios escenarios, los crea automáticamente:

Escenario 1: Tareas que requieren exploración amplia

Cuando le pides algo que requiere leer muchos archivos, Claude Code crea un Explore subagent en lugar de cargar todos los archivos en el context window principal:

Tú: ¿Cómo está organizado el módulo de pagos?

Claude Code detecta que necesita explorar el directorio payments/ con múltiples archivos y crea un Explore subagent. El subagent lee los archivos y devuelve un resumen, manteniendo el context principal limpio.

Escenario 2: Tareas paralelizables

Cuando una tarea tiene componentes independientes, Claude Code puede crear múltiples subagents en paralelo:

Tú: Analiza la calidad del código en los módulos de auth, 
    payments, y notifications.

Claude Code crea 3 Explore subagents en paralelo — uno por módulo. Cada uno analiza su módulo y devuelve resultados. El parent integra los 3 análisis en una respuesta coherente.

Escenario 3: Separación análisis-implementación

Cuando Claude Code necesita entender antes de implementar, usa un Explore subagent primero:

Tú: Agrega paginación al endpoint de productos.

Internamente:

  1. Explore subagent → analiza cómo están implementados los endpoints actuales
  2. Parent → usa el análisis para implementar la paginación de forma consistente

Cuándo NO se crean automáticamente

  • Tareas triviales ("cambia el nombre de esta variable")
  • Cuando el contexto ya tiene la información necesaria
  • Preguntas directas que no requieren exploración
  • Cuando el context window tiene suficiente espacio

Cómo pedir subagents explícitamente

No siempre necesitas esperar a que Claude Code decida. Puedes pedirlos directamente:

Pedir exploración explícita

Tú: Usa un subagent de exploración para analizar todos los 
    archivos de configuración del proyecto. Quiero saber qué 
    variables de entorno se usan y dónde.

Pedir plan explícito

Tú: /plan Antes de implementar, usa el modo plan para 
    diseñar la solución completa.

Pedir delegación explícita

Tú: Delega a subagents las siguientes tareas en paralelo:
    1. Analizar los tests existentes
    2. Buscar todos los endpoints sin validación
    3. Verificar que todas las rutas tienen auth middleware

Keywords que activan subagents

Ciertas palabras en tus prompts hacen más probable que Claude Code use subagents:

Keyword/fraseSubagent probable
"analiza", "explora", "investiga"Explore
"diseña", "planifica", "propón"Plan
"busca todos", "clasifica", "traza"General-purpose
"ejecuta", "corre", "verifica"General-purpose
"en paralelo", "simultáneamente"Múltiples subagents

Comparaciones y decisiones

¿Cuándo usar cada subagent?

┌──────────────────────────────────────────────────────────────┐
│                  ÁRBOL DE DECISIÓN                            │
│                                                              │
│  ¿Necesitas modificar archivos o ejecutar comandos?           │
│  ├── NO → ¿Necesitas razonamiento profundo?                  │
│  │        ├── NO → EXPLORE subagent                          │
│  │        └── SÍ → PLAN subagent                             │
│  └── SÍ → ¿Es una subtarea delegable?                       │
│           ├── SÍ → GENERAL-PURPOSE subagent                  │
│           └── NO → Agente principal (no subagent)            │
│                                                              │
└──────────────────────────────────────────────────────────────┘

Explore vs General-purpose para análisis

CriterioExploreGeneral-purpose
VelocidadMás rápidoMás lento
ProfundidadBúsqueda + lecturaRazonamiento + análisis
OutputDatos encontradosDatos + interpretación
Uso de contextoEficienteMayor consumo
Ejemplo"¿Qué archivos importan lodash?""¿Es seguro eliminar lodash del proyecto?"

Regla: Si necesitas datos → Explore. Si necesitas análisis de datos → General-purpose.

Plan subagent vs dar instrucciones al parent

CriterioPlan subagentInstrucción directa
ComplejidadFeatures complejos, migracionesCambios puntuales
RiesgoAlto (afecta múltiples archivos)Bajo (1-2 archivos)
DecisionesMúltiples opciones con trade-offsSolución obvia
Ejemplo"Diseña el sistema de cache""Agrega cache a este endpoint"

Regla: Si hay decisiones de diseño que tomar → Plan. Si la implementación es directa → instrucción al parent.


Patterns comunes

Pattern 1: Explore → Plan → Code (con subagents explícitos)

El workflow del Módulo 04, pero ahora consciente de que son subagents:

Paso 1 (Explore subagent):
Tú: Explora el módulo de notificaciones. ¿Qué tipos de 
    notificaciones hay? ¿Cómo se envían? ¿Hay cola o es 
    síncrono?

Paso 2 (Plan subagent):
Tú: /plan Con ese análisis, diseña el soporte para 
    notificaciones push. Dame opciones y trade-offs.

Paso 3 (Parent agent):
Tú: Implementa la opción 2 del plan. Empieza por el 
    servicio de push notifications.

Pattern 2: Análisis paralelo

Cuando necesitas analizar múltiples áreas independientes:

Tú: Analiza en paralelo:
    1. La estructura de la base de datos (modelos, relaciones)
    2. La cobertura de tests (qué módulos tienen tests, cuáles no)
    3. Las dependencias externas (qué paquetes se usan, versiones)

    Dame un resumen consolidado de los tres análisis.

Claude Code crea 3 subagents, los ejecuta concurrentemente, e integra los resultados.

Pattern 3: Delegación de subtarea

Cuando estás implementando algo complejo y necesitas que un subagent haga una parte:

Tú: Implementa el endpoint de búsqueda de productos.
    Pero primero, delega a un subagent que analice cómo 
    están implementados los otros endpoints para mantener 
    consistencia.

Pattern 4: Verificación post-implementación

Después de implementar, usa subagents para verificar:

Tú: Acabas de implementar el módulo de cache. Ahora:
    1. Usa un subagent para verificar que no rompiste ningún test
    2. Usa otro para verificar que la implementación sigue 
       las convenciones del proyecto

Capacidades avanzadas de subagents

Aislamiento con worktrees

Los subagents pueden ejecutarse en un worktree aislado — una copia temporal del repositorio:

  • Usa isolation: "worktree" al lanzar el subagent
  • El subagent trabaja en una copia separada del repo
  • Si no hace cambios, el worktree se limpia automáticamente
  • Si hace cambios, se devuelve el path y branch del worktree
  • Útil para: exploración destructiva, pruebas de refactoring, cambios experimentales

Continuar un subagent existente

Si necesitas seguir trabajando con un subagent que ya completó una tarea, puedes usar SendMessage con el ID o nombre del agente. El subagent se reanuda con todo su contexto preservado.

Esto es útil cuando el resultado del subagent necesita refinamiento o cuando quieres pedirle tareas adicionales sin empezar desde cero.

Ejecución en background

Los subagents pueden ejecutarse en segundo plano con run_in_background: true. Cuando un agente se ejecuta en background:

  • Recibes notificación automática cuando completa
  • NO necesitas hacer polling ni sleep
  • Puedes seguir trabajando en otras cosas mientras el subagent trabaja
  • Ideal para: tareas de investigación largas, búsquedas extensas, builds paralelos

Pitfalls y edge cases

Pitfall 1: Over-delegation

No todo necesita un subagent. Si la tarea es simple, un subagent agrega overhead sin beneficio:

❌ "Usa un subagent para leer el archivo package.json"
✅ "¿Qué versión de React usa el proyecto?" (Claude lee directamente)

Regla: Si la tarea requiere leer 1-3 archivos y no necesita razonamiento profundo, el parent puede hacerlo directamente.

Pitfall 2: Subagent sin contexto suficiente

Los subagents reciben una instrucción, pero no tu historial completo. Si tu instrucción depende de contexto previo, el subagent no lo tendrá:

❌ "Analiza el problema que mencioné antes"
✅ "Analiza el bug en src/auth/login.ts donde el token no 
    se invalida al hacer logout"

Regla: Haz que las instrucciones a subagents sean autocontenidas.

Pitfall 3: Esperar que subagents compartan estado

Los subagents no comparten contexto entre sí. Si creas 3 subagents en paralelo, cada uno opera de forma independiente:

❌ Esperar que el subagent 2 use información del subagent 1
✅ El parent integra resultados de los 3 subagents

Pitfall 4: Subagents para tareas que necesitan iteración

Los subagents son best-effort en una sola ejecución. Si la tarea requiere iteración (intentar algo, ver si funciona, ajustar), es mejor que lo haga el parent:

❌ "Delega a un subagent que debuggee el error de producción"
✅ Debuggear directamente con el parent, iterando

Edge case: Conflictos de escritura

Si dos subagents intentan escribir al mismo archivo (cosa que normalmente Claude Code no permite), hay un mecanismo de resolución: el parent serializa las escrituras.

Edge case: Subagent que falla

Si un subagent no puede completar la tarea (ej. no encuentra los archivos, la búsqueda no tiene resultados), devuelve el resultado parcial al parent. El parent decide si reintentar con instrucciones diferentes o manejar el caso manualmente.


Ejemplo completo integrado

Escenario: Agregar un nuevo módulo de reportes

Tienes un proyecto Node.js con Express y PostgreSQL. Necesitas agregar un módulo de reportes que genere informes de ventas.

Paso 1: Exploración

Tú: Antes de implementar el módulo de reportes, necesito 
    entender la estructura. Analiza:
    1. Cómo están organizados los módulos existentes (structure)
    2. Qué queries SQL se usan para acceder a ventas
    3. Si hay algún endpoint que ya genere datos similares

Claude Code crea Explore subagents:

Resultado del análisis:

Estructura de módulos:
  src/
  ├── controllers/   → un controller por dominio
  ├── services/      → lógica de negocio
  ├── repositories/  → acceso a datos (Knex)
  ├── routes/        → Express routers
  └── types/         → interfaces TypeScript

Queries de ventas:
  - repositories/sale.ts tiene findAll, findById, findByDateRange
  - findByDateRange acepta {from, to} y retorna Sale[]
  - No hay aggregations (SUM, COUNT, GROUP BY)

Endpoints similares:
  - GET /api/sales/summary → retorna count y total del mes actual
  - No hay reportes por rango de fecha ni por categoría

Paso 2: Planificación

Tú: /plan Con ese análisis, diseña el módulo de reportes. 
    Necesito reportes de ventas por rango de fecha, por 
    categoría, y un dashboard con métricas clave.

Plan subagent produce un plan detallado de 8 pasos.

Paso 3: Implementación con verificación

Tú: Implementa los pasos 1-3 del plan (repository, service, 
    types). Después de implementar, verifica que compila y que 
    los tests existentes siguen pasando.

Claude Code implementa y verifica:

tsc --noEmit && npm test

Resultado: compilación OK, 47/47 tests pasan.

Paso 4: Continuar implementación

Tú: Implementa los pasos 4-6 (controller, routes, validación).
    Incluye tests para los nuevos endpoints.

El agente principal implementa, crea tests, y verifica: 52/52 tests.


Ejercicios prácticos

Ejercicio 1: Exploración dirigida

Abre Claude Code en tu proyecto y ejecuta:

Analiza la estructura de mi proyecto usando un subagent de 
exploración. Quiero saber:
1. Cuántos archivos hay por tipo (ts, js, json, md)
2. Qué directorios son los más grandes
3. Si hay archivos que no pertenecen a ningún patrón claro
Qué esperar

Claude Code creará un Explore subagent que:

  • Usará Glob para contar archivos por extensión
  • Analizará la estructura de directorios
  • Identificará archivos "huérfanos" que no siguen convenciones

El resultado debe ser un resumen estructurado con números concretos. Si Claude no crea un subagent explícitamente, aún usa internamente las herramientas de exploración — el resultado debe ser similar.

Ejercicio 2: Plan para una feature nueva

/plan Diseña cómo agregarías un sistema de caché a mi 
proyecto. Evalúa las opciones: in-memory (node-cache), 
Redis, o file-based. Recomienda una con justificación 
basada en la estructura actual del proyecto.
Qué esperar

El Plan subagent debe:

  1. Leer la estructura del proyecto para entender el stack
  2. Evaluar las 3 opciones con pros/contras
  3. Recomendar una basada en el contexto real (ej. si ya usas Redis para sessions, recomendar Redis; si es un proyecto pequeño, recomendar in-memory)
  4. Producir un plan de implementación de 4-6 pasos

Si no explora tu proyecto antes de planificar, pídele que lo haga: "Primero analiza mi proyecto y luego planifica".

Ejercicio 3: Análisis paralelo

Analiza en paralelo estas tres áreas de mi proyecto:
1. Dependencias: qué paquetes se usan y si alguno está desactualizado
2. Tests: qué módulos tienen tests y cuáles no
3. Seguridad: ¿hay secrets hardcodeados, TODO de seguridad, 
   o dependencias vulnerables?

Dame un reporte consolidado.
Qué esperar

Claude Code debe crear múltiples subagents (o al menos paralelizar internamente). El resultado debe tener tres secciones claras con hallazgos específicos de tu proyecto. Si no paraleliza, los resultados serán secuenciales pero igualmente válidos.

Bonus: si Claude Code ejecuta npm audit como parte del análisis de seguridad, eso indica que usó un general-purpose subagent con acceso a Bash.

Ejercicio 4: Workflow Explore → Plan → Code completo

Elige una mejora pequeña para tu proyecto (ej. agregar validación a un endpoint, mejorar el manejo de errores). Ejecuta el ciclo completo conscientemente:

Paso 1: Explora cómo se maneja [X] actualmente en el proyecto.
Paso 2: /plan Diseña cómo mejorar [X].
Paso 3: Implementa el plan.
Paso 4: Verifica que todo compila y los tests pasan.
Qué esperar

Este ejercicio debería tomar 10-15 minutos. En cada paso, observa:

  • ¿Claude Code creó un subagent? ¿De qué tipo?
  • ¿El contexto del parent se mantuvo limpio?
  • ¿El plan fue informado por la exploración?

El valor del ejercicio es experimentar el ciclo completo con consciencia de qué subagent opera en cada fase.

Ejercicio 5: Delegación explícita

Quiero que delegues a un subagent la siguiente tarea: 
"Busca todas las funciones async en el proyecto que no 
tienen manejo de errores (try/catch o .catch()). Lista 
cada una con su archivo y línea."
Qué esperar

Claude Code debe crear un subagent que:

  1. Busque funciones async en el proyecto
  2. Analice cuáles tienen try/catch y cuáles no
  3. Devuelva una lista con ubicaciones

Este es un ejercicio de análisis estático simplificado. No esperes 100% de precisión — el análisis basado en búsqueda de texto no cubre todos los edge cases (ej. error handling en un wrapper superior).


Resumen

Los built-in subagents son el mecanismo principal de delegación en Claude Code. No necesitas configurar nada para usarlos — vienen integrados y Claude Code los activa según la tarea.

Lo que aprendiste en esta cápsula:

  • Hay 5 subagents built-in: general-purpose (ejecución completa), Explore (read-only), Plan (diseño), statusline-setup (configuración), claude-code-guide (documentación)
  • Cada subagent tiene tools restringidas y context aislado
  • Claude Code crea subagents automáticamente cuando detecta tareas paralelizables o que requieren exploración amplia
  • Puedes pedir subagents explícitamente con instrucciones directas
  • Los subagents devuelven resultados compactos al parent, manteniendo el context window limpio
  • El patrón principal es Explore → Plan → Code, ahora entendido como una secuencia de subagents
  • No over-delegar: si la tarea es simple, el parent puede hacerla directamente

Siguiente cápsula: 03 - Custom subagents — cómo crear tus propios agentes especializados con instrucciones, herramientas y restricciones definidas por ti.


Recursos adicionales

Documentación oficial

Patterns y workflows

Context y memoria

  • Memory — Cómo los subagents interactúan con CLAUDE.md
  • Settings — Configuración de permisos que afectan a subagents