Команди
Це довідник для команд зі скішем 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: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: 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 scenario)
Merging...
✓ openspec/specs/ui/spec.md updated
Change remains active. Run /opsx:archive when ready to complete.Коли використовувати вручну:
| Сценарій | Використовувати 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 — команди терміналу для керування та валідації
- Налаштування — створення користувацьких схем і робочих процесів