Gnition Gnition Probar versión interactiva →
Guía técnica · Claude Skills

Claude Skills: cómo diseñar un SKILL.md que no falla en producción

Esta guía explica la anatomía completa de un Claude Skill, los tres patrones más comunes por los que un SKILL.md rompe en producción, y cómo validar un skill antes de exportarlo a ~/.claude/skills/.

Por qué los SKILL.md fallan en producción

Tres formas en que un Claude Skill rompe sin que te des cuenta hasta que un usuario lo descubre:

Descriptions ambiguas

El campo description del frontmatter no diferencia bien. Claude no activa el skill cuando debería, o peor: lo activa para queries irrelevantes.

Reglas que se contradicen

Dos reglas del mismo skill se contradicen entre sí. Pasa desapercibido en review hasta que un usuario lo descubre en producción.

Crece y nadie sabe por qué

El SKILL.md llega a 500 líneas. Cada commit cambia algo, nadie recuerda qué razonamiento llevó a cada regla, ni cómo retroceder.

Diseñar el skill como grafo tipado

En lugar de escribir el SKILL.md a mano, modelas el skill como un grafo tipado: cada parte del skill (instrucciones, reglas, formato de salida, ejemplos, riesgos) es un nodo con un tipo, y las relaciones entre ellos —supports, mitigates, contradicts, requires— son explícitas y verificables.

Esto permite tres cosas que el markdown plano no permite:

Anatomía de un Claude Skill

Un skill bien estructurado tiene 8 nodos. Cada uno cumple un rol específico en el SKILL.md final:

1concept Skill Definition [SKILL]
El nodo raíz. Define qué hace el skill en una frase clara. Ejemplo: «Revisa código TypeScript para detectar violaciones de type-safety, anti-patrones y cumplimiento de strict-mode. Marca por severidad y propone fixes mínimos como diffs inline.» Todos los demás nodos derivan de aquí.
2definition Frontmatter (Metadata) [META]
El bloque YAML al inicio del SKILL.md: name, description y version. La description es el campo más crítico — Claude la usa para decidir cuándo activar el skill. Debe ser específica, máximo ~100 tokens, y diferenciable de otros skills.
3role Main Instructions [INSTRUCTIONS]
El comportamiento principal que esperas de Claude. Define el rol («Actúa como senior TypeScript reviewer…»), el objetivo, y el proceso paso a paso. Es la sección más larga y la que más impacta en la calidad del output.
4definition Rules & Constraints [RULES]
Checklists, restricciones y must-haves que limitan o guían el comportamiento. Ejemplo: «Nunca sugerir cambios solo estilísticos», «Siempre clasificar por severidad CRITICAL/MEDIUM/LOW», «Rechazar any incondicionalmente». Aquí es donde aparecen la mayoría de contradicciones cuando el skill crece.
5style Output Format [OUTPUT]
Cómo estructurar las respuestas: secciones, encabezados, formato de diffs, orden de hallazgos. Sin un formato explícito, Claude varía la estructura entre llamadas y rompe cualquier integración downstream que parsee el output.
6feature Examples (Few-shot) [EXAMPLES]
Pares input/output que ilustran el comportamiento esperado. Excelentes para few-shot prompting. Pueden quedarse inline en el SKILL.md o exportarse a una carpeta examples/ separada (ver siguiente nodo).
7decision Create examples/ folder? [CONFIG]
Decisión de empaquetado. Si es «sí», el contenido del nodo Examples se exporta a una subcarpeta examples/ dentro del paquete del skill, en vez de quedar inline en el SKILL.md. Útil para skills con muchos ejemplos largos.
8future_direction Additional Resources [RESOURCES]
Notas sobre archivos extra: scripts de validación, templates, configs de ejemplo. No se autogeneran, pero sirven como documentación para mantenedores futuros del skill.

Flujo: de idea a skill instalable

  1. Modela tu skill como grafo. Carga el template Agent Skill Builder o parte de cero. Cada nodo tiene su tipo, contenido y relaciones explícitas con los demás.
  2. Validación semántica. Antes de exportar, el compilador revisa relaciones, detecta contradicciones entre reglas, avisa de riesgos sin mitigar y de ejemplos sin instrucción asociada.
  3. Exporta SKILL.md o ZIP. Descarga el paquete completo con frontmatter y carpeta examples/. Listo para pegar en ~/.claude/skills/.

Preguntas frecuentes

¿Qué es un Claude Skill?
Un Claude Skill es un paquete (carpeta con SKILL.md y opcionalmente examples/) que extiende el comportamiento de Claude Desktop con instrucciones, reglas, formato de salida y ejemplos específicos para un dominio. Claude decide cuándo activarlo en función del campo description del frontmatter.
¿Cómo se instala un skill en Claude Desktop?
Copia la carpeta del skill a ~/.claude/skills/<nombre>/. Claude Desktop la detecta automáticamente al reiniciar. La carpeta debe contener al menos un archivo SKILL.md con frontmatter válido.
¿En qué se diferencia un Claude Skill de un system prompt?
El system prompt es global a la conversación. Un skill se activa selectivamente según la query y puede incluir recursos adicionales (ejemplos en archivos separados, scripts de validación). Además, los skills son versionables y empaquetables.
¿Por qué validar el grafo antes de exportar?
Porque los errores estructurales en un SKILL.md no se detectan hasta producción. Una regla que contradice a otra, un ejemplo que no ilustra ninguna instrucción, o un riesgo declarado sin mitigación, son patrones que rompen silenciosamente. Validar antes de exportar evita iteraciones costosas con usuarios reales.

Empieza con un skill en 10 minutos

Carga el template Agent Skill Builder, llena los nodos, valida y exporta el SKILL.md.