Saltearse al contenido

Cheatsheet de Frontmatter

Referencia rápida para todos los campos de frontmatter de SKILL.md.


Todos los campos

Estándar abierto AgentSkills.io (portable)

Estos campos están definidos por el estándar abierto AgentSkills.io. Los skills que usan solo estos campos siguen siendo portables entre runtimes compatibles.

CampoTipo/FormatoPor defectoQué haceCuándo usarlo
namestring, minúsculas-guiones, máx. 64 caracteresnombre del directorioNombre visible y alias del comando /nameSiempre — defínelo explícitamente para desacoplarlo del nombre del directorio
descriptionstring, máx. 1024 caracteresprimer párrafo del cuerpo del SKILL.mdLe dice a Claude qué hace el skill y cuándo invocarloSiempre — Claude lee esto para decidir la auto-invocación
licensestringningunoDeclara la licencia del contenido del skillAl distribuir o publicar el skill públicamente
compatibilitystring, máx. 500 caracteresningunoDocumenta requisitos del entorno como SO, runtime o tooling necesarioEl skill requiere tooling, SO o entorno específicos que pueden no estar disponibles universalmente
metadatamapa clave-valorningunoDatos estructurados arbitrarios adjuntos al skill (versión, autor, tags, etc.)Llevar control de versión, autoría o tags personalizados sin contaminar la description
allowed-toolsstring de nombres de herramientas separados por espaciosningunoPre-aprueba las herramientas listadas para que nunca pidan permiso durante el skillEl skill necesita herramientas específicas y las interrupciones romperían el flujo

Campos exclusivos de Claude Code

Estos campos los entiende Claude Code pero no forman parte del estándar portable de AgentSkills.io. Otros runtimes los ignorarán o producirán errores.

CampoTipo/FormatoPor defectoQué haceCuándo usarlo
when_to_usestringningunoFrases de disparo adicionales que se añaden a la description para la coincidencia en auto-invocaciónNecesitas keywords extra sin hacer la description principal demasiado verbosa
argument-hintstringningunoHint corto mostrado en la UI de autocompletado junto al nombre del skillEl skill acepta argumentos y quieres que los usuarios sepan qué escribir
argumentsstring o lista de stringsningunoPosiciones de argumentos con nombre mapeadas a variables $name en el cuerpo del skillEl skill toma múltiples argumentos distintos y las referencias con nombre son más claras que las basadas en índice
disable-model-invocationbooleanfalseOculta el skill por completo a Claude; solo un usuario puede invocarlo con /nameFlujos con efectos secundarios (deploy, send, delete) donde debes controlar el momento
user-invocablebooleantrueCuando se pone a false, oculta el skill del menú /Skills de conocimiento de fondo que Claude debe usar pero los usuarios nunca invocan directamente
modelstringhereda el modelo de la sesiónSobrescribe el model usado para el turno de ejecución de este skillAnálisis profundo que necesita un modelo más grande (opus) o una tarea trivial que puede usar uno más barato (haiku)
effortstring: low, medium, high, xhigh o maxhereda el effort de la sesiónSobrescribe el effort de razonamiento para el turno de este skillTareas que necesitan razonamiento de nivel ultrathink o generación simple que no necesita pensamiento extendido
contextstring: forkningunoEjecuta el skill en un subagent aislado para que no contamine el context principalSkills largos o exploratorios cuyos pasos intermedios no deben persistir en la conversación principal
agentstringgeneral-purposeEspecifica el tipo de subagent cuando se establece context: forkQuieres un subagent de solo lectura estilo Explore u otro perfil específico de agent
hooksmapaningunoHooks de ciclo de vida con scope a este skill (pre-tool, post-tool, on-exit, etc.)Auto-formateo de salida, validación de resultados o envío de notificaciones al usar herramientas específicas
pathslista de patrones globningunoAuto-activa o restringe el skill a sesiones que involucren archivos que coincidanSkills específicos de lenguaje o dominio que solo deberían aparecer para archivos relevantes
shellstring: bash o powershellbashSobrescribe el shell usado para bloques inline !cmd“Skills exclusivos de Windows que usan comandos de PowerShell

Matriz de modos de invocación

Controla quién puede invocar el skill y qué aparece en context.

FrontmatterUsuario /nameClaude auto-invocaDescription en contextCuándo se carga el cuerpo completo
(por defecto)Cuando lo invoca el usuario o Claude
disable-model-invocation: trueNoNoCuando el usuario invoca con /name
user-invocable: falseNoCuando Claude invoca automáticamente
Ambos disable-model-invocation: true Y user-invocable: falseNoNoNoNunca — el skill es permanentemente inaccesible

Referencia rápida de sustitución de strings

SintaxisSe expande a
$ARGUMENTSString completo de argumentos tal como se escribió tras el nombre del skill
$ARGUMENTS[0] o $0Primer argumento separado por espacios (índice 0, respeta el quoting de shell)
$ARGUMENTS[1] o $1Segundo argumento
$nameArgumento con nombre desde la posición definida en el frontmatter arguments
${CLAUDE_SESSION_ID}UUID que identifica la sesión actual de Claude Code
${CLAUDE_EFFORT}String del nivel actual de effort: low, medium, high, xhigh o max
${CLAUDE_SKILL_DIR}Ruta absoluta al directorio que contiene el archivo SKILL.md

Patrones comunes

Pre-flight check — ejecuta un comando de shell inline e incluye su salida en context:

!`git status --short`

Bloque shell multilínea — ejecuta múltiples comandos como un bloque:

```!
git fetch origin
git log --oneline origin/main..HEAD
```

Ejecuta un script incluido desde el directorio del skill — usa siempre ${CLAUDE_SKILL_DIR} para que la ruta funcione en cualquier scope:

Bash: python3 ${CLAUDE_SKILL_DIR}/scripts/my_script.py

Skill que se ejecuta en un subagent aislado para evitar contaminar el context principal:

context: fork
agent: Explore

El subagent precarga un skill para que esté disponible dentro del context forked — en el archivo de definición del agent, añade:

skills: [skill-name]