Skip to content

Agent Skills: Dale a Claude un conjunto de habilidades especializadas a tu entera disposición

📚 Navegación de la serie: El artículo anterior 25 Sistema de memoria hablaba sobre "recordar hechos de forma pasiva": escribir las preferencias y convenciones del proyecto en CLAUDE.md para que Claude no las pregunte cada vez. Este artículo toma una dirección diferente y habla sobre la "encapsulación activa de capacidades": empaquetar un conjunto completo de pasos operativos en Agent Skills para que Claude pueda desplegar esa habilidad específica por sí mismo cuando sea necesario.

"¿No es un Skill simplemente un comando slash con otro nombre? Escribo /deploy y ejecuta el despliegue, ¿qué diferencia hay con el antiguo .claude/commands/deploy.md?"

"La diferencia es enorme. Con un comando slash, tú tienes que ordenarle activamente que actúe; con un Skill, no necesitas ordenárselo: Claude ve que el trabajo coincide con la descripción y lo invoca por sí mismo. Además, normalmente solo ocupa una línea de texto en tu contexto, y solo se despliega por completo cuando se necesita."

"...¿Invocarse por sí mismo? ¿No se volvería todo un caos? ¿Cómo sé cuándo va a actuar?"

Este es un malentendido muy común; yo mismo pensaba así cuando empecé. Metí el comando commit.md que ya tenía en .claude/skills/ y se ejecutaba exactamente igual que antes, lo que me hizo preguntarme "acaso esto no es solo cambiar de carpeta". Más tarde me di cuenta de que el problema estaba en: tratar a los Skills como si fueran un disfraz de los comandos slash. De hecho, la documentación oficial ya ha integrado los comandos personalizados en el sistema de Skills: tus archivos .claude/commands/ siguen funcionando igual, pero un Skill aporta tres cosas más: puede llevar archivos complementarios, puede ser activado automáticamente por Claude según sea necesario y casi no consume contexto cuando está inactivo.

Palabras oficiales: "Los comandos personalizados se han fusionado con los skills. Los archivos en .claude/commands/deploy.md y el skill en .claude/skills/deploy/SKILL.md crearán /deploy y funcionarán de la misma manera."

En este artículo, te explicaré a fondo qué es realmente un Skill, por qué puede "invocarse solo" sin saturar el contexto, de dónde viene y cómo se activa.

Al terminar de leer este artículo, obtendrás:

  • Qué es exactamente un Skill: cómo un SKILL.md junto con recursos complementarios se convierte en una habilidad especial para Claude.
  • Cómo funciona su "carga bajo demanda" (divulgación progresiva): el secreto de por qué normalmente solo ocupa una frase y solo se expande cuando se usa para ahorrar contexto.
  • Cuál es la diferencia de posicionamiento entre un Skill, un comando slash y un Subagent, resumido en una tabla (la decisión de diseño completa se detalla en el artículo 30).
  • De dónde vienen los Skills (incorporados, proporcionados por plugins, escritos por ti mismo) y cómo el directorio donde se guardan determina quién puede usarlos.
  • Cómo se activan (basándose en la automaticidad de la descripción, sin necesidad de memorizar comandos) y cómo consultar cuáles están disponibles actualmente.

01 Primero entiende: Qué es realmente un Skill

Empecemos con la conclusión: un Skill es, en esencia, un archivo de instrucciones llamado SKILL.md, junto con algunos archivos complementarios opcionales, empaquetados como una "habilidad especializada" que se entrega a Claude.

Analogía: Los atajos en el teléfono. Configuras un atajo llamado "Modo Casa" en tu iPhone: encender luces, ajustar el aire acondicionado, reproducir música. Una vez configurado, no tienes que realizar cada paso manualmente; solo dices "Modo Casa" y se ejecuta automáticamente en el orden establecido. Un Skill hace lo mismo: escribes un flujo de trabajo fijo (por ejemplo, "resumir los cambios no confirmados y señalar riesgos") en SKILL.md, y a partir de ese momento se convierte en una acción que Claude puede invocar en cualquier momento sin tener que volver a escribir todos los pasos.

¿Cómo es un SKILL.md? Consta de dos partes, tal como explica claramente la documentación oficial (este ejemplo se guarda en ~/.claude/skills/summarize-changes/SKILL.md, donde el nombre del directorio summarize-changes será el nombre del comando que ingreses en el futuro):

yaml
---
description: 总结未提交的改动并标出风险。当用户问改了啥、想要提交信息、或让我审查 diff 时使用。
---

## 当前改动

!`git diff HEAD`

## 说明

把上面的改动用两三个要点概括,再列出你注意到的风险,比如缺失的错误处理、写死的值、需要更新的测试。如果 diff 是空的,就说没有未提交的改动。

La sección delimitada por --- arriba se llama YAML frontmatter (metadatos frontales, una zona de configuración escrita entre dos líneas --- al principio del archivo). Le dice a Claude qué hace este Skill y cuándo debe usarse; el cuerpo de texto en markdown de abajo son las instrucciones detalladas que Claude realmente seguirá al invocarlo.

Nota la línea !`git diff HEAD` en el medio: este es un diseño muy ingenioso llamado inyección dinámica de contexto. Claude Code ejecutará primero este comando, reemplazará esta línea con la salida del comando y luego Claude verá el contenido del Skill. Por lo tanto, lo que Claude recibe no es la orden de "ir a ejecutar un diff", sino el diff real y actualizado de tus cambios en ese momento preciso. Esto es un preprocesamiento, no algo ejecutado por el propio Claude.

Un Skill no es solo un archivo SKILL.md, es un directorio. La estructura estándar que proporciona la documentación oficial es la siguiente:

text
my-skill/
├── SKILL.md           # 主说明(必需)
├── template.md        # 让 Claude 填的模板
├── examples/
│   └── sample.md      # 给它看的示例输出
└── scripts/
│   └── validate.sh    # 它可以执行的脚本

Solo SKILL.md es obligatorio; los demás son opcionales. Aquí es donde los Skills superan a los antiguos comandos slash: pueden incluir plantillas, ejemplos y scripts (los scripts pueden estar escritos en cualquier lenguaje, Claude se encarga de orquestarlos y los scripts realizan el trabajo pesado).

Tres escenarios reales donde verás de inmediato la utilidad de los Skills:

  • Cada vez que le pides a Claude que confirme código, tienes que recordarle: "ejecuta las pruebas primero, escribe el commit en español con el prefijo feat". Escribe esto en un Skill de commit y a partir de ahí lo resolverás con una sola frase.
  • El equipo ha acordado un estilo fijo para las API (nomenclatura RESTful, formato de error unificado, validaciones obligatorias). Escríbelo como un Skill de api-conventions y Claude seguirá automáticamente estas reglas cada vez que escriba una interfaz.
  • Quieres generar un mapa de estructura visual de la base de código. El Skill oficial codebase-visualizer incluye un script en Python que, al ejecutarse, abre un diagrama de árbol interactivo directamente en el navegador.

💡 Resumen en una frase: Un Skill es un conjunto de capacidades empaquetadas que consta de "SKILL.md (cuándo usarlo + cómo hacerlo) + archivos complementarios opcionales". Lo escribes una vez y Claude puede invocarlo cuando quiera, además de permitir asociar plantillas y scripts.


02 El punto clave: Divulgación progresiva, el secreto para ahorrar contexto

Esta es la sección más importante que debes comprender de todo el artículo. ¿Por qué puedes acumular una gran cantidad de Skills sin que apenas consuman tu contexto? La respuesta está en una sola frase: divulgación progresiva (progressive disclosure, que significa "desplegar gradualmente según la necesidad", no cargar el texto completo cuando no es relevante).

Veamos por qué esto es crucial. Como explicamos en el artículo 19 Gestión del contexto, el "área de trabajo" de Claude es limitada, y cada palabra que introduces consume presupuesto de tokens y reduce su espacio para pensar. Si el contenido completo de cada Skill se cargara al inicio de la sesión, tener diez Skills consumiría la mitad de tu área de trabajo antes de empezar.

Analogía: El menú y la cocina de un restaurante. Cuando te sientas, el camarero te entrega un menú: cada plato tiene solo su nombre y una breve descripción. De un vistazo sabes qué hay. Cuando pides "Pollo Kung Pao", es cuando en la cocina se saca la receta detallada con todos los pasos para prepararlo. Las recetas de los platos que no pediste se quedan guardadas en el cajón, sin ocupar espacio en tu mesa. Así es como funcionan los Skills:

  • Normalmente: Claude solo puede ver la description de una sola línea de cada Skill (el nombre del plato en el menú).
  • Cuando es relevante: Lo que pides coincide con alguna descripción, y es entonces cuando se carga el contenido completo de ese Skill (se saca la receta correspondiente).

La documentación oficial explica esta regla de forma muy directa:

En las sesiones normales, las descripciones de los skills se cargan en el contexto para que Claude sepa qué está disponible, pero el contenido completo del skill solo se carga al ser invocado.

Por lo tanto, puedes escribir con total libertad largas referencias y listas de verificación detalladas en el cuerpo del Skill: no costarán casi nada hasta que se utilicen. Esta es precisamente la razón por la que la documentación oficial recomienda "convertir el contenido en un Skill en lugar de meterlo todo en CLAUDE.md": CLAUDE.md permanece en el contexto durante toda la sesión, mientras que el contenido del Skill solo se carga cuando se necesita.

Divulgación progresiva de los Skills: normalmente solo ocupa una descripción, el texto completo se carga al usarse

Este diagrama ilustra claramente las dos etapas de la "divulgación progresiva": a la izquierda se muestra el estado normal de la sesión (tres Skills en el contexto ocupando solo una línea de descripción cada uno, dejando el espacio de trabajo muy libre); a la derecha, cuando tu pregunta coincide con una descripción, solo se carga el cuerpo completo de ese Skill específico, mientras que los otros dos siguen ocupando solo una línea. Se ve claramente dónde está el ahorro.

Sin embargo, debes tener en cuenta el costo asociado para no cometer errores: una vez que se carga un Skill, su cuerpo de texto permanecerá en el contexto durante el resto de la sesión (Claude no volverá a leerlo en cada turno posterior). Palabras oficiales:

Cuando tú o Claude invocan un skill, el contenido de SKILL.md presentado entra en la conversación como un único mensaje y permanece allí por el resto de la sesión.

Esto implica dos cosas: primero, cada línea del texto del Skill representa un costo de tokens repetido, así que no agregues paja; la documentación oficial sugiere mantener SKILL.md por debajo de las 500 líneas y mover las referencias largas a archivos independientes para cargarlas bajo demanda. Segundo, escribe "instrucciones persistentes" en lugar de "pasos de un solo uso", ya que permanecerá allí durante toda la conversación, por lo que debe redactarse como una "guía aplicable a toda la tarea" y no como pasos temporales tipo "Paso 1: hacer X" que caducan tras usarse.

Aquí hay un pequeño tropiezo que yo mismo experimenté: escribí un Skill, y durante los primeros turnos Claude lo siguió al pie de la letra, pero más adelante sentí que "parecía haber olvidado estas instrucciones". Mi primera reacción fue pensar que la carga había fallado, e incluso reinicié Claude varias veces para que volviera a leerlo. Al revisar la documentación oficial lo entendí: el contenido suele seguir ahí, pero el modelo ha decidido elegir otras herramientas. La solución es escribir la descripción y las instrucciones de forma más clara para que siga prefiriendo este Skill, en lugar de dudar del mecanismo de carga.

💡 Resumen en una frase: Divulgación progresiva = normalmente solo se muestra una línea de descripción y el texto completo se despliega al usarse, por lo que instalar muchos Skills no satura el contexto; sin embargo, una vez desplegado permanecerá allí toda la sesión, así que mantén el cuerpo del texto conciso y redactado como instrucciones persistentes.


03 Skill, comando slash, Subagent: ¿Cuál es realmente la diferencia?

El núcleo de la discusión inicial es este apartado. Mucha gente confunde estos tres conceptos, pero sus posicionamientos son completamente diferentes. Aquí primero desglosaré los puntos más propensos a la confusión, dejando la tabla completa de toma de decisiones de "cuál elegir" para el artículo 30. En esta sección solo nos enfocaremos en "saber distinguirlos".

Alineemos primero los tres términos:

  • comando slash: una operación específica que tú activas activamente ingresando /xxx.
  • Skill: un conjunto de habilidades empaquetadas que puedes activar activamente tú, o que Claude puede invocar automáticamente según la necesidad.
  • Subagent (subagente): un asistente secundario con su propio contexto independiente. La conversación principal le delega tareas y este devuelve los resultados tras trabajar en su propio espacio cerrado (de lo que hablamos en detalle en el artículo 23 Subagentes).

Aquí hay una comprensión clave para deshacer el malentendido inicial: los comandos slash y los Skills no son opuestos; de hecho, los comandos slash son una forma de invocar un Skill. La documentación oficial ha integrado los comandos personalizados en los Skills: si creas un Skill de commit, este podrá ser invocado naturalmente usando /commit. La verdadera diferencia no está en "cómo se llama", sino en quién puede iniciarlo y si ocupa contexto:

Dimensióncomando slash (antiguo .claude/commands/)SkillSubagent
Quién puede iniciarloSolo tú (escribiendo / para activarlo)Tú + Claude (se puede activar automáticamente)Delegado por la conversación principal
En qué contexto se ejecutaEn la conversación actualEn la conversación actual (por defecto)Contexto secundario independiente
Si ocupa contexto normalmente——Solo ocupa una línea de descripciónNo ocupa (se crea bajo demanda)
¿Puede llevar archivos complementarios?No (plantillas / scripts / ejemplos)Depende de su propia definición
Ideal paraOperaciones fijas donde quieres controlar el momento exacto manualmenteCapacidades especializadas que quieres que Claude use cuando sea necesarioEjecutar subtareas pesadas e independientes de forma aislada

Al entender esta tabla, la discusión inicial se resuelve: la interpretación de "comando slash" se refiere al modo de activación manual de un Skill; no se da cuenta de que el mismo Skill también puede ser activado automáticamente por Claude.

Entonces, ¿puede la "activación automática" volverse caótica? No, porque puedes controlar con precisión quién tiene derecho a invocarlo. La documentación oficial proporciona dos interruptores en el frontmatter:

  • disable-model-invocation: true: Solo tú puedes invocarlo. Se utiliza para tareas con efectos secundarios donde quieres decidir el momento exacto del disparo, como /deploy, /commit o enviar mensajes de Slack. Definitivamente no querrás que Claude decida desplegar por su cuenta solo porque "le parece que tu código ya está listo".
  • user-invocable: false: Solo Claude puede invocarlo. Se utiliza para Skills de tipo "información de contexto", como un legacy-system-context que explica cómo funciona un sistema antiguo. Es bueno que Claude lo sepa cuando sea necesario, pero /legacy-system-context no es un comando que tenga sentido que ejecutes tú directamente.

Por lo tanto, el "caos" es controlable: si temes que actúe por su cuenta, añade disable-model-invocation: true para bloquearlo a modo exclusivamente manual; este es precisamente el truco que debió usarse en el malentendido anterior.

💡 Resumen en una frase: Los comandos slash son la opción de activación manual de un Skill, y los Subagents son asistentes con contextos independientes (sus posicionamientos difieren); si temes que un Skill se active solo por error, usa disable-model-invocation: true para restringirlo a que solo se ejecute cuando tú lo ordenes.


04 De dónde vienen los Skills: Incorporados, de plugins y propios

Ahora que sabemos qué son, ¿de dónde salen los Skills? Vienen de tres fuentes, de lo más cercano a lo más lejano.

Fuente 1: Skills incorporados (empaquetados) — listos para usar, siempre presentes en cada sesión. Claude Code viene con una serie de Skills empaquetados que no necesitas instalar. La documentación oficial menciona /code-review (revisar código), /debug (depurar), /batch (procesamiento por lotes), /loop (ejecutar en bucle), /claude-api (referencia de la API de Claude), etc. También hay tres complementos para "ejecutar y validar": /run (iniciar y controlar tu aplicación para ver si los cambios funcionan), /verify (compilar y ejecutar para confirmar que los cambios funcionan como se esperaba) y /run-skill-generator (enseñar a los dos anteriores cómo compilar e iniciar tu proyecto). Puedes ver estos comandos en el menú escribiendo /.

Nota: Los Skills empaquetados y los comandos internos como /help o /compact no son lo mismo. Los comandos internos ejecutan una lógica fija directamente; los Skills empaquetados están basados en instrucciones (prompts): le dan a Claude una explicación detallada y dejan que use sus herramientas para orquestar la tarea. La forma de invocación es la misma: escribir / seguido del nombre.

Fuente 2: Proporcionados por plugins — instala un plugin y los Skills vendrán con él. Como explicamos en el artículo 24 Plugins, los plugins pueden empaquetar un conjunto de extensiones. Los Skills son una de las cosas que los plugins pueden incluir: si creas un directorio skills/ dentro del plugin, esos Skills estarán disponibles donde se habilite el plugin. Los Skills de plugins usan el espacio de nombres nombre-del-plugin:nombre-del-skill (por ejemplo, /my-plugin:review), por lo que nunca colisionarán con tus propios Skills.

Fuente 3: Escritos por ti mismo — este es el verdadero fuerte de los Skills. Si escribes esas instrucciones, listas de verificación o flujos de pasos que copias y pegas repetidamente en un SKILL.md, se convertirá en tu propia habilidad personalizada. El criterio de decisión que da la documentación oficial es muy práctico:

Cuando te encuentres pegando repetidamente las mismas instrucciones, listas de verificación o procedimientos de varios pasos en el chat, o cuando una parte de CLAUDE.md haya evolucionado hacia un procedimiento en lugar de hechos, crea un skill.

Esta frase define la división de trabajo entre los Skills y CLAUDE.md, conectando con el artículo anterior: CLAUDE.md almacena "hechos" (qué tecnologías usa este proyecto, qué convenciones tiene) y los Skills almacenan "procedimientos" (cómo se hace esto paso a paso). Si te encuentras escribiendo "Paso 1... Paso 2..." en CLAUDE.md, esa sección debería moverse a un Skill.

La siguiente tabla te ayudará a identificar tu situación:

Tu situación❌ No lo hagas más✅ Deberías usar un Skill
Repetir el mismo proceso en cada confirmaciónEscribir manualmente los pasos cada vezCrear un Skill de commit para invocarlo en una frase
El equipo tiene una forma fija de escribir APIMeterlo en CLAUDE.md ocupando contexto todo el tiempoEscribirlo como un Skill para que solo se cargue cuando se necesite
Querer un tipo de reporte visual específicoDescribir el gráfico deseado cada vezCrear un Skill asociado a un script de generación

💡 Resumen en una frase: Los Skills provienen de tres fuentes: incorporados (listos para usar), proporcionados por plugins (vienen con la instalación) y escritos por ti (el núcleo); el criterio para escribir el tuyo es simple: ¿estás copiando y pegando el mismo proceso una y otra vez?


05 La ubicación determina quién puede usarlo + cómo se activa y consulta

Esta última sección aborda las tres tareas más prácticas: dónde poner los Skills que escribes, cómo se activan y cómo comprobar cuáles tienes disponibles actualmente.

Dónde guardarlo determina quién puede usarlo

Esta es la tabla de ubicaciones oficiales; colocarlo en el lugar equivocado = las personas indicadas no podrán usarlo, cópiala tal cual:

ÁmbitoUbicaciónQuién puede usarlo
Personal~/.claude/skills/<skill-name>/SKILL.mdTodos tus proyectos
Proyecto.claude/skills/<skill-name>/SKILL.mdSolo el proyecto actual
Plugin<plugin>/skills/<skill-name>/SKILL.mdDonde esté habilitado el plugin
EmpresaVer configuración de hostingTodos los miembros de la organización

La lógica es muy directa: si es solo para tu uso personal y es común a varios proyectos (como tu hábito personal de commit), ponlo en el nivel personal ~/.claude/skills/; si es exclusivo de este proyecto y quieres que todo el equipo lo use (como el flujo de despliegue del proyecto), ponlo en el nivel de proyecto .claude/skills/ y súbelo al repositorio.

¿Quién gana en caso de conflicto de nombres? La prioridad oficial es Empresa > Personal > Proyecto (los plugins no entran en conflicto porque usan espacios de nombres). Además, hay una nota de seguridad que vale la pena destacar: cuando se sube un Skill a nivel de proyecto al repositorio, los demás miembros al descargarlo verán una ventana de "confianza en el espacio de trabajo"; debido a que los allowed-tools de los Skills pueden otorgarse permisos de herramientas, antes de confiar en un repositorio revisa qué hacen los Skills del proyecto para evitar que un Skill sospechoso abra permisos sin que te des cuenta.

Cómo se activa: coincidencia automática por descripción, sin memorizar comandos

Esta es la parte más cómoda de los Skills: no necesitas recordar /hacer-algo, simplemente habla con naturalidad. Claude comparará lo que dices con la description de cada Skill y, si coincide, invocará automáticamente ese Skill.

Tomando como ejemplo el Skill summarize-changes de la sección 01, su descripción dice "se usa cuando el usuario pregunta qué cambió...", por lo que ambas formas pueden activarlo:

text
¿Qué he cambiado?
text
/summarize-changes

La primera forma es dejar que Claude lo invoque automáticamente (no mencionaste el nombre del Skill, pero coincidió con la descripción); la segunda es llamar al Skill por su nombre directamente. En el día a día se recomienda más la primera opción: simplemente di lo que necesitas y deja que él se encargue de activarlo. Esto a su vez te indica lo importante que es escribir bien la descripción de un Skill: la descripción debe contener "palabras clave que el usuario diría con naturalidad" para que la coincidencia sea precisa. La primera comprobación de la documentación oficial para resolver problemas de "el Skill no se activó" es esta:

Comprueba si la descripción contiene las palabras clave que el usuario diría con naturalidad.

Cómo consultar qué Skills están disponibles actualmente

Si tienes instalados muchos Skills, además de los incorporados, ¿cómo sabes cuáles tienes a mano? Pregúntale directamente con una frase:

text
¿Qué Skills están disponibles actualmente?

Te listará todos los Skills disponibles en ese momento. Esta es también una de las acciones estándar de la documentación oficial para depurar problemas de Skills: primero confirma si está en la lista antes de hablar de su activación. Además, al escribir / para desplegar el menú de comandos podrás ver los que se pueden invocar manualmente, y /doctor puede ayudarte a comprobar si "las descripciones de los Skills se han truncado por tener demasiados instalados" (si se instalan demasiados Skills, las descripciones pueden comprimirse para ahorrar presupuesto de caracteres, lo que podría eliminar palabras clave de coincidencia).

💡 Resumen en una frase: Los Skills personales se guardan en ~/.claude/skills/, los del proyecto en .claude/skills/, con prioridad: Empresa > Personal > Proyecto; la activación se basa en la coincidencia automática de la descripción sin memorizar comandos; una pregunta como ¿Qué Skills están disponibles? te mostrará cuáles tienes activos.


06 Manos a la obra: 5 minutos para ver "activación automática" y "divulgación progresiva"

La teoría no se graba sin la práctica. Los siguientes pasos mínimos, sin escribir scripts complejos, te permitirán ver con tus propios ojos dos cosas: cómo se activa automáticamente un Skill con una sola frase y cómo normalmente solo ocupa una línea. Todo esto se puede probar en un directorio vacío.

Paso 1: Crear el directorio del Skill personal (Mac / Linux)

bash
mkdir -p ~/.claude/skills/explain-self

Usuarios de Windows: simplemente creen una carpeta llamada explain-self dentro de C:\Users\tu_usuario\.claude\skills\.

Resultado esperado: aparece un directorio vacío llamado explain-self dentro de ~/.claude/skills/.

Paso 2: Escribir el SKILL.md más simple posible

Usa tu editor preferido y guarda el siguiente contenido en ~/.claude/skills/explain-self/SKILL.md:

yaml
---
description: 用大白话解释一段代码或一个报错。当用户说「这段代码啥意思」「这个报错咋回事」「帮我读读这个」时使用。
---

## 说明

把用户给的代码或报错,用初学者能懂的大白话讲清楚:
1. 这东西整体在干啥(一句话)
2. 逐行 / 逐段拆开说
3. 如果是报错,指出最可能的原因和怎么改

不要堆术语,能用生活类比就用。

Nota que su descripción contiene expresamente frases como "¿qué significa este código?" o "¿de qué va este error?", que son cosas que dirías con naturalidad: estos son los ganchos de activación automática.

(Nota de traducción: Para que funcione en español, la descripción en el YAML debería traducirse al español para que Claude lo asocie cuando hables en español, por ejemplo: Explicar un fragmento de código o un error en lenguaje sencillo. Se usa cuando el usuario dice "qué significa este código", "de qué va este error", o "ayúdame a leer esto".)

yaml
---
description: Explicar un fragmento de código o un error en lenguaje sencillo. Se usa cuando el usuario dice "qué significa este código", "de qué va este error", o "ayúdame a leer esto".
---

## 说明

把用户给的代码或报错,用初学者能懂的大白话讲清楚:
1. 这东西整体在干啥(一句话)
2. 逐行 / 逐段拆开说
3. 如果是报错,指出最可能的原因和怎么改

不要堆术语,能用生活类比就用。

Resultado esperado: la carpeta explain-self ahora contiene un archivo SKILL.md.

Paso 3: Iniciar Claude y confirmar que reconoce el Skill

bash
claude

Una vez dentro, escribe:

text
¿Qué Skills están disponibles actualmente?

Resultado esperado: en la lista de Skills devuelta verás explain-self junto con la descripción que escribiste. Verlo en la lista significa que el Skill se ha cargado correctamente. (Este paso también demuestra la divulgación progresiva: en este momento, en el contexto solo está esa línea de descripción, las instrucciones del cuerpo aún no se han cargado).

Paso 4: Sin llamarlo por su nombre, actívalo usando "lenguaje natural"

A propósito no escribas /explain-self, sino di una frase que coincida con la descripción:

text
¿Qué significa este código?: print(sum([1,2,3]) / len([1,2,3]))

Resultado esperado: Claude activará automáticamente el Skill explain-self (verás un aviso en la respuesta de Claude que indica que el Skill ha sido activado), y luego explicará el código siguiendo los tres pasos que definiste: resumir en una frase (calcular el promedio de esos tres números), desglosar por partes y evitar tecnicismos. No esperó a que escribieras un comando para desplegar la habilidad; eso es la activación automática.

Paso 5: Comparar con la llamada directa por nombre

Prueba de nuevo el modo manual, escribe directamente:

text
/explain-self ¿De qué va este error?: ZeroDivisionError: division by zero

Resultado esperado: se activa el mismo Skill y el efecto es idéntico al del paso 4; la única diferencia es que esta vez lo llamaste activamente. Ambos caminos conducen a la misma habilidad, demostrando lo que vimos en la tabla de la sección 03 ("Tú + Claude" pueden iniciarlo).

Al realizar estos cinco pasos, habrás verificado por ti mismo las dos ideas principales de los Skills: "activación automática por coincidencia de descripción" y "normalmente solo ocupa una línea de descripción".

💡 Resumen en una frase: Crear ~/.claude/skills/explain-self/SKILL.md, confirmar su carga con ¿Qué Skills están disponibles? y activarlo una vez con "lenguaje natural" y otra con /nombre. Ver con tus propios ojos que la activación automática y la manual conducen a la misma habilidad vale más que memorizar diez documentos.


07 Resumen

En este artículo hemos repasado los Agent Skills desde "qué son" hasta "cómo usarse": permiten que Claude deje de ser un lienzo en blanco para comenzar con un conjunto de habilidades especializadas listas para usarse según la necesidad.

Repasemos los puntos clave:

Lo que quieres aclararRespuestaPunto clave
Qué es un SkillSKILL.md + archivos opcionales empaquetadosEl frontmatter dice cuándo usarlo, el cuerpo dice cómo hacerlo
Por qué no satura el contextoDivulgación progresivaNormalmente solo muestra una descripción, se expande al invocarse
Diferencia con slash / SubagentPosicionamiento diferenteslash es el modo manual, Subagent usa un contexto independiente (tabla en art. 30)
De dónde vienen los SkillsIncorporados / De plugins / PropiosPegar el mismo proceso una y otra vez = momento de crear uno propio
Dónde ponerlo, activarlo y buscarloEl directorio determina el ámbitoCoincidencia automática por descripción; consultar con ¿Qué Skills están disponibles?

Ahora deberías ser capaz de: explicar de qué consta un Skill, cómo funciona el ahorro de contexto mediante la "divulgación progresiva", distinguir las funciones de los Skills, comandos slash y Subagents, conocer las tres fuentes de los Skills y el directorio que define su ámbito, y comprender que la activación se basa en la coincidencia automática de descripciones sin tener que memorizar comandos. Este conjunto de "habilidades a demanda" es el paso clave para convertir a Claude de un "asistente generalista" a un "experto en tus tareas específicas".


En el siguiente artículo, 27 "Skills en la práctica", pasaremos de los conceptos a la práctica real: te guiaré paso a paso para crear un Skill realmente útil, activarlo y ver cómo completa el trabajo. Piensa en qué tarea diaria le pides repetidamente a Claude siguiendo el mismo proceso. En el próximo artículo nos enfocaremos en ese tipo de tareas para convertirlas en una habilidad que puedas invocar con una sola frase.


Lecturas recomendadas