Skip to main content

Creating and using custom agents for CLI do GitHub Copilot

Create specialized agents with tailored expertise for specific development tasks.

Introduction

Agentes personalizados allow you to tailor Copilot's expertise for specific tasks.

When you prompt Copilot to carry out a task it may choose to use one of your agentes personalizados, if Copilot determines that the agent's expertise is a good fit for the task.

Work performed by a agente personalizado is carried out using a subagent, which is a temporary agent spun up to complete the task. The subagent has its own context window, which can be populated by information that is not relevant to the main agent. In this way, especially for larger tasks, parts of the work can be offloaded to agentes personalizados, without cluttering the main agent's context window. The main agent can then focus on higher-level planning and coordination.

For more information, see Sobre agentes personalizados.

Creating a agente personalizado

Each agente personalizado is defined by a Markdown file with an .agent.md extension. You can create these files yourself, or you can add them from within the CLI, as described in the following steps.

  1. In interactive mode, enter /agent.

  2. Select Create new agent from the list of options.

  3. Choose between the options to create the agente personalizado in the repository or in your home directory:

    • Project (.github/agents/)

    • User (~/.config/copilot/agents/)

    Observação

    If you have agentes personalizados with the same name in both locations, the one in your home directory will be used, rather than the one in the repository.

  4. Choose whether to get Copilot to create the agente personalizado file, or create it yourself.

    Option 1: Use Copilot

    Enter details of the agent you want to create. Describe the agent's expertise and when the agent should be used. Copilot will take the description you enter and use it to write an agent profile for you.

    For example, you could enter:

    I am a security expert. I check code files thoroughly for potential security issues. Use me whenever a security review/check/audit is requested for one or more code files, or when the word "seccheck" is used in a prompt in reference to code files.
    
    I will identify potential problems, such as code that:
    
    - Exposes secrets or credentials
    - Allows cross-site scripting
    - Allows SQL injection
    - Contains vulnerable dependencies
    - Allows authentication to be bypassed
    
    If any problems are identified, create a single GitHub issue in this repository on GitHub.com with details of problems, giving full details of each issue, including, but not limited to, risk level and recommended fix.
    

    After Copilot finishes generating the initial agent profile it displays the following options:

    • Continue
    • Review content
    • Try again
    • Quit

    If you choose to review the content, the agent file is opened in your default editor. You can review and make changes, if required, before continuing the agent creation process in the CLI.

    To complete the creation process, choose Continue.

    Option 2: Create the agent profile manually

    When you choose to create the agent file yourself, you'll be guided through a series of prompts to fill in the necessary information to create the agent profile.

    1. Enter a name for the agent. The name you enter is the name that's displayed when you list the available agents. A version of this will be used as the name of the agent file—for example, if you enter "Security expert", the agent file will be named security-expert.agent.md.

      Dica

      For ease of use when using a agente personalizado programmatically, it's recommended that you choose a name consisting only of lowercase letters and hyphens.

    2. Enter a description that states what expertise this agent has and when it should be used.

    3. Enter instructions for how the agent should behave, including any specific guidelines, actions it should take or constraints it should follow.

  5. Choose which tools your agente personalizado should have access to.

    By default, agentes personalizados have access to all tools. If you restrict an agent's access, a tools specification is added to the agent file.

  6. Restart the CLI to load your new agente personalizado.

Using a agente personalizado

Agentes personalizados can be used in the following ways:

  • Slash command

    Enter /agent in interactive mode and choose from the list of available agentes personalizados. Then enter a prompt that will be passed to the selected agent.

    Observação

    The CLI's default agents are not included in this list. For more information about the default agents, see Como usar a CLI do GitHub Copilot.

  • Explicit instruction

    Tell Copilot to use a specific agent. For example:

    Use the security-auditor agent on all files in the /src/app directory
    
  • By inference

    Use a prompt that will trigger the use of a particular agent based on the description in the agent file. For example:

    Check all TypeScript files in or under the src directory for potential security problems
    

    or (where "seccheck" is defined as a trigger word in the agent profile):

    seccheck /src/app/validator.go
    

    Copilot will automatically infer the agent you want to use.

  • Programmatically

    Specify the agente personalizado you want to use with the command-line option. For example:

    copilot --agent security-auditor --prompt "Check /src/app/validator.go"
    

    Where security-auditor is the file name of the agente personalizado profile, without the .agent.md extension. Typically, but not necessarily, this is the same as the name value in the agent profile.

Further reading