Skills

Creación de Skills

Skills enseña al agente cómo y cuándo usar herramientas. Cada habilidad es un directorio que contiene un archivo SKILL.md con frontmatter YAML e instrucciones en markdown. OpenClaw carga Skills desde varias raíces en un orden de precedencia definido.

Crea tu primera habilidad

  • Crea el directorio de la habilidad

    Skills reside en la carpeta skills/ de tu espacio de trabajo. Crea un directorio para tu nueva habilidad:

    bash
    mkdir -p ~/.openclaw/workspace/skills/hello-world

    Puedes agrupar habilidades en subcarpetas para organizarlas; la habilidad sigue recibiendo su nombre del frontmatter de SKILL.md, no de la ruta de la carpeta:

    bash
    mkdir -p ~/.openclaw/workspace/skills/personal/hello-world# skill name is still "hello-world", invoked as /hello-world
  • Escribe SKILL.md

    Crea SKILL.md dentro del directorio. El frontmatter define los metadatos; el cuerpo proporciona instrucciones al agente.

    markdown
    ---name: hello-worlddescription: A simple skill that prints a greeting.--- # Hello World When the user asks for a greeting, use the `exec` tool to run: ```bashecho "Hello from your custom skill!"
    Code
     Reglas de nomenclatura:- Usa letras minúsculas, dígitos y guiones para `name`.- Mantén alineados el nombre del directorio y el `name` del frontmatter.- `description` se muestra al agente y en la detección de comandos de barra;  mantenlo en una sola línea y con menos de 160 caracteres.  OPENCLAW_DOCS_MARKER:stepClose:   OPENCLAW_DOCS_MARKER:stepOpen:IHRpdGxlPSJWZXJpZmljYSBxdWUgbGEgaGFiaWxpZGFkIHNlIGhheWEgY2FyZ2FkbyI ```bashopenclaw skills list

    OpenClaw observa de forma predeterminada los archivos SKILL.md bajo las raíces de Skills. Si el observador está deshabilitado o estás continuando una sesión existente, inicia una nueva para que el agente reciba la lista actualizada:

    bash
    # From chat — archive current session and start fresh/new # Or restart the gatewayopenclaw gateway restart
  • Pruébala

    Envía un mensaje que debería activar la habilidad:

    bash
    openclaw agent --message "give me a greeting"

    O abre un chat y pregúntale directamente al agente. Usa /skill hello-world para invocarla explícitamente por nombre.

  • Referencia de SKILL.md

    Campos obligatorios

    Campo Descripción
    name Slug ú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 de frontmatter

    Campo Valor predeterminado Descripción
    user-invocable true Expone la habilidad como un comando de barra de usuario
    disable-model-invocation false Mantiene la habilidad fuera del prompt del sistema del agente (aun así se ejecuta mediante /skill)
    command-dispatch Establécelo en tool para enrutar el comando de barra directamente a una herramienta, omitiendo el modelo
    command-tool Nombre de la herramienta que se invoca cuando command-dispatch: tool está establecido
    command-arg-mode raw Para el despacho de herramientas, reenvía la cadena de argumentos sin procesar a la herramienta
    homepage URL que se muestra como "Sitio web" en la interfaz de Skills de macOS

    Para los campos de control (requires.bins, requires.env, etc.), consulta Skills — Control.

    Uso de {baseDir}

    Usa {baseDir} en el cuerpo de la habilidad para hacer referencia a archivos dentro del directorio de la habilidad sin codificar rutas de forma fija:

    markdown
    Run the helper script at `{baseDir}/scripts/run.sh`.

    Agregar activación condicional

    Controla tu habilidad para que solo se cargue cuando sus dependencias estén disponibles:

    markdown
    ---name: gemini-searchdescription: Search using Gemini CLI.metadata: { "openclaw": { "requires": { "bins": ["gemini"] }, "primaryEnv": "GEMINI_API_KEY" } }---
    Opciones de control
    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 la configuración
    requires.config Cada ruta de openclaw.json debe ser verdadera
    os Filtro de plataforma: ["darwin"], ["linux"], ["win32"]
    always Establécelo en true para omitir todos los controles e incluir siempre la habilidad

    Referencia completa: Skills — Control.

    Entorno y claves de API

    Vincula una clave de API a una entrada de habilidad en openclaw.json:

    json5
    {  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; consulta variables de entorno en sandbox.

    Proponer mediante Skill Workshop

    Para habilidades redactadas por agentes o cuando quieras una revisión del operador antes de que una habilidad entre en producción, usa propuestas de Skill Workshop en lugar de escribir SKILL.md directamente.

    bash
    # 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"

    Usa --proposal-dir cuando la propuesta incluya archivos de apoyo:

    bash
    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 apoyo pueden ir en assets/, examples/, references/, scripts/ o templates/.

    Después de la revisión:

    bash
    openclaw skills workshop inspect <proposal-id>openclaw skills workshop apply <proposal-id>

    Consulta Skill Workshop para ver el ciclo de vida completo de las propuestas.

    Publicar en ClawHub

  • Asegúrate de que tu SKILL.md esté completo

    Asegúrate de que name, description y cualquier campo de control metadata.openclaw estén establecidos. Agrega una URL homepage si tienes una página del proyecto.

  • Instala la habilidad de ClawHub

    La habilidad de ClawHub documenta la forma actual del comando de publicación y los metadatos obligatorios:

    bash
    openclaw skills install @openclaw/clawhub-publish
  • Publica

    bash
    clawhub publish

    Consulta ClawHub — Publicación para ver el flujo completo.

  • Prácticas recomendadas

    Relacionado

    Was this useful?
    On this page

    On this page