Команды
Это справочник по слэш-командам OpenSpec. Эти команды вызываются в интерфейсе чата вашего ИИ-ассистента для кодирования (например, Claude Code, Cursor, Windsurf).
Для паттернов рабочих процессов и информации о том, когда использовать каждую команду, см. Рабочие процессы. Для команд CLI см. CLI.
Краткая справка
Путь по умолчанию (профиль core)
| Команда | Назначение |
|---|---|
/opsx:propose | Создать изменение и сгенерировать артефакты планирования за один шаг |
/opsx:explore | Продумать идеи до фиксации в изменении |
/opsx:apply | Реализовать задачи из изменения |
/opsx:sync | Объединить дельта-спецификации с основными спецификациями |
/opsx:archive | Архивировать завершенное изменение |
Расширенные команды рабочего процесса (выбор пользовательского рабочего процесса)
| Команда | Назначение |
|---|---|
/opsx:new | Начать новую структуру изменения |
/opsx:continue | Создать следующий артефакт на основе зависимостей |
/opsx:ff | Перемотка вперед: создать все артефакты планирования сразу |
/opsx:verify | Проверить, что реализация соответствует артефактам |
/opsx:bulk-archive | Архивировать несколько изменений одновременно |
/opsx:ononboard | Руководимый туториал по полному рабочему процессу |
Глобальный профиль по умолчанию — 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: Created openspec/changes/add-dark-mode/
✓ proposal.md
✓ specs/ui/spec.md
✓ design.md
✓ tasks.md
Ready for implementation. Run /opsx:apply.Советы:
- Используйте для самого быстрого сквозного пути
- Если нужен пошаговый контроль артефактов, включите расширенные рабочие процессы и используйте
/opsx:new+/opsx:continue
/opsx:explore
Обдумайте идеи, исследуйте проблемы и уточните требования перед тем, как приступить к изменению.
Синтаксис:
/opsx:explore [topic]Аргументы:
| Аргумент | Обязательный | Описание |
|---|---|---|
topic | Нет | Что вы хотите изучить или исследовать |
Что делает:
- Открывает исследовательский разговор без обязательной структуры
- Анализирует кодовую базу для ответа на вопросы
- Сравнивает варианты и подходы
- Создаёт визуальные диаграммы для уточнения мыслей
- Может перейти к
/opsx:propose(по умолчанию) или/opsx:new(расширенный рабочий процесс), когда идеи сформулированы
Пример:
text
You: /opsx:explore
AI: What would you like to explore?
You: How should we handle authentication for the mobile app?
AI: Let me investigate your current auth setup...
[Analyzes codebase]
I see you're using session-based auth for the web app.
For mobile, we have three main options:
1. JWT tokens (stateless, works offline)
2. OAuth2 (if you need third-party login)
3. Extend current sessions (simpler, but requires connectivity)
Your API already has CORS configured. Which direction interests you?
You: Let's go with JWT. Can we start a change for that?
AI: Ready when you are. Run /opsx:propose add-jwt-auth to begin.Советы:
- Используйте, когда требования неясны или нужно провести исследование
- Во время исследования артефакты не создаются
- Подходит для сравнения нескольких подходов перед принятием решения
- Может читать файлы и искать по кодовой базе
/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: Created openspec/changes/add-dark-mode/
Schema: spec-driven
Ready to create: proposal
Use /opsx:continue to create it, or /opsx:ff to create all artifacts.Советы:
- Используйте описательные имена:
add-feature,fix-bug,refactor-module - Избегайте общих имён вроде
update,changes,wip - Схема также может быть задана в конфигурации проекта (
openspec/config.yaml)
/opsx:continue
Создайте следующий артефакт в цепочке зависимостей. Создаёт по одному артефакту за раз для постепенного продвижения.
Синтаксис:
/opsx:continue [change-name]Аргументы:
| Аргумент | Обязательный | Описание |
|---|---|---|
change-name | Нет | Какое изменение продолжить (определяется из контекста, если не указано) |
Что делает:
- Запрашивает граф зависимостей артефактов
- Показывает, какие артефакты готовы, а какие заблокированы
- Создаёт первый готовый артефакт
- Читает файлы зависимостей для контекста
- Показывает, что станет доступно после создания
Пример:
You: /opsx:continue
AI: Change: add-dark-mode
Artifact status:
✓ proposal (done)
◆ specs (ready)
◆ design (ready)
○ tasks (blocked - needs: specs)
Creating specs...
[Reads proposal.md, creates specs based on requirements]
✓ Created openspec/changes/add-dark-mode/specs/ui/spec.md
Now available: tasks
Run /opsx:continue to create the next artifact.Советы:
- Используйте, когда хотите проверить каждый артефакт перед продолжением
- Подходит для сложных изменений, где нужен контроль
- Несколько артефактов могут стать доступными одновременно
- Вы можете редактировать созданные артефакты перед продолжением
/opsx:ff
Быстрая перемотка создания артефактов. Создаёт все артефакты планирования за один раз.
Синтаксис:
/opsx:ff [change-name]Аргументы:
| Аргумент | Обязательный | Описание |
|---|---|---|
change-name | Нет | Какое изменение перемотать (определяется из контекста, если не указано) |
Что делает:
- Создаёт все артефакты в порядке зависимостей
- Отслеживает прогресс через список задач
- Останавливается, когда все артефакты с
apply-requiredзавершены - Читает каждую зависимость перед созданием следующего артефакта
Пример:
You: /opsx:ff add-dark-mode
AI: Fast-forwarding add-dark-mode...
✓ Creating proposal.md
✓ Creating specs/ui/spec.md
✓ Creating design.md
✓ Creating tasks.md
All planning artifacts complete!
Ready for implementation. Run /opsx:apply to begin.Советы:
- Используйте, когда у вас есть чёткое представление о том, что вы создаёте
- Быстрее, чем
/opsx:continue, для простых изменений - Вы всё ещё можете редактировать артефакты после создания
- Подходит для небольших и средних функций
/opsx:apply
Реализуйте задачи из изменения. Работает со списком задач, пишет код и отмечает выполненные пункты.
Синтаксис:
/opsx:apply [change-name]Аргументы:
| Аргумент | Обязательный | Описание |
|---|---|---|
change-name | Нет | Какое изменение реализовать (определяется из контекста, если не указано) |
Что делает:
- Читает
tasks.mdи определяет незавершённые задачи - Работает над задачами по одной
- Пишет код, создаёт файлы, запускает тесты по мере необходимости
- Отмечает задачи как выполненные с помощью чекбоксов
[x]
Пример:
You: /opsx:apply
AI: Implementing add-dark-mode...
Reading tasks.md:
- [ ] 1.1 Create ThemeContext
- [ ] 1.2 Add CSS custom properties
- [ ] 1.3 Implement localStorage persistence
Working on 1.1: Create ThemeContext...
[Creates src/context/ThemeContext.tsx]
✓ 1.1 Complete
Working on 1.2: Add CSS custom properties...
[Updates src/styles/globals.css]
✓ 1.2 Complete
...Советы:
- Может возобновиться с места остановки при прерывании
- Используйте для параллельных изменений, указав имя изменения
- Состояние выполнения отслеживается чекбоксами в
tasks.md
/opsx:verify
Проверьте, соответствует ли реализация вашим артефактам изменения. Проверяет полноту, корректность и согласованность.
Синтаксис:
/opsx:verify [change-name]Аргументы:
| Аргумент | Обязательный | Описание |
|---|---|---|
change-name | Нет | Какое изменение проверить (определяется из контекста, если не указано) |
Что делает:
- Проверяет три измерения качества реализации
- Ищет в кодовой базе доказательства реализации
- Сообщает о проблемах, категоризированных как CRITICAL, WARNING или SUGGESTION
- Не блокирует архивацию, но выявляет проблемы
Измерения проверки:
| Измерение | Что проверяет |
|---|---|
| Полнота | Все задачи выполнены, все требования реализованы, сценарии покрыты |
| Корректность | Реализация соответствует замыслу спецификации, крайние случаи обработаны |
| Согласованность | Решения по дизайну отражены в коде, паттерны последовательны |
Пример:
You: /opsx:verify
AI: Verifying add-dark-mode...
COMPLETENESS
✓ All 8 tasks in tasks.md are checked
✓ All requirements in specs have corresponding code
⚠ Scenario "System preference detection" has no test coverage
CORRECTNESS
✓ Implementation matches spec intent
✓ Edge cases from scenarios are handled
✓ Error states match spec definitions
COHERENCE
✓ Design decisions reflected in code structure
✓ Naming conventions consistent with design.md
⚠ Design mentions "CSS variables" but implementation uses Tailwind classes
SUMMARY
─────────────────────────────
Critical issues: 0
Warnings: 2
Ready to archive: Yes (with warnings)
Recommendations:
1. Add test for system preference detection
2. Update design.md to reflect Tailwind usage, or refactor to use CSS variablesСоветы:
- Запускайте перед архивацией, чтобы выявить несоответствия на ранней стадии
- Предупреждения не блокируют архивацию, но указывают на потенциальные проблемы
- Подходит для проверки работы ИИ перед фиксацией
- Может выявить расхождения между артефактами и реализацией
/opsx:sync
Необязательная команда. Объединяет дельта-спецификации из изменения в основные спецификации. Архивация предложит синхронизацию при необходимости, поэтому обычно вам не нужно запускать это вручную.
Синтаксис:
/opsx:sync [change-name]Аргументы:
| Аргумент | Обязательный | Описание |
|---|---|---|
change-name | Нет | Какое изменение синхронизировать (определяется из контекста, если не указано) |
Что делает:
- Читает дельта-спецификации из папки изменения
- Разбирает секции ADDED/MODIFIED/REMOVED/RENAMED
- Объединяет изменения в основную директорию
openspec/specs/ - Сохраняет существующее содержимое, не упомянутое в дельте
- Не архивирует изменение (остаётся активным)
Пример:
text
You: /opsx:sync
AI: Syncing add-dark-mode delta specs...
Reading: openspec/changes/add-dark-mode/specs/ui/spec.md
Target: openspec/specs/ui/spec.md
Changes to apply:
✓ ADDED: Theme Selection requirement (2 scenarios)
✓ ADDED: Accessibility requirement (1 scenarios)
Merging...
✓ openspec/specs/ui/spec.md updated
Change remains active. Run /opsx:archive when ready to complete.Когда использовать вручную:
| Сценарий | Использовать sync? |
|---|---|
| Длительное изменение, нужны спецификации в основных перед архивацией | Да |
| Несколько параллельных изменений нуждаются в обновлённых базовых спецификациях | Да |
| Хотите предварительно просмотреть/проверить слияние | Да |
| Быстрое изменение, сразу к архивации | Нет (архивация обработает) |
Советы:
- Sync работает интеллектуально, а не копирует-вставляет
- Может добавлять сценарии к существующим требованиям без дублирования
- Изменение остаётся активным после синхронизации (не архивируется)
- Большинству пользователей никогда не нужно вызывать эту команду напрямую — архивация предложит при необходимости
/opsx:archive
Архивируйте завершённое изменение. Финализирует изменение и перемещает его в папку архива.
Синтаксис:
/opsx:archive [change-name]Аргументы:
| Аргумент | Обязательный | Описание |
|---|---|---|
change-name | Нет | Какое изменение архивировать (определяется из контекста, если не указано) |
Что делает:
- Проверяет статус завершения артефактов
- Проверяет выполнение задач (предупреждает о незавершённых)
- Предлагает синхронизировать дельта-спецификации, если они ещё не синхронизированы
- Перемещает папку изменения в
openspec/changes/archive/YYYY-MM-DD-<name>/ - Сохраняет все артефакты для аудита
Пример:
text
You: /opsx:archive
AI: Archiving add-dark-mode...
Artifact status:
✓ proposal.md exists
✓ specs/ exists
✓ design.md exists
✓ tasks.md exists (8/8 tasks complete)
Delta specs: Not yet synced
→ Sync now? (recommended)
You: Yes
AI: ✓ Synced specs to openspec/specs/ui/spec.md
✓ Moved to openspec/changes/archive/2025-01-24-add-dark-mode/
Change archived successfully.Советы:
- Архивация не блокируется из-за незавершённых задач, но предупредит
- Дельта-спецификации можно синхронизировать во время архивации или заранее
- Архивированные изменения сохраняются для истории
- Используйте
/opsx:verifyсначала, чтобы выявить проблемы
/opsx:bulk-archive
Архивируйте несколько завершённых изменений одновременно. Обрабатывает конфликты спецификаций между изменениями.
Синтаксис:
/opsx:bulk-archive [change-names...]Аргументы:
| Аргумент | Обязательный | Описание |
|---|---|---|
change-names | Нет | Конкретные изменения для архивации (предложит выбрать, если не указано) |
Что делает:
- Перечисляет все завершённые изменения
- Проверяет каждое изменение перед архивацией
- Обнаруживает конфликты спецификаций между изменениями
- Разрешает конфликты, проверяя фактическую реализацию
- Архивирует в хронологическом порядке
Пример:
You: /opsx:bulk-archive
AI: Found 3 completed changes:
- add-dark-mode (8/8 tasks complete)
- fix-login-bug (3/3 tasks complete)
- update-footer (2/2 tasks complete)
Checking for spec conflicts...
⚠ add-dark-mode and update-footer both touch specs/ui/
Inspecting codebase to resolve...
Both changes are implemented. Will merge in chronological order:
1. add-dark-mode (created Jan 20)
2. update-footer (created Jan 22)
Archive all 3 changes?
You: Yes
AI: ✓ Archived add-dark-mode
✓ Archived fix-login-bug
✓ Archived update-footer
Specs merged: add-dark-mode → update-footerСоветы:
- Подходит для параллельных рабочих потоков
- Разрешение конфликтов выполняется агентно (проверяется кодовая база)
- Изменения архивируются в порядке создания
- Запрашивает подтверждение перед перезаписью содержимого спецификаций
/opsx:onboard
Интерактивное обучение полному рабочему процессу OpenSpec. Интерактивный учебник с использованием вашей реальной кодовой базы.
Синтаксис:
/opsx:onboardЧто делает:
- Проводит через полный цикл рабочего процесса с пояснениями
- Сканирует вашу кодовую базу на предмет реальных возможностей для улучшения
- Создаёт реальное изменение с настоящими артефактами
- Выполняет реальную работу (небольшие, безопасные изменения)
- Архивирует завершённое изменение
- Объясняет каждый шаг по мере выполнения
Фазы:
- Приветствие и анализ кодовой базы
- Поиск возможности для улучшения
- Создание изменения (
/opsx:new) - Написание предложения
- Создание спецификаций
- Написание дизайна
- Создание задач
- Реализация задач (
/opsx:apply) - Проверка реализации
- Архивация изменения
- Итоги и следующие шаги
Пример:
You: /opsx:onboard
AI: Welcome to OpenSpec!
I'll walk you through the complete workflow using your actual codebase.
We'll find something small to improve, create a proper change for it,
implement it, and archive it.
Let me scan your codebase for opportunities...
[Analyzes codebase]
I found a few things we could work on:
1. Add input validation to the contact form
2. Improve error messages in the auth flow
3. Add loading states to async buttons
Which interests you? (or suggest something else)Советы:
- Лучше всего подходит для новых пользователей, изучающих рабочий процесс
- Использует реальный код, а не игрушечные примеры
- Создаёт реальное изменение, которое можно сохранить или отбросить
- Занимает 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). GitHub Copilot CLI в настоящее время не поддерживает пользовательские файлы подсказок — подробности и обходные решения см. в разделе Поддерживаемые инструменты.
Устаревшие команды
Эти команды используют более старый рабочий процесс «всё сразу». Они по-прежнему работают, но рекомендуется использовать команды 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>
Команды не распознаются
Инструмент ИИ не распознает команды OpenSpec.
Решения:
- Убедитесь, что OpenSpec инициализирован:
openspec init - Перегенерируйте навыки:
openspec update - Проверьте, существует ли каталог
.claude/skills/(для Claude Code) - Перезапустите инструмент ИИ, чтобы подхватить новые навыки
Артефакты генерируются некорректно
ИИ создает неполные или неверные артефакты.
Решения:
- Добавьте контекст проекта в
openspec/config.yaml - Добавьте правила для каждого артефакта для конкретных указаний
- Предоставьте больше деталей в описании изменения
- Используйте
/opsx:continueвместо/opsx:ffдля большего контроля
Следующие шаги
- Рабочие процессы - Типичные паттерны и когда использовать каждую команду
- CLI - Команды терминала для управления и валидации
- Настройка - Создание пользовательских схем и рабочих процессов