Skip to content

지원되는 도구 ​

OpenSpec이 지원하는 AI 코딩 도구와 각 도구의 명령어 구문.

매트릭스의 모든 도구는 동일한 OpenSpec 워크플로우를 실행합니다. 스킬과 해당 명령어는 동일한 워크플로우 지침입니다. 유일한 차이는 입력하는 내용뿐입니다. init이 설치하는 형태는 전달(delivery) 설정에 해당하며 프로젝트 설정에서 다룹니다.

지원 매트릭스 ​

여기에는 apply 워크플로우에 대한 호출 방법이 표시되어 있습니다. 모든 워크플로우는 동일한 형태를 따릅니다. 선택기를 건너뛰려면 openspec init --tools <id>에 id를 지정합니다 (CLI).

도구--tools id스킬스킬 호출명령어명령어 호출
Amazon Q Developeramazon-q.amazonq/skills//openspec-apply-change.amazonq/prompts/@opsx-apply
Ampamp.agents/skills//openspec-apply-changenonenone
Antigravityantigravity.agents/skills//openspec-apply-change.agents/workflows//opsx-apply
AtomCodeatomcode.atomcode/skills//openspec-apply-change.atomcode/commands//opsx-apply
Auggie (Augment CLI)auggie.augment/skills//openspec-apply-change.augment/commands//opsx-apply
IBM Bobbob.bob/skills//openspec-apply-change.bob/commands//opsx-apply
Claude Codeclaude.claude/skills//openspec-apply-change.claude/commands/opsx//opsx:apply
Clinecline.cline/skills//openspec-apply-change.clinerules/workflows//opsx-apply
CodeArtscodeartsagent.codeartsdoer/skills//openspec-apply-changenonenone
CodeBuddy Code (CLI)codebuddy.codebuddy/skills//openspec-apply-change.codebuddy/commands/opsx//opsx:apply
Code Studiocodestudio.codestudio/skills//openspec-apply-change.codestudio/prompts//opsx-apply
Codexcodex.agents/skills/$openspec-apply-changenonenone
Continuecontinue.continue/skills//openspec-apply-change.continue/prompts//opsx-apply
CoStrictcostrict.cospec/skills//openspec-apply-change.cospec/openspec/commands//opsx-apply
Crushcrush.crush/skills//openspec-apply-change.crush/commands/opsx//opsx:apply
Cursorcursor.cursor/skills//openspec-apply-change.cursor/commands//opsx-apply
DeepSeek Harnessdsh.dsh/skills//openspec-apply-changenonenone
Devin Desktop (formerly Windsurf)devin.devin/skills//openspec-apply-change.devin/workflows//opsx-apply
EasyCodeeasycode.easycode/skills//openspec-apply-change.easycode/commands/opsx//opsx:apply
Factory Droidfactory.factory/skills//openspec-apply-change.factory/commands//opsx-apply
ForgeCodeforgecode.forge/skills//openspec-apply-changenonenone
Gemini CLIgemini.gemini/skills//openspec-apply-change.gemini/commands/opsx//opsx:apply
GigaCodegigacode.gigacode/skills//openspec-apply-change.gigacode/commands//opsx-apply
GitHub Copilotgithub-copilot.github/skills//openspec-apply-change.github/prompts//opsx-apply
Grok Buildgrok.grok/skills//openspec-apply-changenonenone
GSDgsd.agents/skills/ask for openspec-apply-changenonenone
Hermes Agenthermes.hermes/skills//openspec-apply-changenonenone
iFlowiflow.iflow/skills//openspec-apply-change.iflow/commands//opsx-apply
Juniejunie.junie/skills//openspec-apply-change.junie/commands//opsx-apply
Kilo Codekilocode.kilocode/skills//openspec-apply-change.kilo/command//opsx-apply
Kimi Codekimi.kimi-code/skills//skill:openspec-apply-changenonenone
Kirokiro.kiro/skills//openspec-apply-change.kiro/prompts//opsx-apply
Lingmalingma.lingma/skills//openspec-apply-change.lingma/commands/opsx//opsx:apply
MiniMax Codeminimax-code~/.minimax/skills/ (global)/openspec-apply-changenonenone
Mistral Vibevibe.vibe/skills//openspec-apply-changenonenone
Oh My Pioh-my-pi.omp/skills//openspec-apply-change.omp/commands//opsx-apply
OpenCodeopencode.opencode/skills//openspec-apply-change.opencode/commands//opsx-apply
Pipi.pi/skills//openspec-apply-change.pi/prompts//opsx-apply
Qoderqoder.qoder/skills//openspec-apply-change.qoder/commands/opsx//opsx:apply
Qwen Codeqwen.qwen/skills//openspec-apply-change.qwen/commands//opsx-apply
Traetrae.trae/skills//openspec-apply-change.trae/commands//opsx-apply
Veaiveai.veai/skills//openspec-apply-changenonenone
Warpwarp.warp/skills//openspec-apply-changenonenone
ZCodezcode.zcode/skills//openspec-apply-change.zcode/commands/opsx//opsx:apply
Zoo Coderoocode.roo/skills//openspec-apply-change.roo/commands//opsx-apply
Other / Universalagents.agents/skills//openspec-apply-changenonenone
  • 스킬 호출: 도구가 스킬을 입력 항목으로 등록하는지 여부는 해당 도구 자체의 동작입니다. 해당 열에는 OpenSpec이 생성된 파일과 init이 출력하는 힌트에서 사용하는 표기가 표시됩니다. 입력해도 아무 반응이 없으면 해당 도구의 문서를 확인하세요.
  • 명령어 파일 형식: 대부분의 도구는 .md 명령어 파일을 사용합니다. EasyCode와 Gemini CLI는 .toml, Continue는 .prompt, Code Studio, Kiro, GitHub Copilot은 .prompt.md를 사용합니다. 어떤 형식을 사용하든 입력하는 표기는 동일합니다.

도구별 참고 사항 ​

여기에 나열되지 않은 도구는 해당 행에 표시된 대로 동작합니다.

Amp ​

  • 프로젝트 스킬: Amp는 .agents/skills/에서 OpenSpec 스킬을 읽습니다.
  • 명령어 파일 없음: Amp는 스킬을 직접 실행하므로 init은 명령어 생성을 건너뜁니다.
  • 공유 폴더: Amp는 Antigravity, Codex, Zed Agent, 그리고 agents 타겟과 .agents/skills/를 공유합니다. OpenSpec은 스킬 트리를 한 번만 작성합니다.

Antigravity ​

  • 현재 폴더: Antigravity v1.20.5 이상은 .agents/에서 워크스페이스 스킬과 워크플로우를 읽습니다.
  • 레거시 폴더: OpenSpec이 대체 파일을 작성한 후에는 .agent/에서 동일한 생성 파일을 제거합니다. 사용자 정의 파일과 변경된 생성 파일은 .agent/에 남아 검토할 수 있습니다.
  • 공유 스킬: Antigravity는 Amp, Codex, Zed Agent, 그리고 agents 타겟과 .agents/skills/를 공유합니다. OpenSpec은 해당 스킬 트리를 한 번만 작성하면서도 Antigravity 명령어는 .agents/workflows/에 계속 작성합니다.

Cline ​

Cline은 .cline/ 폴더가 아닌 .clinerules/workflows/에서 명령어를 읽습니다. 스킬은 .cline/skills/에 유지됩니다.

Codex ​

  • CLI 및 IDE 확장 프로그램: 아이디어와 함께 $openspec-propose를 언급하거나 /skills를 실행하여 스킬을 선택하세요. Codex는 /openspec-propose를 인식하지 않습니다 (upstream 이슈).
  • 데스크톱 앱: 사이드바에서 Skills를 열고 openspec-propose를 선택하세요. OpenAI의 스킬 문서에서 두 인터페이스를 모두 설명합니다.
  • 명령어 파일 없음: Codex는 스킬을 직접 실행하므로, 전달에 명령어가 포함되어 있어도 init은 명령어를 건너뛰고 Commands skipped for: codex (uses skills)를 출력합니다.
  • 공유 폴더: Codex 스킬은 .agents/skills/에 위치하며, Amp, Antigravity, Zed Agent, agents 타겟이 사용하는 것과 동일한 트리입니다. 여러 도구를 선택하면 하나의 호환 트리가 유지되며, Codex가 소유할 때 해당 핸드오프는 $openspec-*와 /openspec-*를 모두 표기합니다.
  • 레거시 경로: 이전 버전에서 .codex/skills/에 설치된 스킬은 다음 openspec update 시 마이그레이션됩니다.

DeepSeek Harness ​

  • 프로젝트 루트: DSH는 가장 가까운 .git 상위 디렉터리 또는 Git 외부의 현재 디렉터리를 사용합니다. 그곳에서 openspec init --tools dsh를 실행하세요. 중첩된 OpenSpec 프로젝트의 경우, .dsh/skills/ 디렉터리의 절대 경로를 DSH의 customSkillDirs에 추가하세요. 이름이 겹치면 Git 루트 스킬이 우선합니다 (upstream 검색 규칙).
  • 우선순위: .dsh/skills/는 .agents/skills/의 동일한 이름을 가진 스킬보다 우선합니다.
  • 전달: skills 또는 both를 사용하세요. commands를 사용하면 DSH 워크플로우가 설치되지 않습니다. openspec config profile로 전달을 변경한 후 openspec init --tools dsh를 다시 실행하세요.

Devin Desktop (구 Windsurf) ​

  • 두 에이전트: .devin/workflows/의 명령어 파일은 Devin Desktop에서만 작동합니다. Devin Local은 스킬만 실행하므로, 생성된 스킬은 /openspec-<skill>을 참조하며 이는 두 에이전트 모두에서 작동합니다.
  • 이름 변경: --tools windsurf는 여전히 devin으로 확인됩니다. 레거시 .windsurf/ 폴더에 OpenSpec 파일을 보유한 프로젝트는 다음 openspec update 시 이동 옵션이 제공됩니다.

GitHub Copilot ​

  • IDE 확장 프로그램 (명령어 전달): VS Code, JetBrains, Visual Studio는 .github/prompts/opsx-<id>.prompt.md를 /opsx-<id>로 로드합니다. 파일이 존재하는데 명령어가 사라지면 IDE를 다시 시작하세요.
  • Copilot CLI (스킬 전달): CLI는 .github/prompts/를 무시하고 대신 .github/skills/openspec-*/SKILL.md를 로드합니다. 스킬을 /openspec-<skill>로 호출하세요. 파일이 존재하는데 스킬이 사라지면 /skills reload를 실행한 후 /skills info openspec-propose로 검색을 확인하세요.

GSD ​

  • 프로젝트 스킬: GSD는 .agents/skills/에서 OpenSpec 워크플로우를 읽습니다.
  • 호출: GSD에 openspec-<workflow> 스킬을 사용하도록 요청하세요. GSD는 스킬 검색 설정을 통해 일치하는 스킬을 선택할 수도 있습니다.
  • 서브에이전트 파일 없음: .gsd/agents/에는 GSD 서브에이전트 정의가 포함되어 있습니다. OpenSpec은 그곳에 워크플로우 스킬을 작성하지 않습니다.

Hermes Agent ​

Hermes는 기본적으로 ~/.hermes/skills/에서만 스킬을 로드합니다. 프로젝트의 .hermes/skills/ 폴더를 ~/.hermes/config.yaml의 skills.external_dirs에 추가하세요. init은 설치 후 이 알림을 출력합니다.

MiniMax Code ​

  • 전역 전용: 스킬은 ~/.minimax/skills/로 이동합니다. 리포지토리 내부에는 아무것도 작성되지 않습니다.
  • 프로젝트 간 안전성: 명령어만 전달해도 전역 스킬은 그대로 유지되므로 한 프로젝트의 설정이 다른 프로젝트에서 사용하는 스킬을 제거할 수 없습니다.

Warp ​

  • 항상 스킬: Warp는 명령어 파일이 없고 스킬을 직접 호출하므로, 전달이 commands인 경우에도 스킬은 .warp/skills/로 이동합니다.
  • OpenSpec이 관리하는 범위: .warp/skills/만 해당됩니다. Warp 설정과 WARP.md는 생성되거나 편집되지 않습니다.

기타 / 유니버설 (공유 .agents 스킬) ​

  • 적용 시기: 매트릭스에 행이 없는 도구를 포함하여 공유 .agents/skills/ 폴더를 읽는 모든 도구에 해당됩니다. 사용 중인 어시스턴트가 목록에 없을 때 선택하는 항목입니다. init 선택기의 검색 상자에서 universal, other, generic, custom, proprietary, unlisted, unsupported, vendor-neutral, agents.md로 찾을 수 있습니다.
  • 다른 타겟과 함께 사용: Amp, Antigravity, Codex, Zed Agent, 그리고 이 타겟은 하나의 물리적 스킬 트리를 공유합니다. OpenSpec은 .openspec-target에 하나의 작성자를 기록하고 실행당 한 번만 트리를 작성합니다. 각 도구의 별도 명령어 파일은 계속 생성됩니다.
  • OpenSpec이 관리하는 범위: openspec-* 폴더와 .openspec-target 마커만 해당됩니다. .agents/ 아래의 다른 항목은 그대로 둡니다.
  • AGENTS.md: 생성되거나 편집되지 않습니다. 타겟은 파일이 아닌 .agents/ 폴더입니다.