Skills and Slash Commands

Encoded domain expertise that Claude applies on demand. Unlike agents (which are personas), skills are about knowledge and process. Think of them as instruction manuals for specific tasks.

Concept·6 sections·1 min read

01What Are Skills

Knowledge, not persona

A skill might describe how to deploy your application, how to write a changelog entry, or how to review a pull request according to your team's standards. When the skill is triggered, Claude follows those instructions precisely.

Agents change WHO Claude is. Skills change WHAT Claude knows.

Agent

What it defines

Who Claude is

Analogy

Hiring a specialist

Example

"Be a code reviewer"

Loaded

Full prompt, entire session

Context cost

High (always present)

Changes

Persona, tone, tool access

Skill

What it defines

What Claude knows

Analogy

Giving someone a manual

Example

"Here is our code review checklist"

Loaded

On demand, only when needed

Context cost

Low (~100 tokens until triggered)

Changes

Knowledge, process, output format

You can combine them: a code reviewer agent might invoke a review checklist skill. The agent provides the persona and judgment; the skill provides the specific process.

02How They Work

Step 1: Session starts

Only the skill name and description are loaded. This costs roughly 100 tokens per skill, so you can have many skills without bloating context.

Step 2: Skill triggers

The full SKILL.md content loads into context. Claude now has the complete instructions for the task.

Step 3: Claude follows the process

With the full instructions available, Claude executes the defined workflow precisely and consistently.

⌨️Slash command: type /skill-name to trigger directly
🤖Auto detect: Claude matches your request to the skill description and activates it
📦Scale freely: maintain dozens of skills without any performance penalty

03Creating a Skill

Step 1: Create the subfolder

Each skill gets its own directory: <code>~/.claude/skills/deploy-checklist/</code>

Step 2: Add SKILL.md inside it

Write the instructions as Markdown. Define the process, the steps, the output format. Claude follows this document precisely.

Step 3: Use it

Type <code>/deploy-checklist</code> in your session, or just ask Claude to "prepare the deployment" and it will recognize the match automatically.

# ~/.claude/skills/deploy-checklist/SKILL.md

# Deployment Checklist

## Pre-deployment
1. Run test suite: `npm test`
2. Check for uncommitted changes: `git status`
3. Verify branch is up to date: `git pull origin main`
4. Run build: `npm run build`

## Deployment
1. Tag the release
2. Push the tag
3. Deploy to staging first
4. Run smoke tests
5. Deploy to production

## Rollback
If anything fails: `./scripts/rollback.sh production`

04Slash Commands

When you create a skill, its name becomes a slash command automatically. The naming convention is kebab case (lowercase with hyphens between words).

📝
/commit

Triggers the commit workflow. Analyzes changes, drafts a message, creates the commit.

🔍
/review-pr

Triggers pull request review. Analyzes the diff, checks for issues, provides feedback.

✏️
/prompt-writer

Helps craft effective prompts. Refines your input into a precise, well structured prompt.

Slash commands are predictable and fast. Instead of explaining what you want each time, you invoke a single command and Claude follows the documented process. Create a skill called changelog-entry and you get /changelog-entry as a command.

05When to Create a Skill

Create a Skill When

Repetition

You repeat the same instructions across sessions

Process

You have a specific process: deployment, code review, report generation

Format

You want consistent output format, ensuring the same quality every time

Loading

You want it available on demand, not always loaded

Do Not Create a Skill When

Repetition

The instruction is simple enough for CLAUDE.md (one or two lines)

Process

You need a different persona, not just different knowledge (use an agent)

Format

The process changes frequently (maintain it in CLAUDE.md where it is more visible)

Loading

It needs to be present in every single session (use CLAUDE.md)

06Where Skills Live

Global Skills

Location

<code>~/.claude/skills/</code>

Availability

Available in every project on your machine

Sharing

Personal, not shared

Project Skills

Location

<code>.claude/skills/</code> in your project

Availability

Available only in the current project

Sharing

Can be committed to git and shared with your team

Composing the full picture

Skills work with agents and context to form a complete system. A code reviewer agent provides the persona. A review checklist skill provides the process. CLAUDE.md context provides the project specific conventions. All three work together seamlessly.