Skills & Tools
A tool is a callable capability that an AI agent can invoke to interact with the world — run code, search the web, read a file, call an API. Without tools, an agent can only generate text. With tools, it can act.
The difference between a chatbot and an agent is tools. A chatbot responds to your messages. An agent can pick up a tool and do something — run tests, create a PR, search documentation, update a database. Skills are sets of related tools bundled for a purpose. Some tools are built-in to the assistant; others are added externally via protocols like MCP — and the agent chooses which ones to use autonomously.
Tools vs Skills
These two terms are closely related but not identical:
| Term | Meaning | Example |
|---|---|---|
| Tool | A single callable function | run_tests(), search_web(), read_file() |
| Skill | A bundle of related tools for a domain | “GitHub Skill” bundles create_issue, list_PRs, comment_on_PR |
Different platforms use these terms differently. In GitHub Copilot, tools are exposed via MCP servers. In some other systems, “skill” and “tool” are used interchangeably. The concept is the same: callable capabilities the agent can use.
Built-in vs external tools
Most AI coding assistants come with built-in tools — file reading and editing, terminal access, web search. External tools are added via protocols like MCP. Built-in tools are always available; external tools must be configured. The boundary between the two matters when you’re setting up an environment or troubleshooting why an agent can’t do something you expect.
Common built-in tools in AI coding assistants:
- File system read/write
- Terminal/shell command execution
- Web search
- Code execution (in a sandbox)
- Codebase semantic search
How agents choose tools
You don’t tell the agent which tool to use. You give it a goal: “Find the bug in this function and write a test for it.” The agent decides — read the file, search for related code, run the existing tests, write a new one. Tool selection is autonomous: the agent chooses based on its understanding of the task, not following a script you wrote.
This autonomy is exactly what makes an agent different from a chatbot. A chatbot answers. An agent decides, acts, and produces a work product.
Tools and MCP
MCP (Model Context Protocol) is the standard that defines how external tool providers connect to agents. When you add an MCP server to your Copilot environment, you’re giving the agent access to new tools. The agent doesn’t need to know how the MCP server works internally — it just knows what functions are available. See What is MCP? for the technical details.
Dive deeper
- What is MCP? — the protocol that delivers tools to agents
- What is an Agent? — agents are the ones using tools
- Extensions, Tools & MCP — tools in Copilot specifically
Related Concepts
- What is MCP? — The protocol that delivers external tools to agents
- What is an Agent? — Agents are the systems that select and use tools
- Extensions, Tools & MCP — Skills and tools in GitHub Copilot specifically
📍 Layer 4b — Tools/MCP · Back to the AICA Onion
What’s next?
- Full Glossary — definitions for every term used across this site