Como Criar Habilidades Personalizadas OpenClaw

Ashley Innocent

Ashley Innocent

26 fevereiro 2026

Como Criar Habilidades Personalizadas OpenClaw

Apidog para empresas

Implantação local

SSO & RBAC

Conforme SOC 2

Explorar Apidog Enterprise

Em Resumo

O poder do OpenClaw reside em sua extensibilidade através de habilidades. Com mais de 700 habilidades construídas pela comunidade disponíveis via ClawHub e a capacidade de criar habilidades personalizadas usando arquivos SKILL.md ou TypeScript, você pode transformar seu assistente OpenClaw em uma ferramenta especializada para praticamente qualquer tarefa. Este guia cobre tudo, desde a instalação de habilidades existentes até a construção e publicação das suas próprias.

Introdução

OpenClaw já oferece capacidades poderosas prontas para uso, mas seu verdadeiro potencial é desbloqueado através de habilidades. Seja para assistência especializada em codificação, automação DevOps, ferramentas de pesquisa ou funcionalidade específica da indústria, provavelmente existe uma habilidade para isso — e se não houver, você pode construir uma.

💡
Ao construir habilidades personalizadas que interagem com APIs externas, ter as ferramentas certas para testar essas integrações é fundamental. O Apidog ajuda você a testar e depurar os endpoints de API dos quais suas habilidades dependem, garantindo integrações confiáveis.
botão

Com mais de 700 habilidades construídas pela comunidade disponíveis via ClawHub e a capacidade de criar habilidades personalizadas, o OpenClaw se torna o assistente de IA que você precisar.

Neste guia abrangente, abordaremos:

Entendendo as Habilidades do OpenClaw

O Que São Habilidades?

Habilidades são extensões modulares que adicionam capacidades específicas ao OpenClaw. Pense nelas como plugins que dão novas habilidades ao seu assistente de IA — desde o envio de tipos específicos de e-mails até a interação com APIs particulares.

Tipos de Habilidades

1. Habilidades de Linguagem Natural (SKILL.md)
A forma mais simples — escrita em Markdown com YAML frontmatter. Estas definem procedimentos operacionais que o OpenClaw segue quando certas condições são atendidas.

2. Habilidades TypeScript
Habilidades completas construídas com TypeScript que podem acessar APIs, executar lógica complexa e integrar-se profundamente com serviços externos.

3. Habilidades Baseadas em CLI
Habilidades que encapsulam ferramentas de linha de comando, permitindo que o OpenClaw use qualquer ferramenta disponível em seu sistema.

Como as Habilidades Funcionam

As habilidades são carregadas dinamicamente quando necessário (carregamento just-in-time), o que mantém o uso de memória gerenciável. Quando uma solicitação do usuário corresponde aos gatilhos de uma habilidade, o OpenClaw executa as ações definidas pela habilidade.

Categorias de Habilidades

O ClawHub hospeda habilidades em diversas categorias:

Site oficial do ClawHub

Instalando Habilidades do ClawHub

Encontrando Habilidades

Navegue pelo marketplace ClawHub em clawhub.ai ou pesquise diretamente através do OpenClaw:

# Pesquisar por habilidades
openclaw skills search "github"

# Listar habilidades populares
openclaw skills popular

# Navegar por uma categoria
openclaw skills browse devops

Instalando uma Habilidade

Depois de encontrar uma habilidade que deseja, instalá-la é simples:

# Instalar uma habilidade específica
openclaw skills install github-actions

# Instalar com uma versão específica
openclaw skills install github-actions@1.2.0

# Instalar de um publicador específico
openclaw skills install @username/skill-name

Instalando Todas as Habilidades Recomendadas

# Instalar habilidades populares de início
openclaw skills install-recommended

Verificando a Instalação

# Listar todas as habilidades instaladas
openclaw skills list

# Verificar detalhes da habilidade
openclaw skills info github-actions

Gerenciando Suas Habilidades Instaladas

Ativando e Desativando Habilidades

# Desativar uma habilidade (mantém-na instalada, mas não utilizada)
openclaw skills disable github-actions

# Ativar uma habilidade desativada
openclaw skills enable github-actions

Atualizando Habilidades

# Atualizar uma habilidade específica
openclaw skills update github-actions

# Atualizar todas as habilidades
openclaw skills update-all

Removendo Habilidades

# Desinstalar uma habilidade
openclaw skills uninstall github-actions

Configuração da Habilidade

Muitas habilidades suportam configuração personalizada:

# Configurar uma habilidade
openclaw skills config github-actions --set token=your-github-token

Ou edite o arquivo de configuração da habilidade diretamente:

# ~/.openclaw/skills/github-actions/config.yaml
token: your-github-token
default-branch: main
auto-merge: false

Construindo Habilidades Personalizadas

Quando Construir Habilidades Personalizadas

Construa uma habilidade personalizada quando precisar de:

Estrutura da Habilidade

Uma habilidade básica consiste em:

my-custom-skill/
├── SKILL.md          # Definição da habilidade (para habilidades de linguagem natural)
├── config.yaml       # Esquema de configuração
└── icon.svg          # Ícone da habilidade (opcional)

Para habilidades TypeScript:

my-typescript-skill/
├── src/
│   └── index.ts      # Código principal da habilidade
├── package.json
├── tsconfig.json
├── config.schema.json
└── skill.yaml        # Manifesto da habilidade

Criando Habilidades SKILL.md

Estrutura Básica do SKILL.md

Aqui está um arquivo SKILL.md mínimo:

---
name: weather-alert
description: Obter alertas meteorológicos para sua localização
triggers:
  - "clima"
  - "alerta meteorológico"
  - "previsão"
requires:
  - location
actions:
  - name: get_weather
    api: https://api.weather.com/v3
    params:
      location: "{location}"
---

# Habilidade de Alerta Meteorológico

Esta habilidade fornece alertas e previsões meteorológicas para sua localização.

## Configuração

Defina sua localização na configuração da habilidade:
- city: Nome da sua cidade
- units: metric ou imperial

Exemplo Completo: Habilidade de Resumo de E-mail

---
name: daily-email-summary
description: Receba um resumo diário de seus e-mails importantes
triggers:
  - "resumo de e-mail"
  - "e-mails diários"
  - "resumir meus e-mails"
requires:
  - email_access
  - api_key
actions:
  - name: fetch_emails
    method: gmail.users.messages.list
    params:
      q: "is:unread"
      maxResults: 10
  - name: summarize
    model: gpt-4
    prompt: "Resuma estes e-mails em tópicos"
---

# Habilidade de Resumo Diário de E-mail

Mantenha-se atualizado com sua caixa de entrada com resumos diários automatizados.

## Recursos

- Busca e-mails não lidos do Gmail
- Usa IA para resumir os pontos-chave
- Envia o resumo para seu canal preferido

## Configuração

1. Configure o acesso à API do Gmail nas configurações do seu OpenClaw
2. Defina seu horário de resumo preferido
3. Escolha seu canal de entrega (Telegram, Discord, etc.)

## Exemplo de Uso

Você: Envie-me meu resumo de e-mail
OpenClaw: Aqui está um resumo dos seus 8 e-mails não lidos:


### Gatilhos Avançados

Use gatilhos mais sofisticados:

```markdown
---
name: smart-reminder
triggers:
  # Frases exatas
  - "lembre-me de {ação}"
  # Padrões
  - "lembre-me em {duração}"
  # Contextual
  context:
    - channel: trabalho
      patterns: ["reunião", "prazo", "projeto"]
---

# Habilidade de Lembrete Inteligente

Lida com todas as solicitações de lembrete com análise inteligente.

Construindo Habilidades TypeScript

Para integrações mais complexas, as habilidades TypeScript fornecem controle total.

Configurando Seu Ambiente de Desenvolvimento

# Criar um novo projeto de habilidade
openclaw skills create my-awesome-skill

# Navegar para o diretório da habilidade
cd my-awesome-skill

# Instalar dependências
npm install

# Iniciar servidor de desenvolvimento
npm run dev

Estrutura de Habilidade TypeScript

// src/index.ts
import { Skill, SkillContext, SkillResult } from '@openclaw/skill-sdk';

export default class MyAwesomeSkill implements Skill {
  name = 'my-awesome-skill';
  description = 'Uma habilidade que faz algo incrível';

  // Chamado quando a habilidade é carregada
  async onLoad(context: SkillContext): Promise<void> {
    console.log('Habilidade carregada!');
  }

  // Chamado quando a habilidade corresponde a um gatilho
  async execute(context: SkillContext): Promise<SkillResult> {
    const { userMessage, config } = context;

    // Sua lógica de habilidade aqui
    const result = await this.doSomethingAwesome(userMessage.content);

    return {
      message: result,
      actions: []
    };
  }

  private async doSomethingAwesome(input: string): Promise<string> {
    // Implemente sua lógica de habilidade
    return `Você disse: ${input}`;
  }
}

Manifesto da Habilidade (skill.yaml)

name: my-awesome-skill
version: 1.0.0
description: Uma habilidade que faz algo incrível
author:
  name: Seu Nome
  email: voce@exemplo.com

triggers:
  - pattern: "faça algo incrível"
    type: exact

config:
  apiKey:
    type: string
    required: true
    description: Chave de API para o serviço

permissions:
  - network
  - filesystem

runtime: nodejs18

Esquema de Configuração (config.schema.json)

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "apiKey": {
      "type": "string",
      "description": "Chave de API para o serviço"
    },
    "enabled": {
      "type": "boolean",
      "default": true
    }
  },
  "required": ["apiKey"]
}

Construindo e Testando

# Construir a habilidade
npm run build

# Executar testes
npm test

# Empacotar para distribuição
npm run package

Exemplo: Habilidade de Integração com GitHub

Aqui está um exemplo mais completo mostrando a integração de API:

import { Skill, SkillContext, SkillResult } from '@openclaw/skill-sdk';
import axios from 'axios';

export default class GitHubSkill implements Skill {
  name = 'github';
  description = 'Interage com repositórios GitHub';

  async execute(context: SkillContext): Promise<SkillResult> {
    const { userMessage, config } = context;
    const message = userMessage.content.toLowerCase();

    if (message.includes('listar repos')) {
      return this.listRepositories(config);
    } else if (message.includes('criar issue')) {
      return this.createIssue(context);
    }

    return {
      message: 'Posso ajudar a listar repositórios, criar issues e muito mais.',
      actions: []
    };
  }

  private async listRepositories(config: any): Promise<SkillResult> {
    const response = await axios.get('https://api.github.com/user/repos', {
      headers: {
        Authorization: `token ${config.githubToken}`
      }
    });

    const repos = response.data.slice(0, 5).map((r: any) => r.name).join('\n');

    return {
      message: `Seus repositórios recentes:\n${repos}`,
      actions: []
    };
  }

  private async createIssue(context: SkillContext): Promise<SkillResult> {
    // Extrair detalhes da issue da mensagem do usuário
    return {
      message: 'Preciso de mais detalhes para criar uma issue. Por favor, especifique o repositório, título e descrição.',
      actions: [
        {
          type: 'request_input',
          fields: ['repo', 'title', 'description']
        }
      ]
    };
  }
}

Publicando Habilidades no ClawHub

Preparando Sua Habilidade para Publicação

  1. Teste exaustivamente: Garanta que sua habilidade funcione em vários cenários
  2. Adicione documentação: SKILL.md claro com exemplos
  3. Defina as permissões adequadas: Solicite apenas o acesso necessário
  4. Adicione um ícone: Crie um ícone SVG simples
  5. Controle de versão: Use versionamento semântico (1.0.0, 1.1.0, etc.)

Processo de Publicação

# Fazer login no ClawHub
openclaw skills login

# Verificar se sua habilidade está pronta
openclaw skills validate

# Publicar sua habilidade
openclaw skills publish

Requisitos de Publicação

Gerenciamento de Versão

# Aumentar versão
openclaw skills version patch  # 1.0.0 -> 1.0.1
openclaw skills version minor  # 1.0.0 -> 1.1.0
openclaw skills version major  # 1.0.0 -> 2.0.0

# Publicar nova versão
openclaw skills publish

Melhores Práticas de Segurança

Instalando Habilidades de Terceiros

Nota de Segurança Importante: O incidente ClawHavoc no início de 2026 revelou habilidades maliciosas no ClawHub. Sempre siga estas precauções:

  1. Verifique os publicadores: Instale habilidades apenas de publicadores confiáveis e verificados
  2. Revise as permissões: Verifique quais permissões a habilidade solicita
  3. Audite o código: Para habilidades TypeScript, revise o código-fonte
  4. Comece isolado: Teste as habilidades em um ambiente separado primeiro
# Verificar permissões da habilidade antes de instalar
openclaw skills inspect github-actions

Construindo Habilidades Seguras

Ao construir suas próprias habilidades:

# Sempre especifique as permissões mínimas necessárias
permissions:
  - network  # Somente se necessário
  - filesystem  # Somente se necessário

# Nunca codifique segredos diretamente
# RUIM:
const apiKey = "sk-1234567890";

# BOM:
const apiKey = process.env.API_KEY;

Configuração de Segurança Recomendada

# ~/.openclaw/security.yaml
skill_security:
  require_virustotal: true
  require_verified_publisher: false  # Defina como true para produção
  audit_permissions: true
  sandbox_mode: true

Desenvolvimento Avançado de Habilidades

Dependências de Habilidades

As habilidades podem depender de outras habilidades:

# skill.yaml
dependencies:
  - name: github
    version: ">=1.0.0"
  - name: slack
    version: ">=2.0.0"

Habilidades Orientadas a Eventos

Reaja a eventos do OpenClaw:

export default class EventSkill implements Skill {
  async onMessage(context: SkillContext): Promise<SkillResult> {
    // Chamado em cada mensagem
  }

  async onTimer(context: SkillContext): Promise<SkillResult> {
    // Chamado com base em um agendamento
  }

  async onStartup(context: SkillContext): Promise<void> {
    // Chamado quando o OpenClaw inicia
  }

  async onShutdown(context: SkillContext): Promise<void> {
    // Chamado quando o OpenClaw para
  }
}

Usando MCP com Habilidades

Combine habilidades com servidores MCP:

# skill.yaml
mcpServers:
  - name: filesystem
    command: npx @modelcontextprotocol/server-filesystem ./data
  - name: github
    command: npx @modelcontextprotocol/server-github

Resolução de Problemas

Habilidade Não Carregando

# Verificar status da habilidade
openclaw skills status my-skill

# Visualizar logs da habilidade
openclaw logs --skill my-skill

Causas comuns:

Gatilho Não Correspondendo

# Testar correspondência de gatilho
openclaw skills test-trigger "sua frase de gatilho"

Problemas de Desempenho

# Verificar uso de recursos da habilidade
openclaw skills monitor

# Desativar habilidades com alto consumo de recursos temporariamente
openclaw skills disable heavy-skill

Conclusão

O sistema de habilidades do OpenClaw o transforma de um simples assistente de IA em uma plataforma poderosa e extensível. Seja instalando habilidades construídas pela comunidade do ClawHub ou construindo suas próprias soluções personalizadas, as possibilidades são praticamente ilimitadas.

O ecossistema OpenClaw se fortalece a cada nova habilidade. Comece a construir hoje!

💡
Pronto para construir aplicativos de IA profissionais? Baixe o Apidog gratuitamente para testar e gerenciar suas integrações de serviços de IA com uma interface visual projetada para desenvolvedores.
botão
Ilustração da Especificação de Design do Apidog

Pratique o design de API no Apidog

Descubra uma forma mais fácil de construir e usar APIs