/. Эти команды можно отправлять через SDK для выполнения действий, таких как компактирование контекста, список использования контекста или вызов пользовательских команд. Только команды, которые работают без интерактивного терминала, могут быть отправлены через SDK; сообщение system/init содержит список доступных в вашем сеансе.
Обнаружение доступных Slash Commands
Claude Agent SDK предоставляет информацию о доступных slash commands в сообщении инициализации системы. Получите доступ к этой информации при запуске вашего сеанса:Отправка Slash Commands
Отправляйте slash commands, включая их в строку подсказки, как обычный текст:Распространённые Slash Commands
/compact - Компактирование истории разговора
Команда /compact уменьшает размер истории вашего разговора путём суммирования старых сообщений при сохранении важного контекста:
/clear - Сброс контекста разговора
Команда /clear сбрасывает разговор в пустой контекст, поэтому последующие запросы начинаются без предыдущей истории разговора. Предыдущий разговор остаётся на диске и может быть восстановлен путём передачи его ID сеанса в опцию resume.
Это полезно в режиме потоковой передачи входных данных, где вы отправляете несколько запросов через одно соединение. Для одноразовых вызовов query() каждый вызов уже начинает с пустого контекста, поэтому отправка /clear не имеет практического эффекта; вместо этого начните новый query().
/clear в SDK требует Claude Code v2.1.117 или более поздней версии. В более ранних версиях он опущен из slash_commands.Создание пользовательских Slash Commands
Помимо использования встроенных slash commands, вы можете создавать свои собственные пользовательские команды, доступные через SDK. Пользовательские команды определяются как файлы markdown в определённых каталогах, аналогично тому, как настраиваются подагенты.Каталог
.claude/commands/ — это устаревший формат. Рекомендуемый формат — .claude/skills/<name>/SKILL.md, который поддерживает то же самое вызывание slash-команды (/name) плюс автономный вызов Claude. Смотрите Skills для текущего формата. CLI продолжает поддерживать оба формата, и приведённые ниже примеры остаются точными для .claude/commands/.Расположение файлов
Пользовательские slash commands хранятся в назначенных каталогах в зависимости от их области действия:- Команды проекта:
.claude/commands/- Доступны только в текущем проекте (устаревший; предпочитайте.claude/skills/) - Личные команды:
~/.claude/commands/- Доступны во всех ваших проектах (устаревший; предпочитайте~/.claude/skills/)
Формат файла
Каждая пользовательская команда — это файл markdown, где:- Имя файла (без расширения
.md) становится именем команды - Содержимое файла определяет, что делает команда
- Опциональный YAML frontmatter предоставляет конфигурацию
Базовый пример
Создайте.claude/commands/refactor.md:
/refactor, которую вы можете использовать через SDK.
С Frontmatter
Создайте.claude/commands/security-check.md:
Использование пользовательских команд в SDK
После определения в файловой системе пользовательские команды автоматически доступны через SDK:Расширенные возможности
Аргументы и заполнители
Пользовательские команды поддерживают динамические аргументы с использованием заполнителей: Создайте.claude/commands/fix-issue.md:
Выполнение команд Bash
Пользовательские команды могут выполнять команды bash и включать их вывод: Создайте.claude/commands/git-commit.md:
Ссылки на файлы
Включайте содержимое файлов с использованием префикса@:
Создайте .claude/commands/review-config.md:
Организация с использованием пространств имён
Организуйте команды в подкаталогах для лучшей структуры:Практические примеры
Команда проверки кода
Создайте.claude/commands/code-review.md:
Команда запуска тестов
Создайте.claude/commands/test.md:
Смотрите также
- Slash Commands - Полная документация slash commands
- Subagents в SDK - Аналогичная конфигурация на основе файловой системы для подагентов
- Справочник TypeScript SDK - Полная документация API
- Обзор SDK - Общие концепции SDK
- Справочник CLI - Интерфейс командной строки