The ecosystem around GitHub Copilot is evolving faster than most developers can track. We’ve moved past simple autocomplete into a world of Agents, Skills, and Custom Instructions, but the terminology often feels like marketing fluff. If you’re tired of guessing which configuration file does what, this post provides a clean, technical mental model to help you master Copilot’s architecture without the fog
Below is a clean mental model of the terms you keep hearing around GitHub Copilot — agent, skill, instruction, prompt, chat mode, etc.—and how they fit together without marketing fog. I’ll keep it practical and aligned with how you’d actually use this in a real repo or VS Code setup.
1️⃣ Prompt – “What you say right now”
What it is
* A single, ad‑hoc input you type into Copilot Chat.
* Exists only for that one interaction.
Examples
* “Explain this C# method”
* “Create a Bruno request with multipart/form-data”
* “Why is this Graph API call returning 403?”
Key characteristics
* Ephemeral
* Manual
* No reuse unless you copy/paste
When to use
✅ One‑off questions
✅ Exploration, debugging, learning
> Think of a prompt as talking to Copilot like a human—powerful, but forgetful.
2️⃣ Instructions (Custom Instructions) – “Always behave like this”
What they are
* Persistent rules automatically injected into Copilot’s context.
* Define standards, conventions, and expectations.
Where they live
* .github/copilot-instructions.md
* .github/instructions/*.instructions.md
* AGENTS.md (multi-agent compatible)
What they contain
* Coding standards
* Architectural constraints
* Style rules
* Review expectations
Example
- Use async/await for all IO
- Follow Clean Architecture
- Use xUnit for tests
Key characteristics
* Always-on (or pattern-based)
* No scripts or assets
* Text-only rules
When to use
✅ Team-wide standards
✅ “Never do X / Always do Y” rules
> Instructions are policy, not capability.
3️⃣ Prompt Files – “Named, reusable prompts”
What they are
* Saved prompts you explicitly invoke.
* Typically exposed as slash commands.
Where they live
* .github/prompts/*.prompt.md
Example
# /create-release-notes
Generate release notes from git history using our standard format.
Key characteristics
* Manual invocation
* One-shot execution
* No auto-discovery
When to use
✅ Repeatable tasks
✅ Human-triggered workflows
> Prompt files are macros for prompts.
4️⃣ Agent (formerly Chat Mode) – “Who Copilot is”
Important clarification
✅ Chat modes and agents are the same thing
GitHub renamed chat modes → agents [dev.to]
What an agent is
* A persona + capability boundary for Copilot
* Defines:
* Role (tester, reviewer, SRE, architect)
* Allowed tools
* Tone and intent
Where they live
* .github/agents/*.agent.md
Example
name: qa-agent
description: Focuses on testing and validation
tools:
- file_read
- test_runner
Key characteristics
* Selected explicitly
* Changes how Copilot thinks and acts
* Can execute tools (in agent mode)
When to use
✅ Distinct roles
✅ Tool-based workflows
✅ Autonomous behavior
> Agents define identity and authority.
5️⃣ Skill (Agent Skill) – “What Copilot knows how to do”
This is the big new concept.
What a skill is
* A self-contained, reusable capability package
* Loaded automatically when relevant
What it can include
* Instructions (SKILL.md)
* Scripts
* Code templates
* Reference files
* Examples
Where skills live
* .github/skills//
* ~/.copilot/skills/ (personal)
Example
.github/skills/webapp-testing/
├─ SKILL.md
├─ generate_tests.py
└─ test_templates/
Key characteristics
* Auto-discovered
* Loaded on demand (progressive disclosure)
* Portable across:
* VS Code
* Copilot CLI
* Copilot coding agent
When to use
✅ Multi-step workflows
✅ Domain-specific procedures
✅ Tasks needing scripts/assets
> Skills are procedural knowledge, not rules.
6️⃣ How they fit together (mental model)
You type a PROMPT
↓
An AGENT interprets it
↓
INSTRUCTIONS apply global rules
↓
Relevant SKILLS auto-load
↓
Agent executes or responds
7️⃣ Quick comparison table
| Concept | Purpose | Persistent | Assets | Auto-loaded | Best for |
|---|---|---|---|---|---|
| Prompt | One-off input | ❌ | ❌ | ❌ | Quick questions |
| Instructions | Standards & rules | ✅ | ❌ | ✅ | Team conventions |
| Prompt File | Named prompt | ✅ | ❌ | ❌ | Repeatable tasks |
| Agent | Role/persona | ✅ | ❌ | ❌ | Tool-driven workflows |
| Skill | Capability | ✅ | ✅ | ✅ | Complex procedures |
8️⃣ Practical guidance (what to use when)
If you remember only one thing:
✅ Instructions → “Always follow these rules”
✅ Prompts → “Do this now”
✅ Prompt files → “Do this again later”
✅ Skills → “Here’s how to do this properly”
✅ Agents → “Act as this role”
9️⃣ Why this matters for you
Given your work:
* API integrations
* Documentation standards
* Repeatable release and configuration tasks
You’d likely want:
* ✅ Instructions for coding & doc standards
* ✅ Skills for:
* Graph API email patterns
* Release note generation
* Configuration or module setup
* ✅ Agents for:
* Reviewer vs implementer roles
📚 Further Reading & Sources
- GitHub Docs: About GitHub Copilot Agent Skills
- VS Code Guide: Using Agent Skills in Visual Studio Code
- GitHub Changelog: GitHub Copilot now supports Agent Skills
- Microsoft Learn: In-depth Overview of GitHub Copilot Chat Modes
- Community Insight: GitHub Copilot Chat Modes Explained (with Personality)