GitHub Copilot Skills · Agents · Instructions · MCP · Hooks · Plugins
The complete reference for GitHub Copilot in 2025–2026 — covering every customisation surface from copilot-instructions.md to Agent Skills, custom agents, MCP servers, hooks, and the full Copilot CLI. Built with the awesome-copilot community collection as reference.
What is GitHub Copilot?
GitHub Copilot has evolved from an autocomplete tool into a fully agentic development environment. It now combines AI code completion, multi-turn chat, multi-file editing, autonomous coding agents, and deep integrations with your development tools — all powered by a choice of leading AI models.
Interfaces
Primary IDE. Agent mode, MCP, skills, custom agents, hooks. Chat Customizations editor.
Agent mode + MCP in public preview. Custom agents, hooks, AGENTS.md support.
Full agentic terminal experience. GA Feb 2026. Skills, agents, plugins, hooks, /delegate.
Assigns GitHub issues to Copilot. Creates draft PRs. Works in background asynchronously.
Chat, code review assistance, assign tasks to cloud agent from anywhere.
Copilot on github.com — agents panel, PR review, inline suggestions in web editor.
Plans & Models
| Plan | Price | Premium Requests | Key Features |
|---|---|---|---|
| Free | $0 | Limited | 50 chat/mo, 2000 completions/mo, GPT-4o |
| Pro | $10/mo | 300/mo | Unlimited completions, cloud agent, CLI |
| Pro+ | $39/mo | 1500/mo | Best models (o3, Claude Opus 4.6), all features |
| Business | $19/user/mo | 300/user/mo | Org policies, IP indemnity, audit logs |
| Enterprise | $39/user/mo | 1000/user/mo | Org instructions, fine-tuning, knowledge bases |
| Model | Type | Notes |
|---|---|---|
| GPT-4o | Included | Default base model for chat, completions, agent mode |
| GPT-4.1 / GPT-5 mini | Included | Available in CLI; do not consume premium requests |
| Claude Opus 4.6 | Premium | 1M context, GA Feb 2026. Excellent for complex reasoning |
| Claude Sonnet 4.x | Premium | Fast + capable; popular for agent mode tasks |
| o3 / o4-mini | Premium | OpenAI reasoning models; great for hard problems |
| Gemini 3 Pro | Premium | Available via GitHub Models integration |
| Auto | Smart | Copilot picks the best model based on task + availability |
Premium models consume premium requests from your monthly quota. Base model (GPT-4o) usage is unlimited on paid plans. Additional premium requests are available pay-as-you-go at $0.04/request. Use /model in CLI to see all options and your quota.
Custom Instructions
Custom instructions let you provide Copilot with persistent context — coding standards, architecture patterns, tech stack, naming conventions — so you never have to repeat them in every chat prompt. Instructions are injected invisibly into each request.
copilot-instructions.md
The primary instruction file. Placed at .github/copilot-instructions.md. Applied to every Copilot request in the repository across VS Code, JetBrains, Copilot CLI, and the cloud agent.
# Project: E-Commerce Platform ## Stack - Backend: ASP.NET Core 8, C# 12, EF Core 8 - Frontend: React 18, TypeScript 5, Tailwind CSS 3 - Database: PostgreSQL 16, Redis 7 - Cloud: Azure (App Service, Blob Storage, Service Bus) ## Code Style - Use async/await throughout; never block threads - Prefer records over classes for DTOs - Use primary constructors (C# 12) for simple classes - All public APIs must have XML doc comments - No magic strings — use constants or enums ## Testing - Use xUnit for unit tests, Playwright for E2E - Test file mirrors source: `src/Foo.cs` → `tests/FooTests.cs` - Mock external dependencies; never hit real APIs in unit tests ## Git - Branch names: `feat/`, `fix/`, `chore/`, `docs/` - Commit format: Conventional Commits (feat: add X) - PRs require passing CI and one human approval
In VS Code, type /init in chat — Copilot analyzes your project and generates instructions. In the cloud agent, use the prompt: "Onboard this repository to Copilot by creating a .github/copilot-instructions.md file."
Path-Specific Instructions (.instructions.md)
Files named *.instructions.md in .github/instructions/ apply only when Copilot works on files matching the applyTo glob in the YAML frontmatter. Supported in VS Code, JetBrains, and the cloud agent.
--- applyTo: "src/ui/**/*.{tsx,jsx}" --- ## React Component Standards - Use functional components only; no class components - Props interface must be named `{ComponentName}Props` - Use `React.memo` for expensive pure components - Prefer `useCallback` for event handlers passed to children - All components must be exported as named exports - Use Tailwind utility classes; no inline styles
AGENTS.md — Open Standard
AGENTS.md is an open standard (Linux Foundation / Agentic AI Foundation) for guiding any AI coding agent — Copilot, Claude Code, Gemini CLI, etc. Copilot treats it as additional instructions alongside copilot-instructions.md.
| File | Scope | Agent support |
|---|---|---|
| AGENTS.md (root) | Primary — repo-wide | Copilot, Claude Code, Gemini CLI, any agent |
| AGENTS.md (subdirs) | Additional — folder-scoped | Same; treated as secondary instructions |
| CLAUDE.md | Repo root only | Claude Code, Copilot (reads it automatically) |
| GEMINI.md | Repo root only | Gemini CLI, Copilot |
| copilot-instructions.md | .github/ dir | Copilot only (all surfaces) |
| *.instructions.md | .github/instructions/ | Copilot (path-specific) |
# AGENTS.md — Guidance for AI Coding Agents ## Build & Test - Build: `dotnet build ./src` - Run tests: `dotnet test ./tests` - Lint: `dotnet format --verify-no-changes` - E2E: `npx playwright test` (requires running server on :5000) ## Important Rules - Never commit secrets or connection strings - Do not modify `*.lock` files manually - Run `dotnet format` before creating any PR - PRs must not decrease test coverage below 80% ## Architecture - Domain logic lives in `src/Domain/` - Never import Domain → Infrastructure (dependency rule) - Use the MediatR pattern for all commands/queries
Personal Instructions
Across all projects, create ~/.copilot/copilot-instructions.md for personal preferences (preferred language, verbosity, explanation style). Also set via COPILOT_CUSTOM_INSTRUCTIONS_DIRS env var to point to a folder of instruction files.
Organisation-Level Instructions
Copilot Enterprise supports instructions at the GitHub Organisation level — automatically applied to all repos in the org. Set by org owners; synced to VS Code via github.copilot.chat.organizationInstructions.enabled.
Prompt Files
Reusable prompts stored in .github/prompts/ as *.prompt.md — invoke them from chat with /prompt-name or attach them manually. Great for repetitive workflows like "explain this code" or "write tests".
--- mode: 'agent' description: 'Generate comprehensive xUnit tests for the selected code' --- Analyze the selected code and generate comprehensive xUnit tests: 1. Cover all public methods and their edge cases 2. Use `[Theory]` + `[InlineData]` for parameterized tests 3. Mock all external dependencies using Moq 4. Follow Arrange-Act-Assert pattern 5. Test file should be placed in `tests/` mirroring `src/` 6. Include at least one test for the unhappy path (exceptions) Reference our testing conventions from `.github/instructions/tests.instructions.md`.
Custom Chat Modes
Define a persona or specialized workflow mode in .github/chatmodes/*.chatmode.md. Users switch to it in the chat dropdown. A mode sets a system persona + tools available.
--- description: 'Senior DBA: database design, query optimization, index strategy' tools: - pgsql_connect - pgsql_query - github --- You are a Senior Database Administrator specializing in PostgreSQL 16. When reviewing queries: always check for missing indexes, N+1 problems, and missing pagination. Use EXPLAIN ANALYZE when you have database access. Prefer CTEs over subqueries for readability. Always consider connection pooling and transaction scope.
Agent Skills
Agent Skills (announced December 2025) are self-contained folders of instructions, scripts, and resources that Copilot loads when relevant to your task. Unlike custom instructions (which always apply), skills are loaded on-demand — keeping your context window efficient.
The Agent Skills spec is an open standard. Skills work across Copilot coding agent, Copilot CLI, and VS Code agent mode. If you already have skills in .claude/skills/ for Claude Code, Copilot picks them up automatically.
Use instructions for coding standards that apply to almost every task. Use skills for deep, specialized procedures (debugging CI failures, Terraform plan review) that Copilot should only load when needed.
Copilot matches your prompt to skills by reading each skill's name and description frontmatter. When triggered, it loads the full SKILL.md body. You can also invoke manually: /skill-name in chat.
Skill Directory Locations
| Location | Scope | Notes |
|---|---|---|
| .github/skills/<name>/ | Project (repo) | Checked into version control — shared with team |
| .claude/skills/<name>/ | Project | Claude Code compat — Copilot reads these too |
| .agents/skills/<name>/ | Project | Generic agents directory |
| ~/.copilot/skills/<name>/ | Personal | Shared across all projects on your machine |
| ~/.claude/skills/<name>/ | Personal | Claude compat — Copilot reads these too |
| ~/.agents/skills/<name>/ | Personal | Generic personal skills |
Creating a Skill
Make a folder under your chosen skills directory. Folder name becomes the skill identifier (use lowercase-with-hyphens).
Required fields: name and description. The description is what Copilot reads to decide if this skill is relevant.
Write detailed Markdown instructions. Reference other files in the skill directory using relative paths.
Scripts, templates, examples, checklists — anything Copilot should access as it follows the instructions.
.github/skills/github-actions-debugging/ ├── SKILL.md # Required — frontmatter + instructions ├── checklist.md # Referenced by SKILL.md └── examples/ ├── passing-run.log # Example for context └── failing-run.log # Example of common failure
--- name: github-actions-debugging description: | Guide for debugging failing GitHub Actions workflows. Use this when asked to debug failing GitHub Actions workflows, CI failures, or pipeline errors in pull requests. --- ## Debugging Failing GitHub Actions Workflows Use the GitHub MCP Server tools to investigate: 1. Use `list_workflow_runs` to find recent runs for the PR and their status 2. Use `get_workflow_run` to get details of the specific failing run 3. Use `list_workflow_run_logs` to retrieve the full job logs 4. Look for the first `Error:` or `FAILED` line — that's the root cause 5. Check `checklist.md` for common failure patterns ## Common Fixes - Missing secret → check repo Settings > Secrets - Cache invalidation → update cache key or clear manually - Outdated action version → pin to latest SHA - Flaky test → check test for async timing issues See `examples/` for reference logs.
SKILL.md Frontmatter Reference
| Field | Required | Description |
|---|---|---|
| name | Yes | Skill identifier (slug). Used for manual invocation /name |
| description | Yes | When Copilot should load this skill. Be specific — this is the trigger. |
| user-invocable | No | true (default) — appears in / menu. false — agent-only. |
| disable-model-invocation | No | true — prevents model from auto-loading; user must invoke manually. |
| tools | No | List of tool names this skill expects to use (hint to Copilot) |
| version | No | Semantic version string for tracking |
Installing Community Skills
# Via GitHub CLI (gh v2.90.0+) gh skill install github/awesome-copilot <skill-name> # Via Copilot CLI copilot plugin install <plugin-name>@awesome-copilot # Register marketplace first (older Copilot CLI versions) copilot plugin marketplace add github/awesome-copilot copilot plugin install <plugin-name>@awesome-copilot # Or copy manually into your skills directory # cp -r path/to/skill ~/.copilot/skills/skill-name/
Popular Skills from awesome-copilot
| Skill | Purpose |
|---|---|
| github-actions-debugging | Debug failing CI pipelines using GitHub MCP tools |
| codebase-mapper | Map, document, and onboard into an existing codebase |
| lsp-setup | Install & configure LSP servers for code intelligence |
| git-workflow | Issues → branches → commits → PRs with correct conventions |
| copilot-instructions-generator | Generate copilot-instructions.md from codebase analysis |
| migration-blueprint | Create instructions for tech migrations / framework upgrades |
| agent-governance | Governance, safety, and trust controls for AI agents |
| educational-comments | Add educational comments explaining code to a file |
| azure-iac-export | Export Azure resources to Bicep/Terraform via Resource Graph |
| mcp-swift-server | Generate MCP server projects in Swift |
Skills can reference executable scripts. Copilot CLI has controls for auto-approve: allowlist specific scripts in your config. VS Code provides per-skill execution controls. Always review community skills before enabling script execution.
Custom Agents
Custom agents are specialized versions of Copilot for specific tasks. Each agent has its own persona, tools, MCP servers, and system instructions. Switch between agents in the chat interface or invoke via CLI.
Creating Custom Agents
--- name: accessibility-reviewer description: | Runtime accessibility specialist. Use for keyboard flows, focus management, dialog behavior, form errors, and evidence-backed WCAG 2.1 validation in the browser. tools: - playwright # browser automation for testing - github # create issues for violations mcp_servers: - playwright-mcp --- You are an expert accessibility engineer specializing in WCAG 2.1 AA. When reviewing code changes: 1. Use Playwright to navigate the page and test keyboard flows 2. Check: focus indicators visible, tab order logical, dialogs trap focus 3. Verify form errors are announced to screen readers (aria-live) 4. Validate color contrast meets 4.5:1 for normal text 5. Create GitHub issues for each WCAG violation found Report violations with: WCAG criterion, evidence (screenshot/code), fix.
--- name: dotnet-architect description: | Senior .NET architect for complex delivery: designs .NET 6+ systems, decides between parallel subagents and orchestrated team execution, documents lessons learned, and captures durable project memory. tools: - github - terminal - workspace --- You are a Senior .NET Architect with 15+ years experience. Specialise in: Clean Architecture, CQRS + MediatR, EF Core, Azure deployment, performance tuning, and distributed systems. When given a complex task: - Break into sub-tasks, identify which can run in parallel - Document architectural decisions with rationale - Capture lessons learned in `docs/adr/` as ADR files - Prefer boring technology over clever solutions
Custom Agent Frontmatter
| Field | Description |
|---|---|
| name | Agent identifier and display name |
| description | When to use this agent (shown in picker, used for routing) |
| tools | List of tools available to this agent (workspace, terminal, github, etc.) |
| mcp_servers | MCP servers this agent connects to |
| skills | Skills to always load for this agent |
| model | Preferred model for this agent (e.g., claude-sonnet-4) |
Copilot Cloud Agent (Coding Agent)
The cloud agent works asynchronously in the background — you assign a GitHub Issue to Copilot, and it researches, plans, writes code, pushes commits to a draft PR, and pings you for review. Available in GitHub.com, VS Code, CLI, and Mobile.
Go to any GitHub Issue → Assignees → select Copilot. Or use the Agents panel at github.com/copilot/agents.
Reads the issue, searches the codebase, builds an implementation plan. All steps are visible in the session log.
Copilot writes code, runs tests (if configured in AGENTS.md), and creates a draft PR. You're notified when ready.
Review the diff, leave PR comments for Copilot to address. Mark ready when satisfied — requires human approval before CI runs.
The cloud agent requires human approval before any CI/CD workflows run — a deliberate safety gate. It respects branch protections. PRs from the agent are labeled and identifiable. It only accesses the repository specified when the task starts (configurable with MCP).
Sub-Agents & Orchestration
--- name: pure-orchestrator description: | Pure orchestration agent. Decomposes requests, delegates ALL work to sub-agents, validates outcomes, and repeats until complete. --- You ONLY orchestrate. You NEVER write code yourself. For every request: 1. Analyze and decompose into discrete tasks 2. Identify which tasks can run in parallel 3. Delegate each to the appropriate specialist sub-agent: - `accessibility-reviewer` → a11y concerns - `dotnet-architect` → backend design - `test-agent` → test generation 4. Collect outputs and validate against acceptance criteria 5. If validation fails, delegate corrective tasks 6. Report summary when all tasks pass validation
MCP — Model Context Protocol
The Model Context Protocol (MCP) is an open standard that lets Copilot connect to external tools, APIs, and data sources. In agent mode, Copilot uses MCP tools to complete agentic loops without switching context.
Search repos, issues, PRs, manage code, create branches — all from within Copilot.
Connect to PostgreSQL, MySQL, SQLite. Query schemas, explain plans, inspect data.
Browser automation for E2E testing, accessibility audits, and screenshot capture.
Inspect Azure resources, Resource Graph queries, IaC generation from existing infra.
Create/update tickets, transform requirements into epics and user stories.
Direct file system access, git operations beyond what the IDE provides.
GitHub MCP Server
The GitHub local MCP server is open source and natively supported in VS Code. It enables Copilot to interact with your GitHub repositories, issues, PRs, workflows, and more — directly from your conversation.
| Tool | What it does |
|---|---|
| search_repositories | Find repos by query across GitHub |
| get_file_contents | Read any file from any accessible repo |
| list_issues / create_issue | Browse and create GitHub Issues |
| list_pull_requests / create_pull_request | Manage PRs from within chat |
| list_workflow_runs / get_workflow_run | Inspect CI runs and logs |
| create_branch / push_files | Branch and push code changes |
| search_code | Search for code patterns across repos |
| copilot_spaces tools | Access Copilot Spaces context (GA Sep 2025) |
MCP Configuration
Configure MCP servers in mcp.json (workspace or user level). VS Code, JetBrains, Eclipse, and Xcode each have an MCP settings UI.
{
"servers": {
"github": {
"type": "http",
"url": "https://api.githubcopilot.com/mcp/" // OAuth — no token needed
},
"playwright": {
"type": "stdio",
"command": "npx",
"args": ["@playwright/mcp-server"]
},
"postgres": {
"type": "stdio",
"command": "npx",
"args": ["@modelcontextprotocol/server-postgres"],
"env": {
"POSTGRES_CONNECTION_STRING": "${env:DATABASE_URL}"
}
}
}
}
In VS Code and JetBrains, you can configure auto-approve at the server or tool level — reducing confirmation popups in long agent sessions. Set in: Settings → GitHub Copilot → Chat → MCP Server and Tool Auto-approve Configuration.
MCP servers are disabled by default for Copilot Business and Enterprise. An admin must enable the "MCP servers in Copilot" policy from the organisation policy settings before members can use them.
Hooks, Workflows & Plugins
Hooks
Hooks execute custom shell commands at key points during an agent session. Use them for validation, logging, security scanning, or enforcing policy without modifying the agent itself.
| Hook Event | When it fires | Can block? |
|---|---|---|
| userPromptSubmitted | After the user sends a message, before model responds | Yes |
| preToolUse | Before a tool call is executed (e.g., before a file write) | Yes — can deny or modify |
| postToolUse | After a tool call completes | No — custom post-processing only |
| errorOccurred | When an error happens during agent execution | No |
{
"hooks": [
{
"event": "preToolUse",
"tool": "write_file",
"command": "scripts/validate-no-secrets.sh",
"description": "Scan for secrets before writing files"
},
{
"event": "postToolUse",
"tool": "run_terminal_command",
"command": "scripts/log-command.sh",
"description": "Audit log all terminal commands executed by agent"
},
{
"event": "preToolUse",
"tool": "create_pull_request",
"command": "scripts/enforce-pr-template.sh",
"description": "Verify PR has required sections before creation"
}
]
}
Define hooks in any *.hooks.json file in .github/hooks/. Supported hook events in JetBrains: userPromptSubmitted, preToolUse, postToolUse, errorOccurred. VS Code and CLI hooks are configured in their respective settings.
Agentic Workflows
Agentic Workflows bring Copilot's coding agent directly into GitHub Actions. They run on repository events (push, PR, schedule) and can autonomously perform multi-step development tasks in CI.
--- name: dependency-update-agent description: | Automatically review dependency update PRs, run tests, and approve safe updates. Triggered on Dependabot PRs. on: pull_request: types: [opened] branches: [main] permissions: contents: read pull-requests: write safe-outputs: true --- When a Dependabot PR is opened: 1. Read the dependency diff to understand what changed 2. Check if the package has known CVEs (use GitHub Security Advisory) 3. Review the CHANGELOG for breaking changes 4. If patch/minor version with no CVEs: approve the PR 5. If major version or CVE found: add a review comment explaining
| Workflow Frontmatter | Description |
|---|---|
| on | GitHub Actions trigger events (same syntax as workflow YAML) |
| permissions | GitHub token permissions granted to the agent |
| safe-outputs | true — restrict outputs to prevent injection attacks |
Plugins
Plugins bundle related agents, skills, commands, and hooks into a single installable package. They are the unit of distribution for the awesome-copilot marketplace.
{
"name": "azure-devops-plugin",
"version": "1.2.0",
"description": "Complete Azure DevOps toolset for Copilot",
"agents": ["agents/azure-iac-agent.agent.md"],
"skills": ["skills/azure-iac-export/", "skills/bicep-review/"],
"mcp_servers": [
{
"name": "azure-mcp",
"source": { "npm": "@azure/mcp-server" }
}
]
}
# Install from awesome-copilot marketplace (registered by default) copilot plugin install azure-devops@awesome-copilot # Install from any GitHub repo copilot plugin install owner/repo # List installed plugins copilot plugin list # Validate a plugin during development npm run plugin:validate
Copilot CLI
GitHub Copilot CLI (GA February 2026) brings a full agentic development environment to the terminal. It plans, builds, reviews, and remembers across sessions — with skills, agents, hooks, and plugins — all without leaving the terminal.
# Install via npm npm install -g @github/copilot-cli # Or via homebrew brew install gh-copilot # Authenticate copilot auth login # Initialize project (generates instructions + AGENTS.md) copilot /init # Start a session copilot
CLI Commands & Flags
| Command / Flag | Purpose |
|---|---|
| /init | Generate copilot-instructions.md + AGENTS.md for the project |
| /model | Show and switch models. Includes free (GPT-4.1) and premium models |
| /diff | Review all session changes with syntax-highlighted inline diffs |
| /review | Analyze staged/unstaged changes before committing |
| /delegate <task> | Dispatch a coding agent to work on the task in the background |
| /memory | View and manage agent instruction files and cross-session memory |
| Shift+Tab | Switch to plan mode — Copilot asks clarifying questions, builds structured plan first |
| Esc Esc | Undo/rewind — revert file changes to any previous session snapshot |
| --allow-all-tools | Auto-approve all tool use (for containers / isolated environments) |
| --allow-tools <list> | Allowlist specific tools only |
| --deny-tools <list> | Block specific tools (e.g., deny git push) |
| --allow-paths <glob> | Restrict file access to specific paths |
| -p / --pipe | Non-interactive pipeline mode for scripts and CI |
| --model <name> | Set model for this session |
Built-in CLI Agents
| Agent | Purpose |
|---|---|
| Explore | Fast codebase analysis. Ask questions without cluttering main context. |
| Task | Run commands like tests and builds. Iterates until they pass. |
| Plan | Decompose a large task, build a structured plan, ask questions first. |
# Start and describe a task copilot > Add input validation to all API endpoints in src/api/ # Copilot plans, writes code, runs tests automatically # Review what changed > /diff # Delegate a related task to cloud agent while you continue > /delegate Write E2E Playwright tests for the new validation endpoints # Check for related open issues via GitHub MCP > Are there any open issues related to input validation? # Switch to plan mode before a big change (Shift+Tab) # Copilot asks clarifying questions, shows plan, waits for approval # Use in CI pipeline (non-interactive) copilot -p "Review the diff and check for security issues" \ --allow-tools workspace,github \ --deny-tools terminal
When your session approaches 95% of the context window, Copilot CLI automatically compresses conversation history in the background — no restart needed. Sessions can run as long as you need.
Prompting Best Practices
The quality of Copilot's output scales directly with the quality of your prompts. These principles apply across chat, agent mode, and instructions files.
Prompt Anatomy
Prompting Principles
Name the exact files, methods, or classes. "Refactor the OrderController.cs file" beats "refactor the order controller."
Tell Copilot how you'll verify the result: "All existing tests must pass, and add tests for the new happy path."
"Don't change the public API", "don't add new NuGet packages", "don't touch files in /tests/" — these prevent common mistakes.
"Follow the same pattern as ProductController.cs" gives Copilot a concrete model — better than describing conventions abstractly.
Press Shift+Tab in CLI (or ask "create a plan first") before large refactors. Review and refine the plan before execution begins.
For cloud agent tasks, leave specific line comments on the draft PR — Copilot reads and addresses them in the next iteration.
Instructions File Writing Tips
Very long instruction files cause some instructions to be overlooked (context limits). Target under 500 lines. Use path-specific *.instructions.md to split language-specific rules from general ones.
Instead of "write clean code", write: "Use primary constructors for simple service classes. Example: public class OrderService(IOrderRepo repo, ILogger<OrderService> log)."
If both copilot-instructions.md and a *.instructions.md give conflicting guidance, Copilot's choice is non-deterministic. Structure instructions carefully to avoid overlap.
Power-User Tips
Prefix with @workspace in VS Code chat to give Copilot access to your entire project. Essential for cross-file refactoring.
Use #file:path/to/file.cs to attach specific files, or #selection to reference what you've highlighted in the editor.
Copilot Spaces (GA Sep 2025) combine code, docs, and notes into a shared context — great for team standards and project wikis.
Copilot CLI remembers conventions and preferences across sessions. Build up good memory by consistently naming patterns in prompts.
While you focus on one task in CLI, delegate related work to the cloud agent. Both run in parallel — check the cloud agent PR when you're done.
Enable tool auto-approve + preToolUse hooks that validate safety. You get speed without sacrificing security controls.
In VS Code chat, check the References list on any response — confirms whether copilot-instructions.md and skills were actually loaded.
Right-click in VS Code Chat view → Diagnostics — shows all loaded instruction files and any loading errors. Invaluable for debugging why instructions aren't applied.
Personal ~/.copilot/ instruction files sync across devices via VS Code Settings Sync. Enable "Prompts and Instructions" in Settings Sync config.
Slash Commands Reference
| Command | What it does | Where |
|---|---|---|
| /explain | Explain selected code in plain English | VS Code, JetBrains |
| /fix | Fix issues in selected code | VS Code, JetBrains |
| /tests | Generate unit tests for selection | VS Code, JetBrains |
| /doc | Generate documentation/comments for selection | VS Code, JetBrains |
| /new | Create a new file/project from a template | VS Code |
| /newNotebook | Create a new Jupyter notebook | VS Code |
| /init | Generate project instructions (CLI + VS Code) | CLI, VS Code |
| /diff | Review session changes with syntax-highlighted diff | CLI |
| /review | Quick sanity check on staged changes | CLI |
| /delegate | Dispatch cloud agent to work on task in background | CLI |
| /model | View/switch models | CLI |
| /memory | Open agent instruction/memory settings | CLI, JetBrains |
| /skill-name | Manually invoke a named skill | VS Code, CLI |
awesome-copilot Community
The github/awesome-copilot repository is a community-driven collection of instructions, agents, skills, hooks, workflows, and plugins — maintained by GitHub and the developer community.
| Resource | Description |
|---|---|
| awesome-copilot.github.com | Full website with search, filtering, learning hub, tools section |
| github.com/github/awesome-copilot | Source repository — contribute via PRs to staged branch |
| awesome-copilot.github.com/skills/ | Browse all skills with descriptions and install commands |
| llms.txt | Machine-readable listing of all resources — for AI agents browsing the collection |
| Learning Hub | Curated articles on skills, agents, MCP, hooks, agentic workflows |
Contributing to awesome-copilot
# Fork the repo and clone git clone https://github.com/YOUR_USERNAME/awesome-copilot cd awesome-copilot # Create your content (skill, agent, instruction, etc.) # File names: lower-case-with-hyphens.md # Run validation npm run skill:validate # validate SKILL.md frontmatter npm run plugin:validate # validate plugin.json # Build (required — updates README automatically) npm run build # Fix line endings (required — CI will fail otherwise) bash scripts/fix-line-endings.sh # PR MUST target the 'staged' branch, NOT main git checkout -b feat/my-awesome-skill git push origin feat/my-awesome-skill # Open PR → base: staged
Required Frontmatter Checklist
All PRs must target the staged branch. File names must be lowercase with hyphens. Only .md files accepted — no .yml, .yaml, or .lock.yml. Run npm run build and bash scripts/fix-line-endings.sh before committing.
Recommended Repository Structure
Quick-Start: First 30 Minutes
Run copilot /init in CLI or type /init in VS Code chat. Copilot analyzes your repo and creates .github/copilot-instructions.md + AGENTS.md.
Open VS Code MCP settings and add the GitHub MCP server. Use OAuth — no PAT needed. This gives Copilot access to issues, PRs, and workflows.
Visit awesome-copilot.github.com/skills/ and find a skill relevant to your stack. Install via CLI: copilot plugin install <name>@awesome-copilot.
Find a small, well-scoped issue. Go to the Issue → Assignees → select Copilot. Check back in 5–10 minutes to review the draft PR.
Identify a repetitive task your team does (e.g., PR review checklist). Write a SKILL.md in .github/skills/ and test it by describing the task in chat.