Переезд в Codex: как перенести правила, навыки и инструменты без хаоса

Когда команда переходит с одного агентного инструмента на Codex, главный риск не в том, что что-то не импортируется. Главный риск в другом: старые правила, команды, навыки и подключения переедут как будто автоматически, а люди начнут пользоваться ими без проверки.

Переезд в Codex лучше понимать не как кнопку «перенести всё», а как ревизию рабочего контура. Что у нас было? Что действительно нужно? Какие настройки относятся к человеку, а какие к проекту? Какие инструменты могут менять внешние системы? Какие инструкции устарели? Где нужен отдельный follow-up thread, потому что прямого соответствия нет?

Почему импорт не равен готовому рабочему процессу

Старый агентный setup обычно растет кусками. В одном месте лежат инструкции. В другом — настройки модели и разрешений. В третьем — навыки, slash commands, MCP-серверы, hooks, subagents и старые сессии. Часть этого помогала реальной работе. Часть появилась как временный костыль. Часть уже опасна, потому что проект изменился.

Если перенести всё без разбора, Codex получит не порядок, а наследство. Например, команда может случайно сохранить слишком широкие разрешения, старый prompt с небезопасными shell-подстановками, MCP-сервер с кастомной авторизацией или hook, который в новой среде ведет себя иначе.

Поэтому хороший переезд начинается с карты: что импортируется напрямую, что нужно проверить, что оставить за пределами Codex, а что надо переписать как нормальный проектный навык или правило.

Что документация говорит о миграции в Codex

Официальная документация OpenAI описывает import flow для переноса настройки из другого агента в Codex. Запускается он в Codex app: Settings, General, Import other agent setup. После этого пользователь выбирает, что Codex нашел и что нужно импортировать.

Codex проверяет два уровня. User-level setup берется из файлов на машине пользователя. Project-level setup берется из репозитория, который открыт сейчас. Это важное разделение: личные привычки не должны автоматически становиться правилами проекта, а проектные ограничения не должны растворяться в личной настройке.

Документация перечисляет, что Codex может импортировать. Instruction files переходят в AGENTS.md. settings.json переходит в config.toml. Skills становятся Codex skills. Recent sessions за последние 30 дней становятся Codex threads и projects. MCP server configuration переходит в Codex MCP configuration. Hooks переходят в Codex hooks. Slash commands могут стать skills. Subagents становятся Codex agents.

После импорта Codex проверяет setup снова и может предложить продолжить оставшуюся миграцию в новом thread. Это нужно для элементов, у которых нет чистого соответствия один к одному.

Отдельный блок документации говорит, что импортированную настройку нужно проверить перед использованием. Особенно права и ограничения в skills и agents, MCP-настройки с кастомной авторизацией, headers, environment variables или transports, hooks, плагины и marketplace-остатки, а также prompt templates с аргументами, shell interpolation или file-path placeholders.

Когда стоит запускать импорт

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

Но импорт не нужен, если старый setup был случайным. Если там три забытых prompt-файла, непонятные команды и один небезопасный доступ, лучше начать с чистого проекта и перенести только смысловые правила.

Хороший момент для миграции — когда команда может ответить на три вопроса:

Что дать Codex перед переездом

Вопрос Зачем он нужен
Что из старого setup реально помогало работе? чтобы не переносить шум
Что может менять файлы, сервисы или доступы? чтобы увидеть риск
Что относится к человеку, а что к проекту? чтобы не смешать уровни ответственности

Перед импортом полезно собрать короткий migration brief. Не техническую диссертацию, а список того, что вы хотите сохранить и как будете проверять результат.

В brief стоит указать текущий проект, старый инструмент, какие файлы инструкций важны, какие настройки нельзя ослаблять, какие skills используются часто, какие MCP-серверы подключены, какие hooks критичны, какие slash commands повторяются и какие недавние сессии действительно нужны.

Отдельно укажите стоп-лист. Например: не переносить экспериментальные команды, не включать доступы без review, не сохранять секреты в prompt templates, не превращать личные настройки владельца в командный стандарт.

Тогда Codex будет помогать не «перетащить всё», а собрать управляемую карту переезда.

Как разделить личные и проектные настройки

User-level setup — это то, что относится к человеку: личные предпочтения, привычные команды, собственные навыки, недавние сессии. Project-level setup — это то, что относится к рабочему контексту: правила репозитория, инструкции команды, проверки, ограничения, проектные tools, hooks и MCP.

Смешивать эти уровни опасно. Если личный стиль работы попадет в проектные правила, команда может получить лишние ограничения. Если проектные ограничения останутся только в личной настройке одного человека, другой участник откроет проект и будет работать без нужных границ.

Практическое правило простое: всё, что должно применяться ко всем в проекте, живет рядом с проектом. Всё, что является личной привычкой, остается личным. Всё, что влияет на доступы, публикацию, платежи, production или внешние системы, проходит отдельный review.

Как должен выглядеть результат миграции

Хороший результат импорта — это не просто список созданных файлов. Это карта приемки.

В ней должно быть видно:

  • что импортировано напрямую;
  • что не импортировано и почему;
  • какие элементы требуют follow-up thread;
  • какие настройки относятся к user-level;
  • какие настройки относятся к project-level;
  • какие MCP-серверы и hooks могут иметь внешний эффект;
  • какие prompt templates используют аргументы, пути или shell-подстановки;
  • какие правила нужно протестировать на маленькой задаче.

После этого можно открыть один migrated project и выполнить пробную задачу. Не production-изменение, не публикацию, не массовую миграцию, а безопасный smoke test: попросить Codex прочитать проектные правила, объяснить доступы, выполнить маленькую проверку и вернуть отчет.

Как проверить импорт без программирования

Непрограммисту не нужно читать весь config.toml построчно. Но нужно проверить смысл.

Первое: видны ли проектные правила? Codex должен понимать, что можно менять, что можно только предлагать, где нужна проверка человека.

Второе: какие tools подключены? Если среди них есть MCP-серверы с кастомной авторизацией, headers, environment variables или нестандартным transport, это зона review.

Третье: что делают hooks? Если hook запускает проверку, это хорошо. Если hook может менять файлы, отправлять данные или ломать workflow, его нужно смотреть отдельно.

Четвертое: что случилось со slash commands и prompt templates? Если они зависят от аргументов, shell interpolation или file-path placeholders, после переезда они могут вести себя иначе.

Пятое: не перенеслись ли старые ошибки? Импорт сохраняет рабочую память, но не гарантирует, что эта память была правильной.

Где остается человеческое решение

Codex может найти setup, импортировать часть элементов и предложить продолжить миграцию в новом thread. Но человек решает, чему доверять.

Человек решает, какие старые навыки оставить. Человек решает, какие MCP-подключения допустимы. Человек решает, какие hooks нужны проекту. Человек решает, какие prompt templates безопасны. Человек решает, можно ли использовать migrated project для реальной работы или сначала нужен тест.

Переезд в Codex хорош тогда, когда он делает старый контур видимым. Не «мы всё перенесли», а «мы знаем, что перенесли, что проверили, что оставили вручную и где еще нужен follow-up».

Шаблон запроса

Можно дать Codex такой запрос:

Помоги принять миграцию старого агентного setup в Codex.

Старый контур:
[какой агент или инструмент использовался]

Проект:
[папка/репозиторий/тип работы]

Что нужно сохранить:
- instruction files;
- settings;
- skills;
- MCP servers;
- hooks;
- slash commands;
- subagents;
- recent sessions.

Границы:
- что относится к user-level setup;
- что относится к project-level setup;
- какие доступы нельзя включать без review;
- какие команды или prompts считаем устаревшими.

Проверь:
1. что импортируется напрямую;
2. что требует follow-up thread;
3. где есть риск permissions, MCP auth, hooks или prompt placeholders;
4. какие файлы и настройки нужно открыть человеку;
5. какую маленькую smoke-test задачу выполнить перед реальной работой.

Так импорт становится не техническим переездом ради переезда, а нормальной приемкой рабочего контура: правила на месте, инструменты видны, риски названы, а человек понимает, когда Codex уже можно использовать всерьез.