SKILL.md com
frontmatter YAML e um corpo em Markdown. O OpenClaw carrega as Skills incluídas e
quaisquer substituições locais, filtrando-as durante o carregamento com base no
ambiente, na configuração e na presença de binários.
Criar Skills
Crie e teste uma Skill personalizada do zero.
Oficina de Skills
Revise e aprove propostas de Skills elaboradas pelo agente.
Configuração de Skills
Esquema completo de configuração
skills.* e listas de permissões de agentes.ClawHub
Explore e instale Skills da comunidade.
Ordem de carregamento
O OpenClaw carrega a partir destas fontes, da maior para a menor precedência. Quando o mesmo nome de Skill aparece em vários locais, a fonte de maior precedência prevalece.
As raízes de Skills aceitam layouts agrupados. O OpenClaw descobre uma Skill sempre que
SKILL.md aparece em qualquer local dentro de uma raiz configurada (com até 6 níveis de profundidade):
name do frontmatter (ou do nome do diretório quando name está
ausente). As listas de permissões de agentes (abaixo) também correspondem a esse name.
O diretório nativo
$CODEX_HOME/skills da Codex CLI não é uma raiz de
Skills do OpenClaw. Use openclaw migrate plan codex para inventariar essas Skills e, em seguida,
openclaw migrate codex para copiá-las para seu espaço de trabalho do OpenClaw.Skills hospedadas em Node
Um Node headless conectado pode publicar Skills instaladas no diretório ativo de Skills do OpenClaw (~/.openclaw/skills por padrão; substituições de ambiente do perfil
se aplicam). Elas aparecem na lista normal de Skills do agente enquanto o Node está conectado
e desaparecem quando ele se desconecta. Uma Skill local ou do Gateway mantém seu nome em
caso de colisão; a Skill do Node recebe um nome determinístico prefixado pelo Node.
A versão v1 de Skills hospedadas em Node exige que o nome do diretório corresponda ao campo
name do frontmatter da Skill.
A entrada da Skill inclui o localizador do Node. Seus arquivos, referências relativas e
binários ficam no Node; portanto, carregue-a e execute-a com
exec host=node node=<node-id>. Reinicie o host do Node após alterar os arquivos da Skill.
Consulte Nodes para saber como emparelhar e desativar esse recurso.
Skills por agente e compartilhadas
Em configurações com vários agentes, cada agente tem seu próprio espaço de trabalho. Use o caminho que corresponde à visibilidade desejada:Listas de permissões de agentes
A localização da Skill (precedência) e sua visibilidade (qual agente pode usá-la) são controles separados. Use listas de permissões para restringir quais Skills um agente vê, independentemente de onde elas são carregadas.Regras das listas de permissões
Regras das listas de permissões
- Omita
agents.defaults.skillspara deixar todas as Skills irrestritas por padrão. - Omita
agents.list[].skillspara herdaragents.defaults.skills. - Defina
agents.list[].skills: []para não expor nenhuma Skill a esse agente. - Uma lista
agents.list[].skillsnão vazia é o conjunto final — ela não é combinada com os padrões. - A lista de permissões efetiva se aplica à criação de prompts, à descoberta de comandos com barra, à sincronização do sandbox e aos snapshots de Skills.
- Isso não constitui um limite de autorização do shell do host. Se o mesmo agente puder
usar
exec, restrinja esse shell separadamente com sandboxing, isolamento de usuário do sistema operacional, listas de bloqueio/permissão do exec e credenciais por recurso.
Plugins e Skills
Plugins podem incluir suas próprias Skills listando diretóriosskills em
openclaw.plugin.json (caminhos relativos à raiz do Plugin). As Skills do Plugin são carregadas
quando o Plugin está habilitado — por exemplo, o Plugin de navegador inclui uma Skill
browser-automation para controle do navegador em várias etapas.
Os diretórios de Skills de Plugins são combinados no mesmo nível de baixa precedência que
skills.load.extraDirs; portanto, uma Skill incluída, gerenciada, de agente ou de espaço de trabalho
com o mesmo nome os substitui. Controle a elegibilidade da própria Skill de um Plugin por meio de
metadata.openclaw.requires em seu frontmatter, como em qualquer outra Skill.
Consulte Plugins e Ferramentas para conhecer o sistema completo de Plugins.
Oficina de Skills
A Oficina de Skills é uma fila de propostas entre o agente e seus arquivos ativos de Skills. Quando o agente identifica um trabalho reutilizável, ele elabora uma proposta em vez de gravar diretamente emSKILL.md. Você revisa e aprova
antes que qualquer alteração seja feita.
Instalação pelo ClawHub
O ClawHub é o registro público de Skills. Use os comandosopenclaw skills para instalar e atualizar, ou a CLI clawhub para
publicar e sincronizar.
Detalhes da instalação
Detalhes da instalação
Por padrão,
openclaw skills install instala no diretório skills/ do
espaço de trabalho ativo. Adicione --global para instalar no diretório compartilhado
~/.openclaw/skills, visível para todos os agentes locais, a menos que as listas de
permissões dos agentes restrinjam esse acesso.Instalações via Git e locais esperam encontrar SKILL.md na raiz da origem. O slug vem
do campo name do frontmatter de SKILL.md quando válido e, caso contrário, usa o
nome do diretório ou do repositório. Use --as <slug> para substituí-lo.
openclaw skills update rastreia apenas instalações do ClawHub — reinstale origens Git ou
locais para atualizá-las.Verificação e análise de segurança
Verificação e análise de segurança
openclaw skills verify @owner/<slug> solicita ao ClawHub o envelope de
confiança clawhub.skill.verify.v1 da Skill. As Skills instaladas pelo ClawHub são verificadas
em relação à versão e ao registro gravados em .clawhub/origin.json.
Slugs sem proprietário continuam aceitos para Skills já instaladas ou não ambíguas, mas
referências qualificadas pelo proprietário evitam ambiguidades quanto ao publicador.As páginas de Skills do ClawHub exibem o estado da análise de segurança mais recente antes da instalação,
com páginas de detalhes para VirusTotal, ClawScan e análise estática. O
comando retorna um código diferente de zero quando o ClawHub marca a verificação como falha. Publicadores
podem corrigir falsos positivos pelo painel do ClawHub ou com
clawhub skill rescan @owner/<slug>.Instalações de arquivos privados
Instalações de arquivos privados
Clientes do Gateway que precisam de distribuição fora do ClawHub podem preparar um arquivo ZIP de Skill
com
skills.upload.begin, skills.upload.chunk e skills.upload.commit
e, em seguida, instalá-lo com skills.install({ source: "upload", ... }). Esse caminho fica
desativado por padrão e exige skills.install.allowUploadedArchives: true em
openclaw.json. Instalações normais pelo ClawHub nunca precisam dessa configuração.Segurança
Contenção de caminhos
Contenção de caminhos
A descoberta de Skills no espaço de trabalho, no agente do projeto e em diretórios adicionais aceita apenas raízes de
Skills cujo caminho real resolvido permaneça dentro da raiz configurada, a menos que
skills.load.allowSymlinkTargets confie explicitamente em uma raiz de destino.
A Oficina de Skills grava por meio desses destinos confiáveis somente quando
skills.workshop.allowSymlinkTargetWrites está habilitado.
Os diretórios gerenciado ~/.openclaw/skills e pessoal ~/.agents/skills podem conter
pastas de Skills vinculadas simbolicamente, mas o caminho real de cada SKILL.md ainda deve
permanecer dentro do diretório resolvido da respectiva Skill.Política de instalação do operador
Política de instalação do operador
Configure
security.installPolicy para executar um comando de política local confiável
antes que as instalações de Skills prossigam. A política recebe metadados e o caminho da
origem preparada, aplica-se ao ClawHub, a uploads, ao Git, a origens locais, a atualizações e aos
caminhos do instalador de dependências, e falha de forma segura quando o comando não consegue retornar
uma decisão válida.Escopo da injeção de segredos
Escopo da injeção de segredos
skills.entries.*.env e skills.entries.*.apiKey injetam segredos no processo do
host somente durante esse turno do agente — não no sandbox. Mantenha
segredos fora de prompts e logs.Formato de SKILL.md
Toda Skill precisa, no mínimo, dename e description no frontmatter:
O OpenClaw segue a especificação AgentSkills. O frontmatter
é analisado primeiro como YAML; se isso falhar, o sistema recorre a um
analisador que aceita apenas uma única linha. Blocos
metadata aninhados
(incluindo mapeamentos YAML multilinha) são convertidos em uma string JSON e
analisados novamente como JSON5; portanto, o formato de bloco mostrado em
Controle de acesso funciona. Use {baseDir} no corpo para
referenciar o caminho da pasta da skill.Chaves opcionais do frontmatter
string
URL exibida como “Website” na interface de Skills do macOS. Também é
compatível por meio de
metadata.openclaw.homepage.boolean
padrão:"true"
Quando
true, a skill é disponibilizada como um comando de barra invocável
pelo usuário.boolean
padrão:"false"
Quando
true, o OpenClaw mantém as instruções da skill fora do prompt normal
do agente. A skill continua disponível como um comando de barra quando
user-invocable também é true."tool"
Quando definido como
tool, o comando de barra ignora o modelo e é
encaminhado diretamente para uma ferramenta registrada.string
Nome da ferramenta a ser invocada quando
command-dispatch: tool estiver
definido."raw"
padrão:"raw"
Para o encaminhamento à ferramenta, repassa a string de argumentos bruta à
ferramenta sem análise pelo núcleo. A ferramenta recebe
{ command: "<raw args>", commandName: "<slash command>", skillName: "<skill name>" }.Controle de acesso
O OpenClaw filtra as skills no momento do carregamento usandometadata.openclaw (objeto JSON5 incorporado ao frontmatter; consulte a
observação sobre análise acima). Uma skill sem um bloco metadata.openclaw
sempre é elegível, a menos que seja explicitamente desativada.
boolean
Quando
true, sempre inclui a skill e ignora todos os outros controles.string
Emoji opcional exibido na interface de Skills do macOS.
string
URL opcional exibida como “Website” na interface de Skills do macOS.
("darwin" | "linux" | "win32")[]
Filtro de plataforma. Quando definido, a skill só é elegível em um sistema
operacional listado.
string[]
Cada binário deve existir no
PATH.string[]
Pelo menos um binário deve existir no
PATH.string[]
Cada variável de ambiente deve existir no processo ou ser fornecida pela
configuração.
string[]
Cada caminho de
openclaw.json deve ter um valor verdadeiro.string
Nome da variável de ambiente associada a
skills.entries.<name>.apiKey.object[]
Especificações opcionais de instalação usadas pela interface de Skills do
macOS (brew / node / go / uv / download).
Blocos legados
metadata.clawdbot ainda são aceitos quando
metadata.openclaw está ausente, para que skills instaladas mais antigas
mantenham seus controles de dependência e suas dicas de instalação. Novas
skills devem usar metadata.openclaw.Especificações de instalação
As especificações de instalação informam à interface de Skills do macOS como instalar uma dependência:Regras de seleção do instalador
Regras de seleção do instalador
- Quando vários instaladores são listados, o Gateway escolhe uma opção preferencial (brew quando disponível; caso contrário, node).
- Se todos os instaladores forem
download, o OpenClaw lista cada entrada para que você possa ver todos os artefatos disponíveis. - As especificações podem incluir
os: ["darwin"|"linux"|"win32"]para filtrar por plataforma. - Instalações com Node respeitam
skills.install.nodeManageremopenclaw.json(padrão: npm; opções: npm / pnpm / yarn / bun). Isso afeta apenas instalações de skills; o ambiente de execução do Gateway ainda deve ser Node. - Preferência de instalador do Gateway: Homebrew → uv → gerenciador de node configurado → go → download.
Detalhes por instalador
Detalhes por instalador
- Homebrew: o OpenClaw não instala o Homebrew automaticamente nem
converte fórmulas do brew em comandos do gerenciador de pacotes do
sistema. Em contêineres Linux sem
brew, instaladores exclusivos do brew ficam ocultos; use uma imagem personalizada ou instale a dependência manualmente. - Go: o OpenClaw exige Go 1.21 ou mais recente para instalações
automáticas de skills. Se
goestiver ausente e o Homebrew estiver disponível, o OpenClaw primeiro instalará o Go por meio do Homebrew; no Linux sem Homebrew, ele poderá usarapt-getcomo root ou por meio desudosem senha quando o candidato atualizadogolang-goatender à versão mínima. Ogo installefetivo da dependência sempre usa como destino um diretório de binários dedicado e gerenciado pelo OpenClaw (obindo Homebrew em uma instalação nova; caso contrário,~/.local/bin), em vez doGOBINconfigurado — suas próprias variáveis de ambienteGOBIN,GOPATHeGOTOOLCHAINsão lidas, mas nunca sobrescritas. - Download:
url(obrigatório),archive(tar.gz|tar.bz2|zip),extract(padrão: automático quando um arquivo compactado é detectado),stripComponents,targetDir(padrão:~/.openclaw/tools/<skillKey>).
Observações sobre isolamento
Observações sobre isolamento
requires.bins é verificado no host no momento do carregamento da
skill. Se um agente for executado em um ambiente isolado, o binário também
deverá existir dentro do contêiner. Instale-o por meio de
agents.defaults.sandbox.docker.setupCommand ou de uma imagem
personalizada. setupCommand é executado uma vez após a criação do
contêiner e exige acesso de saída à rede, um sistema de arquivos raiz
gravável e um usuário root no ambiente isolado.Substituições de configuração
Ative e configure skills incluídas ou gerenciadas emskills.entries no
arquivo ~/.openclaw/openclaw.json:
boolean
false desativa a skill mesmo quando ela está incluída ou instalada. A skill
incluída coding-agent exige ativação — defina
skills.entries.coding-agent.enabled: true e garanta que claude, codex,
opencode ou outra CLI compatível esteja instalada e autenticada.string | { source, provider, id }
Campo de conveniência para skills que declaram
metadata.openclaw.primaryEnv. Aceita uma string de texto simples ou um
objeto SecretRef.Record<string, string>
Variáveis de ambiente injetadas na execução do agente. A injeção ocorre
apenas quando a variável ainda não está definida no processo.
object
Conjunto opcional de campos de configuração personalizados por skill.
string[]
Lista de permissões opcional apenas para skills incluídas. Quando
definida, somente as skills incluídas na lista são elegíveis. Skills
gerenciadas e do espaço de trabalho não são afetadas.
Por padrão, as chaves de configuração correspondem ao nome da skill. Se
uma skill definir
metadata.openclaw.skillKey, use essa chave em
skills.entries. Coloque nomes com hífen entre aspas: o JSON5 permite chaves
entre aspas.Injeção de ambiente
Quando uma execução de agente é iniciada, o OpenClaw:1
Lê os metadados das skills
O OpenClaw resolve a lista efetiva de skills do agente, aplicando regras de
controle, listas de permissões e substituições de configuração.
2
Injeta variáveis de ambiente e chaves de API
skills.entries.<key>.env e skills.entries.<key>.apiKey são aplicados a
process.env durante a execução.3
Cria o prompt do sistema
As skills elegíveis são compiladas em um bloco XML compacto e injetadas no
prompt do sistema.
4
Restaura o ambiente
Após o término da execução, o ambiente original é restaurado.
claude-cli, o OpenClaw também materializa o mesmo
snapshot de skills elegíveis como um Plugin temporário do Claude Code e o
transmite por meio de --plugin-dir. Outros backends de CLI usam apenas o
catálogo do prompt.
Snapshots e atualização
O OpenClaw cria um snapshot das skills elegíveis quando uma sessão é iniciada e reutiliza essa lista em todos os turnos seguintes da sessão. Alterações nas skills ou na configuração entram em vigor na próxima sessão nova. As Skills são atualizadas durante a sessão em dois casos:- O monitor de skills detecta uma alteração em
SKILL.md. - Um novo node remoto elegível se conecta.
Monitor de Skills
Monitor de Skills
Por padrão, o OpenClaw monitora as pastas de skills e atualiza o snapshot
quando arquivos Use
SKILL.md são alterados. Configure em skills.load:allowSymlinkTargets para estruturas intencionais com links simbólicos
em que o link simbólico da raiz de uma skill aponta para fora da raiz
configurada, por exemplo,
<workspace>/skills/manager -> ~/Projects/manager/skills.
Ative skills.workshop.allowSymlinkTargetWrites somente quando o Skill
Workshop também precisar aplicar propostas por meio desses caminhos
confiáveis com links simbólicos.Nodes macOS remotos (Gateway Linux)
Nodes macOS remotos (Gateway Linux)
Se o Gateway for executado no Linux, mas um node macOS estiver conectado
com
system.run permitido, o OpenClaw poderá considerar elegíveis as skills
exclusivas do macOS quando os binários necessários estiverem presentes
nesse node. O agente deve executar essas skills por meio da ferramenta
exec com host=node.Nodes offline não tornam visíveis skills exclusivamente remotas. Se um
node parar de responder às sondagens de binários, o OpenClaw removerá as
correspondências de binários armazenadas em cache.Impacto em tokens
Quando as skills são elegíveis, o OpenClaw injeta um bloco XML compacto no prompt do sistema. O custo é determinístico e cresce linearmente por skill:- Sobrecarga básica (somente quando uma ou mais skills são elegíveis): um
bloco fixo de texto introdutório mais o invólucro
<available_skills>. - Por skill: aproximadamente 97 caracteres mais os comprimentos dos campos
name,descriptionelocation. - O escape de XML expande
& < > " 'em entidades, adicionando alguns caracteres por ocorrência. - Com aproximadamente 4 caracteres por token, 97 caracteres ≈ 24 tokens por skill antes dos comprimentos dos campos.
skills.limits.maxSkillsPromptChars), o OpenClaw primeiro preservará o máximo possível de
identidades de Skills (nome, localização e versão) que couberem no formato
compacto sem descrições. Em seguida, usará o orçamento restante para descrições
abreviadas. Se não restar orçamento para descrições, elas serão omitidas. O prompt
incluirá uma observação indicando openclaw skills check sempre que for necessário
usar a formatação compacta ou truncar a lista.
Mantenha as descrições curtas e informativas para minimizar a sobrecarga do prompt.
Conteúdo relacionado
Criação de Skills
Guia passo a passo para criar uma Skill personalizada.
Oficina de Skills
Fila de propostas de Skills elaboradas por agentes.
Configuração de Skills
Esquema completo de configuração de
skills.* e listas de permissões de agentes.Comandos de barra
Como os comandos de barra de Skills são registrados e roteados.
ClawHub
Explore e publique Skills no registro público.
Plugins
Plugins podem incluir Skills junto com as ferramentas que documentam.