Saltar al contenido principal
Skills enseñan 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 Skills desde varias raíces en un orden de precedencia definido.

Crea tu primera skill

1

Crea el directorio de la skill

Skills viven en la carpeta skills/ de tu espacio de trabajo:
mkdir -p ~/.openclaw/workspace/skills/hello-world
Puedes agrupar skills en subcarpetas para organizarlas; la skill sigue recibiendo su nombre del frontmatter de SKILL.md, no de la ruta de la carpeta:
mkdir -p ~/.openclaw/workspace/skills/personal/hello-world
# skill name is still "hello-world", invoked as /hello-world
2

Escribe SKILL.md

El frontmatter define los metadatos; el cuerpo proporciona instrucciones al agente.
---
name: hello-world
description: A simple skill that prints a greeting.
---

# Hello World

When the user asks for a greeting, use the `exec` tool to run:

```bash
echo "Hello from your custom skill!"

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 el descubrimiento de comandos de barra;
  mantenla en una línea y por debajo de 160 caracteres.

</Step>

<Step title="Verifica que la skill se cargó">
```bash
openclaw skills list
OpenClaw observa de forma predeterminada los archivos SKILL.md bajo las raíces de skills. Si el observador está deshabilitado o continúas una sesión existente, inicia una nueva para que el agente reciba la lista actualizada:
# From chat — archive current session and start fresh
/new

# Or restart the gateway
openclaw gateway restart
3

Pruébala

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

CampoDescripción
nameSlug único que usa letras minúsculas, dígitos y guiones
descriptionDescripción de una línea mostrada al agente y en la salida de descubrimiento

Claves opcionales del frontmatter

CampoPredeterminadoDescripción
user-invocabletrueExpone la skill como comando de barra de usuario
disable-model-invocationfalseMantiene la skill fuera del prompt del sistema del agente (aún se ejecuta mediante /skill)
command-dispatchEstablece tool para enrutar el comando de barra directamente a una herramienta, omitiendo el modelo
command-toolNombre de la herramienta que se invoca cuando command-dispatch: tool está establecido
command-arg-moderawPara el despacho a herramientas, reenvía la cadena de argumentos sin procesar a la herramienta
homepageURL mostrada como “Sitio web” en la interfaz de Skills de macOS
Para los campos de control de activación (requires.bins, requires.env, etc.), consulta Skills — Control de activación.

Uso de {baseDir}

Referencia archivos dentro del directorio de la skill sin codificar rutas de forma fija; el agente resuelve {baseDir} contra el propio directorio de la skill:
Run the helper script at `{baseDir}/scripts/run.sh`.

Agregar activación condicional

Controla la activación de tu skill para que solo se cargue cuando sus dependencias estén disponibles:
---
name: gemini-search
description: Search using Gemini CLI.
metadata: { "openclaw": { "requires": { "bins": ["gemini"] }, "primaryEnv": "GEMINI_API_KEY" } }
---
ClaveDescripción
requires.binsTodos los binarios deben existir en PATH
requires.anyBinsAl menos un binario debe existir en PATH
requires.envCada variable de entorno debe existir en el proceso o en la configuración
requires.configCada ruta de openclaw.json debe evaluarse como verdadera
osFiltro de plataforma: ["darwin"], ["linux"], ["win32"]
alwaysEstablécelo en true para omitir todos los controles e incluir siempre la skill
Referencia completa: Skills — Control de activación.
Conecta 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 para ese turno del agente. No llega al sandbox; consulta variables de entorno en sandbox.

Proponer mediante Skill Workshop

Para skills redactadas por el agente o cuando quieres una revisión del operador antes de que una skill entre en producción, usa propuestas de Skill Workshop en lugar de escribir SKILL.md directamente.
# Propose a brand-new skill
openclaw skills workshop propose-create \
  --name "hello-world" \
  --description "A simple skill that prints a greeting." \
  --proposal ./PROPOSAL.md

# Propose an update to an existing skill
openclaw skills workshop propose-update hello-world \
  --proposal ./PROPOSAL.md \
  --description "Updated greeting skill"
Usa --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 en su raíz. Los archivos de soporte van bajo 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 ver el ciclo de vida completo de las propuestas.

Publicar en ClawHub

1

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

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

Instala la CLI independiente de ClawHub e inicia sesión

npm i -g clawhub
clawhub login
3

Publica

clawhub skill publish ./path/to/hello-world
Agrega --version <version> o --owner <owner> para anular la versión inferida o publicar bajo un propietario específico. Consulta ClawHub — Publicación y CLI de ClawHub para ver el flujo completo, el alcance por propietario y otros comandos de mantenimiento (clawhub sync, clawhub skill rename, …).

Prácticas recomendadas

  • Sé conciso: instruye al modelo sobre qué hacer, no sobre cómo ser una IA.
  • La seguridad primero: si tu skill usa exec, asegúrate de que los prompts no permitan inyección arbitraria de comandos desde entradas no confiables.
  • Prueba localmente: usa openclaw agent --message "..." antes de compartir.
  • Usa ClawHub: explora skills de la comunidad en clawhub.ai antes de crear desde cero.

Relacionado

Referencia de Skills

Orden de carga, control de activación, listas de permitidos y formato de SKILL.md.

Skill Workshop

Cola de propuestas para skills redactadas por el agente.

Configuración de Skills

Esquema completo de configuración de skills.*.

ClawHub

Explora y publica skills en el registro público.

Crear plugins

Los plugins pueden enviar skills junto con las herramientas que documentan.