🧩 Skills (Agent Skills)
Las Skills son la forma más potente de enseñarle a Claude Code a hacer tareas concretas a tu manera: revisiones, despliegues, debugging, flujos repetitivos... Las defines una vez y Claude las usa cuando hacen falta.
¿Qué es una Skill?
Una Skill es un conjunto reutilizable de instrucciones y procedimientos (checklists, flujos de varios pasos, comportamientos especializados) que amplían lo que Claude sabe hacer. Siguen el estándar abierto Agent Skills más las extensiones de Claude Code.
Claude carga una Skill automáticamente cuando es relevante (según su descripción), o tú la invocas manualmente con /nombre-skill. Puede incluir archivos auxiliares: scripts, plantillas, documentos de referencia.
.claude/commands/) se han unificado dentro de las Skills. Los archivos .md antiguos siguen funcionando, pero las Skills son la forma recomendada porque admiten frontmatter y archivos auxiliares.Estructura de una Skill
Una Skill es una carpeta con un archivo SKILL.md dentro. Ese archivo tiene dos partes: un frontmatter en YAML (metadatos) y el cuerpo en Markdown (las instrucciones).
.claude/skills/
└── deploy/
├── SKILL.md ← instrucciones + metadatos
├── checklist.md ← archivo auxiliar (opcional)
└── scripts/
└── deploy.sh ← script auxiliar (opcional)Ejemplo de SKILL.md
---
name: deploy
description: Despliega la aplicación a producción. Úsala cuando el usuario pida "subir", "desplegar" o "hacer deploy".
disable-model-invocation: true
argument-hint: "[entorno]"
---
Despliega la aplicación al entorno $ARGUMENTS siguiendo estos pasos:
1. Ejecuta los tests. Si fallan, detente y avisa.
2. Comprueba que la rama es 'main' y está actualizada.
3. Ejecuta el build de producción.
4. Lanza el deploy con el script scripts/deploy.sh.
5. Verifica que el sitio responde y resume el resultado.Campos del frontmatter
| Campo | Para qué sirve |
|---|---|
name | Nombre de la skill (así la invocas: /name). Obligatorio. |
description | Cuándo usarla. Claude lee esto para decidir si la activa sola. Obligatorio. |
disable-model-invocation | Si es true, solo se activa manualmente (ideal para acciones con efectos como deploy). |
argument-hint | Pista de qué argumentos espera, p. ej. "[entorno]". |
Dónde se guardan
- Personal (todos tus proyectos):
~/.claude/skills/<nombre>/SKILL.md - Proyecto (recomendado, versionable):
.claude/skills/<nombre>/SKILL.md - Vía plugin: dentro del plugin, con nombre namespaced como
/plugin:skill - Monorepos: en subdirectorios, cualificadas como
/apps/web:deploy
.claude/skills/ y añádelas a git: así todo tu equipo comparte los mismos flujos de trabajo.Cómo invocar una Skill
Manualmente
# Sin argumentos
/deploy
# Con argumentos (llegan como $ARGUMENTS)
/deploy produccionAutomáticamente
Si no pones disable-model-invocation: true, Claude activará la skill por su cuenta cuando tu petición encaje con su description. Por eso la descripción es tan importante: escríbela pensando en cuándo debe usarse.
Crear tu primera Skill (sin saber)
Deja que Claude Code la cree por ti:
Skills oficiales incluidas
Claude Code trae skills listas para usar. Algunas que verás disponibles:
/code-review— revisión de código del diff actual./security-review— revisión de seguridad de tus cambios./init— genera elCLAUDE.mdde tu proyecto.
Existe además un plugin skill-creator que te ayuda a crear, iterar y evaluar tus propias skills.
Edición en vivo
Puedes editar un SKILL.md mientras Claude Code está abierto y los cambios tienen efecto inmediato, sin reiniciar. Ideal para ir afinando una skill mientras la pruebas.
CLAUDE.md ligero (contexto general del proyecto) y mueve los procedimientos concretos a Skills específicas. Así Claude solo carga lo que necesita en cada momento.