Herramientas de IA para Programar

Skills de Claude Code Explicadas: Guía Completa (2026)

20 ago 202616 min de lectura

Una skill de Claude Code es una carpeta que contiene un archivo SKILL.md: una description breve en el frontmatter, más instrucciones en markdown (y scripts opcionales) que le enseñan a Claude Code cómo hacer una tarea concreta, como revisar un diff, optimizar imágenes o escribir un changelog. Claude invoca la skill automáticamente cuando tu petición coincide con su descripción, o la llamas a mano con /skill-name. Las skills siguen el estándar abierto Agent Skills y pasaron a estar disponibles para todo el mundo el 16 de octubre de 2025. Lo ingenioso: solo la descripción de una línea permanece en el contexto, así que una gran biblioteca de skills sigue siendo barata hasta que de verdad usas una.

verificado con la documentación oficial en code.claude.com/docs/en/skills (consultada el 2026-08-09).

¿Qué son las skills de Claude Code?

Si llevas un tiempo usando Claude Code, seguramente has deseado que simplemente recordara cómo te gusta que se haga una tarea repetitiva: "cuando revises código, sigue esta lista de comprobación" o "cuando optimices una imagen, ejecuta exactamente estos comandos". Ese es el problema que resuelven las skills.

Las skills de Claude Code son paquetes de instrucciones reutilizables e invocables por el modelo: cada una es una carpeta con un archivo SKILL.md que le dice a Claude cuándo usarla y cómo hacer la tarea. Piensa en una skill como una tarjeta plastificada de "así hacemos este trabajo" clavada en la pared: Claude lee los títulos para saber qué tarjetas existen y solo baja una y lee los detalles cuando una tarea lo requiere.

Cada skill tiene dos partes centrales:

  • El frontmatter description: una línea breve que dice qué hace la skill y cuándo activarse. Es la parte que Claude siempre "ve".
  • El cuerpo en markdown: los pasos detallados, las convenciones y los ejemplos. Esto solo se carga cuando la skill se invoca de verdad.

Las skills no son un invento exclusivo de Claude. Siguen el estándar abierto Agent Skills (agentskills.io), lo que significa que el mismo formato SKILL.md funciona en distintas superficies de Claude y, en principio, en otras herramientas que adopten el estándar. Escribe una skill una vez y podrás reutilizarla entre proyectos, compartirla con tus compañeros o instalar todo un paquete de ellas ya hecho.

Un cambio de 2026 que conviene señalar de entrada: los comandos de barra personalizados se han fusionado con las skills. Los viejos archivos .claude/commands/*.md siguen funcionando, pero ahora un SKILL.md hace las dos cosas: Claude puede invocarlo automáticamente por la descripción y además crea un comando /skill-name equivalente. Si lees un tutorial escrito a principios de 2025 que trata "comandos" y "skills" como dos sistemas separados, ese es el modelo previo a la fusión.

Cómo funcionan las skills de Claude Code (divulgación progresiva)

Esta es la parte más importante para entender por qué las skills valen la pena, y no solo son "una forma ordenada de guardar un prompt". El mecanismo se llama divulgación progresiva.

Cuando Claude Code arranca, no carga el contenido completo de cada skill en la ventana de contexto. En su lugar, carga únicamente la breve description de cada skill: lo justo para saber "hay una skill de code-review, una skill de deploy, una skill de optimización de imágenes". Cuando una tarea coincide con una de esas descripciones, Claude entonces lee el cuerpo completo de esa skill y lo sigue. Los archivos de apoyo (una plantilla, un documento de referencia, un script) solo se cargan cuando la skill los referencia explícitamente.

Aquí va la intuición sobre el coste en tokens. Si vuelcas todas las convenciones en tu CLAUDE.md, todo eso queda en el contexto en cada turno, incluido el 90% de las indicaciones que rara vez necesitas, y pagas tokens por ello en cada turno. Con las skills, el "coste siempre activo" son solo unas líneas de description por skill; el cuerpo pesado solo entra en el contexto en el momento en que hace falta. Así es como las skills te permiten mantener una gran biblioteca de instrucciones sin inflar la ventana de contexto.

Una skill se activa de una de estas dos formas:

  • Automáticamente: Claude compara tu petición con la description de cada skill y decide cuál invocar. Tú no haces nada más que describir la tarea; la skill solo necesita una descripción clara.
  • Manualmente con /skill-name: llamas a una skill concreta directamente, por ejemplo /code-review. Útil cuando quieres forzar a Claude por un flujo exacto.

Como Claude se apoya en la description para la selección automática, la calidad de esa única línea decide si la skill se dispara en el momento justo. Una descripción vaga como "ayuda con imágenes" hace dudar a Claude; una rica en disparadores como "úsala al convertir PNG a WebP y comprimir por debajo de 200KB" se dispara casi siempre.

Skills vs comandos, subagents, hooks y MCP

Aquí es donde quien empieza se lía: Claude Code tiene toda una familia de conceptos que suenan parecidos. Aquí va una comparación rápida, una o dos líneas cada uno, para que los ubiques:

ConceptoQué esRelación con las skills
ComandosComandos de barra personalizados (/deploy…)Fusionados con las skills en 2026: ahora un SKILL.md también crea un comando /skill-name. Los archivos de comando al estilo antiguo siguen ejecutándose.
SubagentsUn agente auxiliar con su propio contexto aisladoUn "trabajador" que mantiene el contexto aparte; una skill puede ejecutarse dentro de un subagent para no saturar el contexto principal.
HooksScripts que se disparan alrededor de eventosSe activan por eventos (antes/después de una llamada a una herramienta), no por el sentido de tu petición, como sí ocurre con una skill.
MCPUn protocolo que conecta herramientas/datos externosLa "tubería" hacia sistemas externos; una skill es la instrucción de cómo trabajar, el MCP es la conexión. Skills ≠ MCP.

La distinción clave: una skill es markdown más scripts que moldea cómo trabaja Claude, mientras que el MCP es un protocolo de herramientas que le da a Claude nuevas capacidades desde sistemas externos. Se complementan: una skill puede describir cómo usar bien una herramienta conectada por MCP. Si quieres el desglose completo de dónde empieza y termina cada concepto, escribí un análisis a fondo dedicado: skills vs subagents vs hooks vs MCP.

Dónde viven las skills (personal, proyecto, plugin, empresa)

Dónde coloques la carpeta de la skill decide su alcance. Claude Code busca skills en varias ubicaciones, por orden de prioridad:

ÁmbitoRutaA quién se aplica
Empresa(gestionado por el admin de la organización)Se aplica a toda la organización; máxima prioridad
Personal~/.claude/skills/Disponible en todos los proyectos de tu máquina
Proyecto.claude/skills/Solo en ese repositorio; haz commit para compartirla con todo el equipo
Plugin(incluido en un plugin instalado)Lo proporciona un plugin que instalas

Usa skills personales para tus propios hábitos en todo tu trabajo, y skills de proyecto para convenciones que pertenecen a un repositorio concreto (haz commit de .claude/skills/ y todo el equipo las recibe). Un detalle simpático: Claude Code detecta los cambios en tus archivos de skill al vuelo; edita un SKILL.md y toma la nueva versión sin reiniciar, lo que hace que iterar sobre una skill sea muy rápido.

Anatomía de un archivo SKILL.md

A nivel de archivo, una skill es sorprendentemente simple: es solo una carpeta con el nombre del slug de la skill, que contiene un SKILL.md obligatorio. Puedes añadir archivos de apoyo opcionales —plantillas, scripts, ejemplos— para que la skill los referencie cuando se ejecuta:

~/.claude/skills/optimize-web-image/
├── SKILL.md (required)
├── template.md (optional - output template)
├── examples/ (optional - reference examples)
└── scripts/convert.sh (optional - helper script)

El propio SKILL.md es un frontmatter YAML seguido de un cuerpo en markdown. Aquí tienes una skill real y ejecutable:

---
name: optimize-web-image
description: Convert a PNG to WebP and compress under 200KB. Use when the user needs to optimize an image for the web.
allowed-tools: Bash, Read
---

# Optimize web image

When asked to optimize an image:

1. Run `cwebp -q 80 input.png -o output.webp`.
2. Check the output file size. If it is still over 200KB,
 drop quality to `-q 70` and run again.
3. Report the new file path and its final size.

Eso es todo. El frontmatter le dice a Claude cuándo usar la skill; el cuerpo le dice cómo. Aquí están los campos de frontmatter que más usarás (consulta la documentación oficial para la lista completa):

CampoQué hace
nameEl identificador de la skill; también el /skill-name que escribes.
descriptionLa línea que Claude usa para seleccionar la skill automáticamente. El campo más importante de todos: escribe disparadores claros.
allowed-toolsRestringe qué herramientas puede usar la skill (por ejemplo, Bash, Read). Bueno para la seguridad.
disable-model-invocationPonlo en true para que Claude no pueda dispararla solo; tienes que llamarla a mano. Úsalo para acciones con efectos colaterales.
contextPonlo en fork para ejecutar la skill en un subagent aislado (mira la sección avanzada).

Una regla práctica: mantén el SKILL.md por debajo de unas 500 líneas. En cuanto se invoca una skill, su cuerpo entra en el contexto y se queda ahí durante toda la sesión, así que un cuerpo inflado te cuesta tokens: mueve el material de referencia largo a archivos de apoyo y apunta a ellos solo cuando haga falta.

Crea tu primera skill en 5 minutos (paso a paso)

Vamos a construir una skill pequeña pero de verdad útil: summarize-changes, que convierte tu git diff reciente en un resumen en lenguaje claro. Tres pasos.

  1. Crea la carpeta (ámbito personal, para que funcione en todos los proyectos):
    mkdir -p ~/.claude/skills/summarize-changes
  2. Escribe el SKILL.md en ~/.claude/skills/summarize-changes/SKILL.md:
    ---
    name: summarize-changes
    description: Summarize the current git changes in plain English, grouped by area. Use when the user asks what changed or wants a PR summary.
    allowed-tools: Bash, Read
    ---
    
    # Summarize changes
    
    1. Run `git diff --stat` and `git diff` for uncommitted changes.
    2. Group edits by area (feature, fix, docs, tests, chore).
    3. Write 3-6 bullet points in plain English - what changed and why
     it matters - short enough to paste into a pull request.
  3. Pruébala de dos formas. Abre Claude Code en un repositorio con algunas ediciones sin commitear y escribe el comando directamente —/summarize-changes— o simplemente pídelo de forma natural: "resume lo que cambié". Si tu description es clara, la petición natural dispara la skill sin que la nombres.

Como Claude Code detecta los archivos de skill al vuelo, no necesitas reiniciar: la skill está disponible en el instante en que guardas el archivo.

Una skill en acción (ejemplo real + opinión honesta)

La skill summarize-changes de arriba es una que yo misma tengo en mi carpeta personal, y es una buena muestra de cuándo una skill se gana su sitio y cuándo no.

Antes: al final de una sesión le pedía a Claude "escríbeme una descripción de PR" y obtenía algo genérico, apoyado en los mensajes de commit y sin el porqué. Después: con la skill, las instrucciones lo obligan a leer el diff real y agrupar por área, así que el resumen refleja lo que de verdad cambió, no lo que etiqueté en mis commits. La salida es consistente cada vez, porque los pasos viven en la skill y no en mi memoria de cómo lo formulé la última vez.

Lo que no funcionó al principio: mi description inicial era solo "summarize git changes", y a veces Claude la ignoraba y respondía a partir del historial de commits. Añadir el disparador concreto —"úsala cuando el usuario pregunte qué cambió o quiera un resumen de PR"— arregló la invocación automática. Esa es la lección honesta: una skill vale solo lo que vale su descripción, y conviene esperar que iteres sobre esa única línea un par de veces.

La otra salvedad honesta: este es un trabajo pequeño y con forma de tarea, que es justo para lo que sirven las skills. Si hubiera intentado codificar todo el estilo de código de mi repositorio en una skill, ese sería el sitio equivocado: el estilo que se aplica a cada turno pertenece al CLAUDE.md, no a una skill que solo se carga al invocarse.

Avanzado: contexto dinámico y ejecutar una skill como subagent

Dos funciones hacen que las skills sean más potentes una vez que te manejas con lo básico.

Inyección de contexto dinámico. Puedes incrustar un comando de shell en tu SKILL.md con la sintaxis ` !`command` `, y Claude Code lo ejecuta e inyecta la salida antes de que Claude lea el cuerpo de la skill. Eso significa que la skill puede actuar sobre el estado en vivo en lugar de sobre texto estático:

---
name: summarize-changes
description: Summarize the current git diff in plain English.
---

# Summarize changes

Here is the current diff:

!`git diff HEAD`

Summarize the changes above, grouped by area, in 3-6 bullets.

La línea ` !`git diff HEAD` ` se ejecuta cuando la skill se carga, así que Claude ya ve el diff real inline, sin necesidad de una llamada a una herramienta aparte.

Ejecutar una skill como subagent. Pon context: fork en el frontmatter y la skill se ejecuta en un subagent aislado, con su propia ventana de contexto, devolviendo solo el resultado a tu sesión principal:

---
name: summarize-changes
description: Summarize the current git diff in an isolated subagent.
context: fork
---

Esto es ideal para trabajos pesados en tokens —revisar un diff enorme, escanear muchos archivos— porque el voluminoso trabajo intermedio se queda en el contexto forkado y nunca ensucia tu conversación principal. Si quieres entender cómo se relacionan las skills forkadas con los subagents completos, esa frontera se cubre en la comparación skills vs subagents vs hooks vs MCP.

No lo construyas todo: paquetes de skills prehechos

Escribir skills a mano es genial cuando quieres ajustar un flujo exacto. Pero si solo quieres una biblioteca sólida para trabajos comunes —frontend, backend, base de datos, DevOps, revisión de código— no tienes que escribir cada SKILL.md tú misma. Puedes instalar un paquete de skills curado.

Una opción popular es AgentKit, un paquete de skills prehecho para Claude Code (se instala con su CLI ak) que trae más de 108 skills listas. (AgentKit aquí es el kit para Claude Code —CLI ak, en agentkit.best— no el AgentKit de OpenAI.) Su Engineer Kit aparece a 99 USD, con actualizaciones de por vida y garantía de devolución; la página no menciona ninguna cuota recurrente. Si prefieres comparar algunas opciones primero, mi repaso de los mejores kits de Claude Code en 2026 los pone lado a lado. También puedes echar un vistazo al paquete de skills AgentKit (20% de descuento por el enlace) y juzgar por ti misma.

Escribe tus propias skills primero si tus necesidades son pequeñas; un kit solo compensa cuando quieres saltarte construir una gran biblioteca desde cero.

Buenas prácticas y limitaciones

Las skills son prácticas, pero no son "instálalo y es perfecto". Aquí va el retrato honesto:

  • Las descripciones siempre están en el contexto. La descripción de una línea de cada skill está en la ventana de contexto todo el tiempo. Ese coste es minúsculo por skill, pero instalar decenas de skills que se solapan se acumula y puede hacer más difícil que Claude elija la correcta: mantén nombres y descripciones distintos.
  • El modelo puede ignorar una skill. Si una skill no se dispara sola, la descripción casi siempre es demasiado vaga. Refuérzala con un disparador concreto ("úsala cuando…"), o simplemente llámala a mano con /skill-name.
  • Una skill invocada persiste entre turnos. La divulgación progresiva ahorra tokens en la parte "aún no usada", pero, una vez que una skill se carga, su cuerpo se queda en el contexto durante la sesión. Mantén los cuerpos cortos y mueve el material de referencia largo a archivos de apoyo.
  • Protege las acciones con efectos colaterales. Para skills que despliegan, borran o escriben en producción, pon disable-model-invocation para que Claude no pueda dispararlas por su cuenta: las invocas a propósito.
  • No hagas de todo una skill. Las convenciones que se aplican a cada turno (el estilo general de código de tu repositorio) siguen perteneciendo al CLAUDE.md; las skills son para flujos por tarea. Elegir el sitio correcto es lo que mantiene los tokens eficientes. También puedes usar la herramienta skill-creator para evaluar la tasa de acierto de una skill frente a su coste en tokens antes de comprometerte con ella.

Preguntas frecuentes

¿Las skills de Claude Code son gratis?

Sí: las skills son una función integrada de Claude Code, así que usarlas y escribir las tuyas no cuesta nada más allá de tu plan actual de Claude Code (por ejemplo, Pro a 20 USD/mes). Un coste solo aparece si eliges comprar un paquete de skills prehecho de terceros.

Skills vs MCP: ¿cuál es la diferencia?

Una skill es una instrucción en markdown (más scripts opcionales) que moldea cómo hace Claude una tarea. El MCP es un protocolo que conecta a Claude con herramientas y datos externos. Las skills cambian el comportamiento; el MCP añade capacidades. Trabajan juntos: una skill puede describir cómo usar bien una herramienta conectada por MCP.

¿Dónde pongo una skill?

Pon las skills personales en ~/.claude/skills/ (disponibles en toda tu máquina) y las skills de proyecto en .claude/skills/ dentro de un repositorio (haz commit para compartirlas con tu equipo). Cada skill es su propia carpeta que contiene un SKILL.md.

¿Puede Claude invocar una skill automáticamente?

Sí. Claude compara tu petición con la description de cada skill e invoca la que mejor encaja: no tienes que nombrarla. También puedes llamar a una a mano con /skill-name, o poner disable-model-invocation para exigir la invocación manual.

¿Las skills funcionan también en la app y la API de Claude?

Sí. Las skills siguen el estándar abierto Agent Skills, así que también funcionan en las apps de Claude (Pro, Max, Team, Enterprise) y a través de la Developer Platform / Skills API. Claude Code añade extras propios del terminal, como el control de invocación, la ejecución en subagent y la inyección de contexto dinámico.

¿En qué se diferencia una skill del CLAUDE.md?

El CLAUDE.md guarda convenciones que se aplican a cada turno y permanece en el contexto todo el tiempo. Una skill guarda instrucciones para una tarea concreta y, gracias a la divulgación progresiva, solo carga su cuerpo completo cuando se invoca. Usa el CLAUDE.md para reglas siempre activas y las skills para flujos por tarea.

Conclusión y próximos pasos

Las skills de Claude Code son una forma limpia de enseñarle un trabajo a Claude, una tarea a la vez: una carpeta, un SKILL.md, disparado automáticamente o con /skill-name, y mantenido barato por la divulgación progresiva. Desde aquí, lee el desglose completo de skills vs subagents vs hooks vs MCP para ubicar toda la familia de conceptos, vuelve a qué es Claude Code si aún te estás orientando, y, si prefieres empezar desde una biblioteca lista en vez de un archivo en blanco, prueba el paquete de skills AgentKit (20% de descuento por el enlace) antes de escribir la tuya desde cero.

J

Jasmine

Autora · Jasmine Daily

La autora detrás de Jasmine Daily, anotando pensamientos, experiencias y momentos cotidianos. Honesta, sin prisa, imperfecta.

Jasmine Daily

Hay más esperando a ser leído.

Si este texto te llegó, explora algunas páginas más del diario.

Leer a continuación

Entradas relacionadas