Skip to main content

Adicionando habilidades de agente para GitHub Copilot

Você pode modificar Copilot o comportamento e as habilidades quando ele executa tarefas específicas.

Observação

As habilidades do agente funcionam com agente de nuvem Copilot, o CLI do GitHub Copilot e o modo de agente em Visual Studio Code.

As habilidades do agente são pastas de instruções, scripts e recursos que Copilot podem ser carregados quando relevantes para melhorar seu desempenho em tarefas especializadas. Para obter mais informações, consulte Sobre as habilidades do agente.

Criando e adicionando uma habilidade

Para criar uma habilidade de agente, você escreve um SKILL.md arquivo e, opcionalmente, outros recursos, como arquivos markdown suplementares ou scripts, que você faz referência nas SKILL.md instruções.

  1. Se você ainda não fez isso, crie um skills diretório em um dos locais a seguir. É aqui que você localizará sua habilidade e qualquer outra que você queira criar no futuro.

    Para habilidades de projeto, específicas para um único repositório, crie um .github/skills, .claude/skillsou .agents/skills diretório em seu repositório.

    Para habilidades pessoais compartilhadas entre projetos, crie um diretório ~/.copilot/skills, ~/.claude/skills ou ~/.agents/skills em seu diretório local.

  2.        `skills` No diretório, crie um subdiretório para sua nova habilidade. Cada habilidade deve ter seu próprio diretório (por exemplo, `.github/skills/webapp-testing`).
    

    Os nomes de subdiretórios para habilidades devem ser minúsculos e substituir espaços por hifens.

  3. Em seu subdiretório de habilidades, crie um SKILL.md arquivo que contenha as instruções de sua habilidade.

    Importante

    Os arquivos de skill devem ser nomeados SKILL.md.

           `SKILL.md` arquivos são arquivos Markdown com página inicial YAML. Em sua forma mais simples, eles incluem:
    
    • Front matter YAML
      • nome (obrigatório): um identificador exclusivo para a habilidade. O texto deve estar em minúsculas, usando hifens para espaços. Normalmente, isso corresponde ao nome do diretório da habilidade.
      • descrição (obrigatório): uma descrição do que a habilidade faz e quando Copilot deve usá-la.
      • licença (opcional): uma descrição da licença que se aplica a essa habilidade.
    • Um corpo em Markdown, com as instruções, exemplos e diretrizes a serem seguidas por Copilot.
  4. Opcionalmente, adicione scripts, exemplos ou outros recursos ao diretório da sua habilidade.

    Para obter mais informações, consulte "Habilitando uma habilidade para executar um script".

Arquivo de exemplo SKILL.md

Para uma habilidade de projeto, esse arquivo estaria localizado em um .github/skills/github-actions-failure-debugging diretório do repositório.

Para uma experiência pessoal, esse arquivo estaria localizado em um ~/.copilot/skills/github-actions-failure-debugging diretório.

Markdown
---
name: github-actions-failure-debugging
description: Guide for debugging failing GitHub Actions workflows. Use this when asked to debug failing GitHub Actions workflows.
---

To debug failing GitHub Actions workflows in a pull request, follow this process, using tools provided from the GitHub MCP Server:

1. Use the `list_workflow_runs` tool to look up recent workflow runs for the pull request and their status
2. Use the `summarize_job_log_failures` tool to get an AI summary of the logs for failed jobs, to understand what went wrong without filling your context windows with thousands of lines of logs
3. If you still need more information, use the `get_job_logs` or `get_workflow_run_logs` tool to get the full, detailed failure logs
4. Try to reproduce the failure yourself in your own environment.
5. Fix the failing build. If you were able to reproduce the failure yourself, make sure it is fixed before committing your changes.

Habilitando uma habilidade para executar um script

Quando uma habilidade é invocada, Copilot descobre automaticamente todos os arquivos no diretório da habilidade e os disponibiliza junto com as instruções da habilidade. Isso significa que você pode incluir scripts ou outros recursos no diretório de habilidades e referenciá-los em suas SKILL.md instruções.

Para criar uma habilidade que executa um script:

  1.        **Adicione o script ao diretório da sua habilidade.** Por exemplo, uma habilidade para converter imagens SVG em PNG pode ter a estrutura a seguir.
    
    .github/skills/image-convert/
    ├── SKILL.md
    └── convert-svg-to-png.sh
    
  2.        **Opcionalmente, aprove previamente as ferramentas necessárias para a competência.** No frontmatter `SKILL.md`, você pode utilizar o campo `allowed-tools` para listar as ferramentas que Copilot podem usar sem solicitar confirmações a cada vez. Se uma ferramenta não estiver listada no `allowed-tools` campo, Copilot solicitará permissão antes de usá-la.
    
    ---
    name: image-convert
    description: Converts SVG images to PNG format. Use when asked to convert SVG files.
    allowed-tools: shell
    ---
    

    Aviso

    Somente aprove previamente as ferramentas shell ou bash se você tiver revisado esta habilidade, bem como quaisquer scripts referenciados, e confia plenamente na fonte deles. A pré-aprovação de shell ou bash remove a etapa de confirmação para a execução de comandos no terminal e pode permitir que habilidades controladas por atacantes ou injeções de prompts executem comandos arbitrários em seu ambiente. Quando estiver em dúvida, omita shell e bash de allowed-tools modo que Copilot deve solicitar sua confirmação explícita antes de executar comandos de terminal.

  3.        **Escreva instruções que informam Copilot como usar o script.** No corpo de Markdown de `SKILL.md`, descreva quando e como executar o script.
    
    When asked to convert an SVG to PNG, run the `convert-svg-to-png.sh` script
    from this skill's base directory, passing the input SVG file path as the
    first argument.
    

Adicionando uma habilidade que outra pessoa criou

Além de criar suas próprias habilidades, você também pode adicionar habilidades que outras pessoas criaram.

Dica

Você também pode usar gh skill em GitHub CLI para pesquisar, instalar, atualizar e publicar habilidades do agente. Para obter mais informações, consulte Adicionando habilidades de agente para GitHub Copilot.

  1. Baixe um diretório de habilidades (ou seja, um diretório que contém um arquivo SKILL.md e, opcionalmente, outros arquivos e subdiretórios).

    Por exemplo, baixe uma habilidade do repositório Awesome GitHub Copilot : https://awesome-copilot.github.com/skills/.

  2. Se você baixou um .zip arquivo, descompacte isso.

  3. Mova o diretório de habilidades para o local necessário:

    • Para habilidades de projeto específicas para um único repositório: .github/skills, .claude/skills, ou .agents/skills em seu repositório.

    • Para habilidades pessoais, compartilhadas entre projetos: ~/.copilot/skills, ~/.claude/skills, ou ~/.agents/skills em seu diretório pessoal local.

Gerenciando habilidades com GitHub CLI

Observação

          `gh skill` está dentro versão prévia pública e sujeito a alterações. Para usá-lo, atualize GitHub CLI para a versão 2.90.0 ou posterior.

Você pode usar o comando gh skill em GitHub CLI para descobrir, instalar, atualizar e publicar habilidades de agente de repositórios GitHub.

Para obter a lista completa de gh skill subcomandos, execute gh skill --help ou veja a gh skill seção do GitHub CLI manual.

Instalando habilidades

Você pode pesquisar habilidades, pré-visualizá-las e instalá-las em GitHub repositórios.

Aviso

As habilidades não são verificadas GitHub e podem conter injeções de prompt, instruções ocultas ou scripts maliciosos. Sempre inspecione o conteúdo de uma habilidade antes da instalação usando gh skill preview.

  1. Pesquise habilidades por tópico:

    gh skill search TOPIC
    
  2. Visualize um recurso para inspecionar seu conteúdo antes de instalar. Isso renderiza a habilidade SKILL.md e a árvore de arquivos em seu terminal sem instalar nada.

    gh skill preview OWNER/REPOSITORY SKILL
    
  3. Instale uma habilidade. Você pode executar gh skill install sem argumentos para um fluxo totalmente interativo ou especificar um repositório para procurar suas habilidades interativamente:

    gh skill install OWNER/REPOSITORY
    

    Para instalar uma habilidade específica diretamente:

    gh skill install OWNER/REPOSITORY SKILL
    

    Por exemplo, para instalar uma habilidade do github/awesome-copilot repositório:

    Shell
    gh skill install github/awesome-copilot documentation-writer
    

    Você pode instalar uma versão específica usando @TAG ou @SHA:

    Shell
    gh skill install github/awesome-copilot documentation-writer@v1.2.0
    

    Para bloquear uma habilidade em uma versão específica (ou confirmar SHA) para que ela seja ignorada durante as atualizações, use --pin:

    Shell
    gh skill install github/awesome-copilot documentation-writer --pin v1.2.0
    

    Observação

    A sintaxe @VERSION e o sinalizador --pin são mutuamente exclusivos. Use um ou outro, não ambos.

    Para instalar uma habilidade para um host de agente específico, use o --agent sinalizador. Para controlar o escopo de instalação, use --scope:

    Shell
    gh skill install github/awesome-copilot documentation-writer --agent claude-code --scope user
    

As habilidades são instaladas automaticamente no diretório correto para o host do agente. Por padrão, as habilidades são instaladas no escopo do projeto para Copilot.

Atualizando habilidades

Quando você instala uma habilidade com gh skill, os metadados de procedência são gravados na frontmatter da SKILL.md, incluindo o repositório de origem, o ref e o SHA da árvore. O gh skill update comando usa esses metadados para verificar se há alterações upstream.

Para verificar se há atualizações interativamente:

gh skill update

Para atualizar uma habilidade específica:

gh skill update SKILL

Para atualizar todas as habilidades instaladas sem solicitar:

gh skill update --all

As habilidades fixadas são ignoradas durante as atualizações. Para atualizar uma habilidade fixada, reinstale-a com um novo valor --pin.

Habilidades de publicação

Se você mantiver um repositório de habilidades, poderá validar e publicar suas habilidades usando GitHub CLI.

Para validar suas habilidades em relação à especificação de Habilidades do Agente e verificar configurações remotas como proteção de marca, verificação secreta e verificação de código, sem publicação, use --dry-run:

gh skill publish --dry-run

Para corrigir automaticamente problemas de metadados em seus arquivos de habilidade, use --fix. Isso não publica suas habilidades:

gh skill publish --fix

Para validar e publicar suas habilidades:

gh skill publish

Como Copilot usa as habilidades do agente

Ao executar tarefas, Copilot decidirá quando usar suas habilidades com base na sua solicitação e na descrição da habilidade.

Quando Copilot opta por usar uma habilidade, o arquivo SKILL.md será injetado no contexto do agente, dando ao agente acesso às suas instruções. Em seguida, ele pode seguir essas instruções e usar scripts ou exemplos que você possa ter incluído no diretório da habilidade.

Habilidades versus instruções personalizadas

Você pode usar habilidades e instruções personalizadas para ensinar Copilot como trabalhar em seu repositório e como executar tarefas específicas.

É recomendável usar instruções personalizadas para instruções simples relevantes para quase todas as tarefas (por exemplo, informações sobre os padrões de codificação do repositório) e habilidades para instruções mais detalhadas que Copilot só devem ser acessadas quando forem relevantes.

Para saber mais sobre instruções personalizadas do repositório, consulte Adicionando instruções personalizadas do repositório para GitHub Copilot.