Команды (Slash Commands) — это файлы с часто используемыми промптами и задачами для AI-агента. Вариант ⛓️AI: Workflows, но с поддержкой на уровне агента. Более упрощённая реализация 🔨AI: Skills — в виде одного файла, и без динамической подгрузки в контекст — только по ручному вызову.
Как работает
Обнаружение: Система индексирует Markdown-файлы в директориях команд, либо считывает конфигурацию из JSON-файла проекта. Название файла автоматически становится именем команды.
Активация: Пользователь вводит слеш-команду в чат или же высокоуровневый агент вызывает её программно по заданной инструкции.
Развертывание шаблона: Содержимое команды превращается в текст промпта, куда подставляются переданные аргументы (через переменные $ARGUMENTS или $1, $2, ...), подгружается содержимое файлов, указанных через префикс @, и внедряется вывод bash-скриптов, указанных через префикс !.
Исполнение: Сформированный промпт отдаётся LLM, которая выполняет указанные действия, опираясь на заданные в метаданных команды настройки (модель, разрешения и т.д.).
Структура
Команда представляет собой Markdown-файл или запись в конфигурационном файле .jsonc:
commands/
|- {command_1}.md
|- {command_2}.md
// config.jsonc
{
"command":{
"test":{// command-name
"template":"Run the full test suite with coverage report and show any failures.\nFocus on the failing tests and suggest fixes.",
// This is shown as the description in the TUI
"description":"Run tests with coverage",
"agent":"build",
"model":"anthropic/claude-3-5-sonnet-20241022"
}
}
}
Расположение:
Локально в проекте .{agent-name}/commands/{command-name}.md .
Глобально у пользователя ~/.{agent-name}/commands/{command-name}.md .
Файл {command-name}.md:
YAML-шапка (Frontmatter):
description: Описание для отображения в GUI
subtask: возможно запуска в отдельном субагенте
model: указание модели для использования
Тело инструкции (Markdown):
Инструкции, примеры, требования, ограничения, вопросы, которые нужно уточнить у пользователя.