Команды
Это справочник по слеш-командам OpenSpec. Эти команды вызываются в интерфейсе чата вашего ИИ-ассистента для кодирования (например, Claude Code, Cursor, Windsurf).
Для описания рабочих процессов и рекомендаций по использованию каждой команды см. раздел Рабочие процессы. Для команд CLI см. раздел CLI.
Краткий справочник
Быстрый путь по умолчанию (профиль core)
| Команда | Назначение |
|---|---|
/opsx:propose | Создать изменение и сгенерировать артефакты планирования за один шаг |
/opsx:explore | Обдумать идеи перед фиксацией изменения |
/opsx:apply | Реализовать задачи из изменения |
/opsx:archive | Архивировать завершённое изменение |
Расширенные команды рабочего процесса (выбор пользовательского рабочего процесса)
| Команда | Назначение |
|---|---|
/opsx:new | Начать создание нового шаблона изменения |
/opsx:continue | Создать следующий артефакт на основе зависимостей |
/opsx:ff | Быстрое продвижение: создать все артефакты планирования сразу |
/opsx:verify | Проверить соответствие реализации артефактам |
/opsx:sync | Объединить дельта-спецификации с основными спецификациями |
/opsx:bulk-archive | Архивировать несколько изменений сразу |
/opsx:onboard | Пошаговое руководство по полному рабочему процессу |
Глобальный профиль по умолчанию — core. Чтобы включить расширенные команды рабочего процесса, выполните команду openspec config profile, выберите рабочие процессы, а затем выполните команду openspec update в вашем проекте.
Справочник команд
/opsx:propose
Создаёт новое изменение и генерирует артефакты планирования за один шаг. Это команда запуска по умолчанию в профиле core.
Синтаксис:
text
/opsx:propose [change-name-or-description]Аргументы:
| Аргумент | Обязательный | Описание |
|---|---|---|
change-name-or-description | Нет | Имя в формате kebab-case или описание изменения на естественном языке |
Что делает:
- Создаёт директорию
openspec/changes/<change-name>/ - Генерирует артефакты, необходимые перед реализацией (для
spec-driven: proposal, specs, design, tasks) - Останавливается, когда изменение готово к выполнению
/opsx:apply
Пример:
text
Вы: /opsx:propose add-dark-mode
AI: Создано openspec/changes/add-dark-mode/
✓ proposal.md
✓ specs/ui/spec.md
✓ design.md
✓ tasks.md
Готово к реализации. Запустите /opsx:apply.Советы:
- Используйте для самого быстрого полного цикла
- Если нужен пошаговый контроль артефактов, включите расширенные рабочие процессы и используйте
/opsx:new+/opsx:continue
/opsx:explore
Обдумывайте идеи, исследуйте проблемы и уточняйте требования перед началом работы над изменением.
Синтаксис:
/opsx:explore [topic]Аргументы:
| Аргумент | Обязательный | Описание |
|---|---|---|
topic | Нет | Что вы хотите исследовать или изучить |
Что делает:
- Открывает исследовательский диалог без обязательной структуры
- Изучает кодовую базу для ответа на вопросы
- Сравнивает варианты и подходы
- Создаёт визуальные диаграммы для прояснения мыслей
- Может перейти к
/opsx:propose(по умолчанию) или/opsx:new(расширенный рабочий процесс) при формировании идей
Пример:
text
Вы: /opsx:explore
AI: Что вы хотите исследовать?
Вы: Как нам следует обработать аутентификацию для мобильного приложения?
AI: Позвольте изучить вашу текущую настройку аутентификации...
[Анализирует кодовую базу]
Я вижу, что вы используете аутентификацию на основе сессий для веб-приложения.
Для мобильного приложения у нас есть три основных варианта:
1. JWT токены (без состояния, работает офлайн)
2. OAuth2 (если нужен вход через сторонние сервисы)
3. Расширение текущих сессий (проще, но требует подключения)
Ваш API уже имеет настроенное CORS. Какой вариант вас интересует?
Вы: Давайте выберем JWT. Мы можем начать изменение для этого?
AI: Готов, когда вы будете. Запустите /opsx:propose add-jwt-auth для начала.Советы:
- Используйте, когда требования неясны или нужно провести исследование
- Во время исследования артефакты не создаются
- Подходит для сравнения нескольких подходов перед принятием решения
- Может читать файлы и искать в кодовой базе
/opsx:new
Начинает создание нового шаблона изменения. Создаёт папку изменения и ждёт, пока вы сгенерируете артефакты с помощью /opsx:continue или /opsx:ff.
Эта команда является частью набора расширенных рабочих процессов (не включена в профиль core по умолчанию).
Синтаксис:
/opsx:new [change-name] [--schema <schema-name>]Аргументы:
| Аргумент | Обязательный | Описание |
|---|---|---|
change-name | Нет | Имя для папки изменения (будет предложено, если не указано) |
--schema | Нет | Используемая схема рабочего процесса (по умолчанию: из конфигурации или spec-driven) |
Что делает:
- Создаёт директорию
openspec/changes/<change-name>/ - Создаёт файл метаданных
.openspec.yamlв папке изменения - Показывает шаблон первого артефакта, готового к созданию
- Запрашивает имя изменения и схему, если они не указаны
Что создаёт:
openspec/changes/<change-name>/
└── .openspec.yaml # Метаданные изменения (схема, дата создания)Пример:
Вы: /opsx:new add-dark-mode
AI: Создано openspec/changes/add-dark-mode/
Схема: spec-driven
Готово к созданию: proposal
Используйте /opsx:continue для создания, или /opsx:ff для создания всех артефактов.Советы:
- Используйте описательные имена:
add-feature,fix-bug,refactor-module - Избегайте общих имен вроде
update,changes,wip - Схему также можно задать в конфигурации проекта (
openspec/config.yaml)
/opsx:continue
Создаёт следующий артефакт в цепочке зависимостей. Создаёт по одному артефакту для поступательного прогресса.
Синтаксис:
/opsx:continue [change-name]Аргументы:
| Аргумент | Обязательный | Описание |
|---|---|---|
change-name | Нет | Какое изменение продолжить (определяется из контекста, если не указано) |
Что делает:
- Запрашивает граф зависимостей артефактов
- Показывает, какие артефакты готовы, а какие заблокированы
- Создаёт первый готовый артефакт
- Читает файлы зависимостей для контекста
- Показывает, что становится доступным после создания
Пример:
Вы: /opsx:continue
AI: Изменение: add-dark-mode
Статус артефактов:
✓ proposal (выполнено)
◆ specs (готово)
◆ design (готово)
○ tasks (заблокировано - требует: specs)
Создание specs...
[Читает proposal.md, создаёт specs на основе требований]
✓ Создано openspec/changes/add-dark-mode/specs/ui/spec.md
Теперь доступно: tasks
Запустите /opsx:continue для создания следующего артефакта.Советы:
- Используйте, когда хотите проверять каждый артефакт перед продолжением
- Подходит для сложных изменений, где нужен контроль
- Несколько артефактов могут стать готовыми одновременно
- Вы можете редактировать созданные артефакты перед продолжением
/opsx:ff
Быстрое перемещение через создание артефактов. Создаёт все артефакты планирования сразу.
Синтаксис:
/opsx:ff [change-name]Аргументы:
| Аргумент | Обязательный | Описание |
|---|---|---|
change-name | Нет | Какое изменение перемещать (определяется из контекста, если не указано) |
Что делает:
- Создаёт все артефакты в порядке зависимостей
- Отслеживает прогресс через список задач
- Останавливается, когда все артефакты, требуемые для применения, завершены
- Читает каждую зависимость перед созданием следующего артефакта
Пример:
Вы: /opsx:ff add-dark-mode
AI: Быстрое перемещение add-dark-mode...
✓ Создание proposal.md
✓ Создание specs/ui/spec.md
✓ Создание design.md
✓ Создание tasks.md
Все артефакты планирования завершены!
Готово к реализации. Запустите /opsx:apply для начала.Советы:
- Используйте, когда у вас есть чёткое представление о том, что вы создаёте
- Быстрее, чем
/opsx:continue, для простых изменений - Вы всё ещё можете редактировать артефакты после этого
- Подходит для небольших и средних функций
/opsx:apply
Реализует задачи из изменения. Работает со списком задач, записывая код и отмечая выполненные пункты.
Синтаксис:
/opsx:apply [change-name]Аргументы:
| Аргумент | Обязательный | Описание |
|---|---|---|
change-name | Нет | Какое изменение реализовать (определяется из контекста, если не указано) |
Что делает:
- Читает
tasks.mdи определяет незавершённые задачи - Обрабатывает задачи одну за другой
- Записывает код, создаёт файлы, запускает тесты по мере необходимости
- Отмечает задачи как выполненные с помощью флажков
[x]
Пример:
Вы: /opsx:apply
AI: Реализация add-dark-mode...
Чтение tasks.md:
- [ ] 1.1 Создать ThemeContext
- [ ] 1.2 Добавить пользовательские свойства CSS
- [ ] 1.3 Реализовать сохранение в localStorage
Работа над 1.1: Создание ThemeContext...
[Создаёт src/context/ThemeContext.tsx]
✓ 1.1 Выполнено
Работа над 1.2: Добавление пользовательских свойств CSS...
[Обновляет src/styles/globals.css]
✓ 1.2 Выполнено
...Советы:
- Можно возобновить с того места, где остановились, если прервались
- Используйте для параллельных изменений, указывая имя изменения
- Состояние завершения отслеживается в флажках
tasks.md
/opsx:verify
Проверяет, соответствует ли реализация артефактам вашего изменения. Проверяет полноту, корректность и согласованность.
Синтаксис:
/opsx:verify [change-name]Аргументы:
| Аргумент | Обязательный | Описание |
|---|---|---|
change-name | Нет | Какое изменение проверить (определяется из контекста, если не указано) |
Что делает:
- Проверяет три измерения качества реализации
- Ищет в кодовой базе доказательства реализации
- Сообщает о проблемах, классифицированных как КРИТИЧЕСКИЕ, ПРЕДУПРЕЖДЕНИЕ или ПРЕДЛОЖЕНИЕ
- Не блокирует архивацию, но выявляет проблемы
Измерения проверки:
| Измерение | Что проверяется |
|---|---|
| Полнота | Все задачи выполнены, все требования реализованы, сценарии покрыты |
| Корректность | Реализация соответствует замыслу спецификации, обработаны крайние случаи |
| Согласованность | Решения по дизайну отражены в коде, паттерны согласованы |
Пример:
Вы: /opsx:verify
AI: Проверка add-dark-mode...
ПОЛНОТА
✓ Все 8 задач в tasks.md отмечены
✓ Все требования в specs имеют соответствующий код
⚠ Сценарий "Определение системных предпочтений" не покрыт тестами
КОРРЕКТНОСТЬ
✓ Реализация соответствует замыслу спецификации
✓ Крайние случаи из сценариев обработаны
✓ Состояния ошибок соответствуют определениям в спецификации
СОГЛАСОВАННОСТЬ
✓ Решения по дизайну отражены в структуре кода
✓ Соглашения об именовании согласованы с design.md
⚠ В дизайне упоминаются "CSS-переменные", но реализация использует классы Tailwind
ИТОГО
─────────────────────────────
Критических проблем: 0
Предупреждений: 2
Готово к архивации: Да (с предупреждениями)
Рекомендации:
1. Добавить тест для определения системных предпочтений
2. Обновить design.md для отражения использования Tailwind или рефакторинг для использования CSS-переменныхСоветы:
- Запускайте перед архивацией для раннего обнаружения несоответствий
- Предупреждения не блокируют архивацию, но указывают на потенциальные проблемы
- Подходит для проверки работы ИИ перед фиксацией изменений
- Может выявить расхождение между артефактами и реализацией
/opsx:sync
Необязательная команда. Объединяет дельта-спецификации из изменения в основные спецификации. Архивация предложит синхронизацию при необходимости, поэтому обычно вам не нужно запускать это вручную.
Синтаксис:
/opsx:sync [change-name]Аргументы:
| Аргумент | Обязательный | Описание |
|---|---|---|
change-name | Нет | Какое изменение синхронизировать (определяется из контекста, если не указано) |
Что делает:
- Читает дельта-спецификации из папки изменения
- Разбирает секции ДОБАВЛЕНО/ИЗМЕНЕНО/УДАЛЕНО/ПЕРЕИМЕНОВАНО
- Объединяет изменения в основную директорию
openspec/specs/ - Сохраняет существующее содержимое, не упомянутое в дельте
- Не архивирует изменение (остаётся активным)
Пример:
text
Вы: /opsx:sync
AI: Синхронизация дельта-спецификаций add-dark-mode...
Чтение: openspec/changes/add-dark-mode/specs/ui/spec.md
Цель: openspec/specs/ui/spec.md
Применяемые изменения:
✓ ДОБАВЛЕНО: Требование выбора темы (2 сценария)
✓ ДОБАВЛЕНО: Требование доступности (1 сценарий)
Объединение...
✓ openspec/specs/ui/spec.md обновлено
Изменение остаётся активным. Запустите /opsx:archive, когда будете готовы завершить.Когда использовать вручную:
| Сценарий | Использовать sync? |
|---|---|
| Длительное изменение, хотите включить спецификации в основные перед архивацией | Да |
| Несколько параллельных изменений нуждаются в обновлённых базовых спецификациях | Да |
| Хотите предварительно просмотреть/проверить объединение отдельно | Да |
| Быстрое изменение, переходите сразу к архивации | Нет (архивация обработает это) |
Советы:
- Синхронизация интеллектуальна, а не простое копирование
- Может добавлять сценарии к существующим требованиям без дублирования
- Изменение остаётся активным после синхронизации (не архивируется)
- Большинству пользователей никогда не нужно вызывать это напрямую — архивация предложит при необходимости
/opsx:archive
Архивирует завершённое изменение. Финализирует изменение и перемещает его в папку архива.
Синтаксис:
/opsx:archive [change-name]Аргументы:
| Аргумент | Обязательный | Описание |
|---|---|---|
change-name | Нет | Какое изменение архивировать (определяется из контекста, если не указано) |
Что делает:
- Проверяет статус завершения артефактов
- Проверяет выполнение задач (предупреждает, если не завершены)
- Предлагает синхронизировать дельта-спецификации, если ещё не синхронизированы
- Перемещает папку изменения в
openspec/changes/archive/YYYY-MM-DD-<name>/ - Сохраняет все артефакты для аудит- trail
Пример:
text
Вы: /opsx:archive
AI: Архивация add-dark-mode...
Статус артефактов:
✓ proposal.md существует
✓ specs/ существует
✓ design.md существует
✓ tasks.md существует (8/8 задач выполнено)
Дельта-спецификации: Ещё не синхронизированы
→ Синхронизировать сейчас? (рекомендуется)
Вы: Да
AI: ✓ Спецификации синхронизированы в openspec/specs/ui/spec.md
✓ Перемещено в openspec/changes/archive/2025-01-24-add-dark-mode/
Изменение успешно архивировано.Советы:
- Архивация не будет блокироваться из-за незавершённых задач, но предупредит
- Дельта-спецификации можно синхронизировать во время архивации или до неё
- Архивированные изменения сохраняются для истории
- Сначала используйте
/opsx:verifyдля выявления проблем
/opsx:bulk-archive
Архивирует несколько завершённых изменений одновременно. Обрабатывает конфликты спецификаций между изменениями.
Синтаксис:
/opsx:bulk-archive [change-names...]Аргументы:
| Аргумент | Обязательный | Описание |
|---|---|---|
change-names | Нет | Конкретные изменения для архивации (будет предложено выбрать, если не указаны) |
Что делает:
- Перечисляет все завершённые изменения
- Проверяет каждое изменение перед архивацией
- Обнаруживает конфликты спецификаций между изменениями
- Разрешает конфликты, проверяя, что фактически реализовано
- Архивирует в хронологическом порядке
Пример:
Вы: /opsx:bulk-archive
AI: Найдено 3 завершённых изменения:
- add-dark-mode (8/8 задач выполнено)
- fix-login-bug (3/3 задачи выполнено)
- update-footer (2/2 задачи выполнено)
Проверка конфликтов спецификаций...
⚠ add-dark-mode и update-footer оба затрагивают specs/ui/
Проверка кодовой базы для разрешения...
Оба изменения реализованы. Будет объединено в хронологическом порядке:
1. add-dark-mode (создано 20 января)
2. update-footer (создано 22 января)
Архивировать все 3 изменения?
Вы: Да
AI: ✓ Архивировано add-dark-mode
✓ Архивировано fix-login-bug
✓ Архивировано update-footer
Спецификации объединены: add-dark-mode → update-footerСоветы:
- Подходит для параллельных рабочих процессов
- Разрешение конфликтов происходит агентно (проверяет кодовую базу)
- Изменения архивируются в порядке создания
- Предлагает перед перезаписью содержимого спецификаций
/opsx:onboard
Пошаговое введение в полный рабочий процесс OpenSpec. Интерактивное руководство с использованием вашей реальной кодовой базы.
Синтаксис:
/opsx:onboardЧто делает:
- Проводит через полный цикл рабочего процесса с комментариями
- Сканирует вашу кодовую базу для поиска возможных улучшений
- Создаёт реальное изменение с настоящими артефактами
- Реализует фактическую работу (небольшие, безопасные изменения)
- Архивирует завершённое изменение
- Объясняет каждый шаг по мере его выполнения
Фазы:
- Приветствие и анализ кодовой базы
- Поиск возможности для улучшения
- Создание изменения (
/opsx:new) - Написание предложения
- Создание спецификаций
- Написание дизайна
- Создание задач
- Реализация задач (
/opsx:apply) - Проверка реализации
- Архивация изменения
- Резюме и следующие шаги
Пример:
Вы: /opsx:onboard
AI: Добро пожаловать в OpenSpec!
Я проведу вас через полный рабочий процесс, используя вашу реальную кодовую базу.
Мы найдём что-то небольшое для улучшения, создадим для этого правильное изменение,
реализуем его и архивируем.
Позвольте просканировать вашу кодовую базу для поиска возможностей...
[Анализирует кодовую базу]
Я нашёл несколько вещей, над которыми мы могли бы поработать:
1. Добавить валидацию ввода в форму контактов
2. Улучшить сообщения об ошибках в процессе аутентификации
3. Добавить состояния загрузки для асинхронных кнопок
Какое вас интересует? (или предложите что-то другое)Советы:
- Лучше всего подходит для новых пользователей, изучающих рабочий процесс
- Использует реальный код, а не учебные примеры
- Создаёт реальное изменение, которое можно оставить или отбросить
- Занимает 15-30 минут для выполнения
Синтаксис команд по инструментам ИИ
Различные инструменты ИИ используют немного разный синтаксис команд. Используйте формат, соответствующий вашему инструменту:
| Инструмент | Пример синтаксиса |
|---|---|
| Claude Code | /opsx:propose, /opsx:apply |
| Cursor | /opsx-propose, /opsx-apply |
| Windsurf | /opsx-propose, /opsx-apply |
| Copilot (IDE) | /opsx-propose, /opsx-apply |
| Trae | Вызовы на основе навыков, такие как /openspec-propose, /openspec-apply-change (без генерации файлов команд opsx-*) |
Назначение команд одинаково для всех инструментов, но способ их представления может отличаться в зависимости от интеграции.
Примечание: Команды GitHub Copilot (
.github/prompts/*.prompt.md) доступны только в расширениях для IDE (VS Code, JetBrains, Visual Studio). GitHub Copilot CLI в настоящее время не поддерживает пользовательские файлы подсказок — подробности и обходные пути смотрите в разделе Поддерживаемые инструменты.
Устаревшие команды
Эти команды используют более старый рабочий процесс «всё сразу». Они по-прежнему работают, но рекомендуется использовать команды OPSX.
| Команда | Что делает |
|---|---|
/openspec:proposal | Создать все артефакты сразу (предложение, спецификации, дизайн, задачи) |
/openspec:apply | Реализовать изменение |
/openspec:archive | Архивировать изменение |
Когда использовать устаревшие команды:
- В существующих проектах, использующих старый рабочий процесс
- Для простых изменений, где не требуется поэтапное создание артефактов
- При предпочтении подхода «всё или ничего»
Миграция на OPSX: Устаревшие изменения можно продолжить с помощью команд OPSX. Структура артефактов совместима.
Устранение неполадок
«Изменение не найдено»
Команда не смогла определить, над каким изменением работать.
Решения:
- Явно укажите название изменения:
/opsx:apply add-dark-mode - Проверьте, существует ли папка изменения:
openspec list - Убедитесь, что вы находитесь в правильном каталоге проекта
«Нет готовых артефактов»
Все артефакты либо завершены, либо заблокированы из-за отсутствующих зависимостей.
Решения:
- Выполните
openspec status --change <name>, чтобы увидеть, что блокирует процесс - Проверьте, существуют ли необходимые артефакты
- Сначала создайте отсутствующие артефакты-зависимости
«Схема не найдена»
Указанная схема не существует.
Решения:
- Выведите список доступных схем:
openspec schemas - Проверьте правописание имени схемы
- Создайте схему, если она пользовательская:
openspec schema init <name>
Команды не распознаются
Инструмент ИИ не распознает команды OpenSpec.
Решения:
- Убедитесь, что OpenSpec инициализирован:
openspec init - Пересоздайте навыки:
openspec update - Проверьте, существует ли каталог
.claude/skills/(для Claude Code) - Перезапустите ваш инструмент ИИ, чтобы он подхватил новые навыки
Артефакты генерируются неправильно
ИИ создает неполные или некорректные артефакты.
Решения:
- Добавьте контекст проекта в
openspec/config.yaml - Добавьте правила для конкретных артефактов для получения более точных указаний
- Предоставьте более подробное описание изменения
- Используйте
/opsx:continueвместо/opsx:ffдля большего контроля
Следующие шаги
- Рабочие процессы - Основные паттерны и когда использовать каждую команду
- CLI - Терминальные команды для управления и валидации
- Настройка - Создание пользовательских схем и рабочих процессов