You installed a skill, and now you're wondering: how is this different from an MCP server? A subagent? Just a good prompt? Short answer — they solve different problems and compose together.

One-line version: A prompt is what you say once. A skill is reusable know-how the model loads when relevant. An MCP server gives the model new actions and live data. A subagent is a separate worker with its own context. A hook is automation that fires on an event. A skill needs no API, no server, no code — it's just a structured instruction file.

## The 60-second comparison

| What it is | Gives the model… | Needs code/server? | Best for
--- | --- | --- | --- | ---
Prompt | Text you send | Instructions for this turn | No | One-off asks; global persona
Skill (`SKILL.md`) | A structured file the model loads on demand | Reusable expertise — how a pro produces a specific artifact | No | Repeatable structured deliverables (PRDs, postmortems, rubrics)
MCP server | A running service (Model Context Protocol) | New tools & live data (DB, email, GitHub) | Yes | Acting on real systems & data
Subagent | A separate agent with its own context | Parallelism + isolation | No | Big or separable sub-tasks
Hook | A script that runs on an event | Automation — before/after a tool, on prompt submit | A script | Guardrails, auto-formatting, auto-loading context

## How to choose

- Consistent, professional output for a recurring task? → Skill. (Every incident gets a proper postmortem.)
- Read/write a real system — DB, GitHub, Slack, files? → MCP server. Pair it with a skill so structure comes from the skill and data from the server.
- Just need this one thing, once? → Prompt. If you keep pasting the same prompt, promote it to a skill.
- Task is huge / want it off your main context? → Subagent.
- Want something automatic every time? → Hook.

They stack: a hook can auto-load a skill, which structures work that an MCP server grounds in live data, optionally delegated to a subagent.

## Why skills are so cheap: progressive disclosure

A skill loads in two stages, which is why you can have hundreds installed without blowing up the context:

1. Always in context (tiny): just each skill's `name` + `description` — ~100 tokens each. This is how the model decides what's relevant (and why the description is the most important line in a SKILL.md).
2. Loaded on demand: the full body — a few thousand tokens — enters context only when that skill is picked.

So 207 skills cost almost nothing until one is actually used. Broad capability, narrow cost.

## See it in practice

▶ Run a skill free 🧩 Chain skills into a workflow ⚡ Ground in 500+ apps (Composio) ✍️ Write your own skill

Full written version with links: docs/concepts.md.