Anthropic metió las Skills en Claude Code y la mayoría de la gente pasó de largo, porque sonaba a otra abstracción más encima de las que ya había. Yo también pasé, un par de semanas. Hasta que entendí lo que eran en realidad: una carpeta con un archivo de texto que le explica a Claude cómo hacer una tarea concreta de tu negocio, y que solo se carga cuando esa tarea aparece. Ya está. Ese es todo el invento.
Y resulta que en un negocio de una persona eso cambia bastante las cosas, porque el 80% de lo que le pides a Claude Code cada semana son las mismas cinco cosas explicadas de la misma manera. En este post te cuento qué es exactamente una skill, en qué se diferencia de CLAUDE.md, de un subagente y de un MCP (aquí es donde se lía todo el mundo), cómo escribir la primera en veinte minutos y cuáles tengo yo funcionando ahora mismo en mi operación.
Qué es una skill de Claude Code
- Skill de Claude Code
- Carpeta con un archivo SKILL.md (y opcionalmente scripts y plantillas) que documenta un procedimiento concreto para que Claude Code lo cargue bajo demanda cuando detecta que la tarea encaja con su descripción.
Una skill es una carpeta. Dentro hay un archivo obligatorio, SKILL.md, y opcionalmente lo que quieras: scripts, plantillas, documentos de referencia, ejemplos. El SKILL.md empieza con una cabecera YAML de dos campos que importan de verdad y sigue con instrucciones en markdown normal, en español si te apetece.
---
name: publicar-post
description: Publica un post del blog en el CMS. Úsala cuando
haya que pasar un borrador a publicado, revisar frontmatter
o programar una fecha de publicación.
---
# Publicar un post
1. Valida el frontmatter contra el esquema de content/schema.json
2. Ejecuta scripts/check-numbers.js y aborta si devuelve error
3. Comprueba que todos los enlaces internos existen en el sitemap
4. Marca estado = publicado y escribe la fecha en Europe/Madrid
La parte lista es cómo lo carga Claude. Al arrancar la sesión no lee el contenido de tus skills: lee solo el name y la description. Cuando le pides algo que encaja con una descripción, entonces sí abre el SKILL.md entero. Y si dentro del SKILL.md hay referencias a otros ficheros, esos los abre más tarde todavía, solo si le hacen falta. Es lo que Anthropic llama divulgación progresiva y es la diferencia entre tener veinte procedimientos disponibles y tener el contexto reventado desde el primer mensaje.
| Elemento | Obligatorio | Para qué sirve |
|---|---|---|
SKILL.md |
Sí | Instrucciones del procedimiento en markdown |
name (YAML) |
Sí | Identificador corto, en minúsculas y con guiones |
description (YAML) |
Sí | Lo que Claude lee para decidir si la carga. Es el campo más importante |
scripts/ |
No | Código que la skill puede ejecutar (Python, Node, bash) |
references/ |
No | Documentos largos que solo se leen si hacen falta |
templates/ |
No | Plantillas de salida: emails, facturas, briefs |
Si tuviera que quedarme con una idea: la description es el 70% del trabajo. Una skill con instrucciones perfectas y una descripción vaga no se activa nunca, y te pasas la vida invocándola a mano.
¿En qué se diferencia una skill de CLAUDE.md, de un subagente y de un MCP?
Esta es la duda que me llega por correo cada semana, así que la pongo en tabla.
| Pieza | Cuándo se carga | Qué contiene | Ejemplo de mi setup |
|---|---|---|---|
CLAUDE.md |
Siempre, en cada sesión | Reglas permanentes del proyecto | «Escribe en español de España, nunca toques numbers.yml sin avisar» |
| Skill | Solo si la tarea encaja | Procedimiento de una tarea concreta | «Cómo se publica un post en el CMS» |
| Subagente | Cuando lo lanzas tú o lo decide Claude | Una sesión aparte, con su propio contexto | Revisar 12 posts antiguos en paralelo |
| MCP | Al conectar el servidor | Acceso a datos o herramientas externas | Leer la base de datos de Turso |
La regla práctica: CLAUDE.md es quién eres, la skill es cómo se hace algo, el subagente es quién lo hace y el MCP es de dónde salen los datos. Si metes procedimientos en el CLAUDE.md acabas con un archivo de 400 líneas que se carga entero cada vez que abres una sesión para cambiar un color; lo conté en el post sobre CLAUDE.md y sigue siendo el error más común. Y si confundes skill con subagente, acabas lanzando procesos paralelos para tareas que se resuelven leyendo cuatro líneas de instrucciones: para eso está el reparto de tareas en paralelo, que es otra cosa.
Dónde viven las skills y cómo se activan
Hay dos sitios y la elección no es estética:
~/.claude/skills/nombre-skill/SKILL.md→ personal. Te sigue a todos tus proyectos, no viaja en git. Aquí van las tuyas: tu forma de escribir, tu manera de cuadrar gastos..claude/skills/nombre-skill/SKILL.md→ del proyecto. Vive dentro del repo, se versiona y la ve cualquiera que lo clone. Aquí van las que dependen del código: cómo se despliega, cómo se publica, cómo se hace el backup.
Dentro de una sesión, escribe /skills (o mira /help si tu versión lo lista distinto) para ver cuáles ha detectado. Si una skill no aparece, el 90% de las veces es que el YAML está mal indentado o que el archivo no se llama exactamente SKILL.md en mayúsculas. Lo digo por experiencia y por las tardes que me ha costado.
Después no tienes que invocarlas: hablas normal. «Publica el borrador de mañana» y Claude Code casa esa frase con la descripción de la skill de publicar. Si quieres forzarla, la nombras y punto.
Las skills que uso en mi negocio
Mi operación no es un equipo de agentes con nombres bonitos: son scripts programados con Claude Code que corren desatendidos en un VPS. Once crons vivos ahora mismo. Yo construyo desde mi máquina, el VPS ejecuta. Las skills son la capa que hace que construir sea rápido, porque no vuelvo a explicar lo mismo cada vez.
| Skill | Qué hace | Cuándo se dispara |
|---|---|---|
escribir-post |
Estructura, tono, reglas de longitud y enlaces internos del blog | «Escribe un borrador sobre X» |
verificar-numeros |
Contrasta toda cifra de negocio contra numbers.yml y aborta si hay una deprecada |
Antes de publicar cualquier cosa |
publicar-cms |
Frontmatter, enlaces, fecha en Europe/Madrid, estado | «Publica esto» |
newsletter-domingo |
Monta la edición desde lo publicado en la semana | Los sábados, al preparar el envío |
post-linkedin |
Adapta un post largo al formato que funciona en LinkedIn | «Sácame el LinkedIn de esto» |
gastos-mes |
Clasifica gastos y separa lo deducible de lo personal | Primeros de mes |
debug-cron |
Protocolo cuando un script del VPS falla: logs, causa, parche | «El cron de las 7 no ha corrido» |
La más útil, con diferencia, es verificar-numeros. En septiembre reescribí la fuente de verdad de mis cifras y descubrí que había posts antiguos repitiendo datos que ya no eran ciertos. La skill lleva dentro la lista de cifras válidas y la lista de cifras prohibidas, y le dice a Claude que pare en seco si aparece una de las segundas. No es glamuroso. Es lo que evita que publiques una mentira sobre tu propio negocio.
¿Quieres ver el sistema por dentro?
Cada domingo cuento qué he montado esta semana para hacer crecer un proyecto real: qué decidí, qué resultados dio y qué se rompió por el camino.
Un correo por semana. Sin refritos y sin afiliados.
La de newsletter-domingo es el segundo caso claro: la newsletter sale los domingos a las 18:00 a 587 suscriptores, con un 54,9% de apertura, y el formato es siempre el mismo. Esa repetición es exactamente lo que se documenta una vez en un SKILL.md y no se vuelve a tocar.
¿Y las que no me he escrito yo? Hay directorios públicos con skills listas para copiar; repasé las más útiles para gente que factura en esta selección de skills para emprendedores. Mi consejo: cópialas para aprender la estructura, pero reescribe las instrucciones con tu procedimiento. Una skill genérica te da un resultado genérico.
¿Cuánto cuesta tener esto funcionando?
Cero euros extra. Las skills son ficheros en tu disco: no hay licencia, no hay plan de pago, no hay add-on. Lo que pagas es la suscripción de Claude que ya tenías. Este es mi stack completo, el de verdad:
| Concepto | Coste mensual | Nota |
|---|---|---|
| Suscripción Claude (Max) | 100 €/mes | Claude Code corre encima; las skills van incluidas |
| VPS Hetzner | 29 €/mes | Ejecuta los crons; compartido con otro proyecto personal |
| Vercel | 0 € | Plan gratuito: web y panel |
| Turso | 0 € | Plan gratuito: base de datos |
| SendFox | 0 €/mes | Lifetime pagado una vez, 49 € |
| Total | 129 €/mes | Sin tokens de API aparte |
129 €/mes desde febrero de 2026, medido sobre los recibos reales: 100 € de Claude más 29 € de VPS, sin consumo de API por fuera. Sobre el IVA: Anthropic factura desde Irlanda, así que si eres autónomo dado de alta en el VIES te llega sin IVA y lo declaras por inversión del sujeto pasivo en el modelo 303; si no estás en el VIES, te cargan el 21% español. Lo desmenucé entero en cómo deduzco Claude y ChatGPT como autónomo, que es la parte que nadie te explica cuando te venden la herramienta.
Con Claude Pro (~20 €/mes) las skills funcionan igual. Lo que cambia es cuántas horas seguidas puedes trabajar antes de tocar techo, no la funcionalidad.
Cómo escribo una skill que funciona de verdad
Mi proceso, tal cual, en cinco pasos:
- Hazlo tres veces a mano primero. Si no has ejecutado el procedimiento manualmente, no sabes qué escribir. Las mejores skills salen de una tarea que ya te aburre.
- Pide a Claude que la documente él. Literalmente: «acabamos de hacer X, escríbeme un SKILL.md que lo reproduzca». Sale un borrador decente en un minuto.
- Reescribe la
descriptiontú. Que diga qué hace y, sobre todo, cuándo usarla. «Úsala cuando…» es la fórmula que mejor me funciona. - Poda. Todo lo que no cambie la salida, fuera. Una skill de 60 líneas se lee mejor que una de 300 y se activa con más precisión.
- Pruébala en una sesión nueva. En la misma conversación Claude ya tiene el contexto y te engaña. Sesión limpia, petición en lenguaje natural, y mira si la carga sola.
Si no programas, esto sigue estando a tu alcance: un SKILL.md es texto. Lo tratas como el manual que le dejarías a alguien que entra a cubrirte las vacaciones. Cuento el resto del terreno en qué puedes hacer con Claude Code sin saber programar.
Los tres errores que me costaron tardes
Uno: la skill-monstruo. Mi primer intento fue una skill llamada blog que hacía investigación, redacción, verificación y publicación. No se activaba bien porque su descripción abarcaba demasiado. La partí en cuatro y empezó a funcionar. Una skill, un procedimiento.
Dos: duplicar lo que ya estaba en CLAUDE.md. Tenía el tono de voz en los dos sitios y, cuando cambié uno, empezaron a salir textos contradictorios. Cada regla vive en un único fichero.
Tres: no ponerles fecha de caducidad mental. Una skill que describe un proceso que cambiaste hace dos meses es peor que no tener skill, porque Claude la sigue a rajatabla. Cuando cambio un procedimiento, actualizo el SKILL.md en la misma sesión. Si no, no se hace nunca.
Cómo lo hago yo
Trabajo entre 8 y 10 horas a la semana en esto, casi siempre por las tardes, construyendo desde febrero de 2026. Con ese tiempo no me puedo permitir explicarle a Claude cómo se publica un post cada vez que publico un post. Las skills son, literalmente, mi manual de operaciones: siete carpetas, unas cuantas decenas de líneas cada una, y once crons en el VPS que ejecutan lo que se decidió por escrito.
El stack sigue costando 129 €/mes: 100 € de Claude y 29 € del VPS. Vercel, Turso y SendFox están a cero. No hay agentes con nombre ni un equipo detrás: hay scripts programados con Claude Code y documentos que explican cómo se hacen las cosas. Empieza por una sola skill, la del procedimiento que más veces repites esta semana. Con esa ya notas la diferencia.
Una skill no es magia: es el procedimiento que ya tenías en la cabeza, escrito de una vez y en un sitio del que Claude tira solo cuando toca. El día que dejé de repetir instrucciones en cada chat, el sistema empezó a ir en serio.