Claude Code · Agent Teams · Experimental
Arquitectura híbrida: 4 instancias de Claude debaten y construyen el artefacto, 3 subagentes ejecutan tareas acotadas. Un prompt — la skill publicada.
7 agentes, 4 sesiones de Claude Code. Dos capas con responsabilidades distintas.
Agent Team (4 sesiones):
Lead → orquesta todo, lanza subagentes
Arquitecto → escribe el SKILL.md
Revisor → cuestiona si Claude ejecutaría bien las instrucciones
Optimizador → elimina todo lo que Claude ya sabe
Subagentes del Lead (sin sesión propia):
Investigador → busca documentación oficial, devuelve research
Validador → ejecuta validate.sh, devuelve PASS/FAIL
Publisher → publica en el portal y verifica Agent Team
Cada teammate tiene sesión propia y puede enviar mensajes directos a los demás vía Mailbox. El Arquitecto escribe, el Revisor objeta, el Optimizador comprime — sin que el Lead intervenga en el debate.
Subagentes
El Investigador busca docs y se cierra. El Validador corre el script y reporta. El Publisher sube la skill y verifica. Tareas acotadas, resultado concreto — no necesitan debatir con nadie.
La regla de diseño: ¿los agentes necesitan hablarse para hacer bien el trabajo?
| Subagentes | Agent Teams | |
|---|---|---|
| Comunicación | Solo reportan al Lead | Se hablan directamente |
| Sesión propia | No — corren dentro del Lead | Sí — contexto independiente |
| Task Tool | No disponible | Solo el Lead la tiene |
| Modelo | Hereda del Lead (Sonnet) | Opus siempre (automático) |
| Costo tokens | Bajo | Alto — cada teammate = Opus |
| Ideal para | Ejecución acotada y resultados concretos | Trabajo que requiere debate y revisión |
Desde el prompt hasta la skill publicada en el portal.
Fase 1 — Solo el Lead
Lead recibe el request
Detecta ambigüedades bloqueantes y pregunta antes de arrancar. No asume el proveedor ni el scope. Si la información faltante puede ser un placeholder genérico, no pregunta.
Investigador (subagente)
El Lead lanza el Investigador sin team_name. Busca en máximo 2 fuentes primarias (docs oficiales). Devuelve research concreto — comandos, flags, casos borde.
Fase 2 — El equipo entra con contexto
Arquitecto escribe el SKILL.md
Usa el research del Investigador. Escribe instrucciones para Claude — no tutoriales para humanos. Comandos exactos con placeholders para valores del usuario.
Revisor debate con el Arquitecto
Verifica si Claude ejecutaría correctamente las instrucciones. Máximo 2 rondas de objeciones. Si encuentra problemas, manda mensaje directo al Arquitecto — no al Lead.
Optimizador comprime
Elimina todo lo que Claude ya sabe. Solo conserva lo específico de la herramienta o API. El criterio: ¿Claude podría inferir esto sin documentación? Si sí → se va.
Fase 3 — Validación y publicación
Validador (subagente)
Ejecuta ./validate.sh — verifica formato, campos obligatorios y estructura. Devuelve PASS o FAIL con detalle.
Publisher (subagente)
Solo corre si la validación pasó. Sube la skill al portal Hermit e instala localmente en ~/.claude/skills/ para que Claude la use en nuevas sesiones.
Lo que descubrí en vivo
Intenté asignar Haiku y Sonnet por rol para reducir costos. El sistema los ignoró completamente. Todos los teammates corrieron en Opus — sin excepción, en todas las demos.
| Componente | Modelo pedido | Modelo real |
|---|---|---|
| Lead | Haiku | Sonnet (hereda del usuario) |
| Teammates | Haiku / Sonnet por rol | Opus — siempre, sin excepción |
| Subagentes | Haiku | Sonnet (hereda del Lead) |
Datos de 37 llamadas analizadas en logs reales. Haiku nunca fue usado. El único ahorro posible: lanzar Investigador, Validador y Publisher como subagentes (sin team_name) para que corran en Sonnet en vez de Opus.
Cada demo produce una skill publicada en el portal Hermit y disponible localmente para Claude.
El Revisor detectó un bug real de Terraform que habría fallado en ejecución. El Optimizador comprimió de 247 a 157 líneas eliminando 5 bloques redundantes.
El Investigador buscó la documentación oficial de boto3 antes de que el Arquitecto escribiera una sola línea. La skill cubre configuración de buckets, permisos y políticas.
Creación y configuración de grupos de Google Workspace via GAM — permisos, miembros y visibilidad. El equipo trabajó con la documentación oficial de GAM CLI.
Verificación de identidades de email en Amazon SES v2 con AWS CLI. La skill cubre el flujo completo: creación, verificación y validación DKIM.
Donde viven las skills. Claude lo detecta automáticamente y elige la correcta sin que le digas cuál existe.
git clone https://github.com/hermit-labs/hermit
cd hermit
docker compose up -d Portal disponible en http://localhost:8080
curl -s http://localhost:8080/api/v1/skills \
-H "Authorization: Bearer $HERMIT_TOKEN" \
| jq '.[] | .name' Genera el token en localhost:8080/admin → Settings → API Keys
Tres pasos para tener la fábrica funcionando.
1. Clonar el repositorio
git clone https://github.com/nneira/claude-agent-teams-skill-factory
cd claude-agent-teams-skill-factory
cp .env.example .env 2. Habilitar Agent Teams
# ~/.claude/settings.json
{
"env": {
"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
}
} 3. Usar
# Desde la raíz del proyecto
claude
# Ejemplo de prompt:
> Necesito una skill para crear una VM en Google Cloud con Terraform. El Lead pregunta antes de arrancar si hay ambigüedades bloqueantes. El pipeline corre solo.
Lo más habitual al trabajar con Agent Teams por primera vez.
Es una feature experimental de Claude Code que permite orquestar múltiples instancias independientes de Claude trabajando en paralelo. Cada teammate tiene su propio contexto, historial y sesión — se comunican entre sí vía una task list compartida y mensajes directos (Mailbox). A diferencia de los subagentes, los teammates pueden debatir entre sí sin que el agente principal intervenga.
Un subagente corre dentro del agente que lo lanzó, ejecuta una tarea acotada y devuelve resultado — no tiene sesión propia ni puede comunicarse con otros agentes. Un teammate es una sesión independiente de Claude Code con acceso a las herramientas completas, que puede leer y enviar mensajes a otros teammates. La regla de diseño: ¿necesitan hablarse para hacer bien el trabajo? Sí → Agent Team. No → Subagentes.
No. Agent Teams asigna Opus a los teammates automáticamente, sin importar lo que configures en el CLAUDE.md o en el spawn prompt. El Lead hereda el modelo de tu sesión activa. Los subagentes (sin team_name) también heredan el modelo del Lead. Haiku nunca fue usado en ninguna de las demos. Este comportamiento está documentado y confirmado con datos de 37 llamadas analizadas en el video.
No — requiere el flag CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 y está en desarrollo activo. El sistema tiene comportamientos no deterministas: el Lead a veces lanza agentes como teammates cuando deberían ser subagentes, lo que afecta los modelos usados y el costo. Úsalo para desarrollo, experimentación y generación de assets — no como pipeline de producción automatizado sin supervisión.
Hermit es un portal self-hosted (open source) donde viven las skills publicadas. Claude lo detecta automáticamente y elige la skill correcta según el contexto de la tarea — sin que el usuario le diga qué skill existe. Se levanta con docker compose up y expone una API que el sistema usa para publicar y consultar skills.
Las skills en formato SKILL.md funcionan con cualquier herramienta que soporte el estándar de Agent Skills: Claude Code, Cursor y cualquier agente compatible. El formato es open — no está atado a Claude.
Cada demo completa involucra 7 agentes: 3 teammates en Opus (el modelo más caro) más subagentes en Sonnet. El costo exacto varía con el tamaño de la skill generada. En las demos del video, el Optimizador redujo tokens significativamente al comprimir las skills antes de publicar — de 247 a 157 líneas en el primer demo.
Todo lo que necesitas para empezar.
Canal YouTube
@NicolasNeiraGarcia
ADK · A2A · Claude Code · Automatización · Infraestructura