Skills
Creación de Skills
Skills enseña al agente cómo y cuándo usar herramientas. Cada skill es un directorio
que contiene un archivo SKILL.md con frontmatter YAML e instrucciones en Markdown.
OpenClaw carga las skills desde varias raíces según un orden de precedencia definido.
Crear la primera skill
Crear el directorio de la skill
Las skills se encuentran en la carpeta skills/ del espacio de trabajo:
mkdir -p ~/.openclaw/workspace/skills/hello-worldLas skills se pueden agrupar en subcarpetas para organizarlas; la skill sigue
recibiendo el nombre del frontmatter SKILL.md, no de la ruta de la carpeta:
mkdir -p ~/.openclaw/workspace/skills/personal/hello-world# el nombre de la skill sigue siendo "hello-world" y se invoca como /hello-worldEscribir SKILL.md
El frontmatter define los metadatos; el cuerpo proporciona instrucciones al agente.
---name: hello-worlddescription: Una skill sencilla que muestra un saludo.--- # Hola, mundo Cuando el usuario solicite un saludo, usa la herramienta `exec` para ejecutar: ```bashecho "¡Hola desde tu skill personalizada!" Reglas de nomenclatura:- Usa letras minúsculas, dígitos y guiones para `name`.- Mantén alineados el nombre del directorio y el valor `name` del frontmatter.- `description` se muestra al agente y en la detección de comandos con barra; debe ocupar una sola línea y tener menos de 160 caracteres. OPENCLAW_DOCS_MARKER:stepClose: OPENCLAW_DOCS_MARKER:stepOpen:IHRpdGxlPSJWZXJpZmljYXIgcXVlIHNlIGhheWEgY2FyZ2FkbyBsYSBza2lsbCI ```bashopenclaw skills listDe forma predeterminada, OpenClaw supervisa los archivos SKILL.md en las raíces de skills. Si el
supervisor está deshabilitado o se continúa una sesión existente, se debe iniciar una
nueva para que el agente reciba la lista actualizada:
# Desde el chat: archiva la sesión actual e inicia una nueva/new # O reinicia el Gatewayopenclaw gateway restartProbarla
openclaw agent --message "dame un saludo"También se puede abrir un chat y pedírselo directamente al agente. Usa /skill hello-world para
invocarla explícitamente por su nombre.
Referencia de SKILL.md
Campos obligatorios
| Campo | Descripción |
|---|---|
name |
Identificador único que usa letras minúsculas, dígitos y guiones |
description |
Descripción de una línea que se muestra al agente y en la salida de detección |
Claves opcionales del frontmatter
| Campo | Valor predeterminado | Descripción |
|---|---|---|
user-invocable |
true |
Expone la skill como comando con barra para el usuario |
disable-model-invocation |
false |
Mantiene la skill fuera del prompt del sistema del agente (aun así, se ejecuta mediante /skill) |
command-dispatch |
— | Se establece en tool para dirigir el comando con barra directamente a una herramienta, omitiendo el modelo |
command-tool |
— | Nombre de la herramienta que se invoca cuando se establece command-dispatch: tool |
command-arg-mode |
raw |
Para el despacho a herramientas, reenvía a la herramienta la cadena de argumentos sin procesar |
homepage |
— | URL que se muestra como "Website" en la interfaz de Skills de macOS |
Para consultar los campos de restricción (requires.bins, requires.env, etc.), véase
Skills — Restricciones.
Uso de {baseDir}
Haz referencia a archivos dentro del directorio de la skill sin codificar las rutas de forma fija; el
agente resuelve {baseDir} con respecto al directorio de la propia skill:
Ejecuta el script auxiliar ubicado en `{baseDir}/scripts/run.sh`.Añadir activación condicional
Restringe la skill para que solo se cargue cuando sus dependencias estén disponibles:
---name: gemini-searchdescription: Busca mediante la CLI de Gemini.metadata: { "openclaw": { "requires": { "bins": ["gemini"] }, "primaryEnv": "GEMINI_API_KEY" } }---Opciones de restricción
| Clave | Descripción |
|---|---|
requires.bins |
Todos los binarios deben existir en PATH |
requires.anyBins |
Al menos un binario debe existir en PATH |
requires.env |
Cada variable de entorno debe existir en el proceso o en la configuración |
requires.config |
Cada ruta openclaw.json debe tener un valor verdadero |
os |
Filtro de plataforma: ["darwin"], ["linux"], ["win32"] |
always |
Establece true para omitir todas las restricciones e incluir siempre la skill |
Referencia completa: Skills — Restricciones.
Entorno y claves de API
Vincula una clave de API a una entrada de skill en openclaw.json:
{ skills: { entries: { "gemini-search": { enabled: true, apiKey: { source: "env", provider: "default", id: "GEMINI_API_KEY" }, }, }, },}La clave se inyecta en el proceso host solo durante ese turno del agente. No llega al entorno aislado; véanse las variables de entorno en entornos aislados.
Proponer mediante Skill Workshop
Para skills redactadas por el agente, o cuando se desea que el operador las revise antes de que una skill
entre en funcionamiento, utiliza propuestas de Skill Workshop en lugar de escribir
SKILL.md directamente.
# Propón una skill completamente nuevaopenclaw skills workshop propose-create \ --name "hello-world" \ --description "Una skill sencilla que muestra un saludo." \ --proposal ./PROPOSAL.md # Propón una actualización de una skill existenteopenclaw skills workshop propose-update hello-world \ --proposal ./PROPOSAL.md \ --description "Skill de saludo actualizada"Usa --proposal-dir cuando la propuesta incluya archivos auxiliares:
openclaw skills workshop propose-create \ --name "hello-world" \ --description "Una skill sencilla que muestra un saludo." \ --proposal-dir ./hello-world-proposal/El directorio debe contener PROPOSAL.md en su raíz. Los archivos auxiliares se colocan en
assets/, examples/, references/, scripts/ o templates/.
Después de la revisión:
openclaw skills workshop inspect <proposal-id>openclaw skills workshop apply <proposal-id>Consulta Skill Workshop para conocer el ciclo de vida completo de las propuestas.
Publicar en ClawHub
Comprobar que SKILL.md esté completo
Asegúrate de que estén definidos name, description y todos los campos de restricción metadata.openclaw
necesarios. Añade una URL homepage si hay una página del proyecto.
Instalar la CLI independiente de ClawHub e iniciar sesión
npm i -g clawhubclawhub loginPublicar
clawhub skill publish ./path/to/hello-worldAñade --version <version> o --owner <owner> para reemplazar la versión
inferida o publicar bajo un propietario específico. Consulta
ClawHub — Publicación y
CLI de ClawHub para conocer el flujo completo, el ámbito de los propietarios y otros
comandos de mantenimiento (clawhub sync, clawhub skill rename, ...).
Prácticas recomendadas
Contenido relacionado
Orden de carga, restricciones, listas de permitidos y formato de SKILL.md.
Cola de propuestas para skills redactadas por agentes.
Esquema de configuración completo de skills.*.
Explora y publica skills en el registro público.
Los plugins pueden incluir skills junto con las herramientas que documentan.