Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El agente de modernización de Copilot de GitHub admite aptitudes personalizadas que permiten definir patrones de migración específicos de la organización, el uso interno de la biblioteca y los estándares de codificación. Esto permite una modernización coherente en toda la organización a la vez que aprovecha los conocimientos propietarios.
¿Qué son las aptitudes personalizadas?
Las aptitudes personalizadas siguen la especificación de aptitudes del agente para enseñar al agente de modernización cómo realizar tareas de migración específicas mediante los patrones y bibliotecas de su organización. Al crear un plan de modernización, el agente detecta y aplica automáticamente las aptitudes personalizadas pertinentes en función del mensaje de migración.
Las aptitudes personalizadas son útiles para:
- Migraciones de bibliotecas internas: cambio a SDK o marcos específicos de la organización.
- Patrón de reutilización de migración: captura y reutilización de patrones de migración exitosos.
Estructura de aptitudes personalizada
Cada aptitud personalizada se define en un SKILL.md archivo con:
- Cuestión frontal de YAML: metadatos para la detección de aptitudes.
- Información general: descripción del escenario de migración.
- Pasos: Instrucciones detalladas para el agente.
- Código de ejemplo: ejemplos concretos que muestran la migración.
Creación de una aptitud personalizada
Paso 1: Creación del directorio de aptitudes
Cree una nueva carpeta en .github/skills/ en el repositorio con un nombre descriptivo:
mkdir -p .github/skills/my-migration-pattern
Paso 2: Escribir el archivo SKILL.md
Cree .github/skills/my-migration-pattern/SKILL.md con la estructura que se muestra a continuación.
Campos de primera cuestión obligatorios
---
name: my-migration-pattern
description: A concrete description of what this skill helps migrate
---
Importante: El description campo es crítico. El agente lo usa para determinar cuándo aplicar la aptitud en función del mensaje de migración del usuario. Haz que sea específico y preciso.
Buenas descripciones:
- ✅ "Migración desde RabbitMQ con AMQP a Azure Service Bus para la mensajería"
- ✅ "Reemplazar llamadas JDBC directas por repositorios de Spring Data"
Descripciones incorrectas:
- ❌ "Migración de mensajería" (demasiado imprecisa)
- ❌ "Actualizar bibliotecas" (no específicas)
- ❌ "Mejorar el código" (objetivo poco claro)
Paso 3: Proporcione ejemplos y comprobaciones de verificación de migración
Incluya ejemplos de código y comprobaciones de comprobación para guiar al agente:
- Cambios de código: fragmentos de código que muestran la implementación migrada mediante el nuevo enfoque.
- Cambios de configuración: actualizaciones de propiedades, XML u otros archivos de configuración.
- Cambios de dependencia: actualizaciones de Maven/Gradle/NuGet necesarias para la migración.
- Verificaciones: criterios que el agente debe validar tras haber aplicado la migración.
También puede proporcionar archivos de recursos en el directorio de habilidades e indicar al agente cómo usarlos en el archivo SKILL.md.
Uso de habilidades personalizadas
Detección automática
Al crear un plan de modernización, el agente hace lo siguiente automáticamente:
- Examina
.github/skills/en busca de habilidades personalizadas. - Compara el mensaje de migración con descripciones de aptitudes.
- Incorpora aptitudes relevantes en el plan.
- Usa la habilidad para guiar las transformaciones de código.
Ejemplo:
# Agent will automatically detect and use the RabbitMQ skill
modernize plan create "migrate from rabbitmq to azure service bus"
Comprobación manual
Para comprobar qué aptitudes se detectan:
Crea un plan con tu indicación.
Revisar
.github/modernization/{plan-name}/tasks.json.Busque referencias a sus habilidades personalizadas:
"skills": [ { "name": "your-skill-name", "location": "project" } ]
Si no se detecta una aptitud:
- Refinar la habilidad
descriptionpara que se ajuste mejor a tu mensaje. - Haga que el mensaje sea más específico.
- Asegúrese de que
SKILL.mdtiene el formato correcto.
Repositorio de ejemplo
Para obtener un ejemplo completo, consulte el repositorio de ejemplo NewsFeedSite , que incluye:
- Habilidad personalizada para la migración de RabbitMQ a Azure Service Bus.
- Muestra el uso de bibliotecas de JDK internas.
- Muestra la estructura y el formato adecuados de las habilidades.
Clonar y explorar:
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"
Solución de problemas
Aptitud no detectada
Problema: el agente no usa la habilidad personalizada.
Soluciones:
- Compruebe que el nombre de la habilidad en el encabezado YAML no tenga espacios. Utilice guiones en su lugar (por ejemplo,
my-custom-skillen lugar demy custom skill). - Compruebe que
descriptioncoincide con las palabras clave del mensaje. - Compruebe la sintaxis de la cabecera YAML.
- Asegúrese de que
SKILL.mdestá en.github/skills/{skill-name}/. - Haga que la solicitud de migración sea más específica.