AI: Commands

Команды (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):
  • Инструкции, примеры, требования, ограничения, вопросы, которые нужно уточнить у пользователя.
  • Пример конфигурации (.opencode/commands/test.md):
// Frontmatter (YAML-шапка)
---
description: "Запуск тестов и анализ ошибок"
model: "claude-3-5-sonnet-20241022"
subtask: true
---

// Основные инструкции в Markdown


Для чего

  • Переиспользования инструкций для типовых задач.
  • Задание workflow для работы агента.


Как использовать

    Вызов через /:
  • /rnd-task Добавление статуса "Отравление"
    Добавление в контекст через @, как  Workflow :
  • Персонаж бежит не туда, исправь по инструкции @fix-bug/SKILL.md


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

  • /undo - откат чата к предыдущему сообщению.
  • /redo - повторить отменённое через undo сообщение.
  • /fork - создание нового чата со всем текущим контекстом.
  • /compact - форсированное сжатие контекста в текущем чате.
  • /editor - открыть внешний редактор для промпта перед отправкой.
  • /export - сохранение контекста текущего чата в файл.
  • /init - автоматическое обновление AGNETS.md.
  • /new - новый чат.


Best Practices

  • см  🔨AI: Skills