Boosting Developer Productivity: Custom Agents & Plugins for GitHub Copilot

The landscape of developer tooling is constantly evolving, with AI assistants like GitHub Copilot leading the charge in enhancing productivity. A recent discussion on the GitHub Community forum highlighted a common organizational need: the ability to configure Copilot Coding Agent with custom plugins to distribute shared skills, agents, and commands across different teams and repositories efficiently. The good news? Much of this desired functionality is already available, offering robust solutions for streamlining development activity examples within organizations.

Developer using GitHub Copilot with custom agents and plugins to enhance productivity.
Developer using GitHub Copilot with custom agents and plugins to enhance productivity.

Unlocking Organizational Efficiency with Custom Agents

The original query from filip-be asked about plans for Copilot Coding Agent to support agent plugins, envisioning an opt-in approach to share common capabilities. The responses from dhrubojyotihazra and adityaprasa231195 confirmed that this vision is largely a reality today, primarily through GitHub Copilot's Custom Agents and the Model Context Protocol (MCP).

Custom Agents: Tailored Intelligence for Your Workflow

GitHub Copilot allows organizations to create specialized Custom Agents. These agents are defined using simple Markdown files (.agent.md) that combine YAML frontmatter for configuration with standard Markdown for system instructions. Through these files, you can define:

  • Skills/Commands: Embed reusable system instructions specific to your team's needs.
  • Tools: Grant agents access to built-in tools (like file reading or terminal execution).
  • MCP Servers: Extend Copilot's capabilities by connecting it to your internal APIs, custom context sources, or external tools, significantly boosting developer productivity.

Repository and Organization-Level Distribution

Distributing these custom agents and their associated tools is straightforward:

  • Repository-Level Configuration: To link an agent to a specific repository, simply create a .github/agents/ directory within your repo and add your .agent.md profile there. Developers can then select this custom agent from the Copilot Chat dropdown when working in that repository. This provides a seamless, opt-in mechanism for repository-specific development activity examples.
  • Organization-Wide Distribution: For cross-team and cross-repository distribution, create a repository named .github-private in your GitHub organization. Place your .agent.md files directly in an agents/ folder at the root of this repository. These custom agents will then be automatically available across all repositories within your organization, making it easy to standardize workflows and share expertise.

Here's an example of an .agent.md structure:

--- 
name: Org Architecture Expert
description: Connects to our internal APIs to generate boilerplate and fetch schema data.
tools: ['read', 'edit', 'some-mcp-server/tool-1']
---
You are an expert in our organization's internal architecture. When asked to build a new feature, always check the internal MCP server for existing schema definitions first...
Organizational distribution of custom Copilot agents and shared development skills.
Organizational distribution of custom Copilot agents and shared development skills.

Model Context Protocol (MCP) as the Plugin Backbone

MCP serves as the core plugin mechanism for the Copilot Coding Agent. Repository administrators can configure MCP servers directly within repository settings (Settings → Copilot → Coding Agent) using a JSON configuration. Once set up, the tools provided by these servers become available to the agent for every assigned task, offering a powerful way to integrate custom functionality.

Custom agents can also bundle their own MCP configurations, with a defined processing order: out-of-the-box MCP, then custom agent MCP, and finally repository-level configurations. This layered approach ensures flexibility and control over how tools are applied.

Copilot CLI and the Future of Extensions

For those utilizing the Copilot CLI (the terminal agent), a robust plugin system is already in place. Plugins can be installed directly from GitHub repositories using /plugin install owner/repo. These plugins can bundle MCP servers, agents, skills, and hooks, providing a clean distribution model for shared tooling.

While much is possible, one current limitation noted is that Copilot Extensions (the GitHub App-based kind) currently only function in "Ask mode" (regular chat), not "Agent mode." GitHub has acknowledged this as a platform limitation and a logical next step, though without a committed timeline. However, for most practical use cases involving custom tools and shared capabilities, the MCP and Custom Agents route offers immediate and effective solutions for enhancing development activity examples.

The bottom line for organizations looking to distribute shared capabilities and enhance developer productivity is clear: leverage MCP servers and Custom Agents. Host your shared capabilities as MCP servers and integrate them via repository settings or organization-wide custom agents. For CLI-centric workflows, the dedicated plugin system provides an even more streamlined approach to distributing your organization's unique tooling.

Track, Analyze and Optimize Your Software DeveEx!

Effortlessly implement gamification, pre-generated performance reviews and retrospective, work quality analytics, alerts on top of your code repository activity

 Install GitHub App to Start
devActivity Screenshot