# Слеш-команды

> Слеш-команды — это быстрые инструкции для агента, вводимые с символа /, включая встроенные и пользовательские команды.

Источник: https://docs.kodik.ru/customization/slash-commands/overview

Слеш-команды — это специальные инструкции, которые начинаются с `/` и вводятся в поле чата. Они позволяют быстро запускать определённые рабочие процессы: компактировать контекст, создавать новую задачу, устанавливать шаблоны и выполнять собственные сценарии.

## Встроенные команды

| Команда              | Описание                                                                                                                                      |
| -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| `/compact`           | Суммирует и сжимает текущий разговор, освобождая контекстное окно. [Подробнее](https://docs.kodik.ru/customization/slash-commands/compact)                         |
| `/newtask`           | Начинает новую задачу с чистого контекста, перенося при необходимости ключевую информацию. [Подробнее](https://docs.kodik.ru/customization/slash-commands/newtask) |
| `/create-skill`      | Запускает мастер создания нового Skill для текущего проекта или глобально                                                                     |
| `/create-command`    | Создаёт новую пользовательскую слеш-команду (`.md`-файл в `.kodik/commands/`)                                                                 |
| `/create-rule`       | Создаёт новый файл правил для управления поведением агента                                                                                    |
| `/create-hook`       | Создаёт хук жизненного цикла — shell-команду, привязанную к событию агента. [Подробнее](https://docs.kodik.ru/customization/hooks)                                 |
| `/install-template`  | Запускает управляемый процесс установки шаблона из Kodik Marketplace                                                                          |
| `/analyze-workspace` | Анализирует рабочую директорию и предоставляет сводную информацию о проекте                                                                   |

## Пользовательские команды

Помимо встроенных команд, вы можете создавать собственные слеш-команды — это обычные Markdown-файлы, которые Kodik обнаруживает и предоставляет агенту.

### Расположение файлов команд

Команды загружаются из нескольких мест. При конфликте имён побеждает источник с более высоким приоритетом:

| Расположение                             | Область                                        |
| ---------------------------------------- | ---------------------------------------------- |
| `.kodik/commands/` в корне проекта       | Уровень проекта (наивысший приоритет)          |
| `.agents/commands/` в корне проекта      | Уровень проекта (совместимость с `.agents`)    |
| `~/Documents/Kodik/Commands/`            | Глобальный уровень пользователя                |
| `~/.agents/commands/`                    | Глобальный уровень (совместимость с `.agents`) |
| Директория команд установленного плагина | Уровень плагина                                |

### Формат файла команды

Файл команды — это `.md`-файл, имя которого (без расширения) становится именем команды. В файле может быть опциональный YAML-фронтматтер:

```markdown
---
name: deploy
title: Deploy to staging
description: Собирает проект и деплоит в стейджинговое окружение
argument-hint: "[branch]"
mode: code
---

Собери проект, запусти тесты и задеплой ветку `$ARGUMENTS` в стейджинг.
Если тесты упали — остановись и сообщи о проблеме.
```

Поддерживаемые поля фронтматтера:

| Поле            | Описание                                                     |
| --------------- | ------------------------------------------------------------ |
| `name`          | Имя команды (по умолчанию — имя файла без `.md`)             |
| `id`            | Стабильный идентификатор команды (по умолчанию — `name`)     |
| `title`         | Человекочитаемое название, отображаемое в UI                 |
| `description`   | Краткое описание команды                                     |
| `argument-hint` | Подсказка для аргументов, отображаемая в меню автодополнения |
| `mode`          | Режим выполнения (например, `code`, `plan`, `ask`)           |

### Команды плагинов

Команды, поставляемые плагинами, именуются по схеме `pluginId:commandName`. При вводе в чате можно использовать как полное имя с префиксом, так и просто `commandName`. Подробнее о плагинах — в разделе [Плагины и Marketplace](https://docs.kodik.ru/customization/plugins).
