OpenClawSkills
GitHub
Herramientas y Habilidades • 5 min de lectura

Habilidades

Habilidades: gestionadas vs espacio de trabajo, reglas de gating, y cableado de config/env

OpenClaw usa carpetas de habilidades compatibles con ''''AgentSkills'''' para enseñar al agente cómo usar herramientas. Cada habilidad es un directorio que contiene un ''SKILL.md'' con frontmatter YAML e instrucciones. OpenClaw carga ''habilidades incluidas'' más overrides locales opcionales, y las filtra al cargar basándose en entorno, config, y presencia de binarios.

Tutorial.step

Ubicaciones y precedencia

Las habilidades se cargan desde <strong>tres</strong> lugares:

1. <strong>Habilidades incluidas</strong>: enviadas con la instalación (paquete npm o OpenClaw.app)

2. '<strong>'Habilidades gestionadas/locales'</strong>': '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'~/.openclaw/skills'</code>'

3. '<strong>'Habilidades del espacio de trabajo'</strong>': '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'&lt;workspace&gt;/skills'</code>'

Si un nombre de habilidad conflictúa, la precedencia es:

''<workspace>/skills'' (más alta) → ''~/.openclaw/skills'' → habilidades incluidas (más baja)

Adicionalmente, puedes configurar carpetas de habilidades extra (precedencia más baja) via

''skills.load.extraDirs'' en ''~/.openclaw/openclaw.json''.

Tutorial.step

Habilidades por agente vs compartidas

En configuraciones <strong>multi-agente</strong>, cada agente tiene su propio espacio de trabajo. Eso significa:

- ''Habilidades por agente'' viven en ''<workspace>/skills'' solo para ese agente.

- ''Habilidades compartidas'' viven en ''~/.openclaw/skills'' (gestionadas/locales) y son visibles

para <strong>todos los agentes</strong> en la misma máquina.

- ''Carpetas compartidas'' también pueden añadirse via ''skills.load.extraDirs'' (precedencia

más baja) si quieres un pack de habilidades común usado por múltiples agentes.

Si el mismo nombre de habilidad existe en más de un lugar, la precedencia usual

aplica: espacio de trabajo gana, luego gestionadas/locales, luego incluidas.

Tutorial.step

Plugins + habilidades

Los plugins pueden enviar sus propias habilidades listando directorios ''skills'' en

''openclaw.plugin.json'' (rutas relativas a la raíz del plugin). Las habilidades del plugin cargan

cuando el plugin está habilitado y participan en las reglas normales de precedencia de habilidades.

Puedes filtrarlas via ''metadata.openclaw.requires.config'' en la entrada de config

del plugin. Ver ''Plugins'' para descubrimiento/config y ''Herramientas'' para la

superficie de herramientas que esas habilidades enseñan.

Tutorial.step

ClawHub (instalar + sincronizar)

ClawHub es el registro público de habilidades para OpenClaw. Navega en

https://clawhub.com. Úsalo para descubrir, instalar, actualizar, y respaldar habilidades.

Guía completa: ''ClawHub''.

Flujos comunes:

- Instalar una habilidad en tu espacio de trabajo:

- ''clawhub install <skill-slug>''

- Actualizar todas las habilidades instaladas:

- ''clawhub update --all''

- Sincronizar (escanear + publicar actualizaciones):

- ''clawhub sync --all''

Por defecto, ''clawhub'' instala en ''./skills'' bajo tu directorio de trabajo

actual (o recurre al espacio de trabajo OpenClaw configurado). OpenClaw lo

reconoce como ''<workspace>/skills'' en la próxima sesión.

Tutorial.step

Notas de seguridad

- Trata las habilidades de terceros como código no confiable. Léelas antes de habilitar.

- Prefiere ejecuciones en sandbox para entradas no confiables y herramientas riesgosas. Ver ''Sandboxing''.

- ''skills.entries.*.env'' y ''skills.entries.*.apiKey'' inyectan secretos en el proceso ''host''

para ese turno de agente (no el sandbox). Mantén secretos fuera de prompts y logs.

- Para un modelo de amenazas más amplio y listas de verificación, ver ''Seguridad''.

Tutorial.step

Formato (AgentSkills + compatible con Pi)

''SKILL.md'' debe incluir al menos:

Notas:

- Seguimos la especificación AgentSkills para layout/intent.

- El parser usado por el agente embebido soporta claves de frontmatter de <strong>sola línea</strong> solamente.

- ''metadata'' debe ser un ''objeto JSON de sola línea''.

- Usa ''{baseDir}'' en instrucciones para referenciar la ruta de la carpeta de habilidad.

- Claves de frontmatter opcionales:

- ''homepage'' — URL mostrada como "Sitio Web" en la UI de Habilidades macOS.

- ''user-invocable'' — ''true|false'' (predeterminado: ''true'').

- ''disable-model-invocation'' — ''true|false'' (predeterminado: ''false'').

Tutorial.step

Gating (filtros al cargar)

OpenClaw ''filtra habilidades al cargar'' usando ''metadata'' (JSON de sola línea):

Campos bajo ''metadata.openclaw'':

- ''always: true'' — siempre incluir la habilidad (saltar otros gates).

- ''emoji'' — emoji opcional usado por la UI de Habilidades macOS.

- ''homepage'' — URL opcional mostrada como "Sitio Web" en la UI de Habilidades macOS.

- ''os'' — lista opcional de plataformas (''darwin'', ''linux'', ''win32'').

- ''requires.bins'' — lista; cada uno debe existir en ''PATH''.

- ''requires.anyBins'' — lista; al menos uno debe existir en ''PATH''.

- ''requires.env'' — lista; la variable de entorno debe existir ''o'' ser proporcionada en config.

- ''requires.config'' — lista de rutas ''openclaw.json'' que deben ser truthy.

- ''primaryEnv'' — nombre de variable de entorno asociada con ''skills.entries.<name>.apiKey''.

- ''install'' — array opcional de especificaciones de instalador usado por la UI de Habilidades macOS.

Tutorial.step

Overrides de configuración

Las habilidades incluidas/gestionadas pueden ser activadas/desactivadas y suministradas con valores de entorno:

Nota: si el nombre de habilidad contiene guiones, cita la clave (JSON5 permite claves citadas).

Las claves de config coinciden con el <strong>nombre de habilidad</strong> por defecto. Si una habilidad define

''metadata.openclaw.skillKey'', usa esa clave bajo ''skills.entries''.

Reglas:

- ''enabled'' (predeterminado: ''true'') — establece en ''false'' para deshabilitar.

- ''apiKey'' — inyectado como ''primaryEnv'' (si está establecido) o ''<SKILLNAME>_API_KEY''.

- ''env'' — mapa de variables de entorno adicionales a inyectar.

- ''config'' — mapa de valores de config expuestos a la habilidad.