Agent Skills vs MCP Servers vs Prompts: Which to Use When
2026-10-30 ยท Skill Store team
If you have pasted the same checklist into your coding agent three times this week, that checklist should probably be a skill. Coding agents give you four main ways to shape what they do: a prompt you type, an instructions file such as CLAUDE.md or AGENTS.md, an agent skill, and an MCP server. They overlap, and each tool documents them on separate pages. This guide puts them side by side, gives a simple rule for each, and shows when you want two of them at once.
Based on the Claude Code, Cursor, Codex, Model Context Protocol and Agent Skills docs as of Oct 30, 2026.
The short answer
Use a prompt for a request you will make once. Use an instructions file for short facts that hold in every session. Use an agent skill for a procedure the agent should follow for one kind of task. Use an MCP server when the agent needs to reach a system outside your files, such as a database, an issue tracker or an API. A skill and an MCP server often work together: the server gives the agent tools, and the skill tells it how to use them for a job.
The four options, one card each
Prompt
What it is: the message you type in chat.
How long it lasts: that conversation only.
Use it for: a request you will not repeat.
Instructions file
What it is: CLAUDE.md in Claude Code, AGENTS.md (which Cursor reads, and which Claude Code reads by default when the project has no CLAUDE.md), or a Cursor rule set to Always Apply.
How long it lasts: read at the start of every session.
Use it for: build commands, code style and other facts the agent should always know.
Agent skill
What it is: a folder with a SKILL.md file, plus optional scripts, references and templates.
How long it lasts: the agent sees only the skill's name and description until a task matches, then reads the full instructions.
Use it for: multi-step procedures, checklists and reference material for one kind of job.
MCP server
What it is: a connection to an outside system through the Model Context Protocol (MCP), an open-source standard for connecting AI applications to external systems such as data sources, tools and workflows.
How long it lasts: as long as the server is connected.
Use it for: reading and acting on live systems the agent cannot see in your files.
Prompt vs agent skill
Claude Code's docs give a direct test: create a skill when you keep pasting the same instructions, checklist or multi-step procedure into chat. Once the procedure is a skill, you write it once. The agent can pick it up on its own when a task matches the skill's description, or you can call it by name. In Claude Code and Cursor you type a slash and the skill name. In Codex you run /skills or type $ and the skill name.
Slash commands and skills are converging. In Claude Code, custom commands have been merged into skills: a file at .claude/commands/deploy.md and a skill at .claude/skills/deploy/SKILL.md both create /deploy, and existing command files keep working. Cursor has a built-in /migrate-to-skills skill that converts eligible dynamic rules and slash commands into skills.
Instructions files and rules vs agent skills
Claude Code reads CLAUDE.md at the start of every session. Its docs suggest keeping each CLAUDE.md under 200 lines, because longer files use more context and reduce adherence. The docs also say a section of CLAUDE.md belongs in a skill once it has grown into a procedure rather than a fact. Unlike CLAUDE.md content, a skill's body loads only when it is used.
Cursor's project rules come in four types: Always Apply, Apply Intelligently, Apply to Specific Files and Apply Manually. When a rule applies, its contents go at the start of the model's context. Cursor also reads AGENTS.md as a plain markdown alternative to rules, including nested AGENTS.md files in subfolders, which apply to that folder and the folders below it. Cursor's migration skill converts rules set to Apply Intelligently, because like skills they load when the agent decides they are relevant. Rules that always apply, or that match file patterns, are not migrated.
A simple way to split them: if it is a fact about the project, put it in the instructions file. If it is a set of steps for one kind of task, make it a skill.
MCP servers vs agent skills
An MCP server adds access. Claude Code's docs say to connect one when you find yourself copying data into chat from another tool, like an issue tracker or a monitoring dashboard. Once connected, the agent can read and act on that system directly. The MCP specification warns that tools represent arbitrary code execution, and Claude Code's docs say to verify you trust each server before connecting it, so read what a server's tools do first.
A skill adds know-how. Take a bug ticket. An issue tracker MCP server lets the agent read and update tickets. A triage skill tells it how your team handles one: which fields to fill, which labels to use, and when to hand off to a person. You usually want both.
They also connect. In Codex, a skill can list the MCP server it depends on in an optional agents/openai.yaml file, so the tool and the procedure travel together. An MCP server can also serve skills to your agent through MCP's Skills extension (SEP-2640), which is now Final. The MCP docs say SDK and host support is still being implemented, and the Claude Code and Cursor skills docs describe loading skills from folders on disk, not from MCP servers.
What each one costs in context
Every option takes up some of the model's context window (the amount of text the model can hold at once), and they spend it differently.
A prompt costs only the conversation it is in.
An always-on instructions file is loaded in full every session, which is why the docs ask you to keep it short.
A skill costs little until it is used. Agents load the name and description of each skill at startup and read the full SKILL.md only when a task calls for it. Claude Code caps each skill's description text at 1,536 characters by default, and if the list of skills outgrows its budget it drops descriptions, starting with the skills you invoke least. Codex keeps its starting skill list to at most 2% of the context window by default, or 8,000 characters when the window size is unknown, and shortens descriptions first when you have many skills.
An MCP server in Claude Code uses tool search by default. Only tool names and server instructions load at session start, and full tool definitions load when Claude needs them, so adding servers has a small effect on context.
So skills and MCP servers are both built to stay small until needed. The always-on instructions file is the one you pay for in every session.
A quick checklist
Will you say it once? Write a prompt.
Is it a short fact that is true for the whole project? Put it in CLAUDE.md, AGENTS.md or an always-apply rule.
Is it a procedure for one kind of task? Make it a skill, or start from one someone has already published.
Does the agent need data or actions from another system? Connect an MCP server.
Do you need both access and a procedure? Use an MCP server plus a skill that says how to use it.
FAQ
What is the difference between an agent skill and an MCP server?
An MCP server gives an agent access to an outside system, such as a database or issue tracker. An agent skill gives it instructions for one kind of task. Many workflows use both.
Can an agent skill use an MCP server?
Yes. A skill's instructions can tell the agent which MCP tools to call and in what order. In Codex, a skill can also declare the MCP server it depends on in agents/openai.yaml.
Should I put instructions in CLAUDE.md or in a skill?
Put short facts that apply to every session in CLAUDE.md. Move anything that has grown into a step-by-step procedure for one kind of task into a skill, which loads only when it is used.
Are Cursor rules the same as agent skills?
No. Rules add their contents to the start of the model's context when they apply. Skills load their full instructions only when a task matches. Cursor's built-in /migrate-to-skills skill converts eligible Apply Intelligently rules and slash commands into skills.
Do skills or MCP servers use more context?
Both load a short summary first. Skills start with each name and description, and Claude Code's MCP tool search starts with tool names and server instructions. An always-on instructions file is loaded in full every session.
Is a slash command the same as a skill?
In Claude Code, custom commands have been merged into skills, so .claude/commands/deploy.md and .claude/skills/deploy/SKILL.md both create /deploy. A skill can also hold supporting files and frontmatter that controls how it is invoked.
Let your agent search Skill Store 33
Skill Store 33 runs a public MCP server at https://mcp.ss33.ai. Connect it once and your agent can search about 60,000 skills by task, read what each one does, and fetch the one that fits. In Claude Code, run:
claude mcp add --transport http skill-store https://mcp.ss33.ai
Without an account your agent gets 5 searches a minute. A free account gives you a key with 60 searches a minute: create one on your account page, then add it to the connection as an Authorization: Bearer <key> header.
Sources (official docs, read Oct 30, 2026)
Claude Code skills: code.claude.com/docs/en/skills
Claude Code memory and CLAUDE.md: code.claude.com/docs/en/memory
Claude Code MCP: code.claude.com/docs/en/mcp
Cursor skills: cursor.com/docs/skills
Cursor rules: cursor.com/docs/rules
OpenAI Codex skills: learn.chatgpt.com/docs/build-skills
Model Context Protocol introduction: modelcontextprotocol.io/docs/getting-started/intro
Model Context Protocol specification: modelcontextprotocol.io/specification/latest
MCP Skills extension: modelcontextprotocol.io/extensions/skills/overview
Agent Skills overview: agentskills.io/what-are-skills
Related guide: What Are Agent Skills? SKILL.md Explained for AI Agents
Related guide: How to install agent skills in Claude Code, Cursor, Codex and VS Code
Related guide: Skill not triggering? Fixes for Claude Code, Cursor and Codex
Related guide: Where Agent Skills Go: Folder Paths for 13 Coding Agents
This article was created with the help of AI (AI-Assisted). Every config key and command was checked against the official docs in the Sources list. ReadyAI is accountable for the content.