GitHub Copilot Mental Model: Prompts vs. Instructions vs. Agents vs. Skills

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 Copilotagent, 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