By 2026 there are two standard, complementary surfaces for extending what a coding agent can do, and confusing them produces bad builds in both directions. MCP (Model Context Protocol) is a connection protocol — it defines how an agent reaches outside the model to call an API, query a database, or drive another system. Skills are a knowledge format — a folder of instructions, scripts, and examples that teaches an agent how to approach a category of work. The crisp version: MCP gives the agent access; skills give the agent judgment about what to do with that access.
SKILL.md format runs on any compatible client — adoption spans Claude Code, Cursor, Gemini CLI, GitHub Copilot, OpenAI Codex, Goose, and Letta — which turned skills from a vendor feature into a portable team asset.A skill is a directory with a SKILL.md at its root: YAML frontmatter carrying a name and a one-line description, then a markdown body of instructions, optionally alongside helper scripts and reference files. The economics are the point — progressive disclosure: only the name and description enter context at session start; the body loads when the skill actually triggers. A 2,500-token skill body behind a 60-token header defers ~98% of its context cost until the moment it pays for itself — which is what makes a library of dozens of skills viable where a monolithic instruction file is not (see ContextEngineeringForCodingAgents).
Good skill material is any procedure you'd otherwise re-explain: your release process, a review checklist, the deployment runbook, house style for a document type, the workflow for a recurring analysis. The deeper format details and authoring craft live in CustomSkillsArchitecture and its sibling pages (SkillComposition, SkillDebugging).
| You need… | Build |
|---|---|
| Access to an external system (API, DB, SaaS) with auth, structured calls, live data | MCP server |
| A procedure followed consistently (process, checklist, house method) | Skill |
| A rule active in every session of one repo (conventions, build commands) | Instruction file (CLAUDE.md / AGENTS.md) |
| A deterministic transformation with no judgment in the middle | Plain script the agent (or CI) runs |
The boundary cases are where the framework earns its keep:
The strongest pattern composes them: an MCP server for access, a skill for the method. The MCP server exposes what can be done (tools to query, write, verify); the skill encodes what should be done (the order, the gates, the verification loop, the failure handling). Example shape: a knowledge-base MCP server exposes write/read/verify tools, and a content-authoring skill teaches the agent the workflow — survey before writing, lint after writing, live-check retrieval afterward. The MCP surface alone leaves every session to improvise its method; the skill alone has knowledge but no hands.