Formato de Skills
En disco
Una Skill es una carpeta. Obligatorio:SKILL.md(oskill.md; también se acepta el formato heredadoskills.md)
- cualquier archivo normal de apoyo (consulte «Archivos de la Skill»)
.clawhubignore(patrones que se omiten al publicar; formato heredado.clawdhubignore).gitignore(también se respeta)
Importación desde GitHub
El importador web de GitHub es más estricto que la publicación y sincronización locales. Solo detecta archivosSKILL.md o archivos heredados skills.md en repositorios públicos que no sean forks y pertenezcan
a la cuenta de GitHub con la sesión iniciada. No importa repositorios privados, forks,
repositorios archivados o deshabilitados ni repositorios públicos de terceros.
Metadatos de instalación local (escritos por la CLI):
<skill>/.clawhub/origin.json(formato heredado.clawdhub)
<workdir>/.clawhub/lock.json(formato heredado.clawdhub)
SKILL.md
- Markdown con frontmatter YAML opcional.
- El servidor extrae los metadatos del frontmatter durante la publicación.
descriptionse utiliza como resumen de la Skill en la interfaz y las búsquedas.
name debe coincidir con el directorio principal y utilizar
entre 1 y 64 letras minúsculas, números o guiones. ClawHub mantiene separados el slug enrutable y
el nombre para mostrar en el catálogo, por lo que los nombres existentes de otros clientes siguen
pudiéndose publicar y no se reescriben silenciosamente. Las listas del catálogo pueden acortar visualmente los nombres largos
sin cambiar el nombre almacenado.
Metadatos del frontmatter
Los metadatos de la Skill se declaran en el frontmatter YAML situado al principio deSKILL.md. Esto indica al registro (y al análisis de seguridad) qué necesita la Skill para ejecutarse.
Frontmatter básico
Metadatos de ejecución (metadata.openclaw)
Declare los requisitos de ejecución de la Skill en metadata.openclaw (alias: metadata.clawdbot, metadata.clawdis).
requires.env para las variables de entorno que deben estar presentes antes de que la Skill pueda ejecutarse. Utilice envVars cuando necesite metadatos para cada variable, incluidas variables opcionales con required: false.
Referencia completa de campos
Especificaciones de instalación
Si la Skill necesita que se instalen dependencias, declárelas en la matrizinstall:
brew, node, go, uv.
Variables de entorno opcionales
Declare las variables de entorno opcionales enmetadata.openclaw.envVars y establezca required: false. No añada entradas opcionales a requires.env, porque requires.env significa que la Skill no puede ejecutarse sin ellas.
Por qué es importante
El análisis de seguridad de ClawHub comprueba que lo declarado por la Skill coincida con lo que realmente hace. Si el código hace referencia aTODOIST_API_KEY, pero el frontmatter no lo declara en requires.env, primaryEnv o envVars, el análisis señalará una discrepancia en los metadatos. Mantener las declaraciones precisas ayuda a que la Skill supere la revisión y a que los usuarios entiendan qué están instalando.
Ejemplo: frontmatter completo
Archivos de la Skill
La publicación acepta todos los archivos normales de la carpeta de la Skill, independientemente de su extensión. Se siguen aplicando los archivos ignorados, las rutas ocultas, los enlaces simbólicos, los metadatos de macOS y los límites de tamaño del servidor.- Los archivos de tamaño limitado que contienen UTF-8 válido pueden previsualizarse como texto sin formato con caracteres de escape y se incluyen en el análisis de texto limitado.
- Los demás archivos conservan sus bytes exactos y están disponibles para su descarga.
- Los escáneres de seguridad reciben el artefacto almacenado completo; la detección de texto afecta a la representación y al análisis, no constituye una lista de formatos permitidos para la carga.
- Tamaño total del paquete: 50MB.
- El texto de la incrustación incluye
SKILL.mdy hasta aproximadamente 40 archivos UTF-8 de tamaño limitado (límite aplicado en la medida de lo posible).
Slugs
- Se derivan del nombre de la carpeta de forma predeterminada.
- Los ámbitos de los paquetes deben coincidir exactamente con el identificador del publicador de ClawHub. Los identificadores de publicador pueden utilizar letras minúsculas, números, guiones, puntos y guiones bajos; deben comenzar y terminar con una letra minúscula o un número.
- Los slugs de los paquetes deben estar en minúsculas y ser compatibles con npm; por ejemplo,
@example.tools/demo-pluginodemo-plugin.
Control de versiones y etiquetas
- Cada publicación crea una versión nueva (semver).
- Las etiquetas son punteros de cadena a una versión;
latestse utiliza habitualmente.
Licencia
- Todas las Skills publicadas en ClawHub se distribuyen bajo la licencia
MIT-0. - Cualquiera puede utilizar, modificar y redistribuir las Skills publicadas, incluso con fines comerciales.
- No se requiere atribución.
- No añada condiciones de licencia incompatibles en
SKILL.md; ClawHub no admite anulaciones de licencia por Skill.
Skills de pago
- ClawHub no admite Skills de pago, precios por Skill, muros de pago ni reparto de ingresos.
- No añada metadatos de precios a
SKILL.md; no forman parte del formato de las Skills y no harán que una Skill publicada sea de pago. - Si la Skill se integra con un servicio de terceros de pago, documente claramente el coste externo y la cuenta necesaria en las instrucciones de la Skill y las declaraciones de entorno (
requires.envpara variables obligatorias oenvVarsconrequired: falsepara variables opcionales).