Archivo SKILL.md
SKILL.md es el archivo central de Agent Skills.
Esta sección explicará en detalle la estructura completa de SKILL.md y todos los campos disponibles.
Estructura básica
Un archivo SKILL.md contiene dos partes principales:
- YAML Frontmatter (sección de metadatos)
- Contenido Markdown (sección de instrucciones)
Ejemplo completo
name: my-skill
description: Descripción de la skill, nos dice cuándo usar esta skill
license: Apache-2.0
compatibility: Requiere Python3.10+
metadata:
author: your-name
version: "1.0"
---
# Nombre de la skill
Aquí están las instrucciones detalladas de la skill...
## Primer paso
Pasos de operación específicos...
## Segundo paso
Más pasos de operación...
Explicación detallada de los campos de metadatos
A continuación se muestran todos los campos de metadatos admitidos por SKILL.md:
| Campo | Requerido | Restricciones |
|---|---|---|
| name | Sí | Máximo 64 caracteres, solo se pueden usar letras minúsculas, números y guiones, no puede comenzar ni terminar con un guion |
| description | Sí | Máximo 1024 caracteres, describe la funcionalidad y los escenarios de uso de la skill |
| license | no | Nombre de la licencia o referencia a un archivo de licencia incluido |
| compatibility | no | Máximo 500 caracteres, describe los requisitos del entorno (producto objetivo, paquetes del sistema, acceso a red, etc.) |
| metadata | no | Pares clave-valor arbitrarios, utilizados para almacenar metadatos adicionales |
| allowed-tools | no | Lista de herramientas preaprobadas separadas por espacios (función experimental) |
Explicación detallada del campo name
El campo name es el identificador de la skill y debe seguir las siguientes reglas:
- Longitud: 1-64 caracteres
- Restricción de caracteres: solo se pueden usar letras minúsculas Unicode (a-z) y guiones (-)
- Inicio y final: no puede comenzar ni terminar con un guion
- Caracteres consecutivos: no puede contener guiones consecutivos (--)
- Requisito de coincidencia: debe coincidir con el nombre del directorio padre
Ejemplos válidos:
name: pdf-processing name: data-analysis name: code-review
Ejemplos no válidos:
name: PDF-Processing # 错误:不能使用大写字母 name: -pdf # 错误:不能以连字符开头 name: pdf--processing # 错误:不能包含连续连字符
Explicación detallada del campo description
El campo description es uno de los campos más importantes; le indica al agente cuándo debe activar esta skill.
Una buena descripción debe:
- Describir la funcionalidad de la skill (qué hace)
- Explicar los escenarios de uso (cuándo usarla)
- Incluir palabras clave que ayuden al agente a identificar tareas relacionadas
Ejemplo de una buena descripción:
description: 从 PDF 文件中提取文本和表格,填写 PDF 表单,合并多个 PDF。处理 PDF 文档或用户提及 PDF、表单或文档提取时使用。
Ejemplo de una mala descripción:
description: 帮助处理 PDF 文件。 # 太笼统,代理无法判断何时使用
Consejo: el campo description se carga al inicio de la conversación. Asegúrate de que contenga suficientes palabras clave para que el agente pueda identificar correctamente cuándo necesita activar esta skill.
Explicación detallada del campo license
El campo license se utiliza para especificar la licencia de la skill. Este es un campo opcional.
license: Apache-2.0 # 或者引用 bundled 的许可证文件 license: Proprietary. LICENSE.txt has complete terms
Explicación detallada del campo compatibility
El campo compatibility se utiliza para indicar los requisitos de entorno de la skill. Solo se debe añadir cuando la skill tiene requisitos de entorno especiales.
# 指定目标产品 compatibility: Designed for Claude Code # 指定系统依赖 compatibility: Requires git, docker, jq, and access to the internet # 指定编程语言版本 compatibility: Requires Python 3.14+ and uv
Nota: la mayoría de las skills no necesitan el campo compatibility. Añádelo solo cuando la skill realmente tenga requisitos de entorno específicos.
Explicación detallada del campo metadata
El campo metadata puede almacenar información arbitraria de pares clave-valor. El cliente puede usarlo para almacenar atributos adicionales no definidos en la especificación.
metadata:
author: example-org
version: "1.0"
tags:
- pdf
- document
- extraction
Consejo: se recomienda utilizar nombres de clave relativamente únicos para evitar conflictos con otras skills.
Explicación detallada del campo allowed-tools
allowed-tools es un campo experimental que se utiliza para especificar las herramientas preaprobadas que la skill puede usar.
allowed-tools: Bash(git:*) Bash(jq:*) Read
Nota: esta es una función experimental; diferentes implementaciones de agentes pueden tener distintos niveles de soporte.
Explicación detallada de la sección de instrucciones
El contenido Markdown después de la sección de metadatos es la parte de instrucciones de la skill. No hay restricciones de formato aquí; puedes escribir cualquier contenido según sea necesario.
Se recomienda incluir lo siguiente:
- Instrucciones de operación paso a paso
- Ejemplos de entrada y salida
- Manejo de casos límite comunes
# 技能名称 ## 功能说明 简要描述这个技能做什么。 ## 操作步骤 1. 第一步:执行某个操作 2. 第二步:执行另一个操作 3. 第三步:完成最终操作 ## 示例 ### 输入示例 描述输入是什么... ### 输出示例 描述输出是什么... ## 注意事项 - 注意点 1 - 注意点 2
Otras extensionesNota: una vez que la skill se activa, todo el archivo SKILL.md se carga en el contexto. Se recomienda mantener las instrucciones principales dentro de 500 líneas y por debajo de 5000 tokens. Mueve los materiales de referencia detallados a un archivo separado.