Підтримувані інструменти
OpenSpec працює з багатьма AI-асистентами для написання коду. Коли ви запускаєте openspec init, OpenSpec налаштовує обрані інструменти з використанням вашого активного профілю/вибору робочого процесу та режиму доставки.
Як це працює
Для кожного обраного інструменту OpenSpec може встановитi:
- Навички (якщо доставка включає навички):
.../skills/openspec-*/SKILL.md - Команди (якщо доставка включає команди): специфічні для інструменту файли команд
opsx-*
Codex працює лише з навичками: OpenSpec встановлює .agents/skills/openspec-*/SKILL.md для Codex навіть тоді, коли доставка налаштована на commands, і не генерує файли власних запитів Codex. Існуючі навички, керовані OpenSpec за застарілим шляхом .codex/skills, узгоджуються після запису їхніх замісників; власні та розбіжні файли зберігаються.
За замовчуванням OpenSpec використовує профіль core, який включає:
proposeexploreapplyupdatesyncarchive
Ви можете увімкнути розширені робочі процеси (new, continue, ff, verify, bulk-archive, onboard) за допомогою openspec config profile, а потім запустити openspec update.
Як викликати
Ця документація використовує /opsx:propose як канонічну назву, але кожен інструмент записує її так, як завантажує файл, створений OpenSpec. Знайдіть шлях до команди вашого інструменту у Довіднику каталогів інструментів нижче, а потім зіставте його форму тут.
| Файл команди, який створює OpenSpec | Ви вводите | Інструменти |
|---|---|---|
.../commands/opsx/<id>.* — папка opsx/ задає простір імен | /opsx:<id> | Claude Code, CodeBuddy, Crush, Gemini CLI, Lingma, Qoder, ZCode |
.../opsx-<id>.* — ім'я файлу є командою | /opsx-<id> | Усі інші інструменти зі згенерованими файлами команд, окрім Amazon Q та Devin |
.devin/workflows/opsx-<id>.md — читається лише одним із двох агентів Devin | /opsx-<id> у Devin Desktop, /openspec-<skill> у Devin Local | Devin Desktop**** |
.amazonq/prompts/opsx-<id>.md — підказка, а не команда | @opsx-<id> | Amazon Q Developer |
| немає — лише навички | /openspec-<skill> | CodeArts, ForgeCode, Hermes, MiniMax Code, Mistral Vibe, Zed Agent, shared .agents |
| немає — Kimi Code | /skill:openspec-<skill> | Kimi Code |
| немає — Codex CLI | $openspec-<skill> | Codex (/openspec-<skill> не розпізнається) |
Отже /opsx:propose у Cursor це /opsx-propose, в Amazon Q — @opsx-propose, а в Codex — $openspec-propose.
Дві речі змінюються незалежно, тому рядки не згортаються:
- Назва. Рядки 1–2 відрізняються лише тим, як файл називає команду, а основа
opsx-<id>/opsx:<id>однакова для всіх інструментів зі згенерованими файлами команд. - Обгортка. Amazon Q завантажує свої файли до бібліотеки підказок, які викликаються через
@. Інструменти, що використовують лише навички, взагалі не генерують файлів команд, тому їхні три останні рядки використовують назви навичок — перелічені в Згенеровані назви навичок — які не відображаються один до одного на ідентифікатори команд (/opsx:applyє навичкоюopenspec-apply-change).
Шаблони шляхів команд вище навмисне не залежать від розширення (.*): розширення залежить від інструменту (.toml для Gemini CLI, .prompt для Continue, .prompt.md для Kiro та GitHub Copilot), і деякі інструменти показують назву разом із розширенням у списку вибору. Визначайте за структурою каталогу, а не за розширенням.
Файли, які генерує OpenSpec, та підказка «Початок роботи», що виводиться після налаштування, вже використовують правильну форму для вибраних вами інструментів — тож найшвидший спосіб — прочитати підказку.
Довідник каталогів інструментів
| Інструмент (ID) | Шаблон шляху для навичок | Шаблон шляху для команд |
|---|---|---|
Amazon Q Developer (amazon-q) | .amazonq/skills/openspec-*/SKILL.md | .amazonq/prompts/opsx-<id>.md |
Antigravity (antigravity) | .agent/skills/openspec-*/SKILL.md | .agent/workflows/opsx-<id>.md |
Auggie (auggie) | .augment/skills/openspec-*/SKILL.md | .augment/commands/opsx-<id>.md |
IBM Bob Shell (bob) | .bob/skills/openspec-*/SKILL.md | .bob/commands/opsx-<id>.md |
Claude Code (claude) | .claude/skills/openspec-*/SKILL.md | .claude/commands/opsx/<id>.md |
Cline (cline) | .cline/skills/openspec-*/SKILL.md | .clinerules/workflows/opsx-<id>.md |
Command Code (command-code) | .commandcode/skills/openspec-*/SKILL.md | .commandcode/commands/opsx-<id>.md |
CodeArts (codeartsagent) | .codeartsdoer/skills/openspec-*/SKILL.md | Не генерується (немає адаптера команд; використовуйте виклики на основі навичок /openspec-*) |
CodeBuddy (codebuddy) | .codebuddy/skills/openspec-*/SKILL.md | .codebuddy/commands/opsx/<id>.md |
Codex (codex) | .agents/skills/openspec-*/SKILL.md | Не генерується (лише навички; використовуйте $openspec-*) |
Devin Desktop, раніше Windsurf (devin) | .devin/skills/openspec-*/SKILL.md | .devin/workflows/opsx-<id>.md**** |
ForgeCode (forgecode) | .forge/skills/openspec-*/SKILL.md | Не генерується (немає адаптера команд; використовуйте виклики на основі навичок /openspec-*) |
Continue (continue) | .continue/skills/openspec-*/SKILL.md | .continue/prompts/opsx-<id>.prompt |
CoStrict (costrict) | .cospec/skills/openspec-*/SKILL.md | .cospec/openspec/commands/opsx-<id>.md |
Crush (crush) | .crush/skills/openspec-*/SKILL.md | .crush/commands/opsx/<id>.md |
Cursor (cursor) | .cursor/skills/openspec-*/SKILL.md | .cursor/commands/opsx-<id>.md |
Factory Droid (factory) | .factory/skills/openspec-*/SKILL.md | .factory/commands/opsx-<id>.md |
Gemini CLI (gemini) | .gemini/skills/openspec-*/SKILL.md | .gemini/commands/opsx/<id>.toml |
GitHub Copilot (github-copilot) | .github/skills/openspec-*/SKILL.md | .github/prompts/opsx-<id>.prompt.md** |
Hermes Agent (hermes) | .hermes/skills/openspec-*/SKILL.md*** | Не генерується (немає адаптера команд; використовуйте виклики на основі навичок /openspec-*) |
iFlow (iflow) | .iflow/skills/openspec-*/SKILL.md | .iflow/commands/opsx-<id>.md |
Junie (junie) | .junie/skills/openspec-*/SKILL.md | .junie/commands/opsx-<id>.md |
Kilo Code (kilocode) | .kilocode/skills/openspec-*/SKILL.md | .kilocode/workflows/opsx-<id>.md |
Kimi Code (kimi) | .kimi-code/skills/openspec-*/SKILL.md | Не генерується (немає адаптера команд; використовуйте виклики на основі навичок /skill:openspec-*) |
Kiro (kiro) | .kiro/skills/openspec-*/SKILL.md | .kiro/prompts/opsx-<id>.prompt.md |
Lingma (lingma) | .lingma/skills/openspec-*/SKILL.md | .lingma/commands/opsx/<id>.md |
MiniMax Code (minimax-code) | ~/.minimax/skills/openspec-*/SKILL.md | Не генерується (немає адаптера команд; використовуйте навички MiniMax Code) |
Mistral Vibe (vibe) | .vibe/skills/openspec-*/SKILL.md | Не генерується (немає адаптера команд; використовуйте виклики на основі навичок /openspec-*) |
Oh My Pi (oh-my-pi) | .omp/skills/openspec-*/SKILL.md | .omp/commands/opsx-<id>.md |
OpenCode (opencode) | .opencode/skills/openspec-*/SKILL.md | .opencode/commands/opsx-<id>.md |
Pi (pi) | .pi/skills/openspec-*/SKILL.md | .pi/prompts/opsx-<id>.md |
SourceCraft Code Assistant for VS Code (codeassistant) | .codeassistant/skills/openspec-*/SKILL.md | .codeassistant/commands/opsx-<id>.md |
Qoder (qoder) | .qoder/skills/openspec-*/SKILL.md | .qoder/commands/opsx/<id>.md |
Qwen Code (qwen) | .qwen/skills/openspec-*/SKILL.md | .qwen/commands/opsx-<id>.md |
Rovo Dev CLI (rovodev) | .rovodev/skills/openspec-*/SKILL.md | Не генерується. Rovo не має інтерфейсу команд зі слешем — він шукає навички автоматично або за підказкою (наприклад, «використовуй навичку openspec-propose»); /skills лише керує ними. Згенерований вміст посилається на навички за назвою, ніколи як на команди /openspec-*. |
Zoo Code (roocode) | .roo/skills/openspec-*/SKILL.md | .roo/commands/opsx-<id>.md |
Trae (trae) | .trae/skills/openspec-*/SKILL.md | .trae/commands/opsx-<id>.md |
Zed Agent (zed) | .agents/skills/openspec-*/SKILL.md | Не генерується (лише навички; використовуйте /openspec-* або @openspec-*) |
ZCode (zcode) | .zcode/skills/openspec-*/SKILL.md | .zcode/commands/opsx/<id>.md |
Спільні навички .agents (agents) | .agents/skills/openspec-*/SKILL.md | Не генерується (немає адаптера команд; використовуйте виклики на основі навичок /openspec-*) |
** Файли підказок GitHub Copilot розпізнаються як користувацькі слеш-команди в розширеннях IDE (VS Code, JetBrains, Visual Studio). Copilot CLI наразі не споживає .github/prompts/*.prompt.md напряму. Вибір github-copilot також може налаштувати хмарного агента кодування на GitHub — див. Хмарний агент кодування GitHub Copilot нижче.
*** Hermes за умовчанням завантажує навички з ~/.hermes/skills/. Щоб використовувати локальні для проєкту навички OpenSpec, додайте каталог проєкту .hermes/skills/ до skills.external_dirs у ~/.hermes/config.yaml; тоді Hermes показуватиме навички з користувацькими слеш-викликами, наприклад /openspec-propose.
**** Windsurf було перейменовано на Devin Desktop 2 червня 2026 року, і його конфігураційний каталог переміщено: .devin/ є рекомендованим місцем для читання та запису, .windsurf/ — застаріле резервне сховище лише для читання. OpenSpec слідує перейменуванню — ідентифікатор інструменту devin, а --tools windsurf все ще вказує на нього, тому наявні сценарії налаштування працюють. Проєкту, у якому все ще є файли OpenSpec у .windsurf/, буде запропоновано перемістити їх під час наступного openspec update; відмова залишає їх на місці, а файли, створені вами, ніколи не чіпаються. Робочі процеси викликаються за іменем файлу, тому .devin/workflows/opsx-apply.md — це /opsx-apply. Локальний агент Devin не підтримує робочі процеси — лише навички, і він взагалі не читає .windsurf/ — тому щоразу, коли OpenSpec записує навички Devin, він зберігає їхні тіла та підказку початку роботи для викликів на основі навичок /openspec-*, які працюють в обох агентах. У режимі доставки лише команд навички не записуються, і обидва агенти переходять на /opsx-*.
Підтримка SourceCraft Code Assistant націлена на його розширення VS Code. Його користувацькі команди та навички доступні лише у VS Code. Ця інтеграція не налаштовує SourceCraft web або JetBrains.
З доставкою лише навичок попросіть Code Assistant використати навичку openspec-propose для вашої ідеї. Навички активуються через зіставлення запитів; OpenSpec не генерує команди /openspec-* для цього інструменту.
MiniMax Code — це глобальна інтеграція лише з навичками. OpenSpec записує лише свої каталоги openspec-* у ~/.minimax/skills/; він не створює локальні для репозиторію каталоги .minimax або .mavis. Доставка лише команд залишає наявні глобальні навички MiniMax Code недоторканими, тому налаштування доставки одного проєкту не можуть видалити навички, які використовуються іншим проєктом.
Хмарний агент кодування GitHub Copilot
Агент кодування Copilot від GitHub працює на GitHub у середовищі GitHub Actions — окремо від Copilot у вашому редакторі. OpenSpec може налаштувати його для використання CLI OpenSpec, згенерувавши два файли:
.github/workflows/copilot-setup-steps.yml— встановлює@fission-ai/openspecу середовищі агента.github/agents/openspec.agent.md— описує агенту, як керувати OpenSpec
Оскільки це додає робочий процес GitHub Actions до вашого репозиторію, це потребує згоди:
| Як | Поведінка |
|---|---|
openspec init (інтерактивний) | Запитує, чи налаштовувати хмарні файли. За замовчуванням Ні. |
openspec init --copilot-cloud | Налаштовує їх без запитання (для скриптів/CI). |
openspec init --no-copilot-cloud | Пропускає їх без запитання та видаляє всі раніше згенеровані. |
openspec update | Ніколи не запитує. Оновлює файли лише якщо ви дали згоду (або проєкт уже їх має). Якщо ви відмовилися, він видаляє хмарні файли, керовані OpenSpec. |
Ваш вибір зберігається в openspec/config.yaml як githubCopilot.cloudAgent: true|false, тому неінтерактивні оновлення його поважають. OpenSpec лише записує або видаляє файли, вміст яких він згенерував — якщо ви налаштуєте copilot-setup-steps.yml або openspec.agent.md або вже маєте власні, вони залишаються недоторканими (і init/update повідомляють про це).
Коли вибирати спільний цільовий каталог .agents
agents — це нейтральний до постачальника варіант: він записує навички до .agents/skills/, спільного кореневого каталогу, який читають багато агентів, замість каталогу, специфічного для інструменту.
| Ситуація | Вибір |
|---|---|
| Ваш інструмент має власний рядок вище | Його власний ID — ви отримуєте інтеграцію цього інструменту, включаючи слеш-команди там, де вони підтримуються |
Кілька агентів в одному репозиторії, всі читають .agents/skills | agents — одне дерево навичок замість окремого для кожного інструменту |
Ваш інструмент ще не в списку, але читає .agents/skills | agents |
Вибір його разом з ID конкретного інструменту допустимий; кожен зазвичай записує у свій власний кореневий каталог. Codex та Zed Agent є винятками, оскільки вони використовують той самий канонічний корінь .agents. Якщо Codex вибрано разом із Zed або agents, OpenSpec підтримує одне дерево під керуванням Codex. Його перехідні назви містять як $openspec-* для Codex, так і /openspec-* для інших агентів, тому --tools all та наявні мультиагентні налаштування продовжують працювати без перезапису одних і тих самих файлів двома записувачами. OpenSpec також пропонує його автоматично, коли проєкт має каталог .agents/skills/ — самого .agents/ недостатньо, оскільки інструменти використовують цей корінь також для правил та визначень субагентів. Зверніть увагу: .agents — це не .agent: каталог в однині належить Antigravity.
Два моменти, які варто знати:
- Лише навички. Адаптера команд не існує, тому файли команд
opsx-*не записуються; у режимі доставки, що включає команди,openspec initперераховуєagentsсеред інструментів, для яких повідомляєКоманди пропущено для: … (немає адаптера). Викликайте робочі процеси за назвою навички — більшість асистентів, які читають.agents/skills, записують це як/openspec-propose, форму, яку друкує підказка налаштування OpenSpec. Ціль нейтральна до постачальника, тому перевірте власну документацію вашого асистента, якщо він використовує іншу форму. AGENTS.mdне створюється і не редагується. Цільовим є каталог.agents/. Якщо ваш кореневийAGENTS.mdвсе ще містить маркерні блоки OpenSpec зі старішої версії,openspec updateвидаляє їх — див. Посібник з міграції.
Підтримка Zed тут призначена для вбудованого Zed Agent. Zed External Agents та Terminal Threads використовують власні інтеграції. Agent Skills вимагають Zed v1.4.2 або новішої версії. Локальні навички проєкту недоступні в ненадійному робочому дереві, доки ви не надасте довіру.
Оскільки .agents/skills/ є спільним для Codex, Zed Agent та нейтрального до постачальника цільового каталогу, варто знати, на що OpenSpec претендує там: він записує, оновлює та видаляє лише каталоги навичок openspec-* для вибраних вами робочих процесів, плюс маркер .openspec-target, який фіксує, чи Codex, Zed Agent або нейтральний до постачальника цільовий каталог створив це спільне дерево. Все інше в цьому каталозі залишається недоторканим. Розглядайте назви openspec-* та маркер як власність OpenSpec — зміни всередині них замінюються під час наступного openspec update, так само як і для будь-якого іншого інструменту.
Для проєктів без маркера OpenSpec визначає належність за керованими посиланнями на навички: $openspec-* означає Codex, а /openspec-* — нейтральний до постачальника цільовий каталог. Загальне канонічне дерево поряд із застарілим .codex/skills розглядається як старіше встановлення з двома цілями та консолідується в сумісне спільне дерево.
openspec update також поважає цю належність. Якщо проєкт володіє .agents як нейтральний до постачальника цільовий каталог, а залишкове встановлення Codex виявлено лише за випадковими файлами підказок, оновлення залишає усталене дерево agents на місці, замість того щоб перезаписувати його синтаксисом Codex, і зберігає ці застарілі файли підказок, а не видаляє їх. Щоб передати спільне дерево Codex, запустіть openspec init --tools codex явно.
Неінтерактивна ініціалізація
Для CI/CD або скриптової ініціалізації використовуйте --tools (за бажанням також --profile):
# Налаштування конкретних інструментів
openspec init --tools claude,cursor
# Налаштування всіх підтримуваних інструментів
openspec init --tools all
# Пропуск налаштування інструментів
openspec init --tools none
# Замінити профіль для цьогоRозділ init
openspec init --profile coreДоступні ID інструментів (--tools) — windsurf також приймається як псевдонімRозділ devin: amazon-q, antigravity, auggie, bob, claude, cline, command-code, codeartsagent, codex, devin, forgecode, codebuddy, continue, costrict, crush, cursor, factory, gemini, github-copilot, hermes, iflow, junie, kilocode, kimi, kiro, lingma, minimax-code, vibe, oh-my-pi, opencode, pi, qoder, qwen, roocode, codeassistant, trae, zed, zcode, agents
Встановлення залежно від робочих процесів
OpenSpec встановлює артефакти робочих процесів на основі вибраних робочих процесRозділ:
- Профіль Core (типовий):
propose,explore,apply,update,sync,archive - Користувацький вибір: довільне підмножина всіх ID робочих процесів:
propose,explore,new,continue,apply,update,ff,sync,archive,bulk-archive,verify,onboard
Інакше кажучи, кількість навичок/команд залежить від профілю та способу доставки, а не є фіксованою.
Згенеровані назвиRозділ навичок
Коли обрані конфігурацією профілю/робочого процесу, OpenSpec генерує такі навички:
openspec-proposeopenspec-exploreopenspec-new-changeopenspec-continue-changeopenspec-apply-changeopenspec-update-changeopenspec-ff-changeopenspec-sync-specsopenspec-archive-changeopenspec-bulk-archive-changeopenspec-verify-changeopenspec-onboard
Див. Команди для поведінки команд та CLIRозділ параметрів init/update.
Пов'язані матеріали
- Посібник CLI — Команди термінала
- Команди — Слеш-команди таRозділ навички
- Початок роботи — Первинне налаштування