Skip to content

Поддерживаемые инструменты ​

OpenSpec работает со многими ИИ-ассистентами для написания кода. При запуске команды openspec init OpenSpec настраивает выбранные инструменты в соответствии с активным профилем/выбранным рабочим процессом и режимом доставки.

Как это работает ​

Для каждого выбранного инструмента OpenSpec может установить:

  1. Навыки (если доставка включает навыки): .../skills/openspec-*/SKILL.md
  2. Команды (если доставка включает команды): файлы команд opsx-*, специфичные для инструмента

Для Codex поддерживаются только навыки: OpenSpec устанавливает .agents/skills/openspec-*/SKILL.md для Codex даже при настройке режима доставки commands, и не генерирует пользовательские файлы промптов для Codex. Существующие навыки, управляемые OpenSpec по устаревшему пути .codex/skills, синхронизируются после записи их замен; пользовательские и изменённые файлы сохраняются.

По умолчанию OpenSpec использует профиль core, который включает:

  • propose
  • explore
  • apply
  • update
  • sync
  • archive

Вы можете включить расширенные рабочие процессы (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 LocalDevin Desktop****
.amazonq/prompts/opsx-<id>.md — это подсказка (prompt), а не команда@opsx-<id>Amazon Q Developer
нет — только навыки (skills)/openspec-<skill>CodeArts, ForgeCode, Hermes, MiniMax Code, Mistral Vibe, Zed Agent, общие .agents
нет — Kimi Code/skill:openspec-<skill>Kimi Code
нет — Codex CLI$openspec-<skill>Codex (/openspec-<skill> не распознаётся)

Таким образом, /opsx:propose это /opsx-propose в Cursor, @opsx-propose в Amazon Q и $openspec-propose в Codex.

Два фактора изменяются независимо, поэтому строки не объединяются:

  • Имя. Строки 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 нет поверхности слэш-команд — он автоматически сопоставляет навыки или по подсказке (например, "use the openspec-propose skill"); /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/ — поэтому whenever 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 в ваш репозиторий, это действие требует явного согласия (opt-in):

КакПоведение
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/skillsagents — одно дерево навыков вместо одного для каждого инструмента
Ваш инструмент ещё не указан, но читает .agents/skillsagents

Выбор его вместе с идентификатором, специфичным для инструмента, допустим; обычно каждый пишет в свой собственный корень. Исключениями являются 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 среди инструментов, о которых сообщает под Commands skipped for: … (no adapter). Вызывайте рабочие процессы по имени навыка — большинство ассистентов, читающих .agents/skills, записывают это как /openspec-propose, форма, которую печатает подсказка настройки OpenSpec. Целевой объект независим от поставщика, поэтому проверьте документацию вашего ассистента, если он использует другую форму.
  • Не создаётся и не редактируется AGENTS.md. Целевым объектом является каталог .agents/. Если ваш корневой AGENTS.md всё ещё содержит маркерные блоки OpenSpec от более старой версии, openspec update удалит их — см. Руководство по миграции.

Поддержка Zed здесь предназначена для встроенного Zed Agent. Внешние агенты Zed и Терминальные потоки используют свои собственные интеграции. Навыки агентов требуют 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):

bash
# Configure specific tools
openspec init --tools claude,cursor

# Configure all supported tools
openspec init --tools all

# Skip tool configuration
openspec init --tools none

# Override profile for this init run
openspec init --profile core

Доступные идентификаторы инструментов (--tools) — windsurf также принимается как псевдоним для 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 устанавливает артефакты рабочих процессов в зависимости от выбранных рабочих процессов:

  • Профиль Core (по умолчанию): propose, explore, apply, update, sync, archive
  • Пользовательский выбор: любое подмножество всех идентификаторов рабочих процессов: propose, explore, new, continue, apply, update, ff, sync, archive, bulk-archive, verify, onboard

Другими словами, количество навыков/команд зависит от профиля и способа доставки, а не фиксировано.

Генерируемые имена навыков ​

При выборе через конфигурацию профиля/рабочего процесса OpenSpec генерирует следующие навыки:

  • openspec-propose
  • openspec-explore
  • openspec-new-change
  • openspec-continue-change
  • openspec-apply-change
  • openspec-update-change
  • openspec-ff-change
  • openspec-sync-specs
  • openspec-archive-change
  • openspec-bulk-archive-change
  • openspec-verify-change
  • openspec-onboard

См. Commands для описания поведения команд и CLI для параметров init/update.

Связанные материалы ​