Piensa en una cocina profesional. El agente es el chef que habla contigo todo el tiempo y dirige. El skill es una receta que el chef saca del cajón: instrucciones que se incorporan en su banco de trabajo y guían la siguiente acción. El subagente es un cocinero enviado a una cocina separada con una tarea concreta: trabaja solo y vuelve únicamente con el plato listo. El mismo edificio, papeles diferentes; confundir uno con otro retrasa la cena.
↑ Las tres primitivas una al lado de la otra. Fíjate: la skill entra en el mismo contexto; el subagente trabaja en un contexto separado y solo devuelve el resumen.
Contenido detallado
🧩 Las tres primitivas en una frase
Antes de cualquier tabla, registra la definición breve de cada una. Si solo te llevas esto del módulo, ya habrá valido la pena: el agente dirige, la skill indica, el subagente se ejecuta por separado.
Agente
O chat con quien hablas. Guía la conversación, usa skills y activa subagentes. Puede ser built-in o un .md tuyo.
Skill
Uno bloque de instrucciones (una receta) que entra en el mismo contexto del agente y guía la siguiente acción. No tiene una ventana propia.
Subagente
Uno trabajador activado por el agente, que se ejecuta en una ventana propia y separada y devuelve solo un informe.
💡 El atajo mental que resuelve el 90% de la confusión
Pregunta: "¿esto abre una ventana nueva o no?" Skill no abre — es texto que entra en el contexto actual. Subagente abre — es una sesión separada. El agente es la ventana donde ya estás.
la definición de bolsillo de las tres primitivas — agente (dirige), skill (instruye en el mismo contexto), subagente (ejecuta en un contexto separado).
casi todo error de principiante es usar una cuando habría cabido otra: crear un subagente para algo que era una skill, o esperar que una skill se ejecute en paralelo. La frase correcta lo evita.
agente = chat · skill = instrucción en el contexto · subagente = ventana propia · pregunta filtro "¿abre una ventana nueva?".
🪟 Contexto: propio y limpio × compartido
Este es el eje que más importa. La skill se ejecuta en el contexto compartido — todo lo que hace y lee queda en la tu ventana, sumando tokens. El subagente se ejecuta en un contexto propio y limpio — consume tantos tokens como necesite allí dentro, y tu ventana solo recibe el informe al final.
📜 Skill — contexto compartido
- •Todo lo que lee y escribe queda en la tu sesión
- •Se suma al uso de tu contexto (la barra sube)
- •Excelente cuando tú quiere el resultado en el flujo
- •Malo si la tarea arroja muchas cosas que no vuelves a leer
🛰️ Subagente — contexto propio
- •Ventana separada, aislada de tu conversación
- •Puede consumir 200k tokens y no estar a la altura
- •Su sesión desaparece cuando termina (descartable)
- •Tú te quedas solo con la conclusión, sin el ruido
📊 El mismo trabajo, dos costos de contexto
Imagina «lee 40 archivos y encuentra el bug». Cómo skill, los 40 archivos entran en tu ventana, que puede volverse pesada. Como subagente, los 40 archivos quedan en su ventana; tú recibes "está en el auth.js:88" y su barra apenas se mueve. Es exactamente el motivo n.º 1 de los subagentes: el tema del módulo 1.2.
⚡ Paralelismo: muchos a la vez × uno a la vez
Subagentes se ejecutan en paralelo: el agente puede lanzar cinco a la vez, cada uno en su ventana, todos al mismo tiempo. Skill no es paralela — es una instrucción que se ejecuta en el hilo de tu conversación, un paso a la vez. Querer "cinco skills al mismo tiempo" es una señal de que el trabajo era para subagentes.
Skill: un paso, en tu hilo
Secuencial por naturaleza.
La skill inyecta instrucciones y el agente actúa de inmediato, en la misma sesión. Si tienes tres recetas, sigue una y luego la otra; no hay «tres al mismo tiempo».
Subagentes: muchos, uno al lado del otro
Paralelismo de verdad.
El agente abre cinco subagentes de una vez; por ejemplo, para revisar un texto desde cinco perspectivas. Los cinco trabajan simultáneamente: el agente los inicia, recopila y reúne los cinco informes al final (no conversan entre sí; relación 1 a 1 del módulo 1.1).
🎚️ Modelo: propio × hereda del agente
Un subagente puede elegir el propio modelo — ejecutarse en Haiku para escanear a bajo costo, o en Opus para un razonamiento complejo, independientemente del modelo del agente. Una skill no elige modelo: es una instrucción, así que se ejecuta en el modelo que ya está dirigiendo la conversación. La skill siempre se hereda; el subagente puede cambiarla.
🛰️ Subagente — modelo propio
- •Define
model:en su frontmatter - •Haiku para explorar · Sonnet para construir · Opus para decidir
- •O
inherit— hereda el del agente a propósito - •Es la base del ahorro (tema de la Ruta 3)
📜 Skill — siempre se hereda
- •No tiene un campo de modelo: no hay una ventana propia
- •Se ejecuta con el modelo que está en la conversación en ese momento
- •¿Quieres otro modelo? Cambia el del agente, no el de la skill
- •Simplicidad: es solo texto que guía la acción
💡 Por qué esto es un superpoder
Modelo propio es lo que permite que un agente costoso (Opus) coordinar una flota económica (Haiku): el jefe piensa, los trabajadores ejecutan por una fracción del costo. Skill no ofrece ese control, y está bien, porque su trabajo es otro.
model: · jefe costoso + flota económica · inherit.🔀 Quién llama a quién (la regla que afecta a todos)
Aquí está la regla más olvidada y la que más rompe los diseños de orquestación. La skill y el agente se llaman en ambos sentidos: el agente usa una skill, y una skill puede lanzar un subagente. Pero un el agente no llama a otro agente directo: los subagentes no invocan subagentes. Si necesitas una secuencia A→B→C, quien la encadena es el agente principal.
✓ Llamadas que se realizan
- ✓Agente → usa una skill
- ✓Agente → activa un subagente
- ✓Skill → puede activar un subagente
- ✓Subagente → usa skills dentro desde su ventana
✗ Qué no funciona
- ✗Subagente A → subagente B (sin pasar por el agente)
- ✗Dos subagentes «combinando» entre sí
- ✗Una skill que funciona «por sí sola», sin un agente
- ✗Tú escribiendo directamente a un subagente
⚠️ El error de orquestación más común
Diseñar «el subagente de investigación llama al subagente de redacción, que llama al de revisión». No funciona: quien encadena es el agente. Recibe el informe de A, decide y solo entonces activa B. Un subagente no es un nodo que controla otro nodo: es una hoja que responde al agente.
📊 La tabla canónica: dónde vive y cuándo conviene preferirlo
Todo lo que vimos cabe en una sola tabla — la columna vertebral de este módulo. Guarda esta imagen: responde de un vistazo qué primitiva usar. Fíjate en la última línea (cuándo preferir): es lo que vas a consultar cada vez que tengas dudas.
| Eje | 🎼 Agente (built-in) | 📜 Skill | 🛰️ Subagente |
|---|---|---|---|
| Contexto | Compartido: es la ventana donde estás | Compartido: entra en el contexto del agente | Propio y limpio — ventana separada y descartable |
| Paralelismo | Es quien orquesta los procesos paralelos | No: se ejecuta en el hilo de la conversación | Sí — varios al mismo tiempo |
| Modelo | El modelo de tu sesión | Hereda — se ejecuta con el modelo del agente | Propio — elige (o inherit) |
| Quién llama a quién | Usa skills · activa subagentes · no llama a otro agente | Llamada por el agente · puede lanzar un subagente | Activado por el agente · no activa otro subagente |
| Dónde se encuentra | Built-in (ya viene incluido) o .claude/agents/*.md |
.claude/skills/<nome>/SKILL.md |
.claude/agents/*.md (proyecto o global) |
| Qué devuelve | La conversación continua contigo | Acciones/efectos en el flujo actual | Uno informe — no toda la sesión |
| Cuándo preferir | Siempre presente: es el maestro del trabajo | Estandarizar un procedimiento en el flujo (pasos, reglas, formato) que quieres que se siga | Aislar trabajo pesado/paralelo cuya salida ensucia el contexto y tú solo quieres la conclusión |
↑ La línea "Cuándo preferir" es tu mapa de decisión: procedimiento en el flujo → skill; trabajo pesado o paralelo aislado → subagente.
💡 Regla práctica final
¿Quieres guiar cómo hace algo el agente, dentro de tu flujo? Skill. ¿Quieres delegar un trabajo pesado/paralelo y recibir solo el resultado? Subagente. ¿Quieres conversar y coordinar? Ya estás en el agente. Las tres se complementan; no compiten.
Ejemplo real: el MISMO job, como skill × como subagente
Nada deja la diferencia tan clara como tomar un único trabajo — «ejecutar la lista de verificación de lanzamiento» — y escribirlo de las dos formas. Fíjate: el contenido de las instrucciones es casi igual; lo que cambia es dónde se ejecutan e lo que recibes de vuelta.
--- # frontmatter de SKILL
name: release-check
description: Roda a checklist de release no
fluxo atual. Use quando o usuário disser
"checar release" ou "pronto pra publicar".
# sem campo model: herda o do agente
---
# corpo: guia a ação do AGENTE, aqui mesmo
Ao ser acionada, no contexto atual:
1. Conferir CHANGELOG e versão.
2. Rodar os testes e mostrar o resultado.
3. Listar pendências aqui na conversa.
Tudo acontece na janela do usuário.
→ Los pasos se ejecutan en tu contexto. Ves todo en el flujo. Es bueno cuando quieres seguir el proceso y actuar al mismo tiempo.
--- # frontmatter de SUBAGENTE
name: release-checker
description: Roda a checklist de release numa
janela própria e devolve só um resumo. Use
pra checar release sem poluir o contexto.
tools: Read, Grep, Bash # só o necessário
model: haiku # barato: é varredura
---
# corpo: roda na janela DELE, isolado
You are a release checker.
1. Conferir CHANGELOG e versão.
2. Rodar os testes.
3. Devolver só: pronto? sim/não + pendências.
Reporte um resumo. Não cole logs brutos.
→ Los pasos se ejecutan en su ventana. Solo recibes «listo: no; faltan 2 pruebas». Es bueno cuando la salida es extensa y no quieres volver a leerla.
🔍 Qué cambia entre los dos archivos
La misma lógica, tres diferencias que delatan la primitiva: la carpeta (skills/<nome>/SKILL.md × agents/<nome>.md); los campos (la skill no tiene model ni tools; el subagente tiene ambos, porque su propia ventana debe declarar las herramientas y el modelo); y la salida (la skill muestra todo el flujo, el subagente devuelve un resumen y desaparece).
Prompts listos (copia y pega)
Tres prompts para que notes la diferencia en carne propia: uno activa una skill (en el flujo), uno delega en un subagente (aislado), y uno le pide al agente que elegir entre las dos — así escuchas el razonamiento.
Rode a checklist de release aqui mesmo, passo a passo,
me mostrando cada item conforme for conferindo. Quero
acompanhar no fluxo, não em separado.
Abra um subagente pra rodar a checklist de release numa
janela própria e me devolva só: pronto pra publicar
(sim/não) + a lista de pendências. Não despeje os logs
no meu contexto.
Preciso revisar 25 arquivos atrás de senhas hardcoded.
Isso é melhor como skill (no meu fluxo) ou como subagente
(janela própria)? Decida e me explique em 2 linhas por que.
Pantalla simulada: skill en el flujo × subagente en paralelo
Lado a lado, el mismo trabajo en ambos modos. A las izquierda, la skill se ejecuta dentro desde tu sesión — ves cada paso y cómo sube la barra de contexto. A derecha, el subagente se ejecuta en una sesión aparte: tú solo ves su panel, y el tu el contexto casi no cambia.
↑ Recreación ilustrativa (no es una captura de pantalla real). El mismo trabajo: la skill llena tu contexto (58%); el subagente lo preserva (9%) porque el contenido pesado quedó en su ventana.
Ejercicio: clasifica 6 escenarios
Para cada escenario a continuación, decide: es skill, subagente o simplemente el agente ¿Estás conversando? Escribe tu respuesta antes de abrir la solución.
Los 6 escenarios
- Estandarizar como el asistente formatea cada commit (mensaje, coautor, tono); quieres verlo en acción durante el flujo.
- Explorar 50 PDFs de contrato tras una cláusula y recibir solo "lo encontré en la página X de cada".
- Revisar un texto bajo 5 perspectivas diferentes al mismo tiempo (principiante, técnico, editor…).
- Ayudarte a pensar en voz alta sobre qué arquitectura elegir, intercambiando ideas.
- Siempre que pidas "deploy", ejecuta una secuencia fija de verificaciones en el flujo antes de continuar.
- Ejecutar un verificador de seguridad económico (Haiku) en 30 archivos sin llenar tu contexto.
✅ Criterio de verificación — cómo saber si acertaste
Usa estas tres preguntas, en este orden, para cada escenario:
- 1.¿Abre una ventana nueva? Si la salida es pesada/paralela y solo quieres la conclusión → subagente.
- 2.¿Es un procedimiento que quieres ver en el flujo? Estandarizar pasos/reglas/formato en el contexto actual → skill.
- 3.¿Es conversación/coordinación? Pensar juntos, decidir, intercambiar ideas → el agente lo mismo.
Acertaste si tu justificación menciona contexto (compartido × propio) y/o paralelismo — no solo la "intuición".
Respuestas comentadas
- 1 → Skill. Procedimiento de formato dentro del flujo; tú quieres verlo y ajustarlo. Mismo contexto.
- 2 → Subagente. Leer 50 archivos es pesado y puede ensuciar tu contexto; solo quieres la conclusión.
- 3 → Subagente (×5, en paralelo). "5 al mismo tiempo" solo existe con subagentes; cada uno en su propia ventana.
- 4 → Agente. Es diálogo y razonamiento contigo: necesita la conversación completa, no se puede delegar.
- 5 → Skill. Secuencia fija de pasos en el flujo, activada por un disparador ("deploy"). Contexto compartido.
- 6 → Subagente (Haiku). Trabajo paralelo y económico en 30 archivos, aislado, con modelo propio — protege el contexto.
Puntuación: 5–6 respuestas correctas = internalizaste los ejes. 3–4 = revisa el contexto y el paralelismo. 0–2 = vuelve a leer la tabla del tema 6.
✅ Resumen del módulo
Próximo módulo:
1.4 — Built-in × Custom. Los subagentes que ya vienen listos × los que creas, y por qué Claude solo lee name+description hasta decidir (progressive disclosure).