Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# Docs changelog

**3 March 2026**

We've added a new reference article, [Copilot customization cheat sheet](https://docs.github.com/copilot/reference/customization-cheat-sheet), to help you choose the right Copilot customization approach for your workflow.

The article compares Copilot customization options, including what each one does, how to configure it, and where it is supported across IDEs and Copilot surfaces. It also explains what each option is best for, with common use cases to help you decide what to use.

<hr>

**2 March 2026**

We've added an article about the new `/research` slash command in Copilot CLI:
Expand Down
7 changes: 4 additions & 3 deletions content/copilot/how-tos/copilot-cli/index.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: '{% data variables.copilot.copilot_cli %}'
shortTitle: '{% data variables.copilot.copilot_cli_short %}'
intro: 'Use {% data variables.product.prodname_copilot_short %} directly from your terminal to answer questions, write and debug code, and interact with {% data variables.product.github %}.'
intro: Use {% data variables.product.prodname_copilot_short %} directly from your terminal to answer questions, write and debug code, and interact with {% data variables.product.github %}.
versions:
feature: copilot
contentType: landing
Expand All @@ -21,7 +21,7 @@ children:
- /cli-best-practices
- /set-up-copilot-cli
- /customize-copilot
- /use-copilot-cli
- /use-copilot-cli-agents
- /administer-copilot-cli-for-your-enterprise
- /automate-with-actions
- /speeding-up-task-completion
Expand Down Expand Up @@ -50,7 +50,7 @@ children:
- /content/copilot/responsible-use/copilot-cli
carousels:
recommended:
- /copilot/how-tos/copilot-cli/use-copilot-cli
- /copilot/how-tos/copilot-cli/use-copilot-cli-agents/overview
- /copilot/how-tos/copilot-cli/cli-best-practices
- /copilot/reference/cli-command-reference
includedCategories:
Expand All @@ -60,3 +60,4 @@ includedCategories:
- Build with Copilot CLI
- Administer Copilot CLI
---

Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
title: Requesting a code review with {% data variables.copilot.copilot_cli %}
shortTitle: Agentic code review
allowTitleToDifferFromFilename: true
intro: 'Use {% data variables.copilot.copilot_cli_short %} to review your code changes directly from the terminal.'
product: '{% data reusables.gated-features.copilot-cli %}'
versions:
feature: copilot
topics:
- Copilot
contentType: how-tos
category:
- Build with Copilot CLI
---

## About agentic code review

You can use the `/review` slash command to have {% data variables.product.prodname_copilot_short %} analyze code changes without leaving the CLI. This lets you get quick feedback on your changes prior to committing.

1. Type `/review` and optionally specify a prompt, path, or file pattern to narrow the review scope, then press <kbd>Enter</kbd>.
1. If {% data variables.product.prodname_copilot_short %} proposes running a command (for example, to inspect a diff or verify a file), review the command, then use the arrow keys to choose an option and press <kbd>Enter</kbd>.
* Select **Yes** to run the command.
* Select **No** to skip the command and tell {% data variables.product.prodname_copilot_short %} what to do differently.
1. Read the feedback that {% data variables.product.prodname_copilot_short %} provides about your changes and apply any suggested improvements in your code editor.

## Further reading

* [AUTOTITLE](/copilot/how-tos/copilot-cli/automate-with-actions)
* [AUTOTITLE](/copilot/how-tos/copilot-cli/add-custom-instructions)
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
title: Delegating tasks to {% data variables.copilot.copilot_cli %}
shortTitle: Delegate tasks to Copilot
intro: Use {% data variables.copilot.copilot_cli_short %}''s autopilot mode to hand off tasks and have {% data variables.product.prodname_copilot_short %} work autonomously on your behalf.
allowTitleToDifferFromFilename: true
product: '{% data reusables.gated-features.copilot-cli %}'
versions:
feature: copilot
topics:
- Copilot
contentType: how-tos
category:
- Build with Copilot CLI
---

## Get {% data variables.product.prodname_copilot_short %} to work autonomously

You can tell {% data variables.product.prodname_copilot_short %} to use its best judgment to complete a task autonomously, rather than the CLI prompting you for input at each decision point within a task. You do this by using the CLI's autopilot mode.

There are two ways to use autopilot mode:

* **Interactively:** In an interactive session, press <kbd>Shift</kbd>+<kbd>Tab</kbd> until you see "autopilot" in the status bar. If prompted to choose permissions for autopilot mode, allow full permissions, then enter your prompt.
* **Programmatically:** Pass the CLI a prompt directly in a command, and include the `--autopilot` option. For example, to use autopilot mode with full permissions, restricting it to 10 continuations, enter `{% data reusables.cli.autopilot-programmatic-prompt %}`.

For more information, see [AUTOTITLE](/copilot/concepts/agents/copilot-cli/autopilot).

## Delegate tasks to {% data variables.copilot.copilot_coding_agent %}

The delegate command lets you push your current session to {% data variables.copilot.copilot_coding_agent %} on {% data variables.product.github %}. This lets you hand off work while preserving all the context {% data variables.product.prodname_copilot_short %} needs to complete your task.

You can delegate a task using the slash command, followed by a prompt:

```shell
/delegate complete the API integration tests and fix any failing edge cases
```

Alternatively, prefix a prompt with `&` to delegate it:

```shell
& complete the API integration tests and fix any failing edge cases
```

{% data variables.product.prodname_copilot_short %} will ask to commit any of your unstaged changes as a checkpoint in a new branch it creates. {% data variables.copilot.copilot_coding_agent %} will open a draft pull request, make changes in the background, and request a review from you.

{% data variables.product.prodname_copilot_short %} will provide a link to the pull request and agent session on {% data variables.product.github %} once the session begins.

## Next steps

To learn how to invoke specialized agents tailored to specific tasks, such as code review, documentation, or security audits, see [AUTOTITLE](/copilot/how-tos/copilot-cli/use-copilot-cli-agents/invoke-custom-agents).
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
title: Use {% data variables.copilot.copilot_cli %} agents
shortTitle: Use Copilot CLI agents
intro: Understand the different ways you can use agents in {% data variables.copilot.copilot_cli_short %} to delegate and automate work.
versions:
feature: copilot
topics:
- Copilot
children:
- /overview
- /delegate-tasks-to-cca
- /invoke-custom-agents
- /steer-agents
- /agentic-code-review
contentType: how-tos
---

Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
---
title: Invoking custom agents
shortTitle: Invoke custom agents
intro: Use custom agents, skills, and MCP servers in {% data variables.copilot.copilot_cli_short %} to extend its capabilities.
product: '{% data reusables.gated-features.copilot-cli %}'
versions:
feature: copilot
topics:
- Copilot
contentType: how-tos
category:
- Build with Copilot CLI
---

## Use {% data variables.copilot.custom_agents_short %}

A {% data variables.copilot.copilot_custom_agent_short %} is a specialized version of {% data variables.product.prodname_copilot_short %}. {% data variables.copilot.custom_agents_caps_short %} help {% data variables.product.prodname_copilot_short %} handle unique workflows, particular coding conventions, and specialist use cases.

{% data variables.copilot.copilot_cli_short %} includes a default group of {% data variables.copilot.custom_agents_short %} for common tasks:

<table>
<thead>
<tr>
<th style="width:20%">Agent</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>Explore</td>
<td>Performs quick codebase analysis, allowing you to ask questions about your code without adding to your main context.</td>
</tr>
<tr>
<td>Task</td>
<td>Executes commands such as tests and builds, providing brief summaries on success and full output on failure.</td>
</tr>
<tr>
<td>General-purpose</td>
<td>Handles complex, multi-step tasks that require the full toolset and high-quality reasoning, running in a separate context to keep your main conversation clearly focused.</td>
</tr>
<tr>
<td>Code-review</td>
<td>Reviews changes with a focus on surfacing only genuine issues, minimizing noise.</td>
</tr>
</tbody>
</table>

The AI model being used by the CLI can choose to delegate a task to a subsidiary subagent process, that operates using a {% data variables.copilot.copilot_custom_agent_short %} with specific expertise, if it judges that this would result in the work being completed more effectively. The model may equally choose to handle the work directly in the main agent.

You can define your own {% data variables.copilot.custom_agents_short %} using Markdown files, called {% data variables.copilot.agent_profiles %}, that specify what expertise the agent should have, what tools it can use, and any specific instructions for how it should respond.

You can define {% data variables.copilot.custom_agents_short %} at the user, repository, or organization/enterprise level:

| Type | Location | Scope |
| --- | --- | --- |
| User-level {% data variables.copilot.copilot_custom_agent_short %} | local `~/.copilot/agents` directory | All projects |
| Repository-level {% data variables.copilot.copilot_custom_agent_short %} | `.github/agents` directory in your local and remote repositories | Current project |
| Organization and Enterprise-level {% data variables.copilot.copilot_custom_agent_short %} | `/agents` directory in the `.github-private` repository in an organization or enterprise | All projects under your organization and enterprise account |

In the case of naming conflicts, a system-level agent overrides a repository-level agent, and the repository-level agent would override an organization-level agent.

{% data variables.copilot.custom_agents_caps_short %} can be used in three ways:

* Using the slash command in the CLI's interactive interface to select from the list of available {% data variables.copilot.custom_agents_short %}:

```shell
/agent
```

* Calling out to the {% data variables.copilot.copilot_custom_agent_short %} directly in a prompt:

```shell
Use the refactoring agent to refactor this code block
```

{% data variables.product.prodname_copilot_short %} will automatically infer the agent you want to use.

* Specifying the {% data variables.copilot.copilot_custom_agent_short %} you want to use with the command-line option. For example:

```shell
copilot --agent=refactor-agent --prompt "Refactor this code block"
```

For more information, see [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/create-custom-agents).

## Use skills

You can create skills to enhance the ability of {% data variables.product.prodname_copilot_short %} to perform specialized tasks with instructions, scripts, and resources.

For more information, see [AUTOTITLE](/copilot/how-tos/copilot-cli/customize-copilot/create-skills).

## Add an MCP server

{% data variables.copilot.copilot_cli_short %} comes with the {% data variables.product.github %} MCP server already configured. This MCP server allows you to interact with resources on {% data variables.product.prodname_dotcom_the_website %}—for example, allowing you to merge pull requests from the CLI.

To extend the functionality available to you in {% data variables.copilot.copilot_cli_short %}, you can add more MCP servers:

1. Use the following slash command:

```shell
/mcp add
```

1. Fill in the details for the MCP server you want to add, using the <kbd>Tab</kbd> key to move between fields.
1. Press <kbd>Ctrl</kbd>+<kbd>S</kbd> to save the details.

Details of your configured MCP servers are stored in the `mcp-config.json` file, which is located, by default, in the `~/.copilot` directory. This location can be changed by setting the `XDG_CONFIG_HOME` environment variable. For information about the JSON structure of a server definition, see [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/extend-coding-agent-with-mcp#writing-a-json-configuration-for-mcp-servers).

For more detailed information on adding and managing MCP servers in {% data variables.copilot.copilot_cli_short %}, see [AUTOTITLE](/copilot/how-tos/copilot-cli/customize-copilot/add-mcp-servers).

## Next steps

To learn how to guide and refine agent behavior during task execution to keep work on track, see [AUTOTITLE](/copilot/how-tos/copilot-cli/use-copilot-cli-agents/steer-agents).
Loading