PTENES
MÓDULO 3.1

🧩 Qué es una Skill

Anatomía completa de una skill: frontmatter YAML, cuerpo Markdown, ubicación en disco y mecanismo de descubrimiento y activación por parte del agente.

6
Temas
40
Minutos
Intermedio
Nivel
Teoría
Tipo
1

📁 Anatomía: carpeta + SKILL.md

Una skill es fundamentalmente una carpeta — no es solo un archivo. El nombre de la carpeta es el identificador de la skill; el archivo SKILL.md es el cerebro. Todo lo que existe dentro de esta carpeta sirve a la skill.

📁 formato-curso/ 📄 SKILL.md └ frontmatter + cuerpo 📁 scripts/ └ *.sh helpers 📁 references/ └ docs detallados 📄 .env.example SKILL.md --- (frontmatter YAML) name: formato-curso description: | Usa al crear HTML del curso INEMA.CLUB --- (fin del frontmatter) # Flujo de trabajo ## Hard Rules... 🤖 Agente skill activada cuerpo leído + ejecutado Carpeta = contenedor · SKILL.md = cerebro · scripts/ = músculos

✓ Estructura correcta

  • ✓~/.claude/skills/minha-skill/SKILL.md
  • ✓Carpeta en kebab-case, SKILL.md en la raíz
  • ✓Subcarpetas scripts/ y references/ opcionales
  • ✓Cada archivo con una responsabilidad clara

✗ Errores comunes

  • ✗SKILL.md suelto en ~/.claude/ sin carpeta
  • ✗Carpeta con espacios o camelCase en el nombre
  • ✗Todo mezclado en un SKILL.md gigante
  • ✗Scripts incluidos en el markdown en lugar de archivos
📁
Carpeta raíz
nombre de la skill
📄
SKILL.md
obligatorio
⚙️
scripts/
opcional
📚
references/
opcional
2

📄 Frontmatter YAML

El frontmatter es el bloque YAML entre los delimitadores --- en la parte superior del SKILL.md. Aquí declaras la identidad de la skill y cómo debe activarse.

SKILL.md — frontmatter completo YAML
---
name: formato-curso
description: |-
  Template e padrões de design para criar páginas HTML
  de cursos no formato INEMA.CLUB.
  
  Use esta skill SEMPRE que o usuário pedir para criar,
  editar ou revisar páginas HTML de curso — incluindo
  index de trilhas, páginas de módulos, componentes.
  
  SKIP: páginas web genéricas sem contexto de curso INEMA.CLUB.
---

# Formato Curso - INEMA.CLUB
# (corpo do SKILL.md começa aqui)

💡 Consejo: el campo name = identificador

O name en el frontmatter debe ser idéntico al nombre de la carpeta. Esto crea coherencia: la carpeta formato-curso/ contiene un SKILL.md con name: formato-curso. El agente usa ese nombre para referirse a ella en los logs e invocarla mediante /formato-curso.

✓ Frontmatter válido

  • ✓Delimitadores --- al principio y al final
  • ✓Indentación con 2 espacios (nunca tabulaciones)
  • ✓Campos name e description presentes
  • ✓Description en lenguaje natural y claro

✗ Frontmatter inválido

  • ✗YAML con tabulaciones en lugar de espacios
  • ✗Falta de --- de cierre
  • ✗Description vacía o de 1 palabra
  • ✗Campos adicionales no reconocidos (sin efecto)
name
identificador único
description
disparador de activación
YAML
2 espacios, sin tabs
---
delimitadores oblig.
3

📝 Cuerpo en Markdown

Después del frontmatter, el cuerpo del SKILL.md es Markdown puro. Aquí programas el comportamiento real de la skill: qué hacer, en qué orden y qué nunca hacer.

SKILL.md — estructura del cuerpo Markdown
# Nome da Skill

Parágrafo de contexto curto — o que esta skill faz.

## Referências
Sempre leia estes arquivos antes de agir:
1. **`references/MASTER.md`** — Templates completos
2. **`references/CHECKLIST.md`** — Verificação final

## Fluxo de Trabalho
1. Entender o que será criado
2. Ler referências relevantes
3. Criar seguindo os templates
4. Verificar com o checklist

## Hard Rules
- **NUNCA** usar seta ▶ em tópicos (usar número em círculo)
- **SEMPRE** incluir INEMA.CLUB em todas as páginas
- **JAMAIS** simplificar o nav para páginas internas

Secciones recomendadas en el cuerpo

1

Contexto / Referencias

Lista de archivos que el agente debe leer antes de actuar. Enlace a la documentación detallada en references/.

2

Flujo de trabajo

Pasos numerados que el agente ejecuta en orden. Incluye puntos de confirmación antes de acciones costosas.

3

Errores críticos / reglas estrictas

Reglas inviolables en MAYÚSCULAS. Lo que NUNCA debes hacer. Protege contra los errores más costosos e irreversibles.

4

Tablas de referencia rápida

Tablas de decisión, mapeos de colores, listas de componentes. Información densa en un formato fácil de explorar.

💡 Tamaño ideal del SKILL.md

El SKILL.md se lee por completo en cada activación. 50–150 líneas es el punto ideal: lo bastante denso para programar el comportamiento y lo bastante conciso para no desperdiciar tokens. El contenido más extenso va en references/.

## Secciones
estructura clara
Hard Rules
NUNCA en mayúsculas
50-150 líneas
tamaño ideal
Enlaces → refs
detalle externo
4

🗂️ Dónde están las skills

Las skills pueden existir en dos ámbitos: global (disponible en todos los proyectos) o local (restringido al proyecto actual). La elección depende de qué tan específica sea la skill.

🗺️ Mapa de ubicación

Global (~/.claude/skills/)

Skills utilitarias reutilizables en cualquier proyecto. Ejemplos: formato-curso, n8n-code-python, claude-api.

~/.claude/
└── skills/
    ├── formato-curso/
    ├── n8n-code-python/
    └── ads-skill/

Local (.claude/skills/)

Skills específicas del proyecto actual. No aparecen en otros repositorios. Ejemplo: una skill con la lógica de negocio del cliente.

meu-projeto/
└── .claude/
    └── skills/
        └── projeto-especifico/

📊 Regla de precedencia

Cuando existe una skill con el mismo nombre en ambos ámbitos, la local sobrescribe la global. Esto permite que proyectos específicos personalicen el comportamiento de una skill global sin modificar la original.

✓ Usa global cuando

  • ✓La skill es útil en varios proyectos
  • ✓No contiene datos sensibles de clientes
  • ✓Es una utilidad genérica (formateador, analizador)

✓ Usa local cuando

  • ✓Contiene lógica de negocio específica
  • ✓Hace referencia a APIs privadas del proyecto
  • ✓Debe versionarse junto con el código
~/.claude/skills/
alcance global
.claude/skills/
alcance local
Local > Global
precedencia
Sin conflicto
nombres distintos
5

🔍 Cómo el agente descubre y activa

El proceso de descubrimiento y activación ocurre en dos fases: descubrimiento pasivo (al iniciar) y activación activa (cuando el mensaje sea relevante).

Claude Code inicia sesión Escanea ~/.claude/skills/ Inyecta name + description en el sistema prompt Match semántico pedido ↔ description Skill activada Fase 1 Descubrimiento Registro Decisión Ejecución El cuerpo de SKILL.md se lee SOLO durante la etapa de activación (lazy loading)

💡 Carga diferida: ahorro de tokens

El agente NO lee el cuerpo completo de todas las skills en cada sesión. Solo se inyectan los metadatos (name + description). El cuerpo completo se carga solamente cuando se activa la skill. Esto mantiene el contexto ligero incluso con decenas de skills instaladas.

Escaneo
al iniciar sesión
Metadatos
siempre inyectados
Cuerpo
lazy loading
Match
semántico
6

⚖️ Skill vs. prompt vs. comando

Tres herramientas, tres propósitos. Elegir la equivocada no rompe nada, pero elegir la correcta te ahorra horas.

Tabla comparativa

Criterio Skill Prompt Comando
Persistencia Permanente (archivo) Stateless Guardado en config
Complejidad Varias etapas, scripts Instrucción puntual Atajo de prompt
Reglas estrictas Sí (reglas estrictas) No No
Archivos auxiliares Sí (scripts/, refs/) No No
Mejor para Workflows complejos Tareas puntuales Atajos rápidos

💡 Regla de oro

Si vas a repetir el mismo conjunto de pasos más de 3 veces, crea una skill. Si es algo puntual y específico, usa un prompt inline. Si es un atajo para un prompt que escribes con frecuencia, crea un comando slash.

Skill
flujo + reglas + scripts
Prompt
instrucción única
Comando
atajo de teclado
Regla de 3x
¿lo repetiste? Conviértelo en skill

🧩 Resumen del módulo

✓
Skill = carpeta + SKILL.md — el directorio es el contenedor; SKILL.md es el cerebro obligatorio
✓
Frontmatter YAML — campos name + description entre delimitadores ---; YAML con espacios, nunca tabulaciones
✓
Cuerpo en Markdown — flujo de trabajo, reglas estrictas, referencias a archivos externos; 50-150 líneas es lo ideal
✓
Global vs local — ~/.claude/skills/ para utilidades; .claude/skills/ para la lógica del proyecto; la local sobrescribe la global
✓
Lazy loading — solo se inyectan metadatos al iniciar; el cuerpo se lee únicamente cuando se activa la skill
✓
Skill > prompt > comando — skill para flujos complejos y recurrentes; regla de las 3 veces para decidir cuándo crearla

Siguiente módulo:

3.2 — Description y triggers: cómo escribir el campo description que hace que la skill se active en el momento adecuado