Skills
Configuración de Skills
La mayor parte de la configuración de carga/instalación de Skills vive bajo skills en
~/.openclaw/openclaw.json. La visibilidad de Skills específica del agente vive bajo
agents.defaults.skills y agents.list[].skills.
{
skills: {
allowBundled: ["gemini", "peekaboo"],
load: {
extraDirs: ["~/Projects/agent-scripts/skills", "~/Projects/oss/some-skill-pack/skills"],
watch: true,
watchDebounceMs: 250,
},
install: {
preferBrew: true,
nodeManager: "npm", // npm | pnpm | yarn | bun (Gateway runtime still Node; bun not recommended)
},
entries: {
"image-lab": {
enabled: true,
apiKey: { source: "env", provider: "default", id: "GEMINI_API_KEY" }, // or plaintext string
env: {
GEMINI_API_KEY: "GEMINI_KEY_HERE",
},
},
peekaboo: { enabled: true },
sag: { enabled: false },
},
},
}
Para la generación/edición de imágenes integrada, prefiere agents.defaults.imageGenerationModel
más la herramienta principal image_generate. skills.entries.* es solo para flujos de trabajo de Skills personalizados o
de terceros.
Si seleccionas un proveedor/modelo de imagen específico, configura también la
autenticación/clave de API de ese proveedor. Ejemplos típicos: GEMINI_API_KEY o GOOGLE_API_KEY para
google/*, OPENAI_API_KEY para openai/*, y FAL_KEY para fal/*.
Ejemplos:
- Configuración nativa estilo Nano Banana Pro:
agents.defaults.imageGenerationModel.primary: "google/gemini-3-pro-image-preview" - Configuración nativa de fal:
agents.defaults.imageGenerationModel.primary: "fal/fal-ai/flux/dev"
Listas de permitidos de Skills de agente
Usa la configuración del agente cuando quieras las mismas raíces de Skills de máquina/área de trabajo, pero un conjunto visible de Skills distinto por agente.
{
agents: {
defaults: {
skills: ["github", "weather"],
},
list: [
{ id: "writer" }, // inherits defaults -> github, weather
{ id: "docs", skills: ["docs-search"] }, // replaces defaults
{ id: "locked-down", skills: [] }, // no skills
],
},
}
Reglas:
agents.defaults.skills: lista de permitidos base compartida para agentes que omitenagents.list[].skills.- Omite
agents.defaults.skillspara dejar Skills sin restricciones de forma predeterminada. agents.list[].skills: conjunto final explícito de Skills para ese agente; no se combina con los valores predeterminados.agents.list[].skills: []: no expone ninguna Skill para ese agente.
Campos
- Las raíces de Skills integradas siempre incluyen
~/.openclaw/skills,~/.agents/skills,<workspace>/.agents/skills, y<workspace>/skills. allowBundled: lista de permitidos opcional solo para Skills incluidas. Cuando se define, solo las Skills incluidas en la lista son elegibles (Skills administradas, de agente y de área de trabajo no afectadas).load.extraDirs: directorios de Skills adicionales para escanear (menor precedencia).load.watch: vigila carpetas de Skills y actualiza la instantánea de Skills (predeterminado: true).load.watchDebounceMs: debounce para eventos del vigilante de Skills en milisegundos (predeterminado: 250).install.preferBrew: prefiere instaladores de brew cuando estén disponibles (predeterminado: true).install.nodeManager: preferencia de instalador de node (npm|pnpm|yarn|bun, predeterminado: npm). Esto solo afecta a instalaciones de Skills; el runtime del Gateway debe seguir siendo Node (Bun no recomendado para WhatsApp/Telegram).openclaw setup --node-manageres más específico y actualmente aceptanpm,pnpm, obun. Defineskills.install.nodeManager: "yarn"manualmente si quieres instalaciones de Skills respaldadas por Yarn.
entries.<skillKey>: sobrescrituras por Skill.agents.defaults.skills: lista de permitidos de Skills predeterminada opcional heredada por agentes que omitenagents.list[].skills.agents.list[].skills: lista de permitidos final opcional por agente; las listas explícitas reemplazan los valores predeterminados heredados en lugar de combinarse.
Campos por Skill:
enabled: definefalsepara desactivar una Skill incluso si está incluida/instalada.env: variables de entorno inyectadas para la ejecución del agente (solo si aún no están definidas).apiKey: comodidad opcional para Skills que declaran una variable de entorno principal. Admite cadena de texto sin formato u objeto SecretRef ({ source, provider, id }).
Notas
- Las claves bajo
entriesse asignan al nombre de la Skill de forma predeterminada. Si una Skill definemetadata.openclaw.skillKey, usa esa clave en su lugar. - La precedencia de carga es
<workspace>/skills→<workspace>/.agents/skills→~/.agents/skills→~/.openclaw/skills→ Skills incluidas →skills.load.extraDirs. - Los cambios en Skills se recogen en el siguiente turno del agente cuando el vigilante está activado.
Skills en sandbox y variables de entorno
Cuando una sesión está en sandbox, los procesos de Skills se ejecutan dentro del backend de sandbox configurado. El sandbox no hereda el process.env del host.
Usa una de estas opciones:
agents.defaults.sandbox.docker.envpara el backend Docker (oagents.list[].sandbox.docker.envpor agente).- Incorpora las variables de entorno en tu imagen de sandbox personalizada o entorno de sandbox remoto.