Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der GitHub Copilot-Modernisierungs-Agent unterstützt benutzerdefinierte Fähigkeiten, mit denen Sie organisationsspezifische Migrationsmuster, interne Bibliotheksnutzung und Codierungsstandards definieren können. Mithilfe dieser benutzerdefinierten Fähigkeiten können Sie eine konsistente Modernisierung in Ihrer Organisation sicherstellen und dabei proprietäre Kenntnisse verwenden.
Was sind benutzerdefinierte Fähigkeiten?
Benutzerdefinierte Fähigkeiten folgen der Spezifikation der Agent-Fähigkeiten , um dem Modernisierungs-Agent beizubringen, wie bestimmte Migrationsaufgaben mithilfe der Muster und Bibliotheken Ihrer Organisation ausgeführt werden. Wenn Sie einen Modernisierungsplan erstellen, erkennt der Agent basierend auf Ihrer Migrationsaufforderung automatisch relevante benutzerdefinierte Fähigkeiten und wendet sie an.
Benutzerdefinierte Fähigkeiten sind nützlich für:
- Interne Bibliotheksmigrationen: Wechseln zu organisationsspezifischen SDKs oder Frameworks.
- Erneute Verwendung von Migrationsmustern: Erfassen und Erneutes Verwenden von erfolgreichen Migrationsmustern.
Benutzerdefinierte Qualifikationsstruktur
Definieren Sie jede benutzerdefinierte Fähigkeit in einer SKILL.md Datei mit:
- YAML-Front-Matter: Metadaten für die Qualifikationserkennung.
- Übersicht: Beschreibung des Migrationsszenarios.
- Schritte: Detaillierte Anweisungen für den Agent.
- Beispielcode: Konkrete Beispiele für die Migration.
Erstellen einer benutzerdefinierten Fähigkeit
Schritt 1: Erstellen des Qualifikationsverzeichnisses
Erstellen Sie einen neuen Ordner unter .github/skills/ Ihrem Repository mit einem beschreibenden Namen:
mkdir -p .github/skills/my-migration-pattern
Schritt 2: Schreiben der SKILL.md Datei
Erstellen Sie .github/skills/my-migration-pattern/SKILL.md mit der im folgenden Abschnitt gezeigten Struktur.
Erforderliche Front-Matter-Felder
---
name: my-migration-pattern
description: A concrete description of what this skill helps migrate
---
Wichtig: Das description Feld ist kritisch. Der Agent verwendet ihn, um zu bestimmen, wann die Fähigkeit basierend auf der Migrationsaufforderung des Benutzers angewendet werden soll. Machen Sie sie spezifisch und präzise.
Gute Beschreibungen:
- ✅ "Migrieren von RabbitMQ mit AMQP zu Azure Service Bus für Messaging"
- ✅ "Direkte JDBC-Aufrufe durch Spring Data Repositorys ersetzen"
Schlechte Beschreibungen:
- ❌ "Nachrichtenmigration" (zu vage)
- ❌ "Bibliotheken aktualisieren" (nicht spezifisch)
- ❌ "Code verbessern" (unklares Ziel)
Schritt 3: Anbieten von Beispielen und Verifikationsprüfungen der Migration
Schließen Sie Codebeispiele und Überprüfungsprüfungen ein, um den Agent zu leiten:
- Codeänderungen: Codeausschnitte mit der migrierten Implementierung mithilfe des neuen Ansatzes.
- Konfigurationsänderungen: Aktualisierungen von Eigenschaften, XML oder anderen Konfigurationsdateien.
- Abhängigkeitsänderungen: Maven-, Gradle- oder NuGet-Updates, die für die Migration erforderlich sind.
- Überprüfungsprüfungen: Kriterien, die der Agent nach der Anwendung der Migration überprüfen soll.
Sie können auch Ressourcendateien im Qualifikationsverzeichnis bereitstellen und dem Agent mitteilen, wie sie im Inhalt der SKILL.md Datei verwendet werden.
Verwenden von benutzerdefinierten Fähigkeiten
Automatische Erkennung
Wenn Sie einen Modernisierungsplan erstellen, führt der Agent automatisch Folgendes aus:
- Scannt
.github/skills/auf benutzerdefinierte Fähigkeiten. - Vergleicht Ihre Migrationsaufforderung mit Qualifikationsbeschreibungen.
- Integriert relevante Fähigkeiten in den Plan.
- Nutzt Kompetenz, um Codetransformationen zu führen.
Beispiel:
# Agent will automatically detect and use the RabbitMQ skill
modernize plan create "migrate from rabbitmq to azure service bus"
Manuelle Überprüfung
So überprüfen Sie, welche Fähigkeiten erkannt werden:
Erstellen Sie einen Plan mit Ihrer Aufforderung.
Überprüfen .
.github/modernization/{plan-name}/tasks.jsonSuchen Sie nach Verweisen auf Ihre benutzerdefinierten Fähigkeiten:
"skills": [ { "name": "your-skill-name", "location": "project" } ]
Wenn eine Fähigkeit nicht erkannt wird:
- Verfeinern Sie die Fähigkeit
description, um Ihre Eingabeaufforderung besser abzugleichen. - Machen Sie die Eingabeaufforderung genauer.
- Stellen Sie sicher, dass
SKILL.mdsie ordnungsgemäß formatiert ist.
Beispiel-Repository
Ein vollständiges Beispiel finden Sie im NewsFeedSite-Beispiel-Repository, das Folgendes umfasst:
- Benutzerdefinierte Funktion für die Migration von RabbitMQ zu Azure Service Bus.
- Veranschaulicht die Verwendung interner JDK-Bibliotheken.
- Zeigt die richtige Fähigkeitsstruktur und Formatierung an.
Klonen Sie und erkunden Sie:
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"
Problembehandlung
Qualifikation nicht erkannt
Problem: Der Agent verwendet nicht Ihre benutzerdefinierten Fähigkeiten.
Lösungen:
- Überprüfen Sie, ob der Qualifikationsname in der YAML-Front-Materie keine Leerzeichen enthält. Verwenden Sie stattdessen Bindestriche (z. B
my-custom-skill. nichtmy custom skill). - Stellen Sie sicher, dass die
descriptionmit den Schlüsselwörtern der Eingabeaufforderung übereinstimmt. - Überprüfen Sie die YAML-Frontmatter-Syntax.
- Stellen Sie sicher, dass
SKILL.mdin.github/skills/{skill-name}/ist. - Machen Sie Ihre Migrationsaufforderung spezifischer.