Docs / Concepts / Skills, MCP, and extending an agent

Concepts

Skills, MCP, and extending an agent

Beyond standing instructions: packaged skills the agent loads when relevant, MCP servers that connect it to your tools and data, and the commands, subagents, and hooks around them — with the cross-vendor equivalents.

Updated Jun 26, 2026

Standing instructions tell an agent how to behave. Sometimes you want to give it more: a procedure to follow for a particular kind of task, or a connection to a tool or data source it does not have. Three mechanisms cover most of that — skills, MCP, and commands — and they share one design goal: add capability without permanently bloating the agent’s context.

Skills: packaged know-how, loaded on demand

A skill is a folder with a SKILL.md file — a name, a description of when to use it, and the instructions (plus any scripts it needs). The useful part is progressive disclosure: the agent sees only each skill’s name and description until a task matches one, and loads the full content only then. So you can have a hundred skills installed and pay the context cost of just the one the job needs.

For example, a “release-notes” skill might describe itself as “use when cutting a release” and hold the exact steps plus the script that builds the changelog. The agent ignores it on every other task and pulls it in on the one where it applies. A minimal one:

---
name: release-notes
description: Use when cutting a release — builds the changelog and tags the version.
---

1. Run `scripts/changelog.sh` to collect merged PRs since the last tag.
2. Draft the notes, grouped by type, and open a PR with the new tag.

In Claude Code , skills live in ~/.claude/skills/<name>/ (personal) or .claude/skills/ (project, shared with the team). Anthropic introduced skills in late 2025 and published the format as an open standard, and it spread fast: OpenAI’s Codex and Cursor read the same SKILL.md format, so a skill is becoming portable across agents — the way MCP did before it.

MCP: connect the agent to your tools and data

Where a skill packages instructions, the Model Context Protocol (MCP) packages capabilities. An MCP server exposes tools and data — your issue tracker, a database, an internal API — and any MCP-aware agent can call them. It is the standard answer to “the agent needs to reach a system it does not already know about.”

MCP matters because it is genuinely cross-vendor. Anthropic introduced it in late 2024; OpenAI, Google, and Microsoft all adopted it through 2025; and it is now governed as an open standard under the Linux Foundation. So an MCP server you write is not tied to one agent — it works with whichever ones speak the protocol. In Claude Code you add one with claude mcp add or a project .mcp.json. Many of the connectors an agent reaches — a browser, a drive, an issue tracker — are MCP servers underneath.

Commands, subagents, and hooks

Three smaller mechanisms (Claude Code’s names; other tools have close equivalents) round this out:

  • Custom commands — a prompt you trigger yourself with /name. In Claude Code these have merged into skills: a skill marked manual-only is a slash command. Use one for a routine you want to invoke deliberately rather than leave to the agent’s judgment.
  • Subagents — a specialized agent with its own context, system prompt, and restricted tools, that the main agent hands a focused sub-task. This is multi-agent orchestration inside a single tool: a code-reviewer subagent reviews with fresh eyes; a search subagent reads widely without filling the main agent’s context.
  • Hooks — shell commands that fire deterministically at lifecycle points (before a tool runs, after a file is edited). Where instructions and skills ask the agent to do something, a hook makes it happen — run the formatter after every edit, or block a command you never want run. That determinism is exactly why a hook, not a sentence in an instructions file, is where you put a guardrail you cannot afford the agent to skip.

Choosing among them

  • Behavior that applies everywhere → standing instructions .
  • A procedure for a specific kind of task → a skill.
  • Access to an external tool or data source → an MCP server.
  • A guarantee that must always hold → a hook.

Each of these adds surface area, though, and an agent with fifty skills, ten MCP servers, and a crowded instructions file is harder to predict, not easier. Add one when a real need appears — the same restraint as designing tools : a small, reliable set beats a large, possible one.

Where to go next

Source: content/concepts/skills-and-mcp.md · maintained in the nuilab-agenticai repository.