pimenov.ai

База знаний

Перенос скилла из Claude в Codex: пошаговое руководство

Как перенести skill из Claude Code в OpenAI Codex: общий стандарт SKILL.md, что переезжает без правок, а что нужно адаптировать вручную.

Опубликовано Обновлено

Скилл — это папка с инструкциями в SKILL.md, справочными материалами и при необходимости исполняемыми скриптами. Claude Code и Codex опираются на открытый стандарт навыков (Agent Skills), поэтому содержательную часть простого скилла обычно можно сохранить. Адаптация нужна для функций, которыми управляет сам Claude Code: аргументов, динамической подстановки команд, разрешений инструментов, хуков (hooks) и запуска в субагенте.

По состоянию на 9 сентября 2026 года перенести скиллы из Claude Code в Codex можно двумя основными способами:

  • запустить официальный импорт в настольном приложении ChatGPT или Codex CLI;
  • вручную скопировать и адаптировать папку скилла.
📌
Практический выбор: сначала попробуйте официальный импорт. Ручной перенос полезен, когда нужно проверить каждый файл, изменить структуру или точно контролировать адаптацию Claude-специфичных возможностей.

Материал основан на официальной документации OpenAI и Anthropic. Команды и пути сверены с документацией, но в конкретном окружении не запускались.


Целевая архитектура переноса в Codex

Типичная структура переноса может выглядеть так:

summarize-changes/
├── SKILL.md
├── agents/
│   └── openai.yaml
├── scripts/
├── references/
└── assets/

Обязателен только SKILL.md с полями name и description. Остальные элементы добавляются по задаче:

  • agents/openai.yaml — отображение в интерфейсе, политика вызова и зависимости инструментов;
  • scripts/ — исполняемые помощники;
  • references/ — подробные инструкции и справочники;
  • assets/ — шаблоны и другие ресурсы результата.

Codex сначала получает название, описание и путь к скиллу. Полный SKILL.md загружается после выбора навыка, а дополнительные ресурсы читаются по необходимости. Поэтому description должно сразу объяснять задачу и условия применения.

Быстрый перенос через официальный импорт

Импорт в Codex CLI

Запустите локальную сессию Codex CLI и введите:

/import

Затем:

  1. Выберите Claude Code.
  2. Отметьте Skills, настройки, проектные файлы и недавние чаты, которые нужно перенести.
  3. Проверьте импортированную конфигурацию.
  4. Откройте /skills и убедитесь, что нужный скилл доступен.

Команда /import недоступна во время выполняющейся задачи, в удалённой сессии и при подключении к локальному app-server daemon.

Импорт в ChatGPT

В настольном приложении ChatGPT откройте Settings → Import. Если отдельного раздела ещё нет, найдите пункт импорта настроек другого агента в разделе General. Выберите Claude Code и укажите элементы, которые нужно перенести.

Официальный импорт может сопоставить Skills со Skills. Он также переносит инструкции, настройки, плагины, проекты, недавние чаты, конфигурацию MCP-серверов, hooks, slash-команды и субагентов в соответствующие механизмы Codex. Slash-команды при этом могут попасть в Skills, а субагенты — в субагенты Codex.

Импорт не изменяет и не удаляет существующую настройку агента. После него может понадобиться отдельно завершить настройку импортированных плагинов или соединений.

⚠️
После импорта отдельно проверьте разрешения инструментов, hooks, авторизацию MCP-серверов, аргументы, подстановки команд в shell и пути. Импорт не гарантирует одинакового поведения этих механизмов в двух агентах.

Ручной перенос: что копировать и что адаптировать

Элемент Claude CodeДействие в Codex
Инструкции в SKILL.mdСохранить, затем проверить команды, пути и допущения об окружении
scripts/, references/, assets/Скопировать только используемые файлы и проверить ссылки на них
name, descriptionДобавить, если отсутствуют; сделать описание коротким и конкретным
when_to_useПеренести полезные условия применения в description
$ARGUMENTS, $0, $1, именованные аргументыЗаменить инструкцией брать входные данные из запроса пользователя
Строки вида <code>!command</code>Заменить явным шагом запуска команды или отдельным скриптом
disable-model-invocationПри необходимости заменить политикой allow_implicit_invocation: false
allowed-tools, disallowed-toolsНе переносить как эквивалент разрешений; проверить политику среды отдельно
model, effort, context, agent, backgroundПерепроектировать под доступные настройки модели и субагентов Codex
paths, hooks, shell, ${CLAUDE_*}Проверить индивидуально и заменить механизмами или явными инструкциями Codex

Базовая переносимость строится вокруг name, description и markdown-инструкций. Необязательные поля frontmatter сохраняйте только тогда, когда их поддержка в целевом окружении подтверждена.

Где Codex обнаруживает локальные Skills

Для ручной установки используйте:

  • личный скилл: ~/.agents/skills/<name>/;
  • проектный скилл: .agents/skills/<name>/;
  • административный скилл: /etc/codex/skills/<name>/.

В Git-репозитории Codex сканирует .agents/skills в каждой директории от текущей рабочей директории вверх до корня репозитория. Он также загружает пользовательские, административные и встроенные Skills.

⚠️
Для локального обнаружения используйте .agents/skills. Папка .codex/skills не входит в перечисленные в актуальной документации места размещения локальных Skills.

Если два скилла имеют одинаковое имя, Codex не объединяет их: оба могут появиться в списке выбора.

Требования к SKILL.md

Минимальный файл:

---
name: summarize-changes
description: Summarize uncommitted git changes and identify risks. Use when the user asks what changed or requests a review of the current diff.
---

## Instructions

1. Read the current git diff.
2. Summarize the changes.
3. Identify possible risks.

В Codex поля name и description обязательны. Для совместимости с Agent Skills поле name делайте коротким: используйте строчные латинские буквы, цифры и дефисы и не превышайте 64 символа. При ручном переносе удобно назвать каталог так же, как name, чтобы путь и идентификатор не расходились; это практическое соглашение, а не замена обязательным полям SKILL.md.

Описание ставит основной сценарий в начало. Это особенно полезно при большом количестве Skills: Codex может сокращать описания в стартовом списке.

Сквозной пример ручной адаптации

В Claude Code скилл может содержать динамическую подстановку:

---
description: Summarize uncommitted git changes and identify risky modifications.
---

## Current changes

!`git diff HEAD`

## Instructions

Summarize the current changes and identify possible risks.

Claude Code выполняет команду и подставляет её результат до чтения инструкции моделью. В Codex замените это явным шагом:

---
name: summarize-changes
description: Summarize uncommitted git changes and identify risks. Use when the user asks what changed, requests a commit message, or wants the current diff reviewed.
---

## Instructions

1. Run `git diff HEAD` to read the current uncommitted changes.
2. Summarize the changes in two or three concise points.
3. Identify risks such as missing error handling, hardcoded values, or tests that may need updating.
4. If the diff is empty, report that there are no uncommitted changes.

Агент выполнит команду только при наличии подходящего инструмента и разрешения текущей среды.

Явный и автоматический вызов

В Codex CLI и IDE откройте /skills или упомяните скилл через $:

$summarize-changes

По умолчанию Codex также может выбрать скилл автоматически, если запрос соответствует description.

Если нужен только явный вызов, добавьте agents/openai.yaml:

interface:
  display_name: "Summarize changes"
  short_description: "Обзор незакоммиченных изменений и рисков"

policy:
  allow_implicit_invocation: false

Значение false отключает автоматический выбор по описанию. Явный вызов через $summarize-changes остаётся доступным.

Как заменить аргументы Claude Code

Вместо:

Fix GitHub issue $ARGUMENTS.

используйте обычную инструкцию:

1. Take the GitHub issue number from the user's request.
2. Read the issue using an available, authorized tool.
3. Confirm the required behavior before editing code.

Контекст передаётся вместе с вызовом:

$fix-issue Исправь задачу GitHub #123

Такой вариант не зависит от внутренней системы позиционных подстановок.

Проверка безопасности и зависимостей

Рассматривайте чужой скилл как программный пакет. До первого запуска прочитайте и проверьте все его файлы:

  • команды и исполняемые скрипты;
  • сетевые обращения и внешние сервисы;
  • чтение и изменение файлов;
  • операции Git;
  • действия публикации, отправки и удаления;
  • переменные окружения и возможный вывод секретов;
  • абсолютные пути и ссылки на домашние директории;
  • наличие Python, Node.js, Bash и внешних программ;
  • Claude-специфичные разрешения инструментов.

Если скиллу нужны системные зависимости, опишите их рядом с инструкцией или в подтверждённом целевым форматом поле совместимости. Не считайте наличие allowed-tools разрешением на выполнение тех же действий в Codex.

Чеклист быстрой проверки

Выбран официальный импорт или ручной перенос
Весь исходный скилл прочитан до запуска
При ручной установке папка находится в поддерживаемом месте .agents/skills
В SKILL.md есть name и description
Описание точно задаёт сценарий вызова
Динамические команды заменены явными шагами
Аргументы и ${CLAUDE_*} переписаны
Claude-специфичные поля проверены или удалены
Разрешения инструментов проверены отдельно
Пути, интерпретаторы и зависимости существуют
Явный и неявный вызов проверены раздельно
Результат подтверждается наблюдаемыми данными
Нет неожиданного сетевого или необратимого действия
Нет конфликтующей копии с тем же именем

Как проверить результат

  1. Откройте /skills и найдите скилл.
  2. Вызовите его явно через $name.
  3. Если автоматический вызов разрешён, задайте обычный запрос, совпадающий с description.
  4. Проверьте, что агент получил актуальные данные. Для примера выше это настоящий вывод git diff HEAD.
  5. Проверьте ожидаемый результат, код завершения скриптов и отсутствие лишних действий.

Codex обнаруживает изменения Skills автоматически. Если новый или отредактированный навык не появился, перезапустите Codex.

Для временного отключения локального скилла добавьте в ~/.codex/config.toml:

[[skills.config]]
path = "/absolute/path/to/skill/SKILL.md"
enabled = false

После изменения конфигурации перезапустите Codex.

Официальные источники


Следующий шаг

Skills и Plugins в Codex App: установка, использование и создание своих

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

Если вы переносите между агентами целую рабочую систему, сначала разделите общий формат Skills и функции, зависящие от конкретного агента.

Если захотите обсудить, как это применить у себя или в команде — пишите в Telegram @pimenov