Skip to main content
Skills son archivos de instrucciones en Markdown que enseñan al agente cómo y cuándo usar herramientas. Cada skill reside en un directorio que contiene un archivo SKILL.md con frontmatter YAML y un cuerpo en Markdown. OpenClaw carga las skills incluidas junto con cualquier sobrescritura local y las filtra durante la carga según el entorno, la configuración y la presencia de binarios.

Crear skills

Cree y pruebe una skill personalizada desde cero.

Taller de skills

Revise y apruebe propuestas de skills redactadas por el agente.

Configuración de skills

Esquema de configuración completo de skills.* y listas de permitidas del agente.

ClawHub

Explore e instale skills de la comunidad.

Orden de carga

OpenClaw carga desde estas fuentes, con la precedencia más alta primero. Cuando el mismo nombre de skill aparece en varios lugares, prevalece la fuente con mayor prioridad. Las raíces de skills admiten estructuras agrupadas. OpenClaw detecta una skill siempre que SKILL.md aparezca en cualquier lugar bajo una raíz configurada (hasta 6 niveles de profundidad):
La ruta de la carpeta solo sirve para la organización. El nombre de la skill y el comando con barra provienen del campo de frontmatter name (o del nombre del directorio cuando falta name). Las listas de permitidas del agente (más abajo) también se comparan con este name.
El directorio nativo $CODEX_HOME/skills de Codex CLI no es una raíz de skills de OpenClaw. Use openclaw migrate plan codex para inventariar esas skills y, después, openclaw migrate codex para copiarlas en el espacio de trabajo de OpenClaw.

Skills alojadas en Node

Un Node sin interfaz conectado puede publicar las skills instaladas en su directorio activo de skills de OpenClaw (~/.openclaw/skills de forma predeterminada; se aplican las sobrescrituras del entorno del perfil). Aparecen en la lista normal de skills del agente mientras el Node está conectado y desaparecen cuando se desconecta. Una skill local o del Gateway conserva su nombre en caso de colisión; la skill del Node recibe un nombre determinista con prefijo del Node. La versión v1 alojada en Node requiere que el nombre del directorio coincida con el campo de frontmatter name de la skill. La entrada de la skill incluye el localizador del Node. Sus archivos, referencias relativas y binarios residen en el Node, por lo que debe cargarse y ejecutarse con exec host=node node=<node-id>. Reinicie el host del Node después de cambiar sus archivos de skills. Consulte Nodos para obtener información sobre el emparejamiento y los mecanismos de desactivación.

Skills por agente frente a compartidas

En configuraciones con varios agentes, cada agente tiene su propio espacio de trabajo. Use la ruta que corresponda a la visibilidad deseada:

Listas de skills permitidas por agente

La ubicación de la skill (precedencia) y su visibilidad (qué agente puede usarla) son controles independientes. Use listas de permitidas para restringir qué skills ve un agente, independientemente de dónde se carguen.
  • Omita agents.defaults.skills para dejar todas las skills sin restricciones de forma predeterminada.
  • Omita agents.entries.*.skills para heredar agents.defaults.skills.
  • Establezca agents.entries.*.skills: [] para no exponer ninguna skill a ese agente.
  • Una lista no vacía de agents.entries.*.skills es el conjunto definitivo; no se combina con los valores predeterminados.
  • La lista de permitidas efectiva se aplica a la creación de prompts, la detección de comandos con barra, la sincronización del entorno aislado y las instantáneas de skills.
  • Esto no constituye un límite de autorización del shell del host. Si el mismo agente puede usar exec, restrinja ese shell por separado mediante aislamiento, separación por usuario del sistema operativo, listas de ejecución denegada/permitida y credenciales por recurso.

Plugins y skills

Los plugins pueden incluir sus propias skills mediante la enumeración de directorios skills en openclaw.plugin.json (rutas relativas a la raíz del plugin). Las skills del plugin se cargan cuando el plugin está habilitado; por ejemplo, el plugin del navegador incluye una skill browser-automation para el control del navegador en varios pasos. Los directorios de skills de plugins se combinan en el mismo nivel de precedencia baja que skills.load.extraDirs, por lo que una skill incluida, gestionada, de agente o de espacio de trabajo con el mismo nombre los sobrescribe. Controle la elegibilidad de una skill del plugin mediante metadata.openclaw.requires en su frontmatter, como con cualquier otra skill. Consulte Plugins y Herramientas para conocer el sistema completo de plugins.

Taller de skills

El Taller de skills es una cola de propuestas entre el agente y los archivos de skills activos. Cuando el agente detecta trabajo reutilizable, redacta una propuesta en lugar de escribir directamente en SKILL.md. Debe revisarla y aprobarla antes de que se produzca cualquier cambio.
Consulte Taller de skills para conocer el ciclo de vida completo, la referencia de la CLI y la configuración.

Instalación desde ClawHub

ClawHub es el registro público de skills. Use los comandos openclaw skills para instalar y actualizar, o la CLI clawhub para publicar y sincronizar.
openclaw skills install instala de forma predeterminada en el directorio skills/ del espacio de trabajo activo. Añada --global para instalar en el directorio compartido ~/.openclaw/skills, visible para todos los agentes locales salvo que las listas de permitidas de los agentes lo restrinjan.Las instalaciones desde Git y locales requieren SKILL.md en la raíz del origen. El identificador legible proviene del name del frontmatter SKILL.md cuando es válido; de lo contrario, se usa el nombre del directorio o repositorio. Use --as <slug> para sobrescribirlo. openclaw skills update solo realiza el seguimiento de instalaciones de ClawHub; reinstale los orígenes Git o locales para actualizarlos.
openclaw skills verify @owner/<slug> solicita a ClawHub el perímetro de confianza clawhub.skill.verify.v1 de la skill. Las skills de ClawHub instaladas se verifican con la versión y el registro guardados en .clawhub/origin.json. Se siguen aceptando identificadores sin propietario para skills ya instaladas o no ambiguas, pero las referencias calificadas por propietario evitan ambigüedades sobre el publicador.Las páginas de skills de ClawHub muestran el estado del análisis de seguridad más reciente antes de la instalación, con páginas detalladas para VirusTotal, ClawScan y el análisis estático. El comando finaliza con un código distinto de cero cuando ClawHub marca la verificación como fallida. Los publicadores pueden resolver falsos positivos mediante el panel de ClawHub o clawhub skill rescan @owner/<slug>.
Los clientes del Gateway que necesiten un método de entrega distinto de ClawHub pueden preparar un archivo ZIP de una skill con skills.upload.begin, skills.upload.chunk y skills.upload.commit, y después instalarlo con skills.install({ source: "upload", ... }). Esta ruta está desactivada de forma predeterminada y requiere skills.install.allowUploadedArchives: true en openclaw.json. Las instalaciones normales desde ClawHub nunca necesitan esa opción.

Seguridad

Trate las skills de terceros como código no confiable. Léalas antes de habilitarlas. Es preferible realizar ejecuciones aisladas para entradas no confiables y herramientas de riesgo. Consulte Aislamiento para conocer los controles del lado del agente.
La detección de skills del espacio de trabajo, del agente del proyecto y de directorios adicionales solo acepta raíces de skills cuya ruta real resuelta permanezca dentro de la raíz configurada, salvo que skills.load.allowSymlinkTargets confíe explícitamente en una raíz de destino. El Taller de skills solo escribe a través de esos destinos de confianza cuando skills.workshop.allowSymlinkTargetWrites está habilitado. Los directorios gestionados ~/.openclaw/skills y personales ~/.agents/skills pueden contener carpetas de skills con enlaces simbólicos, pero la ruta real de cada SKILL.md debe permanecer dentro del directorio resuelto de la skill.
Configure security.installPolicy para ejecutar un comando de política local de confianza antes de que continúen las instalaciones de skills. La política recibe metadatos y la ruta del origen preparado, se aplica a las rutas de ClawHub, carga, Git, local, actualización e instalador de dependencias, y aplica un cierre seguro cuando el comando no puede devolver una decisión válida.
skills.entries.*.env y skills.entries.*.apiKey inyectan secretos en el proceso host solo durante ese turno del agente, no en el entorno aislado. Mantenga los secretos fuera de los prompts y registros.
Para consultar el modelo de amenazas más amplio y las listas de comprobación de seguridad, consulte Seguridad.

Formato de SKILL.md

Cada skill necesita como mínimo un name y un description en el frontmatter:
OpenClaw sigue la especificación AgentSkills. El frontmatter se analiza primero como YAML; si esto falla, se recurre a un analizador que solo admite una línea. Los bloques metadata anidados (incluidas las asignaciones YAML de varias líneas) se convierten en una cadena JSON y se vuelven a analizar como JSON5, por lo que funciona el formato de bloque mostrado en Control de elegibilidad. Use {baseDir} en el cuerpo para hacer referencia a la ruta de la carpeta de la skill.

Claves opcionales del frontmatter

string
URL que aparece como “Website” en la interfaz de Skills de macOS. También se admite mediante metadata.openclaw.homepage.
boolean
predeterminado:"true"
Cuando true, la skill se expone como un comando de barra diagonal invocable por el usuario.
boolean
predeterminado:"false"
Cuando true, OpenClaw mantiene las instrucciones de la skill fuera del prompt normal del agente. La skill sigue estando disponible como comando de barra diagonal cuando user-invocable también es true.
"tool"
Cuando se establece en tool, el comando de barra diagonal omite el modelo y se despacha directamente a una herramienta registrada.
string
Nombre de la herramienta que se invocará cuando se establezca command-dispatch: tool.
"raw"
predeterminado:"raw"
Para el despacho a herramientas, reenvía la cadena de argumentos sin procesar a la herramienta sin análisis del núcleo. La herramienta recibe { command: "<raw args>", commandName: "<slash command>", skillName: "<skill name>" }.

Restricciones

OpenClaw filtra las skills durante la carga mediante metadata.openclaw (objeto JSON5 incrustado en el frontmatter; consulte la nota sobre el análisis anterior). Una skill sin un bloque metadata.openclaw siempre es apta, salvo que se deshabilite explícitamente.
boolean
Cuando true, incluye siempre la skill y omite todas las demás restricciones.
string
Emoji opcional que se muestra en la interfaz de Skills de macOS.
string
URL opcional que se muestra como “Website” en la interfaz de Skills de macOS.
("darwin" | "linux" | "win32")[]
Filtro de plataforma. Cuando se establece, la skill solo es apta en uno de los sistemas operativos indicados.
string[]
Cada binario debe existir en PATH.
string[]
Al menos un binario debe existir en PATH.
string[]
Cada variable de entorno debe existir en el proceso o proporcionarse mediante la configuración.
string[]
Cada ruta openclaw.json debe evaluarse como verdadera.
string
Nombre de la variable de entorno asociada con skills.entries.<name>.apiKey.
object[]
Especificaciones opcionales del instalador que utiliza la interfaz de Skills de macOS (brew / node / go / uv / download).
Los bloques heredados metadata.clawdbot se siguen aceptando cuando metadata.openclaw está ausente, de modo que las skills instaladas más antiguas conservan sus restricciones de dependencias y sugerencias del instalador. Las skills nuevas deben usar metadata.openclaw.

Especificaciones del instalador

Las especificaciones del instalador indican a la interfaz de Skills de macOS cómo instalar una dependencia:
  • Cuando se enumeran varios instaladores, el Gateway elige una opción preferida (brew cuando está disponible; de lo contrario, node).
  • Si todos los instaladores son download, OpenClaw enumera cada entrada para que se puedan ver todos los artefactos disponibles.
  • Las especificaciones pueden incluir os: ["darwin"|"linux"|"win32"] para filtrar por plataforma.
  • Las instalaciones de Node respetan skills.install.nodeManager en openclaw.json (valor predeterminado: npm; opciones: npm / pnpm / yarn / bun). Esto solo afecta a las instalaciones de skills; el entorno de ejecución del Gateway debe seguir siendo Node.
  • Preferencia de instaladores del Gateway: Homebrew → uv → gestor de node configurado → go → descarga.
  • Homebrew: OpenClaw no instala Homebrew automáticamente ni traduce las fórmulas de brew a comandos de paquetes del sistema. En contenedores Linux sin brew, los instaladores que solo usan brew se ocultan; utilice una imagen personalizada o instale la dependencia manualmente.
  • Go: OpenClaw requiere Go 1.21 o una versión posterior para las instalaciones automáticas de skills. Si falta go y Homebrew está disponible, OpenClaw instala primero Go mediante Homebrew; en Linux sin Homebrew, puede usar en su lugar apt-get como root o mediante sudo sin contraseña cuando el candidato actualizado de golang-go cumple la versión mínima. El go install real de la dependencia siempre apunta a un directorio de binarios dedicado y administrado por OpenClaw (bin de Homebrew en una instalación nueva; de lo contrario, ~/.local/bin), en lugar de su GOBIN configurado; sus propias variables de entorno GOBIN, GOPATH y GOTOOLCHAIN se leen, pero nunca se sobrescriben.
  • Descarga: url (obligatorio), archive (tar.gz | tar.bz2 | zip), extract (valor predeterminado: automático cuando se detecta un archivo), stripComponents, targetDir (valor predeterminado: ~/.openclaw/tools/<skillKey>).
requires.bins se comprueba en el host durante la carga de la skill. Si un agente se ejecuta en un entorno aislado, el binario también debe existir dentro del contenedor. Instálelo mediante agents.defaults.sandbox.docker.setupCommand o una imagen personalizada. setupCommand se ejecuta una vez después de crear el contenedor y requiere acceso de salida a la red, un sistema de archivos raíz con permisos de escritura y un usuario root en el entorno aislado.

Anulaciones de configuración

Active y configure las skills incluidas o administradas en skills.entries dentro de ~/.openclaw/openclaw.json:
boolean
false deshabilita la skill incluso cuando está incluida o instalada. La skill incluida coding-agent es opcional: establezca skills.entries.coding-agent.enabled: true y asegúrese de que claude, codex, opencode u otra CLI compatible esté instalada y autenticada.
string | { source, provider, id }
Campo práctico para las skills que declaran metadata.openclaw.primaryEnv. Admite una cadena de texto sin formato o un objeto SecretRef.
Record<string, string>
Variables de entorno inyectadas para la ejecución del agente. Solo se inyectan cuando la variable aún no está establecida en el proceso.
object
Contenedor opcional para campos de configuración personalizados por skill.
string[]
Lista de permitidas opcional solo para las skills incluidas. Cuando se establece, únicamente son aptas las skills incluidas que aparecen en la lista. Las skills administradas y del espacio de trabajo no se ven afectadas.
De forma predeterminada, las claves de configuración coinciden con el nombre de la skill. Si una skill define metadata.openclaw.skillKey, utilice esa clave en skills.entries. Escriba entre comillas los nombres con guiones: JSON5 permite claves entre comillas.

Inyección del entorno

Cuando se inicia una ejecución del agente, OpenClaw:
1

Lee los metadatos de las skills

OpenClaw resuelve la lista efectiva de skills del agente y aplica reglas de restricción, listas de permitidas y anulaciones de configuración.
2

Inyecta variables de entorno y claves de API

skills.entries.<key>.env y skills.entries.<key>.apiKey se aplican a process.env mientras dura la ejecución.
3

Crea el prompt del sistema

Las skills aptas se compilan en un bloque XML compacto y se inyectan en el prompt del sistema.
4

Restaura el entorno

Cuando finaliza la ejecución, se restaura el entorno original.
La inyección de variables de entorno se limita a la ejecución del agente en el host, no al entorno aislado. Dentro de un entorno aislado, env y apiKey no tienen efecto. Consulte Configuración de Skills para saber cómo pasar secretos a ejecuciones aisladas.
Para el backend incluido claude-cli, OpenClaw también materializa la misma instantánea de skills aptas como Plugin temporal de Claude Code y la pasa mediante --plugin-dir. Los demás backends de CLI solo utilizan el catálogo del prompt.

Instantáneas y actualización

OpenClaw crea una instantánea de las skills aptas cuando se inicia una sesión y reutiliza esa lista en todos los turnos posteriores de la sesión. Los cambios en las skills o en la configuración surten efecto en la siguiente sesión nueva. Las skills se actualizan durante una sesión en dos casos:
  • El observador de skills detecta un cambio en SKILL.md.
  • Se conecta un nuevo nodo remoto apto.
La lista actualizada se utiliza en el siguiente turno del agente. Si cambia la lista de permitidas efectiva del agente, OpenClaw actualiza la instantánea para mantener alineadas las skills visibles.
De forma predeterminada, OpenClaw observa las carpetas de skills y actualiza la instantánea cuando cambian los archivos SKILL.md. Configúrelo en skills.load:
Los eventos del observador utilizan una estabilización integrada de 250 ms. Utilice allowSymlinkTargets para estructuras intencionales con enlaces simbólicos en las que un enlace simbólico de la raíz de una skill apunta fuera de la raíz configurada, por ejemplo, <workspace>/skills/manager -> ~/Projects/manager/skills. Habilite skills.workshop.allowSymlinkTargetWrites solo cuando Skill Workshop también deba aplicar propuestas mediante esas rutas de enlaces simbólicos de confianza.
Si el Gateway se ejecuta en Linux, pero hay conectado un nodo macOS con system.run permitido, OpenClaw puede considerar aptas las skills exclusivas de macOS cuando los binarios necesarios están presentes en ese nodo. El agente debe ejecutar esas skills mediante la herramienta exec con host=node.Los nodos sin conexión no hacen visibles las skills exclusivas de acceso remoto. Si un nodo deja de responder a los sondeos de binarios, OpenClaw borra sus coincidencias de binarios almacenadas en caché.

Impacto en los tokens

Cuando hay skills aptas, OpenClaw inyecta un bloque XML compacto en el prompt del sistema. El coste es determinista y aumenta linealmente por skill:
  • Sobrecarga base (solo cuando hay 1 o más skills aptas): un bloque fijo de texto introductorio más el contenedor <available_skills>.
  • Por skill: ~97 caracteres + las longitudes de los campos name, description y location.
  • El escape de XML expande & < > " ' en entidades, lo que añade algunos caracteres por aparición.
  • Con ~4 caracteres/token, 97 caracteres ≈ 24 tokens por skill antes de las longitudes de los campos.
Si el bloque renderizado superara el presupuesto configurado del prompt (skills.limits.maxSkillsPromptChars), OpenClaw conserva primero tantas identidades de Skills (nombre, ubicación y versión) como permita el formato compacto sin descripciones. Después, utiliza el presupuesto restante para descripciones abreviadas. Si no queda presupuesto para descripciones, estas se omiten. El prompt incluye una nota que remite a openclaw skills check siempre que se requiera el formato compacto o el truncamiento de la lista. Mantenga las descripciones breves y descriptivas para minimizar la sobrecarga del prompt.

Contenido relacionado

Creación de Skills

Guía paso a paso para crear una Skill personalizada.

Taller de Skills

Cola de propuestas para Skills redactadas por agentes.

Configuración de Skills

Esquema completo de configuración de skills.* y listas de agentes permitidos.

Comandos de barra diagonal

Cómo se registran y enrutan los comandos de barra diagonal de las Skills.

ClawHub

Explore y publique Skills en el registro público.

Plugins

Los Plugins pueden incluir Skills junto con las herramientas que documentan.