Saltar al contenido
← artículos
Claude CodeSkillsMCPSubagentsAI Agents

Claude skills vs MCP vs subagents: cuándo usar cada uno

Un framework de decisión para elegir entre skills de Claude Code, herramientas MCP, subagents y memoria: tabla comparativa y cuándo elegir cada opción.

Confundir estas cuatro primitivas no rompe nada de forma visible. Solo empeora la arquitectura, en silencio, cada vez que la tocas.

Skills, servidores MCP, subagents y CLAUDE.md parecen todos “formas de darle más a Claude”. No son intercambiables. Cada uno cubre un hueco concreto, y la superposición es poca.

Si eres nuevo en las skills de Claude Code, la guía para crear skills en Claude Code cubre SKILL.md, referencias y progressive disclosure a fondo. Empieza ahí y luego vuelve.

Este artículo es el mapa de decisión: qué primitiva para qué problema, cuándo combinarlas y un checklist para cada una.

Cuatro primitivas, cuatro trabajos

Claude Code tiene cuatro primitivas: la skill (método versionado, sin runtime), el servidor MCP (protocolo que expone herramientas y datos en vivo), el subagent (contexto aislado para paralelismo o estado limpio) y la memoria en CLAUDE.md (contexto de fondo siempre activo). Cada una resuelve un problema distinto. Usar la equivocada es silencioso: nada se rompe, la arquitectura solo empeora.

Cuatro primitivas, un trabajo cada una

Cada primitiva tiene un trabajo. El error común es tratarlas como intercambiables.
DimensiónSkillHerramienta MCPSubagentMemoria
Qué esMétodo versionado en SKILL.md + referenciasServidor que expone herramientas/datos en runtimeContexto aislado (frontmatter fork/agent)Contexto siempre activo (CLAUDE.md)
¿Tiene runtime?NoSíSíNo
¿Cómo se activa?El modelo lee el SKILL.md al invocarseEl agente llama a la herramienta vía protocoloLo lanza el orquestador vía frontmatterSiempre en contexto, sin disparador
¿Persiste entre sesiones?Sí (archivo versionado)Sí (el servidor sigue arriba)No (worker efímero)Sí (archivo CLAUDE.md)
Ideal paraMétodo repetible, consistenciaAcceso a herramientas/datos, sistemas en vivoAislamiento, paralelismo, tareas largasContexto de proyecto/usuario siempre activo
Cada primitiva tiene un trabajo. El error común es tratarlas como intercambiables.

Las cuatro primitivas no compiten. Operan en capas distintas. Una skill no es un MCP liviano. Un subagent no es una skill con más aislamiento. CLAUDE.md no es una skill que olvidaste activar. Combinarlas bien es lo que hace un workflow de producción de verdad.

MCP es la cocina; la skill es la receta

MCP expone capacidad. Es el juego de cuchillos, ollas e ingredientes crudos que tu agente tiene a mano. La skill es lo que el agente hace con ellos: un método repetible con un estándar de salida. Puedes tener cocina sin receta (resultados inconsistentes) o receta sin cocina (buenas intenciones, nada en el plato).

La analogía se rompe si la fuerzas. Algunos workflows necesitan MCP sin skill: una consulta puntual a una base de datos en vivo no necesita un método detrás. Otros necesitan una skill sin MCP: una tarea pura de razonamiento o criterio que solo usa las herramientas integradas. Combínalas cuando la tarea sea a la vez estructurada y dependiente de herramientas.

Cuándo la skill es la herramienta correcta

La skill entra en el stack cuando tienes un método que vale la pena repetir. No una consulta puntual que escribes ahí mismo. Un patrón de criterio que se repite, un framework que resolviste una vez y no quieres reconstruir en cada sesión. Las skills son para la consistencia. Si estás copiando y pegando el mismo prompt largo, ya estás construyendo una skill; solo que no la has formalizado.

La señal es la recurrencia. Uso una skill de evaluación de ofertas respaldada por 13 referencias de Hormozi. Cada evaluación corre el mismo framework, revisa los mismos criterios y produce el mismo estándar. No reescribo eso en cada sesión. La skill está versionada en git, carga de forma consistente y ha mejorado con cada iteración.

También uso un sistema completo de skills lifeos-*: lifeos-capture, lifeos-ingest, lifeos-study, lifeos-plan, lifeos-review. Cada una es un módulo propio, con sus referencias y reglas de decisión. Ninguna es un prompt que repito. Son métodos que mantengo.

La skill no es la opción correcta cuando:

  • La tarea es realmente puntual, sin recurrencia
  • Lo que necesitas es una llamada a una herramienta, no un método (trabajo de MCP)
  • La tarea necesita contexto aislado o paralelismo (trabajo del subagent)
  • Quieres darle al agente datos de fondo, del entorno (trabajo de CLAUDE.md)

Cuándo MCP es la herramienta correcta

MCP entra en el stack cuando el agente necesita hacer algo que no puede con las herramientas integradas: escribir en el sistema de archivos, consultar una base de datos en vivo, automatizar un navegador, llamar a una API externa. No es para criterio ni para método. Es para acceso. La mayoría de los workflows reales apilan los dos: la skill le dice al agente qué hacer; MCP hace posible la acción.

Construye una skill cuando...

  1. 01El mismo criterio o método se repite y necesita consistencia
  2. 02Tienes un framework que destilar, no solo una herramienta que llamar
  3. 03Quieres el mismo estándar de salida aplicado en cada sesión
  4. 04Copiar y pegar el mismo prompt largo ya es tu workflow actual
  5. 05Estás codificando un proceso de decisión, no agregando una capacidad

Construye un servidor MCP cuando...

  1. 01El agente necesita acceso a un sistema en vivo, una API o una base de datos
  2. 02La tarea requiere escribir, leer o ejecutar algo externo
  3. 03Necesitas controlar el navegador, operar archivos o tener datos en tiempo real
  4. 04Las herramientas integradas no alcanzan y el hueco es de capacidad, no de método
  5. 05Quieres compartir una herramienta entre varias skills o agentes
Casi toda la confusión entre skills y MCP es mezclar método con capacidad.

El modo de falla de MCP es recurrir a él cuando en realidad necesitas una skill. Si los resultados del agente son inconsistentes entre sesiones pero tiene acceso a las herramientas correctas, el problema es un método que falta, no un servidor que falta.

El modo de falla de una skill sin MCP es escribir un método que le pide al agente llamar herramientas que no tiene. Una skill puede indicarle al agente que use sus herramientas integradas, pero no puede sacar capacidades nuevas de la nada. Si el método requiere datos en vivo o una acción externa, MCP es la capa que falta.

Cuándo el subagent es la herramienta correcta

Un subagent es un contexto aislado de Claude. Úsalo cuando una tarea sea demasiado larga para la sesión principal, cuando necesites estado limpio sin que se filtre contexto o cuando puedas correr varias tareas en paralelo. Es una frontera de ejecución, no una mejora de razonamiento. La skill sigue diciéndole cómo razonar; el subagent solo lo corre en una ventana aparte.

Tareas largas. Una tarea que amenaza con consumir la context window principal (investigación profunda, análisis en varios pasos, refactors grandes) va en un subagent. El orquestador lo lanza, corre hasta terminar y el resultado vuelve limpio.

Estado limpio. Si una tarea no debe verse influida por lo que pasó antes en la sesión, lanza un subagent. El contexto anterior no se filtra.

Paralelismo. ¿Vas a correr el mismo método sobre cinco inputs? Cinco subagents, uno por input, todos a la vez. Cada uno carga la misma skill, cada uno corre en su propio contexto. Lo uso en el workflow de lifeos-study: varios documentos, ingesta en paralelo, sin contaminación cruzada.

Un subagent no es otro motor de razonamiento. Es el mismo modelo en un contexto aparte. La skill define la calidad del razonamiento; el subagent define la frontera de ejecución.

Elige tu primitiva

Recórrelo de arriba abajo. Gana la primera coincidencia.

¿Qué primitiva?

  • Obligatorio:
    ¿Es un criterio o método repetible que quieres consistente entre sesiones?Sí → skill. Construye SKILL.md + referencias + un loading map.
  • Obligatorio:
    ¿La tarea requiere acceso a un sistema en vivo, una API, una base de datos o una capacidad externa?Sí → servidor MCP. Agrega una skill encima si también necesita un método repetible.
  • Obligatorio:
    ¿La tarea necesita estado limpio, o el contexto filtrado de la sesión principal causaría problemas?Sí → subagent. Carga una skill dentro si el método debe ser consistente.
  • Obligatorio:
    ¿Es algo siempre cierto sobre el proyecto o el usuario: datos de fondo, no un método que se activa?Sí → memoria en CLAUDE.md. Es contexto de entorno, no una primitiva de tarea.
  • Obligatorio:
    ¿Estás corriendo el mismo método sobre varios inputs y quieres paralelizar?Sí → skill dentro de un subagent, un subagent por input.
  • Opcional:
    ¿Es algo realmente puntual, sin recurrencia, sin herramienta externa, sin aislamiento?Sí → un prompt simple, ahí mismo. No hace falta infraestructura.
¿Tres síes en una misma tarea? Combínalas. Las primitivas están hechas para apilarse.

Preguntas frecuentes

¿Cuál es la diferencia entre una Claude skill y una herramienta MCP?

Una skill es un método versionado (SKILL.md más archivos de referencia) que el modelo lee cuando se invoca. No tiene runtime y no llama a ningún sistema externo por su cuenta. Una herramienta MCP es un servidor que expone capacidades reales: lecturas de base de datos, llamadas a APIs, acciones en el navegador, escritura en el sistema de archivos.

Versión corta: la skill le dice al agente cómo pensar; la herramienta MCP le da algo que hacer.

¿Una skill y un servidor MCP pueden trabajar juntos?

Sí, y esa combinación es común. La skill define el método: qué revisar, en qué orden, con qué estándar. El servidor MCP aporta la capacidad que la skill necesita para actuar.

Mi skill lifeos-capture codifica el método de captura en el SKILL.md; el servidor MCP es el que realmente escribe la salida estructurada en el sistema de archivos. La skill sin MCP te da instrucciones; MCP sin la skill te da una ejecución inconsistente.

¿Cuándo usar un subagent en lugar de correr en la sesión principal?

Usa un subagent cuando la tarea sea lo bastante larga como para contaminar el contexto principal, cuando necesites estado limpio sin filtraciones de turnos anteriores o cuando estés corriendo la misma tarea sobre varios inputs y quieras paralelizar.

Un subagent es una frontera de ejecución, no una mejora de razonamiento. La skill sigue definiendo el método adentro.

¿La memoria de CLAUDE.md es lo mismo que una skill?

No. La memoria (CLAUDE.md) es contexto de fondo siempre activo: lo que es permanentemente cierto sobre el proyecto o el usuario. Nunca la activa una tarea específica.

Una skill se activa cuando es relevante: instrucciones específicas, referencias que cargar, un estándar de salida que seguir. Una está siempre encendida; la otra se dispara bajo demanda.

¿Necesito una skill dentro del subagent, o puede correr sin ella?

Un subagent puede correr con un prompt simple o solo con la memoria. La skill importa cuando la tarea del subagent sigue un método repetible que quieres consistente en cada ejecución.

Si te encuentras reescribiendo las instrucciones del subagent cada vez, esa es la señal para extraer una skill.

¿Cuál es la razón mínima para construir una skill en lugar de un prompt largo?

La recurrencia. Si vas a correr el mismo tipo de tarea más de una vez, la skill se paga sola. Un prompt se degrada: se parafrasea, se recorta y se olvida entre sesiones. Una skill está versionada en git, carga las mismas referencias cada vez y mejora con cada iteración.

El costo de setup es real pero acotado: de una a tres horas para construir un SKILL.md decente y un puñado de referencias. Todo lo demás corre sobre la infraestructura que construiste una vez.

¿Qué es progressive disclosure en el contexto de las skills?

Es el término de Anthropic para el patrón de carga en tres capas integrado en las skills: el nombre y la description de la skill están siempre en contexto (metadatos), el cuerpo del SKILL.md se carga cuando se invoca la skill, y los archivos de referencia en references/ se cargan solo cuando el modelo es enrutado explícitamente hacia ellos.

Eso mantiene la context window ajustada. El loading map en el SKILL.md es lo que le dice al modelo qué referencias buscar. Sin él, el agente adivina, y adivinar favorece a los pesos por encima de tus archivos.

Se combinan

Las cuatro primitivas no compiten, pero sí se combinan. Una skill dentro de un subagent, respaldada por herramientas expuestas vía MCP, es un patrón estándar de producción, y es más limpio de lo que suena cuando cada capa conoce su trabajo.

La guía para crear skills en Claude Code cubre la capa de skills desde cero. Si todavía estás decidiendo entre una skill y una opción más simple (un prompt, una nota en CLAUDE.md), Claude skill vs prompt vs memoria cubre ese límite. Para ejemplos concretos de una biblioteca de skills real, ejemplos de Claude skills en producción es la continuación.

Elige la primitiva que corresponde al problema real. Lo demás es cableado.