Pular para o conteúdo principal

O que são Skills?

Skills são arquivos SKILL.md que você adiciona (faz commit) aos seus repositórios e que ensinam Devin como testar sua aplicação de ponta a ponta — como iniciar serviços, executar o aplicativo localmente, verificar alterações no navegador e validar que tudo funciona antes de abrir um PR. Elas seguem o padrão aberto Agent Skills, então os mesmos arquivos de skill funcionam em várias ferramentas de codificação com IA. Coloque os arquivos de skill em .agents/skills/<skill-name>/SKILL.md no seu repositório. Devin os descobre automaticamente em todos os seus repositórios conectados. Consulte a especificação Agent Skills para a referência completa do formato de arquivo.

Por que Skills São Importantes

Sem skills, Devin precisa descobrir como executar e testar sua aplicação do zero em cada sessão. Com skills, Devin sabe exatamente como:
  • Iniciar seu ambiente de desenvolvimento local — quais serviços executar, quais portas usar, como carregar dados de teste
  • Verificar alterações no navegador — quais páginas conferir, como é o estado “correto”, quais falhas sinalizar
  • Executar as suítes de teste corretas — quais comandos rodar, como é uma saída bem-sucedida

Devin Sugere Skills Automaticamente

Devin pode sugerir skills para você automaticamente. Depois que Devin testa sua aplicação ou aprende algo novo sobre sua configuração durante uma sessão, ele sugerirá criar ou atualizar uma skill para capturar esse conhecimento. Você verá uma sugestão na linha do tempo da sua sessão com:
  • Um resumo do que foi aprendido (por exemplo, “como iniciar o backend com Docker”)
  • O conteúdo proposto do arquivo SKILL.md
  • Um botão “Criar PR” para fazer commit da skill no seu repositório
Com o tempo, Devin cria uma biblioteca de skills no seu repositório sobre como executar e testar sua aplicação.

Exemplo rápido

Uma skill que instrui o Devin sobre como testar uma aplicação Next.js:
---
name: test-before-pr
description: Run the local dev server and verify pages before opening any PR that touches frontend code.
---

## Setup

1. Install dependencies: `npm install`
2. Start the database: `docker-compose up -d postgres`
3. Run migrations: `npx prisma migrate dev`
4. Start the dev server: `npm run dev`
5. Wait for "Ready on http://localhost:3000"

## Verify

1. Read the git diff to identify which pages changed
2. Open each affected page in the browser
3. Check for: console errors, layout issues, broken links
4. Screenshot each page at desktop (1280px) and mobile (375px) widths

## Before Opening the PR

1. Run `npm run lint` and fix any issues
2. Run `npm test` and confirm all tests pass
3. Include screenshots in the PR description

Descoberta de Skills

Devin descobre skills a partir de duas fontes, que são combinadas no início de cada sessão:
  1. Repositórios indexados — o back-end do Devin indexa arquivos SKILL.md em todos os repositórios conectados à sua organização. Essas skills ficam disponíveis imediatamente quando uma sessão começa, antes de qualquer repositório ser clonado.
  2. Repositórios clonados — à medida que os repositórios são clonados na máquina usada na sessão, Devin os analisa em busca de arquivos SKILL.md em disco. As skills encontradas em disco atualizam ou substituem quaisquer skills indexadas correspondentes desse mesmo repositório, garantindo que Devin use sempre a versão mais recente no branch em que está trabalhando.
Quando a clonagem de um repositório é concluída durante uma sessão, Devin faz automaticamente uma nova varredura nesse repositório para que skills novas ou modificadas sejam detectadas sem necessidade de reiniciar a sessão.

Locais compatíveis para arquivos de skill

Devin procura por arquivos SKILL.md em todos os diretórios a seguir:
  • .agents/skills/<skill-name>/SKILL.md (recomendado)
  • .github/skills/<skill-name>/SKILL.md
  • .claude/skills/<skill-name>/SKILL.md
  • .cursor/skills/<skill-name>/SKILL.md
  • .codex/skills/<skill-name>/SKILL.md
  • .cognition/skills/<skill-name>/SKILL.md
Todos os seis caminhos são varridos em cada repositório.

O que o Devin carrega de um arquivo de skill

Quando uma skill é descoberta, o Devin analisa o frontmatter em YAML (o bloco --- no topo) e extrai:
FieldPurpose
nameIdentifica a skill. Usa o nome do diretório pai como padrão se for omitido.
descriptionBreve resumo mostrado na lista de skills para que o Devin (e você) saiba o que a skill faz.
allowed-toolsRestringe quais ferramentas o Devin pode usar enquanto a skill está ativa.
O Devin também oferece suporte a estes campos adicionais de frontmatter além da especificação padrão:
FieldPurpose
argument-hintTexto de ajuda exibido ao lado do nome da skill descrevendo os argumentos esperados.
triggersControla quem pode invocar a skill — ["user", "model"] por padrão. Defina como ["user"] para impedir que o Devin a ative automaticamente.
Tudo depois do frontmatter é o corpo da skill — as instruções passo a passo que o Devin é instruído a seguir quando a skill é invocada. Consulte a especificação de Agent Skills para a referência completa do formato de arquivo. Além da especificação padrão, o Devin oferece suporte a dois tipos de conteúdo dinâmico no corpo da skill que são processados no momento da invocação:
  • $ARGUMENTS — substituído pela string completa de argumentos passada quando a skill é invocada (por exemplo, via @skills:deploy staging prod). Você também pode acessar argumentos individuais por índice: $ARGUMENTS[0] ou $0 para o primeiro, $ARGUMENTS[1] ou $1 para o segundo, etc. Os argumentos são separados por espaço em branco.
  • !`command` — o comando é executado na raiz do repositório e substituído pela sua saída padrão (stdout), permitindo que as skills incluam valores dinâmicos como nomes de branch ou números de porta.
Por exemplo, uma skill de deploy pode usar argumentos assim:
---
name: deploy
description: Deploy the app to a target environment.
argument-hint: <environment>
---

1. Check out the `$ARGUMENTS` branch
2. Run `./scripts/deploy.sh $0`
3. Verify the deployment at `https://$0.example.com`
Invocar com @skills:deploy staging faria com que $ARGUMENTS e $0 fossem substituídos por staging.

Como o Devin Usa Skills

No início de cada sessão, o Devin tem acesso a uma lista de todas as skills disponíveis (nome + descrição). Quando uma skill é invocada, o Devin lê o arquivo SKILL.md completo e injeta seu conteúdo em seu contexto atual como uma instrução em nível de sistema. Isso significa que o Devin segue ativamente as etapas da skill pelo restante da tarefa — não é apenas uma referência; ela passa a orientar diretamente o comportamento do Devin. O Devin pode usar skills de várias maneiras:

Invocação automática

Quando o Devin determina que uma skill é relevante para a tarefa atual, ele a invoca automaticamente. Por exemplo, se você pedir ao Devin para corrigir um bug em código de frontend e existir uma skill test-before-pr, o Devin irá ativá-la antes de abrir o PR. Defina triggers: ["user"] no frontmatter para impedir a invocação automática de skills que você deseja acionar apenas explicitamente.

Mencione uma skill no seu prompt

Você pode pedir ao Devin para usar uma skill específica incluindo @skills:skill-name na sua mensagem:
Fix the login bug on the /auth page @skills:test-before-pr
Você também pode passar argumentos:
@skills:deploy staging
Os argumentos são substituídos no corpo da skill sempre que $ARGUMENTS, $ARGUMENTS[0], $1, etc. forem encontrados.

Uma skill ativa de cada vez

Devin só pode ter uma skill ativa de cada vez. Invocar uma nova skill substitui a anterior. Quando uma skill está ativa, Devin é instruído a seguir suas etapas em ordem e concluir cada uma antes de passar para a próxima.

Pesquisa e listagem

Devin pode pesquisar habilidades por palavra-chave ou diretório se precisar encontrar a mais adequada no meio de uma sessão. Você também pode pedir ao Devin para listar as habilidades disponíveis ou recarregá-las depois de fazer push de alterações em um arquivo de skill.

Limitações

  • Skills globais / em nível de organização — Hoje, as skills ficam dentro de repositórios. Para skills em nível de organização, você pode criar um repositório dedicado de “skills” como solução alternativa. Estamos estudando suporte nativo para skills em nível de organização que se apliquem a todos os repositórios.
  • Composição de múltiplas skills — Atualmente, apenas uma skill pode estar ativa por vez. Estamos trabalhando em suporte para encadear e compor fluxos de trabalho.

Saiba mais

  • Agent Skills specification — o padrão aberto do formato de arquivo SKILL.md, dos campos de frontmatter e da estrutura de diretórios
  • Knowledge — para dicas e fatos contextuais (não procedimentos passo a passo)
  • Playbooks — para modelos de prompts reutilizáveis associados a sessões