Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Agent modernizace Copilotu GitHubu podporuje vlastní dovednosti, které můžete použít k definování vzorů migrace specifických pro organizaci, interního používání knihovny a standardů kódování. Díky těmto vlastním dovednostem můžete zajistit konzistentní modernizaci ve vaší organizaci při používání vlastnických znalostí.
Co jsou vlastní dovednosti?
Vlastní dovednosti se řídí specifikací dovedností agenta , abyste naučili agenta modernizace, jak provádět konkrétní úlohy migrace pomocí vzorů a knihoven vaší organizace. Když vytvoříte plán modernizace, agent automaticky zjistí a použije relevantní vlastní dovednosti na základě výzvy k migraci.
Vlastní dovednosti jsou užitečné pro:
- Migrace interní knihovny: Přechod na sady SDK nebo architektury specifické pro organizaci
- Opakované použití vzorů migrace: Zachytávání a opakované použití úspěšných vzorů migrace
Vlastní struktura dovedností
Definujte každou vlastní dovednost v SKILL.md souboru pomocí:
- YaML front matter: Metadata pro detekci dovedností.
- Přehled: Popis scénáře migrace
- Kroky: Podrobné pokyny pro agenta.
- Ukázkový kód: Konkrétní příklady demonstrující migraci
Vytvoření vlastní dovednosti
Krok 1: Vytvoření adresáře dovedností
Ve svém úložišti vytvořte novou složku .github/skills/ s popisným názvem:
mkdir -p .github/skills/my-migration-pattern
Krok 2: Zápis souboru SKILL.md
Vytvořte .github/skills/my-migration-pattern/SKILL.md se strukturou zobrazenou v následující části.
Požadovaná pole úvodní části
---
name: my-migration-pattern
description: A concrete description of what this skill helps migrate
---
Důležité: Pole description je kritické. Agent ho použije k určení, kdy použít dovednost na základě výzvy k migraci uživatele. Uveďte konkrétně a přesně.
Dobré popisy:
- ✅ Migrace z RabbitMQ s využitím AMQP do Služby Azure Service Bus pro zasílání zpráv
- ✅ "Nahrazení přímých volání JDBC úložišti Spring Data"
Chybné popisy:
- ❌ Migrace zpráv (příliš vágní)
- ❌ "Aktualizovat knihovny" (není specifické)
- ❌ "Zlepšení kódu" (nejasný cíl)
Krok 3: Zadání příkladů a kontrol ověření migrace
Uveďte příklady kódu a ověřovací kontroly, aby vedly agenta.
- Změny kódu: Fragmenty kódu ukazující migrovanou implementaci pomocí nového přístupu.
- Změny konfigurace: aktualizace vlastností, XML nebo jiných konfiguračních souborů.
- Změny závislostí: Aktualizace Mavenu, Gradle nebo NuGet vyžadované pro migraci
- Kontroly ověření: Kritéria, která má agent po provedení migrace ověřit.
Můžete také poskytnout soubory prostředků v adresáři dovedností a agentovi sdělit, jak je používat v obsahu souboru SKILL.md.
Použijte vlastní dovednosti
Automatické zjišťování
Když vytvoříte plán modernizace, agent automaticky:
-
.github/skills/Skener prohledává vlastní dovednosti. - Porovná výzvu k migraci s popisy dovedností.
- Zahrnuje do plánu relevantní dovednosti.
- Používá dovednosti k vedení transformací kódu.
Příklad:
# Agent will automatically detect and use the RabbitMQ skill
modernize plan create "migrate from rabbitmq to azure service bus"
Ruční ověření
Chcete-li ověřit, které dovednosti jsou detekovány:
Vytvořte plán podle podnětu.
Zkontrolovat
.github/modernization/{plan-name}/tasks.json.Vyhledejte odkazy na vlastní dovednosti:
"skills": [ { "name": "your-skill-name", "location": "project" } ]
Pokud se dovednost nezjistí:
- Zpřesněte dovednost
descriptiontak, aby lépe odpovídala vaší výzvě. - Udělejte výzvu konkrétnější.
- Ujistěte se, že
SKILL.mdje správně naformátovaný.
Ukázkové úložiště
Úplný příklad najdete v ukázkovém úložišti NewsFeedSite, které zahrnuje:
- Vlastní funkce pro migraci RabbitMQ do služby Azure Service Bus
- Ukazuje použití interních knihoven JDK.
- Zobrazuje správnou strukturu dovedností a formátování.
Klonování a zkoumání:
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
Dovednost nebyla zjištěna.
Problém: Agent nepoužívá vaši vlastní dovednost.
Řešení:
- Zkontrolujte, jestli název dovednosti v přední části YAML neobsahuje mezery. Místo toho používejte pomlčky (například
my-custom-skillnemy custom skill). - Ověřte, že
descriptionodpovídá vašim klíčovým slovům výzvy. - Zkontrolujte syntaxi YAML front matter.
- Ujistěte se, že
SKILL.mdje v.github/skills/{skill-name}/. - Zpřístupněte výzvu k migraci konkrétněji.