Skill vs prompt vs memoria vs subagent en Claude: qué usar y cuándo
Cuatro primitivas, una decisión. Termina con la confusión entre prompts de Claude, memoria en CLAUDE.md, skills y subagents. Elige la herramienta correcta cada vez.
Un prompt es una nota que le dejas al modelo y después tiras. Una skill es infraestructura que construyes una vez y corres para siempre.
Este texto es parte de una serie sobre skills de Claude Code. Si nunca creaste una, empieza por la guía desde cero para crear skills en Claude Code: SKILL.md, referencias, el mapa de carga y cuándo vale la pena crear una skill.
¿Qué primitiva necesitas? Cuatro opciones: prompt, memoria, skill, subagent. La respuesta no es cuestión de gusto. Cada una cumple un contrato distinto, y elegir la equivocada significa construir infraestructura que no necesitabas o reescribir las mismas instrucciones hasta que se desvían.
Qué es realmente cada primitiva
Cuatro herramientas. Cuatro contratos completamente distintos. Las cuatro pueden producir el mismo resultado en una sola sesión. La diferencia es lo que pasa la semana que viene, cuando el trabajo vuelve.
Un prompt es una instrucción de una sesión. Lo escribes, el modelo lo lee, la sesión termina y desaparece. La herramienta más rápida y más descartable. Sin versionado, sin estructura obligatoria.
La memoria (tu CLAUDE.md a nivel de proyecto o de usuario) es contexto persistente y siempre activo. No se dispara. Se carga sola en cada sesión. Las reglas fijas y los hechos siempre ciertos viven aquí: tu stack, tus convenciones, tu tono. Nada de eso debería tener que decirse dos veces.
Una skill es un método versionado y reutilizable. Tiene un SKILL.md con un name y una description. El modelo lee esos campos en cada sesión y sabe cuándo aplica la skill. Cuando se dispara, carga sus referencias. El método se mantiene consistente porque vive en un archivo, y no en tu memoria.
Un subagent es un worker aislado. Hace un fork del contexto hacia una hoja en blanco. No sirve para mejores respuestas: sirve para aislamiento y paralelismo. Los jobs largos que degradarían el contexto principal, o las tareas que quieres correr en paralelo, van ahí.
Las cuatro primitivas de un vistazo
- 0
- sesiones que sobrevivePrompt: una vez y desaparece
- ∞
- sesiones en las que se cargaMemoria: siempre activa, sin disparador
- 1
- disparador: una descriptionSkill: método versionado y reutilizable
- 1
- contexto aislado por llamadaSubagent: worker aislado
Cuándo un prompt es la opción correcta
Para una tarea que nunca vas a repetir de la misma forma en otras sesiones, el prompt es la herramienta correcta. Sin setup, sin overhead, listo.
La pregunta que lo define: “¿Voy a necesitar exactamente este comportamiento la semana que viene?” Si no, escribe el prompt. El costo de crear una skill para algo puntual es real (un día de destilación, versionado y pruebas). El de escribir un prompt, no. Nadie te da un premio por infraestructura que no necesitas.
Donde el prompt se rompe es en la repetición. Si escribes la misma instrucción de varios párrafos tres sesiones seguidas, estás haciendo el trabajo de la skill a mano y desviándote un poco cada vez que la reescribes. Tres repeticiones es el umbral. Pasado eso, la variación en cómo lo redactas produce resultados significativamente distintos. Eso no es un problema de prompt. Es una skill que falta.
Cuándo la memoria en CLAUDE.md es la opción correcta
El contexto siempre cierto va en la memoria, no en un prompt que repites cada sesión. Si es cierto hoy y lo seguirá siendo dentro de seis meses, es memoria.
Tu stack (Astro, TypeScript, Tailwind), tus convenciones (solo inglés, solo tema oscuro, sin valores arbitrarios de CSS), tu voz (sin muletillas de IA, primera persona): nada de eso necesita dispararse. Necesita estar activo. En cada sesión. Sin que lo pidas. CLAUDE.md hace eso.
La memoria no es un método. No le enseña al modelo a hacer una revisión de seguridad ni a aplicar un estilo editorial consistente. Le dice al modelo lo que siempre es cierto sobre el proyecto. Si estás escribiendo “cuando el usuario pida X, haz Y, después Z” dentro de CLAUDE.md, esa lógica le corresponde a una skill, no a la memoria.
Cuándo crear una skill
Una skill encaja cuando se cumplen tres condiciones: el trabajo se repite, requiere un método específico y tiene que producir resultados consistentes entre sesiones.
Una condición sola no alcanza. El trabajo que se repite pero es trivial (correr los tests, preparar un commit) se resuelve con un alias o un prompt corto. El trabajo que requiere un método específico pero corre una sola vez va en un prompt. El trabajo que tiene que ser consistente pero trata solo de hechos siempre ciertos va en la memoria.
Las tres juntas: esa es la señal para construir.
La heurística que uso en la práctica: ¿le expliqué el mismo workflow al modelo tres veces o más? Si la respuesta es sí, el modelo lo olvidó tres veces. Eso no es un problema de prompt. Es una skill que falta.
Mi biblioteca de skills es la regla en acción. Skills como alex-hormozi (diseño de ofertas), neil-patel (auditorías de SEO), dhh (reescrituras editoriales) y toda la suite lifeos-* (operaciones de segundo cerebro: capturar, ingerir, revisar, escribir el diario, consultar) existen por la misma razón: el trabajo volvía, necesitaba un método específico y variaba de una sesión a otra sin un archivo que lo sostuviera.
¿Esto debería ser una skill?
- Obligatorio:Corrí este workflow más de dos veces, en sesiones separadas.
- Obligatorio:El resultado varía cuando no especifico el método explícitamente.
- Obligatorio:La tarea requiere más de una decisión: frameworks, referencias, checklists.
- Obligatorio:Necesito el mismo comportamiento sin importar cómo redacte el pedido.
- Obligatorio:Quiero versionar y mejorar el método con el tiempo.
Cuándo necesitas un subagent
Un subagent no es para trabajo más difícil. Es para trabajo que necesita aislamiento.
Dos casos en los que el aislamiento es la respuesta correcta: la tarea es lo bastante grande como para degradar el contexto principal (un escaneo de todo el codebase, una investigación larga a través de muchos archivos), o quieres correr varias tareas en paralelo sin interferencias. El subagent hace un fork del contexto, cumple su tarea y devuelve un resultado. Tu thread principal queda limpio.
La distinción entre skill y subagent es la que más confusión genera. Una skill es un método. Un subagent es un worker. Resuelven cosas distintas. Y se combinan: un subagent puede invocar una skill. Si tienes una auditoría recurrente, guiada por un método, que quieres correr en paralelo sobre tres codebases, la respuesta correcta es una skill dentro de un subagent, no una u otra.
Para la mecánica de esa frontera, la guía sobre Claude skills vs MCP y subagents profundiza más.
La matriz: puntuando cada primitiva para trabajo recurrente y guiado por método
Estas reglas son claras por separado. En la práctica, el trabajo llega ambiguo. Esta matriz puntúa cada primitiva en los criterios que importan cuando el trabajo se repite y el método tiene que sostenerse.
¿Qué primitiva sirve para trabajo recurrente y guiado por método?
| Criterio (peso) | Prompt | Memoria | Skill | Subagent |
|---|---|---|---|---|
| Persiste entre sesiones (3) | 1 | 5 | 5 | 1 |
| Codifica un método específico y repetible (4) | 1 | 2 | 5 | 2 |
| Se dispara solo cuando es relevante (2) | 3 | 1 | 5 | 3 |
| Se mantiene consistente de una sesión a otra (3) | 1 | 3 | 5 | 2 |
| Cero overhead para una tarea puntual (1) | 5 | 3 | 1 | 1 |
| Puntuación ponderada | 21 | 37 | 61 | 24 |
Scale 1-5 (5 = best). Highlighted column: winner by weighted score.
El puntaje no dice que las skills sean genéricamente mejores que las demás. Dice que las skills son la herramienta correcta para esta clase específica de trabajo. Cambia la clase de tarea y cambia el ganador. Algo realmente puntual (una pregunta que nunca vas a volver a hacer) no necesita una skill. Un prompt es más rápido y es lo correcto.
El error que todos cometen primero: role prompting en lugar de una skill
La mayoría recurre a un system prompt largo que describe una persona experta, sesión tras sesión, y cree que eso equivale a una skill.
No equivale. El prompt se degrada. Te desvías cada vez que lo reescribes. No está versionado, así que dos sesiones que “usaron el prompt de Hormozi” pueden haber usado instrucciones sutilmente distintas. Los resultados del modelo varían en la misma medida.
Zheng et al. (arXiv:2311.10054, Findings of EMNLP 2024) probaron 162 personas en cuatro familias de modelos. Una etiqueta de persona sola en un system prompt no mejora la precisión factual frente a no usar ninguna persona. La voz cambia. El conocimiento, no.
Una skill es distinta porque carga el método: referencias destiladas, un mapa de carga, frameworks, criterios de decisión. El artículo sobre personas de esta serie, por qué las skills de persona le ganan al role prompting, cubre la mecánica. La versión corta: identidad sin método es un disfraz. La skill aporta el método.
Cierre
Cuatro primitivas. Una regla: haz coincidir la herramienta con el contrato.
¿Puntual? Prompt. ¿Contexto siempre cierto? Memoria. ¿Recurrente, guiado por método, tiene que ser consistente? Skill. ¿Worker aislado o en paralelo? Subagent.
La señal de que elegiste mal es simple. Si estás reescribiendo la misma instrucción más de dos veces, estás haciendo el trabajo de la skill a mano. La guía para crear skills en Claude Code te muestra cómo dejar de hacerlo.
FAQ
¿Cuál es la diferencia entre una skill de Claude y un prompt?
Un prompt es una instrucción de una sesión que desaparece cuando la sesión termina. Una skill es un módulo versionado con un SKILL.md, una description que la dispara y archivos de referencia que cargan el método: el mismo comportamiento en cada sesión.
La diferencia práctica aparece en la tercera repetición. Si escribiste la misma instrucción de varios párrafos tres veces en sesiones separadas, estabas haciendo el trabajo de la skill a mano.
¿Qué va en CLAUDE.md y qué va en una skill?
CLAUDE.md guarda contexto siempre cierto: tu stack, convenciones, idioma, reglas de diseño. Se carga en cada sesión sin disparador.
Una skill guarda un método: un workflow repetible con sus propias referencias, frameworks y lógica de decisión. Si te encuentras escribiendo instrucciones paso a paso para trabajo recurrente dentro de CLAUDE.md, mueve esa lógica a una skill.
¿Cuándo necesito un subagent en lugar de una skill?
Cuando necesitas aislamiento o paralelismo, no un mejor método. Un subagent hace un fork del contexto para que el thread principal quede limpio. Útil para jobs largos que degradarían la conversación, o tareas que quieres correr al mismo tiempo.
Skills y subagents no son alternativas. Se combinan: un subagent puede invocar una skill. Si el trabajo es recurrente, guiado por método y grande, la respuesta es una skill dentro de un subagent.
¿Un system prompt largo con una persona equivale a una skill?
No. Un system prompt se degrada: lo reescribes en cada sesión y te desvías. Zheng et al. (arXiv:2311.10054, Findings of EMNLP 2024) encontraron que una etiqueta de persona sola en un system prompt no mejora la precisión factual frente a no usar ninguna persona. La voz cambia; el conocimiento, no.
Una skill carga el conocimiento: referencias destiladas, un mapa de carga, frameworks. La persona es una coordenada de activación, no el método en sí.
¿Cómo sé cuándo vale la pena convertir un workflow en una skill?
Tres señales: se repite entre sesiones, requiere un método específico (no solo un tono) y el resultado varía cuando no especificas el método explícitamente.
El umbral que uso: si le expliqué el mismo workflow al modelo tres veces, el modelo lo olvidó tres veces. Es una skill que falta, no un problema de prompt.
¿Puedo usar una skill para una tarea puntual?
Puedes, pero no deberías. Una skill tiene costo de setup: destilación, versionado, pruebas. Para una tarea que nunca vas a repetir, el prompt es la herramienta correcta. Crea la skill cuando el trabajo vuelva.
¿La memoria reemplaza a las skills para el comportamiento persistente?
No. La memoria (CLAUDE.md) guarda hechos que siempre son ciertos. Una skill guarda un método que se dispara bajo demanda. Sirven para cosas distintas.
Si quieres que el modelo siga siempre una convención, ponla en la memoria. Si quieres que ejecute un workflow específico cuando se lo pides, ponlo en una skill. Meter un workflow en CLAUDE.md crea lógica procedural en un archivo de contexto. No se puede versionar bien, y va a entrar en conflicto consigo mismo a medida que crece.
La newsletter
Don’t Code, Specify. Cada semana, agentes de IA en producción de verdad. Sin hype: lo que funcionó y lo que se rompió.
Suscríbete en Substack (se abre en una pestaña nueva)