A quick, no-fluff guide to getting GitHub Copilot set up and actually useful in a new project.
Onboarding GitHub Copilot on a New Project
When starting fresh, the goal is simple - teach Copilot how your project works once, so you don’t repeat yourself in every prompt.
A good starting point for ideas and patterns 👉 https://awesome-copilot.github.com/
Copilot Slash Commands
In GitHub Copilot, slash commands (prefixed with /) are predefined shortcuts to trigger specific tasks quickly.
Examples:
/explain→ explain code/fix→ fix issues/doc→ generate documentation/test→ generate tests
They save you from writing long prompts and standardize interactions.
Official reference: https://code.visualstudio.com/docs/copilot/reference/copilot-vscode-features#\_slash-commands
Initialize Your Project
Run:
/initThis generates or updates workspace-level instruction files like:
copilot-instructions.md(older)AGENTS.md(new default)
These files define how Copilot should behave in your codebase.
What is AGENTS.md
Think of AGENTS.md as a README for AI agents.
It provides:
Project context
Coding standards
Architectural decisions
Do’s and don’ts
It helps Copilot (and other agents) generate code aligned with your system—not generic output.
Custom Instructions
Custom instructions define shared rules that automatically influence how AI generates code.
Instead of repeating context in every prompt:
Store it once in Markdown
Let Copilot apply it consistently
They can be:
Always-on (automatic)
Scoped to files
Manually attached
Always-on Instructions
These are applied automatically to every chat request.
Option 1: .github/copilot-instructions.md
Single file
Applies to entire workspace
Good for most teams
Option 2: AGENTS.md
Can have multiple files
Useful for multi-agent setups
Can be placed:
Root of workspace
Subfolders (experimental scoping)
Option 3: Organization-level instructions
Shared across teams
Good for enforcing org-wide standards
Use .instructions.md Files
These are context-aware instruction files applied dynamically.
Copilot decides when to use them based on:
File patterns (
applyToin header)Task relevance
Locations
Scope | Location |
|---|---|
Workspace |
|
Claude-style |
|
User profile |
|
Use these when:
Different parts of repo need different rules
Example: backend vs frontend vs infra
Custom Prompts
Prompt files are reusable, task-specific prompts stored as Markdown.
They act like your own slash commands.
Key difference:
Custom instructions → automatic
Prompt files → manually invoked
Location
Scope | Location |
|---|---|
Workspace |
|
User profile | VS Code user data |
Use cases:
“Create API endpoint”
“Write integration tests”
“Generate Terraform module”
Custom Agents
Will be updating soon
Reference https://code.visualstudio.com/docs/copilot/customization/custom-agents
Custom Skills
Will be updating soon
Reference https://code.visualstudio.com/docs/copilot/customization/agent-skills
MCP
MCP (Model Context Protocol) is a standard way for AI agents to interact with external tools and systems.
It allows:
Communication via standard input/output (stdio)
Tool invocation (like CLI commands, scripts, services)
Structured context exchange between agent and environment
In simple terms:
👉 MCP connects your AI agent to real capabilities (files, APIs, tools)
This is what enables:
“Agentic workflows”
Multi-step automation
Real interaction with your dev environment
MCP (Model Context Protocol) – Locations
Project-level config:
mcp.json(root of workspace)Can also be part of:
.vscode/settingsUser-level config (global MCP setup)
Final Thought
If you do only one thing:
👉 Run /init and refine AGENTS.md
That alone moves you from:
“Copilot guessing”
to“Copilot aligned with your codebase”