Skip to main content

Comparación de las características de personalización de la CLI de GitHub Copilot

Obtenga información sobre las distintas formas de personalizar Copilot: qué hacen y cuándo usarlas.

¿Quién puede utilizar esta característica?

CLI de GitHub Copilot está disponible con todos los Copilot planes. Si una organización le envía Copilot, la política CLI de Copilot debe estar habilitada en la configuración de la organización.

Introducción

          CLI de Copilot es un agente de inteligencia artificial basado en terminal que puede responder a preguntas, planear el trabajo y completar tareas en su nombre. Está diseñado para ser altamente extensible y hay varias maneras en las que puede personalizar su comportamiento y ampliar sus funcionalidades.

En este artículo se explica la diferencia entre:

  •         **Instrucciones personalizadas**
    

    Estos indican Copilotcómo comportarse en general. Por ejemplo, para asegurarse de que cualquier código que Copilot escriba se ajuste a los estándares de codificación. Obtenga más información.

  •         **Habilidades**
    

    Estos indican Copilotcómo controlar un tipo específico de tarea. Por ejemplo, para usar una herramienta determinada al trabajar en un tipo específico de tarea. Obtenga más información.

  •         **Herramientas**
    

    Estas proporcionan capacidades. Por ejemplo, para buscar y modificar archivos, o para interactuar con partes de GitHub. Obtenga más información.

  •         **Servidores MCP**
    

    Estos agregan colecciones de herramientas que permiten Copilot interactuar con servicios externos. Obtenga más información.

  •         **Hooks**
    

    Estos le permiten ejecutar su propia lógica en momentos específicos del ciclo de vida. Por ejemplo, puede ejecutar un script específico cada vez que se inicia o finaliza una sesión de la CLI. Obtenga más información.

  •         **Subagentes**
    

    Estos son procesos de agente delegado, vinculados al agente principal y se usan para realizar tareas específicas por separado del proceso del agente principal. Tienen su propia ventana de contexto, que se puede rellenar sin afectar al contexto del agente principal. Obtenga más información.

  •         **Agentes personalizados**
    

    Estas son definiciones de capacidades especializadas, diseñadas para realizar tareas específicas. El agente principal de la CLI puede delegar una tarea en un subagente, mediante un perfil de agente personalizado, para aplicar conocimientos especializados y un enfoque concreto a la tarea. Por ejemplo, un agente personalizado podría desempeñar el rol de un revisor de React, un escritor de documentos, un auditor de seguridad o un generador de pruebas. Obtenga más información.

  •         **Complementos**
    

    Estos son paquetes que pueden ofrecer personalizaciones preconfiguradas, como aptitudes, enlaces, agentes personalizados y servidores MCP. Obtenga más información.

Instrucciones personalizadas

¿Qué son las instrucciones personalizadas?

          **Las instrucciones personalizadas son guías persistentes que el sistema carga de los archivos de instrucciones al inicio de una sesión.**

          Copilot buscará y cargará archivos de instrucciones desde una serie de ubicaciones predeterminadas en el repositorio, como `AGENTS.md` y `.github/copilot-instructions.md`, o desde el directorio principal en `$HOME/.copilot/copilot-instructions.md`.

Puede usar la --no-custom-instructions marca para evitar cargar estas instrucciones.

¿Qué problema solucionan las instrucciones personalizadas?

Las instrucciones personalizadas le ayudan a:

  • Manténgase Copilot alineado con tus convenciones de programación y preferencias.
  • Aplique los estándares de equipo u organización de forma coherente.
  • Evite tener que incluir recordatorios repetitivos en Copilot en cada solicitud.

¿Cuándo debe usar instrucciones personalizadas?

Use instrucciones personalizadas para:

  • Reglas de estilo y calidad

    Ejemplo: "Prefiera solicitudes de incorporación de cambios pequeñas, escriba pruebas y evite cambiar las API públicas sin una discusión."

  • Convenciones de repositorio

    Ejemplo: "Use pnpm, mantenga las entradas del registro de cambios en CHANGELOG.md, ejecute pnpm test antes de confirmar".

  • Preferencias de comunicación

    Ejemplo: "Explique brevemente los inconvenientes y proporcione la opción recomendada".

¿Cuándo no debe usar instrucciones personalizadas?

Evite o manténgalos mínimos cuando:

  • Solo quiere el comportamiento en un flujo de trabajo (use una aptitud en su lugar).
  • Las instrucciones son tan grandes y específicas que distraen Copilot de la tarea inmediata (prefiera una aptitud o un agente personalizado).

Más información sobre las instrucciones personalizadas

Consulta Adición de instrucciones personalizadas para CLI de GitHub Copilot.

Habilidades

¿Qué es una aptitud?

Una aptitud es, mínimamente, un archivo markdown que contiene instrucciones que Copilot pueden usar para realizar tareas en un contexto específico. El nombre y la descripción de la aptitud permiten Copilot determinar si debe usar la aptitud para una tarea determinada. Si decide usar la aptitud, cargará las instrucciones y las seguirá para completar la tarea.

Las habilidades pueden opcionalmente hacer referencia a otros archivos, que se almacenan en el directorio de habilidades. Estos pueden incluir scripts que Copilot se pueden ejecutar cuando se utiliza la habilidad.

¿Qué problema resuelve una aptitud?

Las aptitudes le ayudan a:

  • Normalice cómo Copilot realiza las tareas en un contexto específico (por ejemplo, al realizar una revisión de código).
  • Proporcione instrucciones "justo a tiempo" sin cambiar permanentemente el comportamiento de Copilot.
  • Evite la sobrecarga de Copilotla ventana de contexto con instrucciones que no son relevantes para la tarea actual.

¿Cómo accede a las habilidades?

Puede invocar manualmente una habilidad mediante un comando slash. Por ejemplo: /Markdown-Checker check README.md. Use /skills list para enumerar las aptitudes disponibles.

          CLI de Copilot invoca automáticamente las aptitudes cuando detecta una que es relevante para la tarea actual.

¿Cuándo debería usar una habilidad?

Utiliza una habilidad cuando quieras:

  • Un conjunto repetible de instrucciones o funciones que esté disponible para un tipo de tarea.

    Ejemplo: una aptitud de documentación que comprueba que la documentación orientada al usuario se actualiza cuando se cambia el código de front-end.

  • Un formato de salida coherente.

    Ejemplo: una función de "borrador de nota de versión" que asegura que Copilot utilice una plantilla para crear una nota de versión.

  • Un flujo de trabajo que a veces necesita, pero no siempre.

    Ejemplo: una aptitud de "refactorización profunda" que solo se habilita durante las migraciones.

¿Cuándo no debe utilizar una habilidad?

Evite las aptitudes cuando:

  • Las instrucciones deben aplicarse a todo lo que haga (use instrucciones personalizadas en su lugar).
  • Necesita nuevas funcionalidades (es posible que necesite un servidor MCP para agregar herramientas o un agente personalizado para la especialización).

Más información sobre las aptitudes del agente

Consulta Acerca de las aptitudes del agente.

Herramientas

¿Qué es una herramienta?

Una herramienta es una capacidad que Copilot usa para hacer algo, como buscar archivos, ver el contenido del archivo, editar, ejecutar una tarea o invocar una aptitud. Algunas herramientas están integradas y otras se pueden agregar a través de servidores MCP.

¿Qué problema resuelven las herramientas?

Las herramientas permiten a la CLI:

  • Recopilar contexto preciso (mediante herramientas de lectura y búsqueda).
  • Realice cambios de forma segura (mediante herramientas de edición).
  • Ejecute comandos y valide los resultados (posiblemente mediante subagentes).

¿Cuándo debe usar herramientas?

Normalmente no llama a herramientas directamente,Copilot decide usar herramientas según sea necesario. Puede permitir o denegar el uso de herramientas, ya sea para una tarea específica, para la sesión actual o para todas las CLI de Copilot sesiones.

          Copilot Verás el uso de herramientas cuando:
  • Pida Copilot que busque algo en el repositorio, actualice un archivo o ejecute pruebas.
  • Invocar una habilidad, que activa la herramienta skill.
  • Pida Copilot que realice una tarea que requiera que use una herramienta proporcionada por un servidor MCP.
  • Tarea Copilot para completar una tarea compleja y decide delegar en un subagente, que desencadena la task herramienta.

Obtenga más información sobre cómo permitir o denegar herramientas

Consulta Acerca de GitHub Copilot CLI.

Servidores MCP

¿Qué es un servidor MCP?

Un servidor MCP es un servicio que permite a las aplicaciones de inteligencia artificial, como CLI de Copilot, conectarse a orígenes de datos y herramientas externos.

Agregar un servidor MCP a CLI de Copilot proporciona funcionalidades adicionales, ya que permite usar herramientas proporcionadas por ese servidor MCP. Por ejemplo, podría agregar un servidor MCP que proporcione herramientas para interactuar con una aplicación de calendario en línea o un sistema de vales de soporte técnico.

¿Qué problema resuelven los servidores MCP?

Los servidores MCP ayudan cuando las herramientas integradas no son suficientes. Pueden realizar las acciones siguientes:

  • Conéctese CLI de Copilot a sistemas externos.
  • Agregue herramientas creadas específicamente (por ejemplo, para trabajar con API, bases de datos o generación de imágenes).
  • Normalice los patrones de acceso seguro para los recursos que no son de repositorio.

¿Cuándo debe usar un servidor MCP?

Use un servidor MCP cuando necesite:

  • Integración con sistemas o datos externos.

    Ejemplo: How many support tickets have been opened this month for Product X?

  • Acciones específicas del dominio que desea que la CLI realice en su nombre.

    Ejemplo: Message the bug-watch channel: Only 2 support tickets raised this month for Product X.

¿Cuándo no debe usar un servidor MCP?

Evite agregar servidores MCP cuando:

  • Las herramientas integradas ya cubren sus necesidades.

Más información sobre los servidores MCP

Consulta Acerca del Protocolo de contexto de modelo (MCP).

Hooks

¿Qué es un gancho?

          **Los enlaces** permiten especificar que, en un punto determinado de un ciclo de vida de la sesión, CLI de Copilot ejecutará un comando de shell que haya definido.
EnlaceCuando se ejecuta
preToolUse / postToolUseAntes y después de que se ejecute una herramienta.
userPromptSubmittedCuando un usuario envía un comando.
sessionStart / sessionEndAl principio o al final de una sesión.
errorOccurredCuando se produce un error.
agentStopCuando el agente principal se detiene sin un error.
subagentStopCuando un subagente se completa.

¿Qué problema resuelven los hooks?

Los ganchos ayudan cuando desea un control programable o observabilidad en relación con el CLI de Copilot comportamiento, como:

  •         **Aplicar límites de protección**: bloquee o avise antes de que se ejecuten determinadas herramientas.
    
  •         **Adición de registros o telemetría**
    
  •         **Personalización del comportamiento de reintento o anulación en errores recuperables**
    
  •         **Agregar comprobaciones de "directiva",** por ejemplo, para evitar modificaciones en rutas de acceso protegidas.
    
  •         **Interceptar el momento en que finaliza un subagente**, antes de que los resultados vuelvan al agente primario.
    

Los ganchos son útiles cuando necesitas más control del que las habilidades o las instrucciones personalizadas pueden proporcionar. Aunque las habilidades y las indicaciones guían Copilot el comportamiento, los ganchos garantizan que las operaciones que has definido se realizarán en momentos específicos, por ejemplo, para bloquear la ejecución de una herramienta o para registrar la actividad cuando finaliza una sesión.

¿Cuándo debe usar enlaces?

Use enlaces si desea:

  •         **Límites de protección de herramientas**
    
    • Ejemplo: antes de bash ejecutarse, es necesario que el comando específico coincida con una lista de permitidos.
    • Por ejemplo: antes de que edit se ejecute, bloquear cambios en infra/ a menos que esté presente un identificador de incidencia.
  •         **Automatización del ciclo de vida de la sesión**
    
    • Ejemplo: cuando el agente se detiene, archive la transcripción de la sesión en una ubicación de almacenamiento.
  •         **Directiva de control de errores**
    
    • Ejemplo: en errores de límite de velocidad, elija automáticamente "reintentar" con un recuento de reintentos limitado.
  •         **Control de flujo de trabajo subagent**
    
    • Ejemplo: cuando un subagente finaliza, valide su salida antes de volver a pasar los resultados al agente principal.

¿Cuándo no debería usar enlaces?

Evite ganchos cuando:

  • Solo necesita indicaciones coherentes o instrucciones de flujo de trabajo (use habilidades).
  • Quiere preferencias y estándares persistentes (use instrucciones personalizadas).
  • Necesita nuevas capacidades externas (use servidores MCP y herramientas).
  • El mantenimiento de la configuración que puede afectar a cada sesión puede ser problemático para usted.

Más información sobre los ganchos

Consulta Uso de ganchos con CLI de GitHub Copilot.

Subagentes

¿Qué es un subagente?

Un subagent es la ejecución de un agente de IA independiente que el agente principal de una CLI de Copilot sesión pone en marcha para realizar un trabajo específico.

          CLI de Copilot usa un subagent cuando el agente principal decide que delegar un fragmento de trabajo en un agente independiente es la mejor manera de completar la solicitud del usuario.

¿Qué problema resuelven los subagentes?

Los subagentes ayudan a Copilot:

  • Mantener la ventana de contexto del agente principal en una sesión de la CLI enfocada, descargando un fragmento de trabajo en un agente independiente.
  • Paralelice el trabajo, cuando sea necesario, ejecutando ciertas tareas en segundo plano.
  • Ejecute un agente personalizado por separado del agente principal, realizando un trabajo especializado con un enfoque diferente al trabajo realizado por el agente principal.

¿Cuándo se usan los subagentes?

          Copilot es probable que use un subagente para:
  • Exploración de código base

    Por ejemplo, enumerar todos los puntos de conexión de una API.

  • Ejecución de comandos para tareas complejas

    Por ejemplo, ejecutar un conjunto de pruebas o compilar un proyecto grande y analizar los resultados.

  • Revisión de los cambios

    Por ejemplo, revise los cambios preconfigurados e identifique posibles problemas de seguridad.

  • Trabajo complejo en varios pasos

    Por ejemplo, implementar una característica con varios cambios.

  • Para usar agentes personalizados

    Si ha definido un agente personalizado y es apto para la inferencia (infer no está establecido en false), Copilot puede optar por delegar el trabajo a ese agente personalizado iniciando un subagente con la configuración del agente personalizado.

Agentes personalizados

¿Qué es un agente personalizado?

          **Los agentes personalizados** proporcionan Copilot conocimientos especializados sobre un tema determinado y definen un enfoque determinado que Copilot debe usarse al trabajar en esa área. Puede considerar un agente personalizado como una "persona" que Copilot puede adoptar al trabajar en determinadas tareas.

          CLI de Copilot tiene varios agentes personalizados integrados. Por ejemplo, los agentes `explore`, `task`, `research`, `code-review` y `general-purpose`. También puede definir sus propios agentes personalizados para satisfacer sus necesidades específicas.

Define un agente personalizado en un archivo Markdown con encabezado YAML. El archivo contiene:

  • Descripción del rol y la experiencia del agente
  • Lista de herramientas permitidas (o todas las herramientas)
  • Conexiones de servidor MCP opcionales
  • Una configuración opcional infer : cuando esté habilitada, Copilot se delegará automáticamente en este agente cuando detecte una tarea que coincida con la especialidad del agente.

¿Qué problema solucionan los agentes personalizados?

Los agentes personalizados ayudan si necesita:

  • Conocimientos especializados que se aplicarán de forma coherente en un contexto determinado.
  • Permisos de herramientas diferentes para diferentes trabajos, tal como se define en la configuración del agente personalizado.
  • Para permitir que la ventana de contexto del agente principal permanezca centrada en la tarea principal, mientras que la del agente personalizado se utiliza para el trabajo especializado que realiza.

¿Cuándo debe usar un agente personalizado?

Use un agente personalizado cuando desee:

  • Revisor especializado o asistente

    Ejemplo: cree un agente personalizado "react-reviewer" que se centre en el trabajo que implique patrones de React.

  • Permisos más seguros

    Ejemplo: un agente personalizado que solo puede view/grep/glob (solo lectura) para la auditoría.

  • Delegación automática opcional

    Ejemplo: establezca infer: true en la configuración del agente personalizado para que Copilot pueda usar automáticamente este agente personalizado cuando corresponda.

¿Cuándo no debe usar un agente personalizado?

Evite los agentes personalizados cuando:

  • Solo necesita texto de orientación (una aptitud puede ser una solución más liviana).
  • No necesita especialización y el agente predeterminado realiza bien las tareas.

Más información sobre agentes personalizados

Consulta Configuración de agentes personalizados.

Complementos

¿Qué es un complemento?

Un complemento es un paquete instalable que puede entregar una agrupación de funcionalidades a Copilot. Un complemento puede incluir cualquier combinación de las otras características de personalización. Por ejemplo, aptitudes, agentes personalizados, enlaces y configuraciones de servidor MCP.

          Copilot incluye comandos de administración de complementos (instalar, actualizar, enumerar, desinstalar) y admite la instalación desde un marketplace o directamente desde un repositorio de GitHub.

¿Qué problema solucionan los complementos?

Los complementos le ayudan a:

  • Agregue fácilmente una agrupación de funcionalidades a Copilot sin tener que configurar manualmente cada pieza.
  • Empaquetar y distribuir una configuración personalizada (posiblemente una combinación de aptitudes, agentes personalizados, enlaces y servidores MCP) al equipo o al público.
  • Modifique la funcionalidad disponible sin tener que copiar manualmente archivos en directorios.

¿Cuándo debe usar un complemento?

Use un complemento cuando:

  • Quiere un paquete para todo el equipo

    Ejemplo: un complemento de ingeniería para toda la empresa que incluye:

    • Aptitudes para la respuesta a incidentes.
    • Un agente personalizado para la revisión de código.
    • Un servidor MCP para servicios internos.
  • Quiere una instalación y actualizaciones sencillas

    Ejemplo: Instale un complemento inicialmente y, a continuación, actualícelo periódicamente mediante /plugin update PLUGIN-NAME.

¿Cuándo no debe usar un complemento?

Evite los complementos cuando:

  • Está experimentando localmente y no necesita distribución (use aptitudes locales, instrucciones personalizadas o agentes personalizados).
  • Solo necesita un único flujo de trabajo pequeño. Un único archivo de habilidad puede ser más sencillo.

Integrándolo todo: elegir la opción correcta

RequirementMejor opción
Quiero Copilot seguir siempre nuestras convenciones de repositorio.
          **Instrucciones personalizadas** |

| Quiero un flujo de trabajo repetible que puedo invocar a petición. | Habilidades | | Quiero que Copilot responda a preguntas y realice el trabajo en mi repositorio. | Copilot solicita permiso para usar las herramientas adecuadas. | | Quiero límites de protección, directivas o automatización en torno al uso de herramientas y eventos de sesión. | Hooks | | Necesito Copilot poder usar herramientas proporcionadas por un servicio externo. | Servidores MCP | | Al trabajar en tareas concretas, quiero Copilot trabajar como especialista con un conjunto de herramientas restringido. | Agente personalizado | | Quiero que Copilot lleve a cabo una tarea compleja en mi nombre. | Copilot usa automáticamente subagentes cuando corresponda. | | Quiero agregar un paquete de funcionalidad a CLI de Copilot sin configurarlo manualmente. | Complemento |

Lectura adicional

  •         [AUTOTITLE](/copilot/how-tos/copilot-cli)