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 las habilidades desde varias ubicaciones raíz según un orden de precedencia definido.

Crea tu primera habilidad

  • Create the skill directory

    Las habilidades se encuentran en la carpeta skills/ de tu espacio de trabajo:

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

    Puedes agrupar las 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
  • Write SKILL.md

    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 valor `name` del frontmatter.- `description` se muestra al agente y durante el descubrimiento de comandos con barra;  debe ocupar una sola línea y tener menos de 160 caracteres.  OPENCLAW_DOCS_MARKER:stepClose:   OPENCLAW_DOCS_MARKER:stepOpen:IHRpdGxlPSJWZXJpZnkgdGhlIHNraWxsIGxvYWRlZCI ```bashopenclaw skills list

    De forma predeterminada, OpenClaw supervisa los archivos SKILL.md situados bajo las ubicaciones raíz de habilidades. Si el supervisor está desactivado o continúas 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
  • Test it

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

    También puedes 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 con letras minúsculas, dígitos y guiones
    description Descripción de una línea que se muestra al agente y en el resultado del descubrimiento

    Claves opcionales del frontmatter

    Campo Valor predeterminado Descripción
    user-invocable true Expone la habilidad como comando con barra para el usuario
    disable-model-invocation false Excluye la habilidad del prompt del sistema del agente (aún se ejecuta mediante /skill)
    command-dispatch Establécelo en tool para dirigir el comando con barra directamente a una herramienta, omitiendo el modelo
    command-tool Nombre de la herramienta que se invocará cuando se establezca command-dispatch: tool
    command-arg-mode raw Para el envío 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 para macOS

    Para obtener información sobre los campos de activación (requires.bins, requires.env, etc.), consulta Skills — Activación.

    Uso de {baseDir}

    Haz referencia a archivos dentro del directorio de la habilidad sin codificar rutas de forma fija; el agente resuelve {baseDir} con respecto al directorio de la propia habilidad:

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

    Añadir activación condicional

    Configura la activación de 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" } }---
    Gating options
    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 tener un valor verdadero
    os Filtro de plataforma: ["darwin"], ["linux"], ["win32"]
    always Establécelo en true para omitir todas las condiciones e incluir siempre la habilidad

    Referencia completa: Skills — Activación.

    Environment and API keys

    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 anfitrión únicamente durante ese turno del agente. No llega al entorno aislado; consulta variables de entorno aisladas.

    Proponer mediante Skill Workshop

    Para habilidades redactadas por el agente o cuando quieras que un operador las revise antes de ponerlas en funcionamiento, usa las 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 auxiliares:

    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 en su raíz. Los archivos auxiliares se colocan 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 conocer el ciclo de vida completo de las propuestas.

    Publicar en ClawHub

  • Ensure your SKILL.md is complete

    Asegúrate de establecer name, description y cualquier campo de activación de metadata.openclaw. Añade una URL homepage si tienes una página del proyecto.

  • Install the standalone ClawHub CLI and log in

    bash
    npm i -g clawhubclawhub login
  • Publish

    bash
    clawhub skill publish ./path/to/hello-world

    Añade --version <version> o --owner <owner> para reemplazar la versión inferida o publicar con un propietario específico. Consulta ClawHub — Publicación y CLI de ClawHub para conocer el flujo completo, el ámbito del propietario y otros comandos de mantenimiento (clawhub sync, clawhub skill rename, ...).

  • Prácticas recomendadas

    Contenido relacionado

    Was this useful?
    On this page

    On this page