Pular para o conteúdo principal

Visão Geral

Skills são diretórios autocontidos que fornecem aos agentes instruções, diretrizes e material de referência específicos de domínio. Cada skill é definida por um arquivo SKILL.md com frontmatter YAML e um corpo em markdown. Quando ativada, as instruções de uma skill são injetadas diretamente no prompt da tarefa do agente — dando ao agente expertise sem exigir alterações de código.
Skills NÃO são ferramentas. Este é o ponto de confusão mais comum.
  • Skills injetam instruções e contexto no prompt do agente. Elas dizem ao agente como pensar sobre um problema.
  • Ferramentas dão ao agente funções chamáveis para tomar ações (buscar, ler arquivos, chamar APIs).
Frequentemente você precisa de ambos: skills para expertise, ferramentas para ação. Eles são configurados independentemente e se complementam.

Início Rápido

1. Crie uma Skill com a CLI

A CLI é a forma suportada de criar uma skill — ela gera a estrutura de diretórios e um SKILL.md válido para você:
Terminal
Dentro de um projeto de crew (onde o pyproject.toml está) isso cria ./skills/code-review/; fora de um projeto, cria ./code-review/ no diretório atual (você pode forçar esse comportamento com --no-project):

2. Escreva seu SKILL.md

3. Anexe a um Agente

O agente agora tem tanto expertise (da skill) quanto capacidades (das ferramentas).

Skills + Ferramentas: Trabalhando Juntos

Aqui estão padrões comuns mostrando como skills e ferramentas se complementam:

Padrão 1: Apenas Skills (Expertise de Domínio, Sem Ações Necessárias)

Use quando o agente precisa de instruções específicas mas não precisa chamar serviços externos:

Padrão 2: Apenas Ferramentas (Ações, Sem Expertise Especial)

Use quando o agente precisa tomar ações mas não precisa de instruções específicas de domínio:

Padrão 3: Skills + Ferramentas (Expertise E Ações)

O padrão mais comum no mundo real. A skill fornece como abordar o trabalho; ferramentas fornecem o que o agente pode fazer:

Padrão 4: Skills + MCPs

Skills funcionam junto com servidores MCP da mesma forma que com ferramentas:

Padrão 5: Skills + Apps

Skills podem guiar como um agente usa integrações de plataforma:

Criando, Publicando e Instalando Skills

Skills têm um ciclo de vida completo gerenciado pela CLI: crie-as com crewai skill create, publique-as com crewai skill publish — criar diretórios à mão funciona para experimentos locais, mas a CLI é o fluxo de trabalho pretendido e mantém a estrutura e o frontmatter da sua skill válidos.

Criar

Terminal
Gera o diretório (em ./skills/ dentro de um projeto de crew) com um SKILL.md de template, além dos diretórios vazios scripts/, references/ e assets/. Edite o SKILL.md para definir as instruções.

Publicar

Execute de dentro do diretório da skill (onde o SKILL.md está):
Terminal
A publicação lê name, description e metadata.version do frontmatter do SKILL.md e envia a skill para o registro da CrewAI. Skills publicadas são sempre escopadas à sua organização — assim como ferramentas, apenas membros da organização que publicou podem vê-las e instalá-las; não há visibilidade pública. Flags úteis:

Instalar

Instale uma skill publicada pela sua referência @org-uuid/name:
Terminal
Use o UUID da sua organização, não o nome — nomes de organização não são únicos, então um nome pode resolver para a organização errada e a instalação falha com um erro de “não encontrado”. Execute crewai org list para ver o UUID (a coluna ID) de cada organização à qual você pertence.
Dentro de um projeto de crew, a skill é colocada em ./skills/{name}/; fora de um projeto, vai para o cache compartilhado em ~/.crewai/skills/{org-uuid}/{name}/. Agentes também podem referenciar skills do registro diretamente — elas são resolvidas a partir do cache local (ou do diretório skills/ do projeto) em tempo de execução:

Buscar

Lista as skills publicadas na sua organização no AMP, opcionalmente filtradas por um termo comparado ao handle e à descrição de cada skill:
Terminal
Cada linha começa com o status da verificação de segurança da versão mais recente (passed, pending ou failed; só uma versão passed é instalada), seguido de <handle>@<latest-version> e da descrição. Um handle ou versão com caracteres que uma referência não pode conter aparece entre aspas. Uma linha acima das skills traz o UUID da organização atual na referência que o skills de um agente aceita, @<org-uuid>/<handle>@<version>; o crewai skill install aceita @<org-uuid>/<handle>. Defina a organização antes com crewai org switch <org-uuid>. Uma skill marcada com (public) pode pertencer a outra organização, cujo UUID a referência dela exige; a lista não o mostra.

Listar

Terminal
Mostra as skills instaladas tanto do diretório ./skills/ do projeto quanto do cache global, com suas versões e caminhos.

Skills no Nível do Crew

Skills podem ser definidas no crew para aplicar a todos os agentes:
Skills no nível do agente têm prioridade — se a mesma skill é descoberta em ambos os níveis, a versão do agente é usada.

Formato do SKILL.md

Campos do Frontmatter


Estrutura de Diretório

O nome do diretório deve corresponder ao campo name no SKILL.md. Os diretórios scripts/, references/ e assets/ estão disponíveis no path da skill para agentes que precisam referenciar arquivos diretamente.

Skills Pré-carregadas

Para mais controle, você pode descobrir e ativar skills programaticamente:

Como as Skills São Carregadas

Skills usam divulgação progressiva — carregando apenas o necessário em cada estágio: Durante a execução normal do agente (passando caminhos de diretório via skills=["./skills"]), skills são automaticamente descobertas e ativadas. O carregamento progressivo só importa quando usando a API programática.

Skills vs Knowledge

Tanto skills quanto knowledge modificam o prompt do agente, mas servem propósitos diferentes: Regra prática: Se o agente precisa seguir um processo, use uma skill. Se o agente precisa consultar dados, use knowledge.

Perguntas Frequentes

Depende do seu caso de uso. Skills e ferramentas são independentes — você pode usar qualquer um, ambos ou nenhum.
  • Apenas skills: Quando o agente precisa de expertise mas não de ações externas (ex: escrever com diretrizes de estilo)
  • Apenas ferramentas: Quando o agente precisa de ações mas não de metodologia especial (ex: busca simples na web)
  • Ambos: Quando o agente precisa de expertise E ações (ex: auditoria de segurança com checklists específicas E capacidade de escanear código)
Não. O campo allowed-tools no SKILL.md é apenas metadado experimental — ele não provisiona nem injeta nenhuma ferramenta. Você deve sempre definir ferramentas separadamente via tools=[], mcps=[] ou apps=[].
A skill no nível do agente tem prioridade. Skills são deduplicadas por nome — as skills do agente são processadas primeiro, então se o mesmo nome de skill aparece em ambos os níveis, a versão do agente é usada.
Há um aviso suave em 50.000 caracteres, mas sem limite rígido. Mantenha skills focadas e concisas para melhores resultados — injeções de prompt muito grandes podem diluir a atenção do agente.