Crear habilidades
Las habilidades enseñan al agente cómo y cuándo usar las herramientas. Cada habilidad es un directorio
que contiene un archivo SKILL.md con frontmatter YAML e instrucciones markdown.
OpenClaw carga habilidades desde varias raíces en un orden de precedencia definido.
Crea tu primera habilidad
Sección titulada «Crea tu primera habilidad»Crear el directorio de la habilidad
Las habilidades residen en su carpeta del espacio de trabajo
skills/. Cree un directorio para su nueva habilidad:Ventana de terminal mkdir -p ~/.openclaw/workspace/skills/hello-worldPuede agrupar habilidades en subcarpetas para organizarlas — la habilidad aún se nombra por el frontmatter
SKILL.md, no por la ruta de la carpeta:Ventana de terminal mkdir -p ~/.openclaw/workspace/skills/personal/hello-world# skill name is still "hello-world", invoked as /hello-worldEscribir SKILL.md
Cree
SKILL.mddentro del directorio. El frontmatter define los metadatos; el cuerpo le da instrucciones al agente.---name: hello-worlddescription: A simple skill that prints a greeting.---# Hello WorldWhen the user asks for a greeting, use the `exec` tool to run:```bashecho "Hello from your custom skill!"Reglas de nomenclatura:- Use letras minúsculas, dígitos y guiones para `name`.- Mantenga el nombre del directorio y el frontmatter `name` alineados.- `description` se muestra al agente y en el descubrimiento de comandos de barra —manténgalo en una línea y por debajo de 160 caracteres.Verificar que la habilidad se cargó
Ventana de terminal openclaw skills listOpenClaw observa los archivos
SKILL.mdbajo las raíces de habilidades por defecto. Si el observador está deshabilitado o está continuando una sesión existente, inicie una nueva para que el agente reciba la lista actualizada:Ventana de terminal # From chat — archive current session and start fresh/new# Or restart the gatewayopenclaw gateway restartProbarlo
Envíe un mensaje que debería activar la habilidad:
Ventana de terminal openclaw agent --message "give me a greeting"O abra un chat y pregúntele al agente directamente. Use
/skill hello-worldpara invocarla explícitamente por nombre.
Referencia de SKILL.md
Sección titulada «Referencia de SKILL.md»Campos obligatorios
Sección titulada «Campos obligatorios»| Campo | Descripción |
|---|---|
name | Identificador único usando letras minúsculas, dígitos y guiones |
description | Descripción de una línea mostrada al agente y en el resultado de descubrimiento |
Claves de frontmatter opcionales
Sección titulada «Claves de frontmatter opcionales»| Campo | Predeterminado | Descripción |
|---|---|---|
user-invocable | true | Exponer la habilidad como un comando de barra diagonal del usuario |
disable-model-invocation | false | Mantener la habilidad fuera del mensaje del sistema del agente (aún se ejecuta a través de /skill) |
command-dispatch | — | Establézcalo en tool para enrutar el comando de barra directamente a una herramienta, omitiendo el modelo |
command-tool | — | Nombre de la herramienta a invocar cuando command-dispatch: tool está establecido |
command-arg-mode | raw | Para el envío a la herramienta, reenvía la cadena de argumentos cruda a la herramienta |
homepage | — | URL que se muestra como “Sitio web” en la interfaz de usuario de Habilidades de macOS |
Para los campos de puerta de enlace (requires.bins, requires.env, etc.) consulte
Habilidades — Puerta de enlace.
Uso de {baseDir}
Sección titulada «Uso de {baseDir}»Use {baseDir} en el cuerpo de la habilidad para hacer referencia a archivos dentro del directorio
de la habilidad sin codificar rutas:
Run the helper script at `{baseDir}/scripts/run.sh`.Agregar activación condicional
Sección titulada «Agregar activación condicional»Establezca una puerta de enlace para su habilidad para que solo se cargue cuando sus dependencias estén disponibles:
---name: gemini-searchdescription: Search using Gemini CLI.metadata: { "openclaw": { "requires": { "bins": ["gemini"] }, "primaryEnv": "GEMINI_API_KEY" } }---Opciones de filtrado
| 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 ser verdadera |
os | Filtro de plataforma: ["darwin"], ["linux"], ["win32"] |
always | Establezca true para omitir todos los filtros e incluir siempre la skill |
Referencia completa: Skills — Gating.
Entorno y claves API
Conecte una clave 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 para ese turno del agente. No llega al sandbox — consulte variables de entorno en sandbox.
Proponer a través de Skill Workshop
Sección titulada «Proponer a través de Skill Workshop»Para habilidades redactadas por el agente o cuando desee una revisión del operador antes de que una habilidad se
active, use propuestas de Skill Workshop en lugar de escribir
SKILL.md directamente.
# Propose a brand-new skillopenclaw skills workshop propose-create \ --name "hello-world" \ --description "A simple skill that prints a greeting." \ --proposal ./PROPOSAL.md
# Propose an update to an existing skillopenclaw skills workshop propose-update hello-world \ --proposal ./PROPOSAL.md \ --description "Updated greeting skill"Use --proposal-dir cuando la propuesta incluya archivos de soporte:
openclaw skills workshop propose-create \ --name "hello-world" \ --description "A simple skill that prints a greeting." \ --proposal-dir ./hello-world-proposal/El directorio debe contener PROPOSAL.md. Los archivos de soporte pueden ir 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>Consulte Skill Workshop para ver el ciclo de vida completo de la propuesta.
Publicar en ClawHub
Sección titulada «Publicar en ClawHub»Asegúrese de que su SKILL.md esté completo
Asegúrese de que
name,descriptiony cualquiermetadata.openclawcampos de filtrado estén configurados. Agregue una URLhomepagesi tiene una página de proyecto.Instalar la habilidad ClawHub
La habilidad ClawHub documenta la forma actual del comando de publicación y los metadatos requeridos:
Ventana de terminal openclaw skills install clawhub-publishPublicar
Ventana de terminal clawhub publishConsulte ClawHub — Publicación para ver el flujo completo.
Mejores prácticas
Sección titulada «Mejores prácticas»Relacionado
Sección titulada «Relacionado»Orden de carga, restricciones, listas de permitidos y formato SKILL.md.
Cola de propuestas para habilidades redactadas por el agente.
Esquema de configuración skills.* completo.
Explore y publique habilidades en el registro público.
Los complementos pueden incluir habilidades junto con las herramientas que documentan.