Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O agente de modernização do GitHub Copilot dá suporte a habilidades personalizadas que você pode usar para definir padrões de migração específicos da organização, uso de biblioteca interna e padrões de codificação. Usando essas habilidades personalizadas, você pode garantir uma modernização consistente em toda a sua organização ao usar o conhecimento proprietário.
O que são habilidades personalizadas?
As habilidades personalizadas seguem a especificação de habilidades do agente para ensinar o agente de modernização a executar tarefas de migração específicas usando os padrões e bibliotecas da sua organização. Quando você cria um plano de modernização, o agente detecta e aplica automaticamente habilidades personalizadas relevantes com base no prompt de migração.
As habilidades personalizadas são úteis para:
- Migrações internas de biblioteca: mudança para SDKs ou frameworks específicos da organização.
- Reutilize os padrões de migração: Capturando e reutilizando padrões de migração bem-sucedidos.
Estrutura de habilidades personalizada
Defina cada habilidade personalizada em um SKILL.md arquivo com:
- Front matter YAML: metadados para detecção de competências.
- Visão geral: descrição do cenário de migração.
- Etapas: instruções detalhadas para o agente.
- Código de exemplo: exemplos concretos que demonstram a migração.
Criar uma habilidade personalizada
Etapa 1: Criar o diretório de habilidades
Crie uma nova pasta .github/skills/ em seu repositório com um nome descritivo:
mkdir -p .github/skills/my-migration-pattern
Etapa 2: gravar o arquivo SKILL.md
Crie .github/skills/my-migration-pattern/SKILL.md com a estrutura mostrada na seção a seguir.
Campos de metadados iniciais necessários
---
name: my-migration-pattern
description: A concrete description of what this skill helps migrate
---
Importante: o description campo é crítico. O agente o usa para determinar quando aplicar a habilidade com base no prompt de migração do usuário. Torne-o preciso e específico.
Boas descrições:
- ✅ "Migrar do RabbitMQ com AMQP para o Barramento de Serviço do Azure para troca de mensagens"
- ✅ "Substituir chamadas JDBC diretas por repositórios do Spring Data"
Descrições incorretas:
- ❌ "Migração de mensagens" (muito vaga)
- ❌ "Bibliotecas de atualização" (não específicas)
- ❌ "Aprimorar código" (meta não clara)
Etapa 3: fornecer exemplos e verificações de migração
Inclua exemplos de código e verificações de verificação para orientar o agente:
- Alterações de código: trechos de código mostrando a implementação migrada com a nova abordagem.
- Alterações de configuração: atualizações para propriedades, XML ou outros arquivos de configuração.
- Alterações de dependência: atualizações de Maven, Gradle ou NuGet necessárias para a migração.
- Verificações: os critérios que o agente deve validar após a aplicação da migração.
Você também pode fornecer arquivos de recurso no diretório de habilidades e informar ao agente como usá-los no conteúdo do SKILL.md arquivo.
Usar habilidades personalizadas
Deteção automática
Quando você cria um plano de modernização, o agente automaticamente:
- Vasculha
.github/skills/em busca de habilidades personalizadas. - Compara o prompt de migração com suas descrições de habilidades.
- Incorpora habilidades relevantes ao plano.
- Usa a habilidade para orientar transformações de código.
Exemplo:
# Agent will automatically detect and use the RabbitMQ skill
modernize plan create "migrate from rabbitmq to azure service bus"
Verificação manual
Para verificar quais habilidades são detectadas:
Crie um plano com seu prompt.
Revisão
.github/modernization/{plan-name}/tasks.json.Procure referências às suas habilidades personalizadas:
"skills": [ { "name": "your-skill-name", "location": "project" } ]
Se uma habilidade não for detectada:
- Aperfeiçoe a habilidade
descriptionpara corresponder melhor ao seu prompt. - Torne o prompt mais específico.
- Verifique se
SKILL.mdestá formatado corretamente.
Repositório de exemplo
Para obter um exemplo completo, consulte o repositório de exemplo do NewsFeedSite, que inclui:
- Habilidade customizada para migração do RabbitMQ para o Azure Service Bus.
- Demonstra o uso de bibliotecas internas do JDK.
- Demonstra uma estrutura e formatação de habilidades apropriadas.
Clone e explore:
git clone https://github.com/Azure-Samples/NewsFeedSite.git
cd NewsFeedSite
ls -la .github/skills/
modernize plan create "migrate from rabbitmq to azure service bus"
Solução de problemas
Habilidade não detectada
Problema: o agente não usa sua habilidade personalizada.
Soluções:
- Verifique se o nome da habilidade na matéria frontal do YAML não contém espaços. Em vez disso, use hifens (por exemplo,
my-custom-skillnãomy custom skill). - Verifique se o
descriptioncorresponde às palavras-chave do seu prompt. - Verifique a sintaxe do cabeçalho YAML.
- Certifique-se de que
SKILL.mdestá em.github/skills/{skill-name}/. - Torne o prompt de migração mais específico.