Tabla de Contenidos

Agentes

Qué es un agente está en Conceptos básicos; cómo se lanza un subagente y dónde se guarda, en OpenCode y Claude Code. Aquí, cómo se escribe uno propio.


1. Agente principal y subagentes

En este curso los agentes aparecen de dos formas:


2. Agente o skill

El agente organiza el trabajo: quién lo hace, con qué herramientas, en qué orden y cuándo para. El conocimiento no va en el agente: va en las skills. Así que un agente no lleva ejemplos ni convenciones del proyecto; dice qué skill cargar. La tabla completa de qué va en cada uno está en Skills.

✅ Antes de revisar, carga la skill servicios.
❌ Los servicios lanzan ErrorDeNegocio, nunca IllegalStateException... (conocimiento: va en la skill)


3. El cuerpo del agente

Un agente es un solo fichero .md: arriba el frontmatter, que cambia según la herramienta (OpenCode, Claude Code), y debajo sus instrucciones, que son iguales en las dos. Las instrucciones llevan siempre las mismas secciones, en este orden:

# Verificador de tests

Comprueba que cada requisito de la spec está cubierto por un test que pasa.

## Rol
Eres un verificador. No arreglas nada: solo dices qué falta.
No te fíes del resumen de quien implementó: comprueba en el código.

## Entradas
Te llegan en el prompt:
- `spec`: ruta del fichero de requisitos.
- `modulo`: módulo Maven donde están los tests.

## Proceso
1. Saca los identificadores de la spec (`R-1`, `R-2`...).
2. Busca en `src/test` el test que cita cada uno.
3. Ejecuta `./mvnw -pl <modulo> test`.

## Criterios
- OK: todos los requisitos tienen un test que lo cita y todos pasan.
- Fallo: un requisito sin test o un test que falla.
- En la duda: fallo.

## Salida
Primera línea, exactamente `DONE` o `BLOCKED`.
Si es `BLOCKED`, una línea por problema: `R-12: sin test`.

El subagente no ve tu conversación. Todo lo que necesita le tiene que llegar en el prompt o estar en su fichero. «Revisa lo que hemos hablado» no funciona; «revisa specs/pedidos.md» sí.

En el frontmatter de las dos herramientas hay tres decisiones que se toman igual:


4. Crear un agente en OpenCode

Va en .opencode/agents/<nombre>.md, y el nombre del agente es el del fichero. opencode agent create lo crea con preguntas, pero a mano es igual de rápido.

---
description: Comprueba que cada requisito de una spec tiene un test que lo cita y
  que pasa. Usar después de implementar una funcionalidad, antes del commit.
mode: subagent
model: anthropic/claude-haiku-5-5
permission:
  edit: deny
  bash:
    "*": deny
    "./mvnw *": allow
---

Antes de empezar, carga la skill requisitos.

# Verificador de tests
...

Como principal, se pone mode: primary y se cambia a él con Tab, como a Plan y Build.


5. Crear un agente en Claude Code

Va en .claude/agents/<nombre>.md. /agents lo crea con preguntas, pero a mano es igual de rápido.

---
name: verificador-tests
description: Comprueba que cada requisito de una spec tiene un test que lo cita y
  que pasa. Usar después de implementar una funcionalidad, antes del commit.
tools: Read, Grep, Bash
model: haiku
skills:
  - requisitos
---

# Verificador de tests
...

Como principal, para que toda la sesión siga su rol y pueda coordinar a otros:

claude --agent orquestador


6. Coordinar subagentes

Un agente que reparte el trabajo entre subagentes lo dice con números y con el orden:

En Claude Code un subagente puede lanzar a su vez otros subagentes, hasta tres niveles por debajo del principal.

El revisor no puede ver cómo razonó el que implementó. Un subagente lanzado como fork hereda la conversación entera y le da la razón. Los revisores, siempre como subagente normal, con solo lo que necesitan en el prompt.

7. Cuándo para

Un agente sin límite da vueltas hasta gastar el plan. Siempre:


8. Scripts

Un agente también ejecuta scripts para lo determinista. Como no tiene carpeta, los scripts viven en el scripts/ de una skill y el agente los ejecuta con el comando exacto. Cómo se escriben y se citan: scripts.


Fuentes