Команды
Это справочник по слэш-командам OpenSpec. Эти команды вызываются в чат-интерфейсе вашего помощника по кодированию на базе ИИ (например, Claude Code, Cursor, Windsurf).
Для ознакомления с шаблонами рабочего процесса и тем, когда следует использовать каждую команду, см. Workflows. Для команд CLI см. CLI.
Краткий справочник
Стандартный быстрый путь (core профиль)
| Command | Purpose |
|---|---|
/opsx:propose | Создать изменение и сгенерировать артефакты планирования за один шаг |
/opsx:explore | Обдумать идеи перед тем, как фиксировать изменение |
/opsx:apply | Реализовать задачи из изменения |
/opsx:sync | Слить спецификации дельта в основные спецификации |
/opsx:archive | Архивировать завершенное изменение |
Расширенные команды рабочего процесса (выбор настроенного рабочего процесса)
| Command | Purpose |
|---|---|
/opsx:new | Начать новый каркас изменения |
/opsx:continue | Создать следующий артефакт на основе зависимостей |
/opsx:ff | Ускоренное продвижение (Fast-forward): создать все артефакты планирования сразу |
/opsx:verify | Проверить, что реализация соответствует артефактам |
/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: предложение, спецификации, дизайн, задачи) - Останавливается, когда изменение готово для
/opsx:apply
Пример:
text
You: /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
Начните здесь, если вы не уверены. Explore — это партнер по мышлению без обязательств: он читает вашу кодовую базу, сравнивает варианты и преобразует расплывчатую идею в конкретный план до того, как появится какое-либо изменение. Он входит в состав профиля по умолчанию. Для полного обзора и примеров см. руководство Explore First.
Продумайте идеи, исследуйте проблемы и уточните требования, прежде чем приступать к изменению.
Синтаксис:
/opsx:explore [topic]Аргументы:
| Аргумент | Обязателен | Описание |
|---|---|---|
topic | Нет | Что вы хотите исследовать или изучить |
Что делает:
- Открывает исследовательский диалог без необходимости структуры
- Исследует кодовую базу для ответа на вопросы
- Сравнивает варианты и подходы
- Создает визуальные диаграммы для уточнения мыслей
- Может перейти к
/opsx:propose(по умолчанию) или/opsx:new(расширенный рабочий процесс), когда идеи кристаллизуются
Пример:
text
You: /opsx:explore
AI: Что бы вы хотели исследовать?
You: Как нам следует обрабатывать аутентификацию для мобильного приложения?
AI: Позвольте мне изучить вашу текущую настройку аутентификации...
[Анализирует кодовую базу]
Я вижу, что вы используете сессионную аутентификацию для веб-приложения.
Для мобильной версии у нас есть три основных варианта:
1. JWT токены (stateless, работает офлайн)
2. OAuth2 (если вам нужен вход через сторонние сервисы)
3. Расширить текущие сессии (проще, но требует подключения к сети)
Ваш API уже настроен с CORS. Какой направление вас интересует?
You: Давайте остановимся на 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 # Метаданные изменения (схема, дата создания)Пример:
You: /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 | Нет | Какое изменение нужно продолжить (выводится из контекста, если не предоставлено) |
Что делает:
- Запрашивает граф зависимостей артефактов
- Показывает, какие артефакты готовы, а какие заблокированы
- Создает первый готовый артефакт
- Читает файлы зависимостей для контекста
- Показывает, что станет доступным после создания
Пример:
You: /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
Быстрое создание (fast-forward) артефактов. Создает все планировочные артефакты сразу.
Синтаксис:
/opsx:ff [change-name]Аргументы:
| Аргумент | Обязателен | Описание |
|---|---|---|
change-name | Нет | Какое изменение нужно быстро создать (выводится из контекста, если не предоставлено) |
Что делает:
- Создает все артефакты в порядке зависимостей
- Отслеживает прогресс через список задач
- Останавливается, когда завершены все артефакты
apply-required - Читает каждую зависимость перед созданием следующего артефакта
Пример:
You: /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]
Пример:
You: /opsx:apply
AI: Реализация add-dark-mode...
Чтение tasks.md:
- [ ] 1.1 Создать ThemeContext
- [ ] 1.2 Добавить CSS custom properties
- [ ] 1.3 Реализовать сохранение в localStorage
Работа над 1.1: Создание ThemeContext...
[Создает src/context/ThemeContext.tsx]
✓ 1.1 Готово
Работа над 1.2: Добавление CSS custom properties...
[Обновляет src/styles/globals.css]
✓ 1.2 Готово
...Советы:
- Может возобновить работу, если прервано
- Используйте для параллельных изменений, указав имя изменения
- Состояние завершения отслеживается в чекбоксах
tasks.md
/opsx:verify
Проверяет, соответствует ли реализация артефактам вашего изменения. Проверяет полноту, корректность и согласованность.
Синтаксис:
/opsx:verify [change-name]Аргументы:
| Аргумент | Обязателен | Описание |
|---|---|---|
change-name | Нет | Какое изменение нужно проверить (выводится из контекста, если не предоставлено) |
Что делает:
- Проверяет три аспекта качества реализации
- Ищет доказательства реализации в кодовой базе
- Сообщает о проблемах, классифицированных как CRITICAL, WARNING или SUGGESTION
- Не блокирует архивирование, но выявляет проблемы
Аспекты проверки:
| Аспект | Что проверяется |
|---|---|
| Полнота (Completeness) | Все задачи выполнены, все требования реализованы, сценарии покрыты |
| Корректность (Correctness) | Реализация соответствует замыслу спецификации, обработаны крайние случаи |
| Согласованность (Coherence) | Решения о дизайне отражены в коде, паттерны последовательны |
Пример:
You: /opsx:verify
AI: Проверка add-dark-mode...
ПОЛНОТА
✓ Все 8 задач в tasks.md отмечены
✓ Все требования в specs имеют соответствующий код
⚠ Сценарий "Обнаружение системных предпочтений" не имеет тестового покрытия
КОРРЕКТНОСТЬ
✓ Реализация соответствует замыслу спецификации
✓ Обработаны крайние случаи из сценариев
✓ Состояния ошибок соответствуют определениям в спецификации
СОГЛАСОВАННОСТЬ
✓ Решения о дизайне отражены в структуре кода
✓ Согласованность названий с design.md
⚠ Дизайн упоминает "CSS variables", но реализация использует классы Tailwind
РЕЗЮМЕ
─────────────────────────────
Критические проблемы: 0
Предупреждения: 2
Готово к архивированию: Да (с предупреждениями)
Рекомендации:
1. Добавить тест для обнаружения системных предпочтений
2. Обновить design.md, чтобы отразить использование Tailwind, или рефакторинг для использования CSS variablesСоветы:
- Запускайте перед архивированием, чтобы вовремя выявить несоответствия
- Предупреждения не блокируют архивирование, но указывают на потенциальные проблемы
- Хорошо подходит для проверки работы AI перед коммитом
- Может выявить расхождения между артефактами и реализацией
/opsx:sync
Необязательная команда. Слияние дельта-спецификаций из изменения в основные спецификации. Архив запросит синхронизацию, если это необходимо, поэтому обычно запускать ее вручную не нужно.
Синтаксис:
/opsx:sync [change-name]Аргументы:
| Аргумент | Обязателен | Описание |
|---|---|---|
change-name | Нет | Какое изменение нужно синхронизировать (выводится из контекста, если не предоставлено) |
Что делает:
- Читает дельта-спецификации из папки изменения
- Парсит разделы ADDED/MODIFIED/REMOVED/RENAMED
- Сливает изменения в основную директорию
openspec/specs/ - Сохраняет существующий контент, не упомянутый в дельте
- Не архивирует изменение (оно остается активным)
Пример:
text
You: /opsx:sync
AI: Синхронизация дельта-спецификаций add-dark-mode...
Чтение: openspec/changes/add-dark-mode/specs/ui/spec.md
Цель: openspec/specs/ui/spec.md
Изменения для применения:
✓ ADDED: Требование выбора темы (2 сценария)
✓ ADDED: Требование доступности (1 сценарий)
Слияние...
✓ openspec/specs/ui/spec.md обновлен
Изменение остается активным. Запустите /opsx:archive, когда будете готовы завершить.Когда использовать вручную:
| Сценарий | Использовать sync? |
|---|---|
| Длительное изменение, нужно чтобы спецификации были в основной версии перед архивированием | Да |
| Несколько параллельных изменений требуют обновленные базовые спецификации | Да |
| Хотите отдельно просмотреть/проверить слияние | Да |
| Быстрое изменение, сразу идете к архивированию | Нет (архивация это обработает) |
Советы:
- Sync — это интеллектуальное слияние, а не копирование
- Может добавлять сценарии в существующие требования без дублирования
- Изменение остается активным после синхронизации (не архивируется)
- Большинству пользователей никогда не понадобится вызывать это напрямую — архивация запросит, если необходимо
/opsx:archive
Архивирует завершенное изменение. Финализирует изменение и перемещает его в архивную папку.
Синтаксис:
/opsx:archive [change-name]Аргументы:
| Аргумент | Обязателен | Описание |
|---|---|---|
change-name | Нет | Какое изменение нужно заархивировать (выводится из контекста, если не предоставлено) |
Что делает:
- Проверяет статус завершения артефактов
- Проверяет выполнение задач (предупреждает, если они незавершенны)
- Предлагает синхронизировать дельта-спецификации, если это еще не сделано
- Перемещает папку изменения в
openspec/changes/archive/YYYY-MM-DD-<name>/ - Сохраняет все артефакты для аудита
Пример:
text
You: /opsx:archive
AI: Архивирование add-dark-mode...
Статус артефактов:
✓ proposal.md существует
✓ specs/ существует
✓ design.md существует
✓ tasks.md существует (8/8 задач завершено)
Дельта-спецификации: Еще не синхронизированы
→ Синхронизировать сейчас? (рекомендуется)
You: Yes
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 | Нет | Конкретные изменения для архивирования (запрашивается выбор, если не предоставлено) |
Что делает:
- Перечисляет все завершенные изменения
- Проверяет каждое изменение перед архивацией
- Обнаруживает конфликты спецификаций между изменениями
- Разрешает конфликты, проверяя, что на самом деле реализовано
- Архивирует в хронологическом порядке
Пример:
You: /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 изменения?
You: Yes
AI: ✓ Заархивировано add-dark-mode
✓ Заархивировано fix-login-bug
✓ Заархивировано update-footer
Спецификации объединены: add-dark-mode → update-footerСоветы:
- Хорошо подходит для параллельных рабочих потоков
- Разрешение конфликтов — это агентная задача (проверяет кодовую базу)
- Изменения архивируются в порядке создания
- Запрашивает подтверждение перед перезаписью контента спецификации
/opsx:onboard
Пошаговое обучение по полному рабочему процессу OpenSpec. Интерактивный учебник с использованием вашей реальной кодовой базы.
Синтаксис:
/opsx:onboardЧто делает:
- Проводит полный цикл рабочего процесса с повествованием
- Сканирует вашу кодовую базу на предмет реальных возможностей для улучшения
- Создает фактическое изменение с реальными артефактами
- Реализует реальную работу (небольшие, безопасные изменения)
- Архивирует завершенное изменение
- Объясняет каждый шаг по мере его выполнения
Этапы:
- Приветствие и анализ кодовой базы
- Поиск возможности для улучшения
- Создание изменения (
/opsx:new) - Написание предложения
- Создание спецификаций
- Написание дизайна
- Создание задач
- Реализация задач (
/opsx:apply) - Проверка реализации
- Архивирование изменения
- Резюме и следующие шаги
Пример:
You: /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 |
| Kimi CLI | Призывы команд, основанные на навыках, такие как /skill:openspec-propose, /skill:openspec-apply-change (без сгенерированных файлов команд opsx-*) |
| Trae | Призывы команд, основанные на навыках, такие как /openspec-propose, /openspec-apply-change (без сгенерированных файлов команд opsx-*) |
Намерение одинаково для всех инструментов, но способ отображения команд может различаться в зависимости от интеграции.
Примечание: Команды GitHub Copilot (
.github/prompts/*.prompt.md) доступны только в расширениях IDE (VS Code, JetBrains, Visual Studio). CLI GitHub Copilot в настоящее время не поддерживает пользовательские файлы подсказок — см. Поддерживаемые инструменты для получения подробной информации и обходных путей.
Устаревшие команды
Эти команды используют более старый рабочий процесс «всё сразу». Они по-прежнему работают, но рекомендуется использовать команды OPSX.
| Команда | Что делает |
|---|---|
/openspec:proposal | Создает все артефакты за один раз (предложение, спецификации, дизайн, задачи) |
/openspec:apply | Реализует изменения |
/openspec:archive | Архивирует изменения |
Когда использовать устаревшие команды:
- Существующие проекты, использующие старый рабочий процесс
- Простые изменения, при которых не требуется пошаговое создание артефактов
- Предпочтение подхода «всё или ничего»
Миграция на OPSX: Устаревшие изменения можно продолжить с помощью команд OPSX. Структура артефактов совместима.
Устранение неполадок
"Change not found" (Изменение не найдено)
Команда не смогла определить, над каким изменением работать.
Решения:
- Явно укажите имя изменения:
/opsx:apply add-dark-mode - Проверьте наличие папки изменения:
openspec list - Убедитесь, что вы находитесь в правильной директории проекта
"No artifacts ready" (Артефакты не готовы)
Все артефакты либо завершены, либо заблокированы отсутствующими зависимостями.
Решения:
- Запустите
openspec status --change <name>, чтобы увидеть, что является блокирующим фактором - Проверьте наличие необходимых артефактов
- Сначала создайте недостающие артефакты-зависимости
"Schema not found" (Схема не найдена)
Указанная схема не существует.
Решения:
- Выведите список доступных схем:
openspec schemas - Проверьте написание имени схемы
- Создайте схему, если она пользовательская:
openspec schema init <name>
Commands not recognized (Команды не распознаны)
ИИ-инструмент не распознает команды OpenSpec.
Решения:
- Убедитесь, что OpenSpec инициализирован:
openspec init - Перегенерируйте навыки:
openspec update - Проверьте наличие директории
.claude/skills/(для Claude Code) - Перезапустите ИИ-инструмент, чтобы он загрузил новые навыки
Artifacts not generating properly (Артефакты генерируются некорректно)
ИИ создает неполные или неправильные артефакты.
Решения:
- Добавьте контекст проекта в
openspec/config.yaml - Добавьте правила для каждого артефакта для получения конкретных указаний
- Предоставьте больше деталей в описании изменения
- Используйте
/opsx:continueвместо/opsx:ffдля большего контроля
Следующие шаги
- Workflows — Общие шаблоны и когда использовать каждую команду
- CLI — Команды терминала для управления и проверки
- Customization — Создание пользовательских схем и рабочих процессов