Qué son las skills de Claude Code y cómo crear la primera
Hola, bienvenido. En la lección anterior repasamos los comandos que vas a usar cada día y vimos que muchos de ellos, como /code-review o /doctor, son skills incluidas en Claude Code. En esta lección vamos a ver qué es exactamente una skill y a crear la primera de claude-tasks: /review-diff, una revisión de los cambios sin confirmar contra las normas del proyecto, pensada para lanzarla antes de cada commit. Por el camino veremos cómo se carga una skill, quién puede invocarla, los campos del frontmatter que más vas a usar, incluidos allowed-tools y disallowed-tools, y cómo hacer que Claude Code la encuentre sin reiniciar con /reload-skills.
¿Qué problema resuelven? Piensa en lo que haces antes de un commit en claude-tasks. Quieres comprobar que Claude no ha tocado una aserción para que un test pase, que no ha cambiado composer.json, que los archivos nuevos llevan declare(strict_types=1) y que no hay cambios que se salen de la tarea. Todo eso lo puedes escribir en un prompt, pero entonces lo escribes cada vez, y cada vez de una forma un poco distinta. La documentación lo plantea así: crea una skill cuando te ves pegando en el chat las mismas instrucciones, la misma checklist o el mismo procedimiento de varios pasos, o cuando un apartado de tu CLAUDE.md ha crecido hasta convertirse en un procedimiento en lugar de un dato.
Y hay una razón de coste que ya conoces. CLAUDE.md se carga entero en cada sesión, mientras que el contenido de una skill solo entra en el contexto cuando se usa. Por eso en la lección de rules pusimos las skills en la tabla del reparto como el sitio para los procedimientos de varios pasos: la checklist de revisión no le hace falta a Claude mientras escribe un modelo, solo cuando le pides que revise el diff.
Si vienes de versiones anteriores de Claude Code, esto antes se hacía con un comando personalizado en .claude/commands/. Veremos enseguida qué ha pasado con ellos, porque la respuesta corta es que ahora son skills.
Para seguir la lección necesitas claude-tasks con el último commit hecho, sin cambios pendientes, y una sesión de Claude Code abierta en la raíz del proyecto. disallowed-tools y /reload-skills, que vamos a usar en esta lección, necesitan la versión 2.1.152 o posterior, así que con la versión del curso no tienes que preocuparte.
Qué es una skill
Una skill es una carpeta con un archivo SKILL.md dentro. Ese archivo tiene 2 partes: un frontmatter en YAML entre 2 líneas ---, que le dice a Claude Code cuándo usar la skill y cómo, y un cuerpo en markdown con las instrucciones que Claude sigue cuando la skill se ejecuta. El nombre de la carpeta, o el campo name del frontmatter si lo defines, es el comando que escribes para invocarla, y la description es lo que usa Claude para decidir si la carga por su cuenta.
Las skills de Claude Code siguen el estándar abierto Agent Skills, que funciona en varias herramientas de IA, y Claude Code le añade funciones propias, como controlar quién invoca la skill, ejecutarla en un subagente o inyectar el resultado de un comando en sus instrucciones. Si quieres saber de dónde sale ese estándar y cómo encaja con MCP y con AGENTS.md, lo tienes en el artículo MCP, AGENTS.md y Agent Skills: los 3 estándares que satisfacen a OpenAI, Anthropic y Google (se abre en una pestaña nueva).
La documentación distingue 2 tipos de contenido. Una skill de referencia aporta conocimiento que Claude aplica a tu trabajo, como una guía de estilo o los patrones de una API. Una skill de tarea le da a Claude los pasos de una acción concreta, como un despliegue, un commit o una revisión. La nuestra es de tarea.
Dónde guardas la skill decide en qué sesiones se carga:
| Ubicación | Ruta | Se carga en |
|---|---|---|
| Personal | ~/.claude/skills/<skill>/SKILL.md |
Todos tus proyectos en esta máquina |
| Proyecto | .claude/skills/<skill>/SKILL.md |
Las sesiones en este repositorio, y en las de tu equipo si la subes a Git |
| Plugin | <plugin>/skills/<skill>/SKILL.md |
Donde el plugin esté activado, con el nombre del plugin delante, como /mi-plugin:review |
| Organización | La carpeta de configuración gestionada | Todos los usuarios a los que la organización se la despliega |
Si 2 skills tienen el mismo nombre, gana la de la organización sobre la personal y la personal sobre la de proyecto. Y si una skill tuya se llama igual que una skill incluida, la tuya sustituye al comando incluido. En este curso vamos a crear 2 skills de proyecto, esta y la de QA de la siguiente lección, y una personal en la lección 30.
- 02Los comandos personalizados ahora son skills
- 03Cómo se carga una skill
- 04El frontmatter de una skill
- 05Inyectar el resultado de un comando
- 06La skill review-diff de claude-tasks
- 07Cargarla con /reload-skills
- 08Probar la skill