July 2nd, 2025
0 reactions

Introducing the Awesome GitHub Copilot Customizations repo

Today we’re excited to announce the launch of the Awesome GitHub Copilot Customizations repo!

The Awesome Copilot repo is a community-driven resource with custom instructions, reusable prompts, and custom chat modes that helps you get consistent AI assistance.

In other words, Awesome Copilot helps you get the most out of GitHub Copilot by letting you tailor it to your needs. And even better, the available content in the Awesome Copilot repo will grow and grow as we encourage folks to contribute instructions, prompts, and chat modes they find useful!

So, let’s walk through some workflows where you can see how productive this repo can make you.

Let the agent out

GitHub Copilot shines in agent mode. Agent mode is when Copilot acts as an autonomous peer programmer, performing multi-step coding tasks at your command. Copilot agent mode can create apps from scratch, perform refactorings across multiple files, write and run tests, and migrate legacy code to modern frameworks. That’s just the start. And when you hear people talking about vibe coding, they’re talking about using agent mode.

Custom instructions, prompts, and chat modes can help you tailor how Copilot responds and acts – whether in agent or chat mode. And the Awesome Copilot repo contains lots of examples you can use as-is or as a jump off point to make your own.

Copilot – and agent mode – is available across several different editors and IDEs. From VS Code to Visual Studio to XCode to the JetBrains IDEs (and more!). And where Copilot works, the instructions and prompts you find in the Awesome Copilot repo will work too!

So let’s use agent mode to modify an application – and use some of the instructions, prompts, and chat modes in the Awesome Copilot repo to help us out!

Clone the awesome-copilot-example to follow along!

Custom instructions

Custom instructions are how you give Copilot specific context about your team’s workflow, your particular style preferences, coding standards, etc. Custom instructions are contained in a markdown file and in it you can provide Copilot instructions on how to understand your project better.

Custom instructions define how tasks should be performed. Like which technologies are preferred. Or what to check for in a code review.

Here’s just a portion of some custom instructions for the Next.js + Tailwind development:

# Next.js + Tailwind Development Instructions

Instructions for high-quality Next.js applications with Tailwind CSS styling and TypeScript.

## Project Context

- Latest Next.js (App Router)
- TypeScript for type safety
- Tailwind CSS for styling

## Development Standards

### Architecture
- App Router with server and client components
- Group routes by feature/domain

_... and so on_

To use the custom instructions, create a file called .github/copilot-instructions.md within your project. Put the custom instructions into it (in this case you can copy the Next.js + Tailwind one directly).

Then startup GitHub Copilot in agent mode and ask it to do something.

For example:

GitHub Copilot agent mode referencing custom instructions

And you can see that it is using the copilot-instructions as instructions as part of the prompt. And then part of the output when it finished looked like:

The page follows the development standards from your instructions:

- Uses React Server Components
- Implements proper TypeScript typing
- Follows Tailwind CSS styling patterns
- Maintains responsive design
- Uses semantic HTML
- Maintains consistent styling with the rest of the application

In other words, it followed the conventions it found in the custom instructions file. Here are all of the custom instructions in the Awesome Copilot repo!

The code look good? Go ahead, commit the changes and create a PR, we’ll check in on that next.

Custom instructions are available in all editors and IDEs that GitHub Copilot works in!

Reusable prompts

Prompt files allow you to compose reusable prompts for yourself and your team. This helps enforce consistency while at the same time reducing prompting, which can become tedious.

Reusable prompts are stand-alone prompts for specific tasks. They describe what should be done with optional task-specific guidelines. Within the reusable prompt file, you can specify tools, so the prompt knows what it has available to work with.

Here’s a prompt to work with pull requests.

---
mode: agent

tools: ['githubRepo', 'github', 'get_me', 'get_pull_request', 'get_pull_request_comments', 'get_pull_request_diff', 'get_pull_request_files', 'get_pull_request_reviews', 'get_pull_request_status', 'list_pull_requests', 'request_copilot_review'] 

description: "List my pull requests in the current repository" 
---

Search the current repo (using #githubRepo for the repo info) and list any pull requests you find (using #list_pull_requests) that are assigned to me. 

Describe the purpose and details of each pull request. 

If a PR is waiting for someone to review, highlight that in the response. 

If there were any check failures on the PR, describe them and suggest possible fixes. 

If there was no review done by Copilot, offer to request one using #request_copilot_review. 

Save that as .github/prompts/my-pull-requests.prompt.md and then checkout the video below for how it works!

Note: You will need the GitHub MCP server to run this example because it uses GitHub tooling only available there. Follow these directions to install it.

You do not need MCP servers though to use reusable prompts in general, just this particular example. 😁

Use a slash command to run the reusable prompt. The command will be the file name. In this case it was /my-pull-requests. In other IDEs such as Visual Studio you would reference the reusable prompt by first typing #prompt: then the file name.

Awesome Copilot has several reusable prompts you can use today!

Custom chat modes

Chat modes are predefined configurations that enable you to tailor the AI chat behavior for specific tasks. The built-in chat modes are for asking questions (chat), making code edits (edit), or autonomous peer programming (agent). For a more tailored chat experience, you can create your own custom chat modes!

Custom chat modes consist of a set of instructions and tools that are applied when you switch to that mode. In other words, you can supply a persona so the AI can specialize in tasks.

You may be working on a small team and not have a dedicated DBA. But you can define a DBA persona through instructions and specifing tools it can use.

To do this you add a databaseadmin.chatmode.md to the .github/chatmodes folder.

Copy the following into the file:

---
description: 'Work with PostgreSQL databases using the PostgreSQL extension.'
tools: ['codebase', 'editFiles', 'githubRepo', 'runCommands', 'database', 'pgsql_bulkLoadCsv', 'pgsql_connect', 'pgsql_describeCsv', 'pgsql_disconnect', 'pgsql_listDatabases', 'pgsql_listServers', 'pgsql_modifyDatabase', 'pgsql_open_script', 'pgsql_query', 'pgsql_visualizeSchema']
---

# Database Administrator Chat Mode

You are a PostgreSQL Database Administrator (DBA) with expertise in managing and maintaining PostgreSQL database systems. You can perform tasks such as:
- Creating and managing databases
- Writing and optimizing SQL queries
- Performing database backups and restores
- Monitoring database performance
- Implementing security measures

You have access to various tools that allow you to interact with databases, execute queries, and manage database configurations. **Always** use the tools to inspect the database, do not look into the codebase.

And then, as long as you have installed the PostgreSQL extension (which gives GitHub Copilot tools it can use), you can start asking it about the database as demonstrated in the video.

With tools like pgsql_connect and pgsql_query available, the agent knows how to connect to the database server, find the database, and execute queries based off the schema that it has access to, making them the expert on our database.

Get involved today!

This was just a quick tour through one of the custom instructions, reusable prompts, and custom chat modes that are available to you through the Awesome GitHub Copilot Customizations repo.

Please go and check them out and find some that work for you. And as you explore, or if you have instructions, prompts, or chat mode files that you are already using – please contribute Awesome Copilot!

This is a community-driven repo and we want to make the experience of using GitHub Copilot awesome for everybody!

Author

Matt Soucoup
Principal Cloud Developer Advocate

Matthew Soucoup is a Senior Cloud Developer Advocate at Microsoft spreading the love of integrating Azure with Xamarin. Matt is also a Pluralsight author, a Telerik Developer Expert and prior to joining Microsoft a founder of a successful consulting firm targeting mobile, .NET, and web development. Matt loves sharing his passion and insight for mobile and cloud development by blogging, writing articles, and presenting at conferences such as Microsoft Build, NDC Sydney, Xamarin Evolve, and ...

More about author

Aaron Powell
Principal Cloud Advocate

Aaron is a Developer Advocate at Microsoft. Having spent 15 years doing web development he’s seen it all, from browser wars, the rise of AJAX and the fall of 20 JavaScript frameworks (and that was just yesterday!). Always tinkering with something new he explores crazy ideas like writing your own implementation of numbers in .NET, creating IoC in JavaScript or implementing tic-tac-toe using git commits.

0 comments