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.
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">'<workspace>/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''.
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.
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.
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.
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''.
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'').
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.
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.