Claude commands vs skills
Custom commands in Claude Code now share one format with skills. Here is what each gives you and when to write a skill.
Custom commands in Claude Code have been merged into skills. A command file and a skill both create the same /name and work the same way. Anthropic lists three skill extras: a folder for supporting files, frontmatter to control whether you or Claude invokes them, and loading by Claude when relevant. Its docs also say command files accept the same frontmatter except name and paths.
Your existing .claude/commands/ files keep working. Our advice: leave them alone and write new ones as skills.
Good for
- Claude Code users with files in .claude/commands
- People about to write their first slash command or skill
- Teams sharing workflows through a repository
Side by side
Write a skill when you want a folder of supporting files or the Agent Skills standard. Keep a command file if it already does the job.
| Option | Skill | Custom command file |
|---|---|---|
| File | .claude/skills/deploy/SKILL.md | .claude/commands/deploy.md |
| Makes /deploy | Yes | Yes |
| Still supported | Yes | Yes, existing files work |
| Supporting files in a folder | Yes | Not applicable |
| Choose who can run it | Yes | Same frontmatter, except name and paths |
| Claude loads it when relevant | Yes | Not applicable |
| Format | Agent Skills standard | Older Claude Code format |
Which to pick
Our advice: write new ones as skills and leave working command files alone. Both make the same /name, so converting later keeps the way you call it.
The main limit: Anthropic's docs list supporting files and automatic loading as skill features and call command files the older format, but also say command files accept the same frontmatter except name and paths.
Best for
- Skill: a procedure Claude should find and run when relevant
- Skill: a workflow with scripts or reference files in one folder
- Either: a task with side effects that only you should start, since command files accept the same frontmatter except name and paths
- Command file: an existing command that already works
Skip it if
- Command file: you need a folder of supporting files, since the docs say skills support them
- Skill: you only want a short prompt you will type yourself, since a command file is enough
Questions
What is the difference between Claude commands and skills?
In Claude Code they now work the same way. A file at .claude/commands/deploy.md and a skill at .claude/skills/deploy/SKILL.md both create /deploy. Anthropic lists the skill extras as a directory for supporting files, frontmatter to control whether you or Claude invokes them, and automatic loading when relevant. Its docs also say command files accept the same frontmatter except name and paths.
Are custom slash commands deprecated?
Anthropic's docs say custom commands have been merged into skills, and that existing .claude/commands/ files keep working. They do not use the word deprecated.
Should I convert my commands to skills?
Only if you want a skill feature. Our advice: if a command works, leave it. Anthropic says to prefer a skill for new work, since skills also support supporting files.
How do I stop Claude from running a skill by itself?
Add disable-model-invocation: true to the skill's frontmatter. Anthropic suggests this for workflows with side effects, such as deploying or sending a message. Adding user-invocable: false does the opposite: only Claude can use it, which suits background knowledge.
Where do skills and commands live?
Personal skills go in ~/.claude/skills/<name>/SKILL.md and work across your projects. Project skills go in .claude/skills/<name>/SKILL.md, which you can commit so your team gets them. Command files sit in .claude/commands/.
What about built-in commands like /compact?
They are part of Claude Code, not files you write. Anthropic says most built-in commands run fixed logic directly, while bundled skills such as /debug and /code-review are prompt-based. The commands reference marks bundled skills in its Purpose column.
Can an MCP server add commands?
Yes. MCP servers can expose prompts, and Claude Code lists each one as /servername:promptname (MCP). See what MCP is. For how MCP and skills differ, see MCP vs skills.
Are skills only for Claude?
No. Anthropic says Claude Code skills follow the Agent Skills open standard, which works across multiple AI tools. Replit Agent and Devin Desktop document skills too. See Agent Skills explained and browse skills.
How do I run a skill?
Type / and the skill name. At the terminal prompt you can stack several at the start of one message, such as /write-tests /fix-issue 123, and the trailing text goes to each as arguments. Claude can also load a skill on its own unless you turned that off. See Claude Code setup.
Sources
Docs, issue trackers and discussions this page is built from.
Show all 5Hide
- Extend Claude with skills · code.claude.com
- Claude Code commands · code.claude.com
- Connect Claude Code to tools via MCP · code.claude.com
- Replit Agent Skills · docs.replit.com
- Devin Local · docs.devin.ai