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 file | Skill | |
|---|---|---|
| Where | .claude/commands/<name>.md | .claude/skills/<name>/SKILL.md |
| Name comes from | The file name | The folder name, or name in front matter |
| Run by typing | /name | /name |
| Loads on its own | The skills page doesn't say so | Yes, when a request matches the description, unless turned off |
| Supporting files | No | Yes, in the skill's folder |
| Read by other tools | Not stated by Cursor or GitHub | Cursor 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/, withdisable-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
- List your command files and mark each "Claude may run it" or "only when I type it".
- Make a folder per command under
.claude/skills/with aSKILL.md. - Write a "use when" description with the words people actually type.
- Add
disable-model-invocation: trueto anything with side effects. - 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
- AI practiceTurn a prompt into a skillTurns a prompt that works into a skill the whole team can reuse, with a valid name, a when-to-use description, steps, an output template, an example, and checks.
- Operations and adminSOP from an explanation or recordingTurns an explanation or screen-recording transcript into an SOP with a trigger, roles, exact-label steps, decision points, checks, and an owner.
- AI practiceContext brief for an AI assistantWrites instructions for an AI assistant or agent: role, audience, can and can't, sources of truth, tools, format, examples, edge cases, and handoff.
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.
14 days free · No card needed
Sources
- 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)
- Cursor Help: Skills — also loads .claude/skills and ~/.claude/skills for compatibility (read 2026-11-05)
- GitHub Docs: Agent skills — project skills in .github/skills, .claude/skills or .agents/skills (read 2026-11-05)
- Agent Skills specification — a folder with SKILL.md: name, description, instructions (read 2026-11-05)