Guide

Claude Code skills vs slash commands

In Claude Code, slash commands and skills are no longer two systems: 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 work the same way, and existing command files keep working. A skill adds three things: a folder for supporting files, front matter that controls whether you or Claude can invoke it, and loading on its own when a request matches its description. For new work, write a skill; for anything with side effects, such as a deploy, set disable-model-invocation: true so it runs only when you type its name.

Short answer

  • Merged: a command file and a skill both make /name.
  • Old files still work; new work goes in a skill.
  • Skills add: supporting files, invocation control, automatic loading.
  • Manual-only: disable-model-invocation: true.

Side by side

 Command fileSkill
Where.claude/commands/<name>.md.claude/skills/<name>/SKILL.md
Name comes fromThe file nameThe folder name, or name in front matter
Run by typing/name/name
Loads on its ownThe skills page doesn't say soYes, when a request matches the description, unless turned off
Supporting filesNoYes, in the skill's folder
Read by other toolsNot stated by Cursor or GitHubCursor and GitHub Copilot also load .claude/skills

From the Claude Code, Cursor and GitHub docs, read 5 November 2026.

A worked example: two commands become skills

Illustration: a made-up business. A 7-person product team had two command files: release-notes.md, a page of rules for writing the customer changelog, and deploy.md, which runs the deploy steps.

  • Release notes → a skill that loads by itself. Folder .claude/skills/release-notes/, with the description "Writes customer release notes from merged changes. Use when someone asks for release notes, a changelog or 'what shipped'." The style guide moved beside it as a reference file, so the main file stays short.
  • Deploy → a manual-only skill. Folder .claude/skills/deploy/, with disable-model-invocation: true, so it runs only when someone types /deploy.

Both still answer to the same /release-notes and /deploy, and the two engineers who use Cursor now get the same release-notes skill, because Cursor also loads .claude/skills. The team tested each by asking in plain words ("what shipped this week?") and checking which one loaded.

Move yours

  1. List your command files and mark each "Claude may run it" or "only when I type it".
  2. Make a folder per command under .claude/skills/ with a SKILL.md.
  3. Write a "use when" description with the words people actually type.
  4. Add disable-model-invocation: true to anything with side effects.
  5. Move long reference text into files beside SKILL.md; keep the main file under 500 lines.

Next step: share the skills

Skills in one repository reach the people who work in it. To give the same skills to a whole team, see sharing Claude skills on GitHub. For what belongs in AGENTS.md instead, see SKILL.md vs AGENTS.md.

Skills for this

All skills

Questions

What is the difference between Claude skills and slash commands?

In Claude Code there's no longer a separate system: 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. A skill adds a folder for supporting files, front matter to control whether you or Claude invokes it, and loading on its own when a request matches its description.

Do my .claude/commands files still work?

Yes. Claude Code's docs say existing command files keep working and the older format is still supported. For new work they recommend a skill, because skills also support supporting files.

How do I stop Claude from running a skill by itself?

Set disable-model-invocation: true in the skill's front matter. Claude then can't invoke it on its own, and you run it with /name. The docs suggest this for workflows with side effects, such as /deploy or /commit.

AI skill

Have your AI turn a prompt that works into a skill your team can reuse

Put this skill in AI Skill Pod and everyone on your team gets it in their Claude, Cursor or ChatGPT (Pro, Business, Enterprise): one invite link, free to start. Turn a prompt into a skill has your AI turn a command file or a prompt you keep typing into a skill: a name, a "use when" description, the steps, a template and one example, ready for .claude/skills.

Use this skill in your AI

14 days free · No card needed

Sources

  1. Claude Code docs: Skills — custom commands have been merged into skills; .claude/commands/deploy.md and .claude/skills/deploy/SKILL.md both create /deploy; existing command files keep working; skills add supporting files, invocation control and automatic loading; disable-model-invocation; SKILL.md under 500 lines (read 2026-11-05)
  2. Cursor Help: Skills — also loads .claude/skills and ~/.claude/skills for compatibility (read 2026-11-05)
  3. GitHub Docs: Agent skills — project skills in .github/skills, .claude/skills or .agents/skills (read 2026-11-05)
  4. Agent Skills specification — a folder with SKILL.md: name, description, instructions (read 2026-11-05)