Formación › Programar con Claude Code en 12 horas › Hora 9
Programar con Claude Code en 12 horas · hora 9 de 12
Subagentes y trabajo en paralelo
Un subagente es un ayudante con su propio contexto y sus propias herramientas: investiga o revisa aparte y te devuelve solo el resumen. Verás el subagente revisor real que creó Claude Code, por qué es de solo lectura de verdad y cuándo merece la pena repartir el trabajo.
Al terminar sabrásDefinir un subagente de solo lectura, delegarle una investigación o una revisión sin llenar tu contexto, y organizar dos sesiones en paralelo con el patrón escritor-revisor.
60 minutos· 1 esquema· 7 preguntas· 1 ejercicio· entregable
Repaso
Comprueba De la hora 8: tu skill /desplegar no debe lanzarse sola. ¿Qué pones en su cabecera?
No. El sitio cambia para quién vale, no cuándo se ejecuta.
No. Eso limita lo que puede hacer, no quién la lanza.
Correcto. Así Claude no la carga por su cuenta: solo con /desplegar.
Comprueba De la hora 2: llevas una hora de sesión y Claude empieza a olvidar cosas. ¿Qué ha llenado su contexto?
No. Se carga al empezar; si es corto, ocupa poco.
No. Ocupan, pero mucho menos que lo que Claude lee y ejecuta.
Correcto. Una exploración puede consumir decenas de miles de tokens.
Comprueba De la hora 5: ¿qué gana una revisión hecha en una sesión nueva?
No. Sí lo ve: lo que no ve es la conversación anterior.
No. Puede costar más: es otro contexto.
Correcto. Juzga el resultado por lo que es.
Vocabulario
- Subagente
- Un asistente con su propio contexto, sus instrucciones y sus herramientas, al que Claude delega una tarea.
- tools
- La lista cerrada de herramientas del subagente. Si no aparece una, no puede usarla.
- Worktree
- Una copia de trabajo de Git en otra carpeta, para tener varias sesiones en ramas distintas sin pisarse.
El ejemplo: un revisor que no puede tocar nada
Antes y después Crear un subagente de solo lectura
La petición
Crea un subagente de proyecto en .claude/agents/revisor-informes.md que revise cambios en este repositorio buscando errores de cálculo de horas y fechas. Debe ser de solo lectura: que solo pueda leer y buscar, nunca editar ni ejecutar comandos.La sesión real
Salida real Claude Sonnet 5.5 · 24 de octubre de 2026 · sin editar · Claude Code en modo auto sobre el repositorio de práctica
Para repetirla, en el repositorio: claude --permission-mode auto y pega la petición. Se grabó con claude -p, sin conversación: lo que aquí se deniega, a ti te lo preguntaría.
Lo que hizo: 1 acciones
Write: .claude/agents/revisor-informes.md
Creé el subagente en .claude/agents/revisor-informes.md.
- Solo lectura: el frontmatter declara
tools: Read, Glob, Grep. Al no tenerEdit,WriteniBash, no puede editar archivos ni ejecutar comandos. Esto lo impone la lista de herramientas, no solo el texto del prompt. - Qué revisa:
- Horas: decimales frente a horas:minutos, desbordes de 24 h, redondeos, turnos que cruzan la medianoche y pausas descontadas dos veces.
- Fechas: errores de uno en los límites, años bisiestos y cambios de mes, zonas horarias y horario de verano, semanas ISO, meses indexados desde 0 y límites de periodos.
- Coherencia: totales que no cuadran con sus partes, unidades mezcladas y pruebas que no cubren casos límite.
- Informe: cada hallazgo trae gravedad,
archivo:línea, problema, un ejemplo numérico y una corrección propuesta, sin aplicarla. Está redactado para responder en español. - Sin
git diff: como no tieneBash, no puede ver el diff por sí mismo. Habrá que indicarle qué archivos cambiaron, o los localizará buscando código que maneje horas y fechas.
No lo probé invocándolo. Si el repositorio ya está abierto en una sesión, puede que haya que reiniciarla o usar /agents para que lo cargue.
Los cambios que dejó (diff)
diff --git a/.claude/agents/revisor-informes.md b/.claude/agents/revisor-informes.md
new file mode 100644
index 0000000..c827059
--- /dev/null
+++ b/.claude/agents/revisor-informes.md
@@ -0,0 +1,51 @@
+---
+name: revisor-informes
+description: Revisa cambios del repositorio buscando errores de cálculo de horas y fechas (sumas de horas, conversiones, zonas horarias, rangos, años bisiestos, límites de mes). Úsalo de forma proactiva tras modificar código de informes de mantenimiento que maneje horas, duraciones o fechas. Solo lectura.
+tools: Read, Glob, Grep
+---
+
+Eres un revisor de código especializado en errores de cálculo de horas y fechas en un repositorio de informes de mantenimiento. Trabajas exclusivamente en modo lectura: solo puedes leer y buscar. Nunca propones haber editado ni ejecutado nada; si hace falta un cambio, descríbelo para que lo aplique quien te invocó.
+
+## Cómo trabajar
+
+1. Identifica qué cambió. No puedes ejecutar `git`, así que pide o deduce los archivos modificados a partir del contexto que te den; si no hay indicación, usa Glob y Grep para localizar el código que maneja horas y fechas.
+2. Lee los archivos afectados completos, junto con los llamadores y las pruebas relacionadas, para entender el contexto de cada cálculo.
+3. Verifica cada cálculo con ejemplos numéricos concretos, calculando a mano el resultado esperado frente al que produciría el código.
+
+## Qué buscar
+
+**Horas y duraciones**
+- Confusión entre horas decimales (1,5 h) y formato horas:minutos (1:30), o entre minutos y centésimas de hora.
+- Sumas de duraciones que desbordan 24 h o reinician el contador.
+- Redondeos prematuros, acumulados o inconsistentes (truncar vs. redondear, redondear antes de sumar).
+- División entera donde se esperaba decimal; pérdida de precisión en coma flotante.
+- Horas negativas, cero o nulas no controladas; fin anterior al inicio.
+- Turnos que cruzan la medianoche.
+- Descuentos de pausas o tiempos muertos aplicados dos veces o ninguna.
+
+**Fechas**
+- Diferencias de días con errores de uno (límites inclusivos/exclusivos).
+- Cambios de mes y año, años bisiestos, meses de 28/29/30/31 días.
+- Cambios de horario de verano y zonas horarias; mezcla de UTC y hora local.
+- Semanas ISO frente a semanas naturales; primer día de la semana.
+- Aritmética manual de fechas en lugar de usar la librería estándar.
+- Meses indexados desde 0 frente a desde 1; formatos ambiguos (dd/mm vs. mm/dd) y parseo con localización incorrecta.
+- Comparaciones de fechas como cadenas o mezcla de fecha con fecha-hora.
+- Periodos de informe (mensual, trimestral) con límites mal calculados.
+
+**Coherencia**
+- Totales de un informe que no coinciden con la suma de sus partes.
+- Unidades distintas entre módulos (segundos, minutos, horas).
+- Pruebas que no cubren casos límite o que codifican el resultado erróneo.
+
+## Formato de la respuesta
+
+Responde siempre en español. Para cada hallazgo indica:
+
+- **Gravedad**: crítico, alto, medio o bajo.
+- **Ubicación**: `ruta/archivo:línea`.
+- **Problema**: qué está mal, en una o dos frases.
+- **Ejemplo**: entrada concreta, resultado actual y resultado esperado.
+- **Corrección sugerida**: descripción o fragmento de código a modo de propuesta (sin aplicarlo).
+
+Ordena los hallazgos de mayor a menor gravedad. Si no encuentras errores, dilo explícitamente e indica qué archivos y casos revisaste. Distingue entre errores confirmados y sospechas que no pudiste verificar, y no inventes hallazgos para llenar el informe.Qué ha pasado
La clave está en una línea de la cabecera: tools: Read, Glob, Grep. El límite lo impone la lista de herramientas, no el texto del prompt: sin Edit, Write ni Bash, el subagente no puede editar ni ejecutar, aunque se lo pidan. Claude lo explica así en su resumen.
Fíjate también en la consecuencia que señala: sin Bash, el revisor no puede ejecutar git diff para ver qué ha cambiado. Hay que decirle qué ficheros revisar. Cada decisión de seguridad tiene un coste, y un buen agente te lo avisa.
Qué es un subagente y cuándo usarlo
Según la documentación de Claude Code, cada subagente trabaja en su propio contexto, con sus instrucciones, sus herramientas y sus permisos. No ve tu conversación: hace la tarea y devuelve un resumen. Su trabajo no llena tu contexto.
Claude Code trae subagentes incluidos, como Explore, rápido y de solo lectura para buscar en el código, y Plan, el que investiga en modo plan. Los tuyos se definen en ficheros:
| Dónde | Para quién |
|---|---|
.claude/agents/ | Este proyecto |
~/.claude/agents/ | Tú, en todos tus proyectos |
Solo name y description son obligatorios; la descripción dice a Claude cuándo delegar. Con tools limitas las herramientas, y con model eliges el modelo. Ojo: si no escribes tools, el subagente hereda todas las herramientas de la conversación principal, también las de editar. Para delegar, pídelo («usa el subagente revisor-informes para…») o menciónalo con @.
El uso de los subagentes cuenta para los mismos límites que tu conversación. Úsalos para lo que de verdad llenaría tu contexto: explorar mucho código o revisar con ojos nuevos.
Trabajar en paralelo
- Worktrees: varias sesiones de Claude Code, cada una en su copia de trabajo y su rama, sin que sus cambios choquen.
- Escritor y revisor: una sesión escribe el cambio; otra, con el contexto limpio, lo revisa; la primera corrige con lo que encuentra la segunda.
- Repartir en lote:
/batchdivide un cambio grande entre varios subagentes, cada uno en su worktree (hora 12).
Practica
Clasifica ¿Subagente o en la conversación principal?
- Investigar cómo se usa la semana ISO en todo el repositorioLeerá muchos ficheros: mejor que no llenen tu contexto.
- Cambiar una línea del parte que ya tienes delanteEs pequeño y ya está en tu contexto.
- Revisar el diff de un cambio grande antes de confirmarloUna revisión con contexto limpio es más objetiva.
- Decidir con Claude cómo nombrar una función nuevaEs una conversación contigo, no una tarea aparte.
Comprueba lo que has aprendido
Comprueba El subagente real tiene tools: Read, Glob, Grep. Le pides que arregle un fallo. ¿Qué pasa?
No. No tiene herramientas de edición: no puede.
No. No hay herramienta que pedir: no está en su lista.
Correcto. El límite lo impone la lista de herramientas.
Comprueba ¿Cuándo compensa más un subagente?
No. Tiene coste y no ve tu conversación: no es para todo.
Correcto. Su trabajo no llena tu contexto: solo vuelve el resumen.
No. Sí cuenta, como tu conversación.
Comprueba Creas un subagente revisor y no escribes la línea tools. ¿Qué puede hacer?
Correcto. Sin
tools, hereda todas las herramientas.No. Hereda las de la conversación principal.
No. El nombre no limita nada.
Comprueba El revisor no puede ejecutar git diff. ¿Cómo lo usas bien?
No. Puede leer los ficheros: solo necesita saber cuáles.
No. Rompería el «solo lectura» que querías.
Correcto. O dejas que los busque con Grep y Glob, como su propio texto prevé.
Entregable Tu subagente revisor
Crea un subagente de proyecto de solo lectura (con tools cerrado) para revisar un tipo de error que te preocupe en tu código. Úsalo sobre un cambio real y pega aquí su definición, la petición que le hiciste y los hallazgos que te devolvió, marcando cuáles aplicaste.
Está bien si: la cabecera tiene tools sin Edit, Write ni Bash; la descripción dice cuándo delegarle; y al menos un hallazgo es algo que no habías visto. Tiempo: unos 25 minutos.
Lo esencial
- Un subagente trabaja en su propio contexto y devuelve un resumen: tu contexto queda limpio.
- La lista
toolses el límite real: lo que no está, no lo puede hacer. - Úsalos para explorar mucho o revisar con ojos nuevos; cuentan en tus límites de uso.
- En paralelo: worktrees para no pisarse y el patrón escritor-revisor para la calidad.
Fuentes y para seguir
- Subagentes (se abre en otra pestaña) (documentación oficial, consultada el 24/10/2026).
- Buenas prácticas: subagentes para investigar y sesiones en paralelo (se abre en otra pestaña).
Lección revisada el 24/10/2026 con la documentación oficial enlazada en sus fuentes. Revisamos los cursos cada trimestre.