Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
L’agent de modernisation De GitHub Copilot prend en charge les compétences personnalisées que vous pouvez utiliser pour définir des modèles de migration spécifiques à l’organisation, l’utilisation de bibliothèque interne et les normes de codage. En utilisant ces compétences personnalisées, vous pouvez garantir une modernisation cohérente au sein de votre organisation tout en utilisant des connaissances propriétaires.
Qu’est-ce que les compétences personnalisées ?
Les compétences personnalisées suivent la spécification des compétences de l’agent pour enseigner à l’agent de modernisation comment effectuer des tâches de migration spécifiques à l’aide des modèles et bibliothèques de votre organisation. Lorsque vous créez un plan de modernisation, l’agent détecte et applique automatiquement les compétences personnalisées pertinentes en fonction de votre invite de migration.
Les compétences personnalisées sont utiles pour :
- Migrations de bibliothèque interne : basculement vers des kits sdk ou des frameworks spécifiques à l’organisation.
- Réutiliser les modèles de migration : capture et réutilisation des modèles de migration réussis.
Structure de compétence personnalisée
Définissez chaque compétence personnalisée dans un SKILL.md fichier avec :
- Matière de tête YAML : Métadonnées pour la détection des compétences.
- Vue d’ensemble : Description du scénario de migration.
- Étapes : instructions détaillées pour l’agent.
- Exemple de code : Exemples concrets illustrant la migration.
Créer une compétence personnalisée
Étape 1 : Créer le répertoire de compétences
Créez un dossier sous .github/skills/ votre dépôt avec un nom descriptif :
mkdir -p .github/skills/my-migration-pattern
Étape 2 : Écrire le fichier SKILL.md
Créez .github/skills/my-migration-pattern/SKILL.md avec la structure indiquée dans la section suivante.
Champs de métadonnées obligatoires
---
name: my-migration-pattern
description: A concrete description of what this skill helps migrate
---
Important : Le description champ est essentiel. L’agent l’utilise pour déterminer quand appliquer la compétence en fonction de l’invite de migration de l’utilisateur. Faites-le spécifique et précis.
Bonnes descriptions :
- ✅ « Migrer de RabbitMQ avec AMQP vers Azure Service Bus pour la messagerie »
- ✅ « Remplacer les appels JDBC directs par des référentiels Spring Data »
Descriptions incorrectes :
- ❌ « Migration de messagerie » (trop vague)
- ❌ « Mettre à jour les bibliothèques » (pas spécifique)
- ❌ « Améliorer le code » (objectif non clair)
Étape 3 : Fournir des exemples et des contrôles de vérification de la migration
Incluez des exemples de code et des vérifications pour guider l’agent :
- Modifications du code : extraits de code montrant l’implémentation migrée à l’aide de la nouvelle approche.
- Modifications de configuration : mises à jour des propriétés, XML ou d’autres fichiers de configuration.
- Modifications des dépendances : Mises à jour Maven, Gradle ou NuGet requises pour la migration.
- Vérifications : critères que l’agent doit valider après l’application de la migration.
Vous pouvez également fournir des fichiers de ressources dans le répertoire de compétences et indiquer à l’agent comment les utiliser dans le contenu du SKILL.md fichier.
Utiliser des compétences personnalisées
Détection automatique
Lorsque vous créez un plan de modernisation, l’agent est automatiquement :
- Analyse
.github/skills/pour des compétences personnalisées. - Comparez votre message de migration avec les descriptions des compétences.
- Incorpore les compétences pertinentes dans le plan.
- Utilise une compétence pour guider les transformations de code.
Exemple :
# Agent will automatically detect and use the RabbitMQ skill
modernize plan create "migrate from rabbitmq to azure service bus"
Vérification manuelle
Pour vérifier les compétences détectées :
Créez un plan avec votre commande.
Passez en revue
.github/modernization/{plan-name}/tasks.json.Recherchez des références à vos compétences personnalisées :
"skills": [ { "name": "your-skill-name", "location": "project" } ]
Si une compétence n’est pas détectée :
- Adaptez la compétence
descriptionpour mieux correspondre à votre demande. - Rendre l’invite plus spécifique.
- Assurez-vous que
SKILL.mdest correctement formaté.
Exemple de référentiel
Pour obtenir un exemple complet, consultez l’exemple de référentiel NewsFeedSite, qui inclut :
- Compétence personnalisée pour la migration RabbitMQ vers Azure Service Bus.
- Montre l’utilisation de bibliothèques JDK internes.
- Affiche la structure et la mise en forme des compétences appropriées.
Clonez et explorez :
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"
Résolution des problèmes
Compétence non détectée
Problème : l’agent n’utilise pas votre compétence personnalisée.
Solutions :
- Vérifiez que le nom de la compétence dans le front matter YAML ne contient pas d’espaces. Utilisez plutôt des traits d’union (par exemple,
my-custom-skillpasmy custom skill). - Vérifiez que le
descriptioncorrespond à vos mots clés d’invite. - Vérifiez la syntaxe de l'en-tête YAML.
- Assurez-vous que
SKILL.mdse trouve dans.github/skills/{skill-name}/. - Rendre votre invite de migration plus spécifique.