Skip to content

Команди

Це довідник для команд зі скішем 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

Що вона робить:

  • Проводить через повний цикл робочого процесу з поясненнями
  • Сканує вашу кодову базу для пошуку реальних можливостей покращення
  • Створює фактичну зміну з реальними артефактами
  • Реалізує фактичну роботу (невеликі, безпечні зміни)
  • Архівує завершену зміну
  • Пояснює кожен крок під час виконання

Фази:

  1. Привітання та аналіз кодової бази
  2. Пошук можливості для покращення
  3. Створення зміни (/opsx:new)
  4. Написання пропозиції
  5. Створення специфікацій
  6. Написання дизайну
  7. Створення завдань
  8. Реалізація завдань (/opsx:apply)
  9. Перевірка реалізації
  10. Архівування зміни
  11. Підсумок та наступні кроки

Приклад:

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 — команди терміналу для керування та валідації
  • Налаштування — створення користувацьких схем і робочих процесів