Claude Code skills. Qué son y cómo escribir una.
Una skill convierte un procedimiento que repites una y otra vez en un comando que Claude puede ejecutar por su cuenta. Aquí tienes dónde viven las skills, qué ajustes importan y qué revisar cuando una no se activa.
Una skill de Claude Code es un archivo SKILL.md con instrucciones que Claude usa automáticamente cuando son relevantes, o que ejecutas directamente como /skill-name. Escribe una cuando pegues una y otra vez las mismas instrucciones en el chat, o cuando una sección de tu CLAUDE.md se haya convertido en un procedimiento. A diferencia de CLAUDE.md, el cuerpo de una skill solo se carga cuando se usa.
01Skills y slash commands
Si aprendiste Claude Code hace tiempo, este es el cambio principal. Los comandos personalizados se han fusionado con las skills. .claude/commands/deploy.md y .claude/skills/deploy/SKILL.md crean /deploy y funcionan igual, y tus archivos de comandos existentes siguen funcionando.
Las skills añaden tres cosas que un archivo de comando no tiene: una carpeta para archivos de apoyo, frontmatter que controla quién puede invocarlas y la capacidad de que Claude las cargue por su cuenta.
02Dónde viven las skills
La ubicación determina quién tiene la skill:
~/.claude/skills/<name>/SKILL.md Todos los proyectos de tu ordenador.
.claude/skills/<name>/SKILL.md Este repositorio. Haz commit y tu equipo la tendrá.
<subdir>/ Sesiones en esa carpeta o por debajo. Útil en monorepos.
<plugin>/skills/<name>/SKILL.md Donde el plugin esté activado, como /plugin-name:skill-name.
Tus skills de claude.ai. Sesiones iniciadas con esa cuenta. Se descargan en ~/.claude/skills/synced/.
Ajustes gestionados. Los despliega tu organización para todos los usuarios de sus ordenadores.
Cuando dos skills comparten nombre, enterprise gana a personal, y personal gana a proyecto. Las skills de plugins llevan su propio espacio de nombres, así que nunca colisionan.
03Qué viene incluido
Claude Code incluye skills que puedes ejecutar hoy, como /code-review, /batch, /debug, /loop, /run, /verify, /claude-api y /skill-doctor. Revisa estas antes de escribir las tuyas. Una skill tuya con el mismo nombre reemplaza al comando incluido, así que elige los nombres a propósito.
Las skills de documentos de Anthropic son otro caso. Las skills de Word, Excel, PowerPoint y PDF no vienen incluidas con Claude Code, aunque pdf y xlsx sí llegan mediante la sincronización de cuenta si inicias sesión con claude.ai.
04Escribe tu primera skill
Esta redacta notas de versión para clientes a partir de tu historial de git. Crea la carpeta:
mkdir -p ~/.claude/skills/release-notes
Guarda esto dentro de esa carpeta como SKILL.md:
---
name: release-notes
description: Redacta notas de versión para clientes a partir de los commits recientes de git. Úsala cuando el usuario pida notas de versión, una entrada de changelog o un resumen de lo publicado.
disable-model-invocation: true
allowed-tools: Bash(git log *)
---
Escribe las notas de versión a partir de estos commits:
!`git log --oneline -20`
Reglas:
- Agrupa las entradas en Añadido, Cambiado y Corregido.
- Describe qué ha cambiado para el cliente, no en el código.
- Omite los commits de merge y las refactorizaciones internas.
- Si nada afecta al cliente, dilo.
Ahora escribe /release-notes. No hace falta reiniciar, porque Claude Code vigila las carpetas de skills y recoge los cambios en directo. La única excepción es crear un directorio .claude/skills/ de nivel superior a mitad de sesión, que requiere /reload-skills.
Aquí hay dos detalles que hacen trabajo de verdad. La línea !`command` se ejecuta antes de que Claude vea la skill, así que recibe la lista real de commits. Y disable-model-invocation: true significa que solo tú puedes iniciarla, lo que viene bien para cualquier cosa cuyo momento quieras decidir tú.
05El frontmatter que importa
En Claude Code todos los campos son opcionales, aunque description es muy recomendable. Sin él, Claude recurre a la primera línea del archivo. Estos son los campos que conviene aprender primero:
description Qué hace y cuándo usarla. Se corta a 1.536 caracteres en el listado de skills, así que pon primero el caso de uso clave.
disable-model-invocation: true Solo tú puedes ejecutarla, y su descripción queda fuera del contexto.
user-invocable: false Oculta en el menú /, así que solo la usa Claude. Buena para conocimiento de fondo.
paths Patrones glob que limitan la activación automática a los archivos que coinciden.
allowed-tools Herramientas que se pueden usar sin aviso de permiso. El permiso se retira cuando envías tu siguiente mensaje.
context: fork Ejecuta la skill en un subagente aparte, y agent elige el tipo.
model y effort Sustituyen el modelo o el nivel de esfuerzo en el turno actual.
hooks Hooks que se activan cuando se invoca la skill y siguen activos durante la sesión.
Las subidas y la Skills API solo aceptan name, description, license, compatibility, metadata y allowed-tools. Cualquier otro campo provoca un error bloqueante al subirla, así que una skill que use disable-model-invocation se queda en Claude Code. Claude Code simplemente ignora los campos que no reconoce.
06Cuándo una skill no es la herramienta adecuada
Las skills no son la respuesta a todo. Cada uno de estos hace un trabajo que una skill hace mal:
Hechos que siempre son ciertos. Comandos de build, convenciones, estructura del proyecto. Corto, y se carga en cada sesión.
Reglas que nunca deben saltarse. Un hook se ejecuta cada vez que ocurre su evento, preste Claude atención o no. Una skill es una guía. Un hook es una obligación.
Trabajo ruidoso que quieres fuera del hilo principal. Delegación, no instrucción. Una skill puede iniciar uno con context: fork.
Empaquetado. La forma de distribuir skills junto con hooks, agentes y servidores MCP.
07Instalar y compartir
Para un equipo, haz commit de .claude/skills/ en el repositorio. Para una distribución más amplia, publica un plugin. Instalar desde un marketplace requiere dos comandos:
/plugin marketplace add anthropics/skills
/plugin install document-skills@anthropic-agent-skills
Ejecuta /plugin sin argumentos para explorar y gestionar lo que tienes instalado. Las skills tienen el mismo acceso a la red que cualquier otro programa de tu ordenador, así que lee primero las skills de terceros, scripts incluidos.
08Cuando una skill falla
Revisa primero la descripción. ¿Usa las palabras que escribes de verdad? Pregunta "¿Qué skills hay disponibles?" para confirmar que se ha cargado, y luego invócala con /skill-name. Para detectar frontmatter roto, ejecuta claude plugin validate ~/ (v2.1.233 o posterior) o arranca con --debug.
Acota la descripción, o añade disable-model-invocation: true si solo debe ejecutarse a petición.
Claude la sigue y luego deja de hacerlo. La skill se añade a la conversación una vez y no se vuelve a leer. Tras la compactación, Claude Code conserva los primeros 5.000 tokens de cada skill invocada, dentro de un total de 25.000 tokens. Pon las reglas clave al principio, vuelve a invocarla y pasa a un hook lo que sea crítico.
Demasiadas skills instaladas. El presupuesto del listado equivale al 1% de la ventana de contexto, y las skills menos usadas son las primeras en perder su descripción. Ejecuta /skill-doctor para encontrar cuáles desactivar.
Las skills han desaparecido de ~/.claude/skills/. Mira en ~/.claude/skills/.trash/ y restáuralas antes de la limpieza predeterminada a los 30 días. Mantén tus propias skills fuera de synced/, ya que una sincronización posterior puede sobrescribirlo.
El Operator Kit
Doce skills, ya escritas a partir de trabajo real de estudio.
Descomprímelas en tu carpeta de skills y funcionan en Claude Code. $2 cada una, o $5 las doce. Ver el Operator Kit.