Whats new in VS Code: Customizations explained for beginners
A beginner-friendly guide to the new VS Code Customizations section: Agents, Skills, Instructions, Hooks, MCP Servers, and Plugins, with when-to-use examples and diagrams.
Why this section is new
In recent VS Code + Copilot updates, the editor moved from only “chat responses” to a more customizable AI workflow.
That new Customizations section helps you teach Copilot:
- Who should do the job (Agent)
- What reusable capability to run (Skill)
- How to behave by default (Instructions)
- What to run automatically on events (Hooks)
- How to connect external tools and data (MCP Servers)
- What extra runtime capabilities to load (Plugins)
Quick mental model
flowchart TD U[You ask in Chat] --> I[Instructions apply] I --> A[Agent is selected] A --> S[Skill may run] S --> M[MCP server or Plugin tools may be called] A --> H[Hooks may trigger before or after events] M --> R[Result returned in chat/editor] H --> RAgents
What it is
An Agent is a role-based AI worker. Different agents are optimized for different tasks.
Examples:
- Coding agent: edits files, runs checks, fixes errors.
- Explore agent: reads the codebase and reports findings.
- Commit reminder agent: helps with commit workflow.
When to use Agents
Use an Agent when you want to change how the work is executed, not just the answer style.
- Use a coding-focused agent for implementation and refactoring.
- Use an exploration-focused agent for searching and analysis.
- Use a workflow-focused agent for release/commit support.
Skills
What it is
A Skill is a packaged, reusable procedure or domain recipe.
A skill usually contains:
- When it should be used
- How to collect context
- Which steps/tools to run
- What output format to return
When to use Skills
Use a Skill when the task repeats and you want consistency.
- “Set up a new project”
- “Review test failures”
- “Analyze API surface”
If Agents are people, Skills are their playbooks.
Instructions
What it is
Instructions are your global/local behavior rules for Copilot.
Examples:
- Always run tests after edits
- Keep responses concise
- Prefer TypeScript
- Avoid changing public APIs unless requested
When to use Instructions
Use Instructions for persistent preferences and quality guardrails.
- Team coding standards
- File formatting rules
- Safety constraints
- Tone and response format
If something should apply almost every time, it belongs in Instructions.
Hooks
What it is
Hooks run actions automatically on events.
Common event ideas:
- Before tool execution
- After file save/change
- Before final response
- After task completion
When to use Hooks
Use Hooks for automation and enforcement.
- Auto-run linter on save
- Validate required metadata in new content files
- Trigger a checklist before finalizing output
Hooks reduce manual repetition.
MCP Servers
What it is
MCP (Model Context Protocol) Servers let Copilot talk to external systems in a structured way.
That can include:
- Databases
- Internal APIs
- Issue trackers
- Docs systems
- Business tools
When to use MCP Servers
Use MCP when Copilot needs real, live data or external actions.
- “Read table schema from SQL Server”
- “Fetch order status from internal system”
- “Search enterprise docs”
Without MCP, Copilot mainly uses local files + built-in tools.
Plugins
What it is
Plugins extend functionality with additional runtime integrations.
Depending on your setup, plugins can provide:
- New commands
- New tool adapters
- App-specific actions
When to use Plugins
Use Plugins when a product or workflow needs a dedicated extension layer that is not covered by your default agent + skill setup.
When to use which one
| Need | Best fit | Why |
|---|---|---|
| I want Copilot to behave a certain way everywhere | Instructions | Global/default behavior |
| I want a specialist worker for a type of task | Agent | Role-focused execution |
| I want reusable step-by-step logic | Skill | Repeatable playbook |
| I want automatic event-based actions | Hook | Hands-free automation |
| I want external live data/tools | MCP Server | Connects model to systems |
| I want extra integration capabilities | Plugin | Extends feature surface |
Decision diagram
flowchart TD Q[What do you need?] --> B{Behavior rule or one-time task?} B -->|Behavior rule| I[Use Instructions] B -->|Task execution| C{Need specialist workflow?} C -->|Yes| A[Pick Agent] C -->|No| S[Use default Agent]
A --> D{Task repeats often?} S --> D D -->|Yes| K[Create or use Skill] D -->|No| E[Run direct prompt]
E --> F{Need external system data/action?} K --> F F -->|Yes| M[Use MCP Server] F -->|No| G{Need auto trigger on event?} M --> G G -->|Yes| H[Add Hook] G -->|No| P[Optional Plugin only if needed]Beginner to intermediate learning path
Stage 1: Beginner (Week 1)
Focus only on:
- Basic chat prompting
- One useful Instruction file
- One default Agent for coding
Goal: Get consistent outputs.
Stage 2: Early practical (Week 2)
Add:
- One Skill for repeated tasks (for example, article creation checklist)
- One simple Hook (for validation/lint)
Goal: Save time on repeated work.
Stage 3: Intermediate (Week 3-4)
Add:
- MCP server for one real data source
- Optional plugin if workflow needs it
- Separate agents for exploration vs implementation
Goal: Move from “assistant” to “automated teammate”.
Practical examples for your blog workflow
- Instructions: enforce frontmatter fields for every new post.
- Agent: use coding agent for file creation and formatting.
- Skill: create a “new article template” skill with title, tags, metadata checks.
- Hook: run a metadata validator before final response.
- MCP: pull publish queue data from a content calendar system.
- Plugin: integrate a custom tool if your pipeline requires special commands.
Common mistakes to avoid
- Using Instructions for one-time tasks. Use prompt or skill instead.
- Creating too many agents early. Start with one or two.
- Adding hooks without understanding trigger scope.
- Expecting MCP to work without server auth/config.
- Installing plugins before proving a real need.
Final checklist
Before adding a new customization, ask:
- Is this a preference? Use Instructions.
- Is this a role? Use Agent.
- Is this a repeatable method? Use Skill.
- Is this event automation? Use Hook.
- Is this external data/action? Use MCP Server.
- Is this an extra integration surface? Use Plugin.
If you follow this order, you will quickly move from beginner to intermediate without over-complicating your setup.




