Bagikan melalui


Sesuaikan agen modernisasi GitHub Copilot

Agen modernisasi GitHub Copilot mendukung keterampilan kustom yang dapat Anda gunakan untuk menentukan pola migrasi khusus organisasi, penggunaan pustaka internal, dan standar pengodean. Dengan menggunakan keahlian khusus ini, Anda dapat memastikan modernisasi yang konsisten di seluruh organisasi Anda sambil menggunakan pengetahuan eksklusif.

Apa itu keterampilan kustom?

Keterampilan kustom mengikuti spesifikasi keterampilan agen untuk mengajarkan agen modernisasi cara melakukan tugas migrasi tertentu menggunakan pola dan pustaka organisasi Anda. Saat Anda membuat rencana modernisasi, agen secara otomatis mendeteksi dan menerapkan keterampilan kustom yang relevan berdasarkan permintaan migrasi Anda.

Keterampilan kustom berguna untuk:

  • Migrasi pustaka internal: Beralih ke SDK atau kerangka kerja khusus organisasi.
  • Gunakan kembali pola migrasi: Menangkap dan menggunakan kembali pola migrasi yang berhasil.

Struktur keterampilan kustom

Tentukan setiap keterampilan kustom dalam SKILL.md file dengan:

  • YAML Front Matter: Metadata untuk deteksi kemampuan.
  • Ringkasan: Deskripsi skenario migrasi.
  • Langkah-langkah: Instruksi terperinci untuk agen.
  • Kode sampel: Contoh konkret yang menunjukkan migrasi.

Membuat keterampilan kustom

Langkah 1: Buat direktori keterampilan

Buat folder baru di bawah .github/skills/ di repositori Anda dengan nama deskriptif:

mkdir -p .github/skills/my-migration-pattern

Langkah 2: Tulis file SKILL.md

Buat .github/skills/my-migration-pattern/SKILL.md dengan struktur yang diperlihatkan di bagian berikut.

Bidang-bidang front matter yang diperlukan

---
name: my-migration-pattern
description: A concrete description of what this skill helps migrate
---

Penting: Bidang description ini sangat penting. Agen menggunakannya untuk menentukan kapan harus menerapkan keterampilan berdasarkan permintaan migrasi pengguna. Buatlah spesifik dan akurat.

Deskripsi yang baik:

  • ✅ "Migrasi dari RabbitMQ dengan AMQP ke Azure Service Bus untuk olahpesan"
  • ✅ "Ganti panggilan JDBC langsung dengan repositori Spring Data"

Deskripsi buruk:

  • ❌ "Migrasi pesan" (terlalu samar)
  • ❌ "Perbarui pustaka" (tidak spesifik)
  • ❌ "Tingkatkan kode" (sasaran yang tidak jelas)

Langkah 3: Berikan contoh dan pemeriksaan verifikasi migrasi

Sertakan contoh kode dan pemeriksaan verifikasi untuk memandu agen:

  • Cuplikan Perubahan Kode: potongan kode yang menunjukkan implementasi hasil migrasi menggunakan pendekatan baru.
  • Perubahan konfigurasi: pembaruan untuk properti, XML, atau file konfigurasi lainnya.
  • Perubahan dependensi: Pembaruan Maven, Gradle, atau NuGet diperlukan untuk migrasi.
  • Pemeriksaan verifikasi: kriteria yang harus divalidasi agen setelah menerapkan migrasi.

Anda juga dapat menyediakan file sumber daya di direktori keterampilan dan memberi tahu agen cara menggunakannya dalam konten SKILL.md file.

Menggunakan keterampilan kustom

Deteksi otomatis

Saat Anda membuat rencana modernisasi, agen secara otomatis:

  1. Memindai .github/skills/ untuk keterampilan kustom.
  2. Membandingkan perintah migrasi Anda dengan deskripsi keterampilan.
  3. Menggabungkan keterampilan yang relevan ke dalam rencana.
  4. Menggunakan keterampilan untuk memandu transformasi kode.

Contoh:

# Agent will automatically detect and use the RabbitMQ skill
modernize plan create "migrate from rabbitmq to azure service bus"

Verifikasi manual

Untuk memverifikasi keterampilan mana yang terdeteksi:

  1. Buat rencana dengan petunjuk Anda.

  2. Tinjau ..github/modernization/{plan-name}/tasks.json

  3. Cari referensi keterampilan kustom Anda:

    "skills": [
        {
          "name": "your-skill-name",
          "location": "project"
        }
    ]
    

Jika keterampilan tidak terdeteksi:

  • Sempurnakan keterampilan description agar lebih sesuai dengan permintaan Anda.
  • Buat permintaan lebih spesifik.
  • Pastikan SKILL.md diformat dengan benar.

Repositori sampel

Untuk contoh lengkapnya, lihat repositori sampel NewsFeedSite, yang mencakup:

  • Fitur khusus untuk migrasi RabbitMQ ke Azure Service Bus.
  • Memperlihatkan penggunaan pustaka JDK internal.
  • Menunjukkan struktur dan pemformatan keterampilan yang benar.

Kloning dan jelajahi:

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

Keterampilan tidak terdeteksi

Masalah: Agen tidak menggunakan keterampilan kustom Anda.

Solusi:

  • Periksa apakah nama keterampilan di front matter YAML tidak berisi spasi. Gunakan tanda hubung sebagai gantinya (misalnya, my-custom-skill bukan my custom skill).
  • Verifikasi bahwa description cocok dengan kata kunci prompt Anda.
  • Periksa sintaksis bagian depan YAML.
  • Pastikan bahwa SKILL.md berada di .github/skills/{skill-name}/.
  • Buat permintaan migrasi Anda lebih spesifik.

Langkah berikutnya