Claude Code skills vs prompts, commands and plugins
What a skill is next to a prompt, a slash command, a subagent, a plugin, CLAUDE.md and a hook, with each definition taken from Anthropic’s Claude Code docs.
- For
- Claude Code users sorting out which extension to reach for
- Written for
- Claude Code
- Time
- 8 min read · updated Oct 31, 2026
The short answer
A prompt is what you type once. A skill is a SKILL.md file Claude Code loads when it is relevant, or when you call /skill-name. Custom commands have been merged into skills. A subagent is a separate assistant with its own context window. A plugin packages skills, subagents, hooks and MCP servers as one unit. CLAUDE.md is context loaded every session. A hook is a command that runs every time its event happens.
Claude Code has several ways to give it instructions, and the names overlap. This page puts them side by side. The definitions come from Anthropic’s Claude Code docs, linked in each row and again at the foot of the page. For the idea of a skill on its own, read What are agent skills?. For the habits that make a set of them easier to live with, see Claude Code skills best practices.
The six, side by side
Skill or prompt
A prompt is a description you type into the chat. A skill is a file Claude Code keeps. Anthropic’s skills page says to create one when you keep pasting the same instructions, checklist or multi-step procedure into chat. That is the whole test: if you have pasted it twice, it is a skill waiting to be written.
A skill can hold more than text. It is a folder, so it can carry scripts, templates and examples beside SKILL.md. What are agent skills? shows the layout.
Skill or slash command
You do not have to choose. The skills page says custom commands have been merged into skills: a command file and a skill folder of the same name both give you /name and work the same way. Skills add three things: a directory for supporting files, frontmatter that controls whether you or Claude invokes them, and the ability for Claude to load them automatically when relevant.
That frontmatter is where the old command behaviour lives. The docs say disable-model-invocation: true stops Claude loading a skill by itself, for workflows you want to trigger manually with /name. And user-invocable: false is for a skill only Claude should invoke.
Skill or subagent
A skill is instructions. A subagent is a worker: its own context window, system prompt, tools and permissions. They can meet. The skills page says setting context: fork in a skill runs it in a forked subagent context. A plugin can also ship subagent definitions that Claude can delegate to.
Skill or CLAUDE.md
Both are text Claude reads, and they differ in when. The memory page says CLAUDE.md is loaded at the start of every conversation. The skills page says a skill’s body loads only when it is used, so long reference material costs almost nothing until you need it. It suggests a skill when a section of CLAUDE.md has grown into a procedure rather than a fact. Facts that should always be in view go in CLAUDE.md. Procedures go in skills.
Skill or hook
This is the choice between asking and making. A skill is read by the model, which then decides what to do. A hook is a command Claude Code runs itself, so the action always happens. The memory page makes the same point from the other side: CLAUDE.md is context, not enforced configuration, and to block an action regardless of what Claude decides, use a PreToolUse hook. If a rule must hold every time, it belongs in a hook, not in a skill or in CLAUDE.md.
Skill or plugin
A plugin is not a rival to a skill. It is a way to carry one. The plugins page says skills, subagents, hooks and MCP servers all work on their own, and that a skill you save in ~/.claude/skills/ is available in every project on your machine. Use a plugin when you want several of them packaged as one unit, to share with teammates, install in many projects or publish versioned releases. One cost to know: an enabled plugin is part of every session, and for each of its skills that Claude can invoke on its own, the name and description sit in Claude’s context on every turn, while the full text loads only when used. Where skills live lists the folders.
A worked example: one hero, as a prompt and as a skill
Say you want an animated website hero. MotionSites sells prompts for this, to paste into an AI builder, and the result depends on the tool, the model and the run. A prompt you might type is:
You type that again next time, and each run can come out differently. Now the same job as a skill. Roller Diner Hero is a free skill whose SKILL.md header holds a name and a long description saying what it builds and when to use it. That description is what Claude Code matches your request against, and it names retro, diner, restaurant and hospitality heroes. The body then gives Claude the steps:
- Collect the words from you: a name, a short headline, two sentences, buttons, links and ticker lines. The skill says every number and claim must come from you.
- Write
hero.jsonby copying the example and replacing every value. - Build with
node <skill>/scripts/build.mjs hero.json out, which lists every problem at once and writes nothing until they are fixed. - Check with
node <skill>/scripts/check.mjs out/index.html.
The footage, colours, fonts and layout stay as they are; you change the words and links. The design lives in the skill’s template, which is why the second run looks like the first, and the length limits are enforced by the build, not left to the model. The skill also writes a paste-in embed and a 1080p MP4 with sound, which a pasted prompt does not carry with it. Its limits are real too: it needs Node.js 18 or newer, Chrome, Chromium or Edge, and ffmpeg for the video.
Nothing about this needs a plugin or a hook. If you wanted the build to run every time you finished editing hero.json, that is the hook’s job. If you wanted to hand the skill to a team, a plugin or a committed .claude/skills/ folder does it.
To judge descriptions like the one above, see Write a description that makes a skill trigger. To compare more hero skills, see the best hero animations for Claude Code.
Which one to reach for
Common questions
- Are slash commands and skills the same thing now?
- In Claude Code, yes for the file format. Anthropic’s skills docs say custom commands have been merged into skills:
.claude/commands/deploy.mdand.claude/skills/deploy/SKILL.mdboth create/deploy, and existing command files keep working. - Is a skill just a saved prompt?
- It starts as one: instructions in a
SKILL.mdfile. But a skill is a folder, so it can also carry scripts, templates and examples, and Claude Code can load it when your request matches its description. - Do I need a plugin to use a skill?
- No. Anthropic’s plugins page says skills work on their own, and a skill in
~/.claude/skills/is available in every project on your machine. A plugin is for packaging several extensions as one unit. - Should a rule go in CLAUDE.md or a hook?
- If Claude should know it, CLAUDE.md. If it must always happen, a hook: the memory docs say CLAUDE.md is context, not enforced configuration, and point to a PreToolUse hook to block an action regardless of what Claude decides.
Sources
What this guide says about other companies’ tools comes from their own documentation, checked on Oct 31, 2026.
Did this guide help?
Read next
All guidesWhat are agent skills?
A plain-English guide to SKILL.md folders: what is inside one, how an agent decides to use it, and when a skill beats a long prompt.
Claude Code skills best practices
How to choose, install, check, update and combine Claude Code skills, from Anthropic’s docs: where they live, how they trigger and what to do when they don’t.
Where skills live: folders for every agent
The folders Claude Code, Codex, Cursor and other agents read skills from, which copy wins when two share a name, and what cloud agents can see.
MotionSites alternative: agent skills instead of prompts
MotionSites sells prompts for animated websites. Lookbk sells agent skills. How the two differ, what each needs, and which suits the way you build.
See a skill’s result before you install it.
Every skill page shows what it makes, what it needs and which agents can run it.


