Слэш-команды: встроенные и кастомные
Слэш-команда — это текст, который вводится в начале сообщения после символа /. Это минимальный интерфейс для вызова чего угодно: встроенной логики CLI, промпта-шаблона или целого скрипта анализа. Всё, что написано после имени команды, автоматически попадает в неё как аргументы.
По природе команды делятся на два типа: встроенные — жёстко закодированы в CLI и выполняют фиксированную логику — и кастомные (они же скиллы) — это просто markdown-файл с инструкцией, которую Claude читает и исполняет. Разница принципиальная: встроенная команда /clear немедленно очищает контекст без участия модели; кастомная /deploy заставляет Claude прочитать ваш markdown и выполнить его инструкции как обычный промпт.
Встроенные команды: полный обзор
В Claude Code десятки встроенных команд. Введите / в пустой строке — откроется интерактивный список с поиском. Команды легче понять, сгруппировав по задачам.
Управление сессией и контекстом
| Команда | Что делает |
|---|---|
/clear [name] | Новый диалог, сохраняя проектную память. Алиасы: /reset, /new |
/compact [instructions] | Компактизирует историю в краткое резюме, освобождая контекст |
/context [all] | Показывает, как расходуется контекстное окно — цветная сетка по источникам |
/rewind | Откат разговора и кода к чекпоинту. Алиасы: /checkpoint, /undo |
/resume [session] | Продолжить сохранённую сессию |
/branch [name] | Создать ответвление разговора для эксперимента |
/btw <вопрос> | Задать быстрый уточняющий вопрос, не добавляя его в историю |
Модель и режимы
| Команда | Что делает |
|---|---|
/model [model] | Сменить модель (сохраняется как дефолтная) |
/effort [level] | Уровень «думания»: low, medium, high, xhigh, max |
/plan [description] | Перейти в план-режим (без выполнения действий) |
| `/advisor [model\ | off]` |
| `/fast [on\ | off]` |
Качество кода
| Команда | Что делает |
|---|---|
/code-review [level] [--fix] | Code review текущего диффа. --fix — применяет найденные правки |
/simplify [target] | Ищет упрощения и применяет их (без охоты на баги) |
/security-review | Анализ незакоммиченных изменений на уязвимости |
/review [PR] | Локальный review PR |
/diff | Интерактивный просмотр диффа — uncommitted + диффы по каждому ходу |
Параллельная работа и фон
| Команда | Что делает |
|---|---|
/batch <instruction> | Декомпозирует большое изменение на независимые единицы и запускает параллельно в git worktrees |
/background [prompt] | Отправить текущую сессию в фон, освободив терминал |
/fork <directive> | Порождает фоновый субагент с копией контекста для параллельной задачи |
/tasks | Список всего, что работает в фоне |
Инфраструктура и настройки
| Команда | Что делает |
|---|---|
/mcp [reconnect/enable/disable] | Управление MCP-серверами |
/permissions | Правила allow/ask/deny для инструментов |
/memory | Редактировать CLAUDE.md, управлять auto-memory |
/hooks | Просмотр конфигурации хуков |
/agents | Управление конфигурациями субагентов |
/config | Открыть настройки (тема, модель, output style) |
/init | Сгенерировать стартовый CLAUDE.md для проекта |
Отдельная категория — встроенные скиллы, помеченные в доках как Skill: /debug, /loop, /run, /verify, /code-review, /batch, /claude-api. Технически это не жёсткий код, а промпт-файлы, которые Anthropic поставляет «в коробке» — они работают точно так же, как кастомные скиллы, только их нельзя посмотреть в вашем .claude/.
Кастомные команды: два синтаксиса, одна логика
Любой markdown-файл в нужном месте автоматически становится слэш-командой. Есть два пути:
Классический — файл в .claude/commands/:
.claude/commands/deploy.md → /deployНовый — директория в .claude/skills/:
.claude/skills/deploy/SKILL.md → /deployОба работают одинаково. Разница: скилл-директория может содержать вспомогательные файлы, шаблоны, скрипты. Файл в commands/ — это всегда один файл. Официальная рекомендация: для новых команд использовать .claude/skills/, для существующих .claude/commands/ — оставить как есть, они никуда не делись.
Место хранения определяет область видимости:
| Расположение | Применяется к |
|---|---|
~/.claude/skills/<name>/SKILL.md | Все ваши проекты |
.claude/skills/<name>/SKILL.md | Только этот проект |
.claude/commands/<name>.md | Только этот проект |
Структура файла: frontmatter и тело
Файл состоит из YAML-блока между --- и markdown-инструкции:
---
name: Deploy to staging
description: Deploy the application to the staging environment. Use when the user asks to deploy, push to staging, or release a build.
disable-model-invocation: true
argument-hint: [branch]
arguments: branch
allowed-tools: Bash
---
Deploy the branch `$branch` to staging:
1. Run `npm test` — stop if tests fail
2. Build: `npm run build`
3. Deploy: `./scripts/deploy.sh staging $branch`
4. Report the deployment URLКлючевые поля frontmatter:
description — главное поле. Claude читает его, чтобы решить, загружать ли скилл автоматически (без явного /). Пишите конкретно: «когда пользователь просит задеплоить, отправить в staging или выпустить билд». Без description Claude использует первый абзац body.
disable-model-invocation: true — запрещает Claude вызывать скилл автоматически. Только явный /deploy. Обязательно для деструктивных операций — деплой, публикация, git push.
argument-hint — строка-подсказка в автокомплите: [branch], [issue-number], [filename] [format].
arguments — имена позиционных аргументов. С arguments: [issue, branch] можно писать $issue и $branch вместо $0 и $1.
allowed-tools — инструменты, которые разрешены без запроса разрешения пока активен этот скилл: Read Grep Bash.
context: fork — запускает скилл в изолированном субагенте (отдельное контекстное окно).
model / effort — переопределяют модель и уровень мышления для этого скилла. После завершения возвращается сессионный дефолт.
paths — glob-паттерны. Скилл грузится автоматически только при работе с файлами, подходящими по паттерну: "src/api/**".
Подстановки аргументов
Когда вы пишете /review-pr 123, всё после имени команды попадает в переменную $ARGUMENTS. Эта строка подставляется в тело скилла до того, как Claude его читает:
---
description: Review a GitHub pull request by number
argument-hint: <pr-number>
---
Review PR #$ARGUMENTS:
1. Fetch it with `gh pr view $ARGUMENTS --json title,body,files`
2. Analyze the diff for bugs and style issues
3. Summarize: what changed, risks, suggested improvementsДля нескольких аргументов — именованные или по индексу:
---
arguments: [filename, format]
---
Convert `$filename` to `$format`.
# Или: $ARGUMENTS[0] и $ARGUMENTS[1]
# Или: $0 и $1Многословный аргумент — в кавычках: /convert "src/api.ts" markdown.
Есть ещё системные подстановки:
${CLAUDE_SESSION_ID}— ID текущей сессии (для логов, временных файлов)${CLAUDE_EFFORT}— текущий уровень мышления${CLAUDE_SKILL_DIR}— путь к директории скилла (для ссылок на вспомогательные файлы)
Динамический контекст: !команда
Самая мощная фича скиллов — инлайн-выполнение shell-команд прямо в теле скилла. Claude Code выполняет команду до того, как модель читает промпт, и вставляет вывод на место строки:
---
description: Summarize uncommitted changes and flag risks
---
::widget{id="rc-3"}
::widget{id="rc-2"}
::widget{id="rc-1"}
## Current diff
!`git diff HEAD`
## Instructions
Summarize the changes above in 2-3 bullets. Flag any risks: missing error
handling, hardcoded values, tests that need updating. If diff is empty, say so.Теперь $ARGUMENTS не нужен — Claude получает живой git diff в контексте, а не просит вас вставить его вручную.
Практические примеры:
# Вставить текущий branch
!`git branch --show-current`
# Список открытых issues
!`gh issue list --limit 10 --json number,title`
# Состояние тестов
!`npm test -- --passWithNoTests 2>&1 | tail -20`Динамический контекст особенно ценен для скиллов, которые Claude должен вызывать автоматически — когда описание совпадает с вашим запросом, модель получает актуальные данные без ваших дополнительных действий.
Реальные примеры кастомных команд
/fix-issue — взять задачу из трекера и поставить в контекст
---
description: Fetch a GitHub issue and start working on it
argument-hint: <issue-number>
arguments: issue
---
## Issue #$issue
!`gh issue view $issue --json title,body,comments`
Analyze the issue above. Understand what needs to be done, find the relevant
code, and make a plan. Ask for confirmation before making changes./commit — закоммитить по конвенции
---
description: Create a conventional commit for staged changes. Use when user asks to commit.
disable-model-invocation: true
allowed-tools: Bash
---
## Staged changes
!`git diff --cached`
Write a conventional commit message (feat/fix/docs/refactor/test/chore) for
these changes. Run `git commit -m "<message>"`. No confirmation needed./daily-standup — сформировать стэндап из истории git
---
description: Generate a standup update from recent git activity
---
## My activity (last 24h)
!`git log --since='24 hours ago' --author='$(git config user.email)' --oneline`
## Open PRs
!`gh pr list --author @me --json title,state,reviewDecision`
Based on the above, write a concise standup (3-5 bullets): what I did,
what I'll do today, any blockers.Кастомная команда vs скилл vs субагент vs хук
Слэш-команда — это самый лёгкий механизм кастомизации. Выбор простой:
- Повторяющийся запрос, который вы устали набирать вручную → кастомная команда / скилл
- Нужна изоляция контекста или параллельный запуск → Субагенты и контекстная изоляция
- Нужна детерминированная реакция на событие (сохранил файл, Claude завершил ответ) → Hooks — события жизненного цикла
- Нужна переносимая экспертиза с вспомогательными файлами → Skills — переносимые навыки
Слэш-команды не выполняют логику — они передают промпт модели. Если вам нужно ветвление, циклы, работа с несколькими инструментами параллельно — это уже скилл с context: fork или субагент. Матрица выбора подробно разбирается в Что выбрать: команда, навык, субагент, MCP или хук.
See also
- Skills — переносимые навыки — расширенные возможности: вспомогательные файлы, автоинвокация, прогрессивная загрузка
- Субагенты и контекстная изоляция — когда нужна изоляция контекста, а не просто шаблон промпта
- Hooks — события жизненного цикла — детерминированные shell-команды на событиях, в отличие от промпт-команд
- Что выбрать: команда, навык, субагент, MCP или хук — решающая матрица для всех механизмов расширяемости
- CLAUDE.md и система памяти — разница между инструкциями в CLAUDE.md и вынесением процедур в команды
- Headless-режим и скриптинг через CLI — как
-pвзаимодействует с кастомными командами в CI - Plugins и marketplace — как упаковать команды вместе с хуками и MCP-серверами в один версионируемый бандл