Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Агент модернизации GitHub Copilot поддерживает пользовательские навыки, которые можно использовать для определения шаблонов миграции для конкретной организации, использования внутренней библиотеки и стандартов кодирования. Используя эти пользовательские навыки, вы можете обеспечить согласованную модернизацию в организации при использовании собственных знаний.
Что такое пользовательские навыки?
Настраиваемые навыки соответствуют спецификации навыков агента, чтобы научить агент модернизации выполнять определенные задачи миграции с использованием шаблонов и библиотек вашей организации. При создании плана обновления агент автоматически обнаруживает и применяет соответствующие пользовательские навыки в зависимости от вашего запроса на миграцию.
Пользовательские навыки полезны для:
- Миграция внутренней библиотеки: переход на пакеты SDK для конкретной организации или платформы.
- Повторно используйте шаблоны миграции: регистрация и повторное использование успешных шаблонов миграции.
Настраиваемая структура навыка
Определите каждый пользовательский навык в файле SKILL.md, используя:
- Интерфейс YAML: метаданные для обнаружения навыков.
- Обзор. Описание сценария миграции.
- Действия. Подробные инструкции для агента.
- Пример кода: конкретные примеры, демонстрирующие миграцию.
Создайте пользовательский навык
Шаг 1. Создание каталога навыка
Создайте папку в .github/skills/ репозитории с описательным именем:
mkdir -p .github/skills/my-migration-pattern
Шаг 2. Создайте файл SKILL.md
Создайте .github/skills/my-migration-pattern/SKILL.md с той структурой, которая показана в следующем разделе.
Обязательные поля метаданных
---
name: my-migration-pattern
description: A concrete description of what this skill helps migrate
---
Важно:description поле имеет решающее значение. Агент использует его для определения момента применения навыка на основе миграционного запроса пользователя. Сделайте его конкретным и точным.
Хорошие описания:
- ✅ "Миграция из RabbitMQ с AMQP в служебную шину Azure для обмена сообщениями"
- ✅ "Замените прямые вызовы JDBC репозиториями Spring Data"
Недопустимые описания:
- ❌ "Миграция сервисов обмена сообщениями" (слишком расплывчатая)
- ❌ "Обновить библиотеки" (не конкретно)
- ❌ "Улучшение кода" (неясная цель)
Шаг 3. Предоставление примеров и проверок проверки миграции
Включите примеры кода и проверки проверки, чтобы управлять агентом:
- Изменения кода: фрагменты кода, показывающие перенесенную реализацию с помощью нового подхода.
- Изменения конфигурации: обновления свойств, XML или других файлов конфигурации.
- Изменения зависимостей: обновления Maven, Gradle или NuGet, необходимые для миграции.
- Проверочные проверки: критерии, которые агент должен подтвердить после применения миграции.
Вы также можете предоставить файлы ресурсов в каталоге навыков и сообщить агенту, как использовать их в содержимом SKILL.md файла.
Используйте пользовательские навыки
Автоматическое обнаружение
При создании плана модернизации агент автоматически:
- Сканирует
.github/skills/на предмет пользовательских навыков. - Сравнивает сообщение миграции с описаниями навыков.
- Включает соответствующие навыки в план.
- Использует навык для руководства преобразованиями кода.
Пример:
# Agent will automatically detect and use the RabbitMQ skill
modernize plan create "migrate from rabbitmq to azure service bus"
Проверка вручную
Чтобы проверить, какие навыки обнаружены:
Создайте план с подсказкой.
Проверьте
.github/modernization/{plan-name}/tasks.json.Найдите ссылки на пользовательские навыки:
"skills": [ { "name": "your-skill-name", "location": "project" } ]
Если навык не обнаружен:
- Уточните навык
description, чтобы лучше соответствовать вашему запросу. - Сделайте запрос более конкретным.
- Убедитесь, что
SKILL.mdимеет правильное форматирование.
Пример репозитория
Полный пример см. в примере репозитория NewsFeedSite, который включает в себя:
- Пользовательский навык для миграции из RabbitMQ в Azure Service Bus.
- Демонстрирует использование внутренних библиотек JDK.
- Показывает правильную структуру умения и форматирование.
Клонирование и изучение:
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"
Troubleshooting
Навык не обнаружен
Проблема: Агент не использует ваш пользовательский навык.
Решения:
- Убедитесь, что имя навыка в интерфейсном элементе YAML не содержит пробелов. Вместо этого используйте дефисы (например,
my-custom-skillнеmy custom skill). - Убедитесь, что
descriptionсовпадает с ключевыми словами вашего запроса. - Проверьте правильность синтаксиса фронтматтера YAML.
- Убедитесь, что
SKILL.mdон находится в.github/skills/{skill-name}/. - Укажите запрос на миграцию более конкретно.