PTENES
MÓDULO 1.2

📝 Anatomía del SKILL.md

Descubre cada parte del archivo SKILL.md: frontmatter YAML, campo name, description como disparador y el cuerpo en Markdown que Claude ejecuta paso a paso.

6
Temas
~20
Minutos
Básico
Nivel
Teoría
Tipo
SKILL.md FRONTMATTER · NAME · DESCRIPTION · BODY --- name: video-explicativo description: Crea videos en PT-BR... Usa cuando pida --- # Cuerpo Markdown Pasos, reglas, ejemplos... ① Frontmatter Delimitado por ---/--- ② name kebab-case, igual que la carpeta ③ description ⭐ Disparador — Claude lee aquí ④ Cuerpo Markdown que Claude ejecuta
1

📑 Frontmatter YAML

El frontmatter es el bloque de metadatos que está al inicio del SKILL.md. Está delimitado por dos líneas de tres guiones (---) y contiene pares clave-valor en formato YAML. Sin ese bloque, Claude Code no reconoce el archivo como una skill válida.

Concepto principal

El frontmatter YAML son exactamente las líneas entre el primer --- y el segundo ---. Todo lo que viene después del segundo --- es el cuerpo de la skill en Markdown puro.

Es lo primero que lee el harness de Claude Code: si el YAML está mal formado, la skill no se carga.

Ejemplo real: frontmatter de la skill video-explicativo
SKILL.md frontmatter
---
name: video-explicativo
description: Cria vídeos explicativos completos em PT-BR (HTML→MP4 via
  HyperFrames) a partir de um assunto — roteiro, narração TTS local,
  cenas animadas dark premium, captions e CTA do INEMA.CLUB, nos
  formatos 16:9 (YouTube) e 9:16 (Shorts/Reels). Use quando o usuário
  pedir para "fazer um vídeo", "vídeo explicativo", "vídeo sobre X",
  "vídeo pra Shorts/Reels", "mini tutorial em vídeo", "vídeo do
  INEMA", ou quando der um assunto e quiser um vídeo narrado pronto.
---
💡
El YAML necesita solo 2 campos

El frontmatter mínimo válido contiene solamente name e description. El harness actual ignora los campos adicionales.

Conceptos clave
📄
SKILL.md
Archivo raíz
---
Delimitador
Se abre y se cierra
🔑
Clave: valor
Sintaxis YAML
⚡
Lectura rápida
Primero, el harness
2

🏷️ name = identidad de la skill

El campo name es el identificador único del skill. Debe ser idéntico al nombre de la carpeta donde el SKILL.md está guardado, y seguir rigurosamente el formato kebab-case (todo en minúsculas, palabras separadas por guiones).

Cómo el name recorre el sistema
1
Carpeta en el filesystem

El harness busca skills en ~/.claude/skills/<name>/SKILL.md. El nombre de la carpeta debe coincidir con el campo name.

2
Listado de skills disponibles

El sistema-reminder enumera todas las skills por el campo name. Es el nombre que aparece en el menú de skills de Claude.

3
Invocación mediante Skill tool

Cuando Claude decide usar la skill, llama a Skill(skill: "video-explicativo") — el valor es exactamente el name.

4
Comando slash /name

El usuario puede invocar manualmente con /video-explicativo. El harness mapea directamente del slash al name.

✓ Nombres correctos
  • ✓ video-explicativo
  • ✓ formato-curso
  • ✓ n8n-workflow-patterns
  • ✓ Todo en minúsculas, con guiones, sin espacios
✗ Nombres problemáticos
  • ✗ VideoExplicativo — no se permite camelCase
  • ✗ video explicativo — el espacio rompe la búsqueda
  • ✗ video_explicativo — el guion bajo no es estándar
  • ✗ Nombre distinto al de la carpeta = la skill no carga
Conceptos clave
🐍
kebab-case
Estándar obligatorio
📁
= carpeta
Debe ser idéntico
/
Comando slash
/nome-do-skill
🔎
Lookup directo
El harness usa el name
3

🎣 description = disparador de activación

A description es la parte más importante del SKILL.md. Es el único campo que Claude lee para decidir, en tiempo real, si debe invocar el skill o no. Piensa en ella como el etiqueta del envase: si la etiqueta no describe lo que contiene, Claude elige el paquete equivocado.

Cómo usa Claude la description
🧠
Lectura en el system-reminder

En cada turno, Claude recibe todos los nombres + descriptions de las skills disponibles en el contexto.

⚖️
Coincidencia semántica

Claude compara el mensaje del usuario con las descripciones y decide qué skill tiene mayor superposición semántica.

🚀
Invocación automática

Cuando hay una coincidencia, Claude llama a la herramienta Skill antes de cualquier otra respuesta: la descripción es la ley.

⭐
La description lo decide todo

El cuerpo del SKILL.md puede ser perfecto, pero si la description es vaga, la skill nunca se activará. Dedica el doble de tiempo a este campo.

Conceptos clave
🎣
Disparador
Activa el skill
🔍
Coincidencia semántica
Claude compara
⚡
Antes que nada
Invocación obligatoria
4

✨ Escribir buenas descriptions

Una buena description tiene dos partes: una frase que resume lo que hace la skill, seguida de frases desencadenantes concretas con las variaciones de solicitud que el usuario podría hacer. Cuantos más sinónimos y variaciones, mayor será la cobertura semántica.

Anatomía de la description del video-explicativo
Parte 1 — Qué hace la skill

Crea videos explicativos completos en PT-BR (HTML→MP4 mediante HyperFrames) a partir de un tema: guion, narración TTS local, escenas animadas dark premium, captions y CTA de INEMA.CLUB, en formatos 16:9 (YouTube) y 9:16 (Shorts/Reels).

Especifica la salida (videos en PT-BR), el mecanismo (HTML→MP4) y los subproductos (guion, TTS, captions, CTA).

Parte 2 — Frases de activación (la parte más importante)

Usa cuando el usuario pida "hacer un video", "video explicativo", "video sobre X", "video para Shorts/Reels", "minitutorial en video", "video de INEMA" o cuando dé un tema y quiera un video narrado listo.

Son citas literales de cómo lo pediría el usuario, con comillas, variaciones de lenguaje y distintos casos de uso.

✓ Description eficaz
  • ✓ Incluye frases que el usuario escribe literalmente
  • ✓ Tiene sinónimos: "video", "tutorial en video", "mini video"
  • ✓ Cubre variaciones de canal: YouTube, Shorts, Reels
  • ✓ Menciona el resultado concreto: MP4, narración, captions
  • ✓ Usa «Úsala cuando el usuario pida X, Y, Z»
✗ Description débil
  • ✗ "Crea videos." — demasiado vago, sin disparadores
  • ✗ Solo explica el «cómo», no el «cuándo usarlo»
  • ✗ Usa jerga técnica que el usuario nunca escribiría
  • ✗ No enumera las posibles variaciones del pedido
  • ✗ Una sola línea — cobertura semántica mínima
🎯
Prueba mental: "¿el usuario diría esto?"

Por cada frase de activación que escribas, pregúntate: "Un usuario real, sin saber que esta skill existe, ¿escribiría esta frase?" Si la respuesta es sí, es un buen disparador. Las palabras técnicas internas del sistema son pésimos disparadores.

Conceptos clave
📢
Frase desencadenante
Qué dice el usuario
🔄
Sinónimos
Aumenta la cobertura
📌
Casos de uso
Escenarios concretos
🚫
Sin jerga
Idioma del usuario
5

📄 Cuerpo en Markdown

Todo lo que viene después del segundo --- es el cuerpo de la skill. Es un documento Markdown común que describe, paso a paso, lo que Claude debe hacer cuando se activa la skill. Claude lo lee y lo ejecuta literalmente.

Concepto principal

El cuerpo del SKILL.md es el script de ejecución de Claude. Si la description es el activador, el cuerpo es la instrucción de operación. Claude sigue el cuerpo como una lista de verificación: lee, entiende y ejecuta cada paso en orden.

Estructura típica del cuerpo de una skill
SKILL.md — cuerpo (después del segundo ---) estructura
# Vídeo Explicativo (HyperFrames)

## Pré-requisitos (já instalados nesta máquina)
- Node.js ≥ 18, npx hyperframes, FFmpeg, Kokoro TTS
- Voz: pf_dora · `--speed 0.98` · sem espeak-ng

## Fluxo (sempre nesta ordem)

1. **Roteiro** — escreva `SCRIPT.md`: 6–9 cenas, do primeiro
   princípio ao avançado, com exemplo real.
2. **Projeto** — `npx hyperframes init <nome> --example blank`
3. **Fontes** — `node fetch-fonts.mjs`
4. **Narração** — gere WAVs com Kokoro, voz `pf_dora`
5. **Composição** — adapte `composition-template.mjs`
6. **Validar** — `npx hyperframes lint`
7. **Render** — `--quality high`

## Regras de ouro (não-negociáveis)
- Animar `.scene-inner`, nunca o wrapper `.clip`
- Fontes locais via `@font-face` (não CDN)
- Timing vem de AUDIO[] — fonte única de verdade
Qué puedes poner en el cuerpo
→Listas numeradas de pasos (lo más común)
→Bloques de código con comandos exactos
→Reglas de negocio en negrita Markdown
→Enlaces a archivos de referencia
→Secciones H2 para organizar subtareas
→Ejemplos del resultado esperado
Conceptos clave
📋
Checklist
Claude ejecuta
#
H2 por sección
Organización clara
💻
Comandos reales
Exactos, listos para copiar
🔗
Referencias
Enlaces a archivos
6

⚠️ Errores comunes en SKILL.md

Pequeños descuidos en SKILL.md causan fallas silenciosas: la skill no carga, no se activa o se activa en el momento equivocado. Conoce los errores más frecuentes y cómo evitarlos antes de publicar tu skill.

🚨
¿La skill no aparece en el menú?

La causa más común es el frontmatter mal formado. Verifica siempre: el archivo empieza con --- en la primera línea (sin espacios antes) y hay un segundo --- de cierre.

ERR 01 --- faltante o mal ubicado
✗ Incorrecto
name: meu-skill
description: Faz coisas...

# Corpo aqui

Sin los delimitadores ---, el harness ignora el frontmatter.

✓ Correcto
---
name: meu-skill
description: Faz coisas...
---

# Corpo aqui

Ambos --- obligatorios, cada uno en su propia línea.

ERR 02 Indentación incorrecta en YAML multilínea
✗ Incorrecto
---
name: meu-skill
description: Texto longo
que continua aqui
sem indentação
---

Una línea sin sangría rompe el YAML multilínea: el parser la interpreta como un campo nuevo.

✓ Correcto
---
name: meu-skill
description: Texto longo
  que continua aqui
  com 2 espaços de indentação
---

Las líneas de continuación deben tener al menos 2 espacios de sangría.

ERR 03 Description vaga — la skill nunca se activa
✗ Incorrecto
---
name: video-explicativo
description: Cria vídeos.
---

Sin frases disparadoras concretas, Claude rara vez hace la correspondencia semántica correcta.

✓ Correcto
---
name: video-explicativo
description: Cria vídeos em PT-BR.
  Use quando o usuário pedir
  "fazer um vídeo", "vídeo
  sobre X", "tutorial em vídeo".
---

Las frases desencadenantes entre comillas aumentan drásticamente la coincidencia.

🛠️
Checklist antes de publicar
  • ✓ El archivo comienza con --- en la línea 1 (sin BOM ni espacios)
  • ✓ Segundo --- presente después de los campos YAML
  • ✓ name igual al nombre de la carpeta (kebab-case)
  • ✓ description tiene al menos 3 frases concretas que activan su uso
  • ✓ Líneas de continuación de description con sangría de 2 espacios
Conceptos clave
---
Delimitadores
Obligatorios
⎵⎵
2 espacios
Multiline YAML
🎯
Disparadores
Mínimo 3 frases
📁
name = carpeta
Identidad única

✅ Resumen del Módulo 1.2

Qué aprendiste en este módulo

✓ El frontmatter YAML está delimitado por los dos --- y contiene name + description
✓ El campo name debe estar en kebab-case y ser idéntico al nombre de la carpeta del skill
✓ A description es el disparador de activación: Claude lee este campo para decidir cuándo invocar la skill
✓ Las buenas descriptions contienen frases concretas que activan la búsqueda, con variantes de lo que escribiría el usuario
✓ El cuerpo en Markdown (después del segundo ---) es el script de ejecución que Claude sigue paso a paso
✓ Errores comunes: --- faltante, indentación YAML incorrecta, descripción vaga sin frases que activen
Próximo módulo:
1.3
🧠 Divulgación progresiva

Aprende exactamente cómo estructurar el cuerpo del SKILL.md en capas de profundidad, desde el uso básico hasta los casos avanzados, para que Claude ejecute la skill con precisión en cualquier contexto.