Главная / Блог / Agent Skills Xco
ENGINEERING_BLOG · 2026.10.10

Agent Skills Xcode 27 недоступны в Codex? Руководство по исправлению 2026

Сначала убедитесь, что командная строка использует Xcode 27, затем экспортируйте Agent Skills в каталог Codex по инструкции Apple. Это относится к ситуации, когда Apple Skills из Xcode 27 нужны вам в Codex: успешный экспорт ещё не подтверждает, что Codex обнаружил и применяет файлы.

На этой неделе проверьте всю цепочку по порядку: активный toolchain → результат экспорта → целевой каталог → поведение Codex на задаче Swift.

Эта инструкция пригодится вам, если вы используете Codex для Swift или SwiftUI и хотите применять рекомендации Apple из Xcode 27; подключаетесь к удалённому Mac по SSH и переключаете там наборы Xcode; либо поддерживаете командную среду и решаете, где хранить личные и общие инструкции.

Последнее обновление: 10 октября 2026 года. Сведения о проблеме и способе экспорта сверены с примечаниями к выпуску Xcode 27, материалом Apple о переносе Agent Skills и описанием Skills в документации OpenAI. Поведение конкретной версии Codex и доступность команды следует повторно проверить перед публикацией или обновлением рабочей среды.

SECTION 01 Сначала определите, на каком этапе обрывается цепочка

В этом случае важно различать три состояния: файлы навыков не экспортированы; файлы созданы, но не там, где их ожидает ваша конфигурация Codex; Codex обнаружил навыки, но ещё не доказал, что использует нужные инструкции. Эти состояния требуют разных проверок: повторный экспорт не исправит ошибочно выбранный Xcode, а наличие файлов само по себе не подтверждает их загрузку.

Apple указывает в примечаниях к Xcode 27 на известную проблему с доступностью созданных Apple Agent Skills в Codex и описывает обходной путь: выбрать Xcode 27 в качестве активного toolchain, затем экспортировать навыки в каталог Codex. Это не гарантия, что любой экземпляр Codex немедленно покажет или применит результат: способ обнаружения нужно проверять с учётом текущей конфигурации и версии клиента. Начинайте с официальной инструкции Apple, а не с догадок по похожим каталогам.

Что вы наблюдаете Что это подтверждает Следующая проверка
xcrun сообщает, что команда Agent Skills недоступна Текущий вызов не находит требуемую команду в выбранной среде Проверить активный путь разработчика и выбранный Xcode
Экспорт завершился без явной ошибки Команда выполнилась, но не доказывает, что файлы появились в ожидаемой папке Проверить указанную цель и содержимое каталога
Файлы навыков присутствуют Экспорт, вероятно, создал файлы в проверенной папке Проверить, читает ли Codex именно эту папку
Codex отвечает с учётом требуемых рекомендаций Есть признак, что инструкции применяются к задаче Повторить проверку на задаче, соответствующей области навыка

Таблица — не тест производительности и не подтверждение поведения конкретного релиза. Это порядок локализации: отделяйте доказательство выполненной команды от доказательства обнаружения файлов, а обнаружение — от проверки реального применения.

SECTION 02 Почему xcrun может не видеть команду Agent Skills

Как проверить, какой Xcode использует командная строка? Сравните путь, возвращаемый xcode-select -p, с ожидаемым расположением установленного Xcode 27, а затем выполните нужные команды в том же shell-сеансе, где будете делать экспорт. Apple описывает выбор каталога разработчика и работу командных инструментов в документации по установке Command Line Tools.

Проверка пути важна, даже если графический Xcode 27 уже открывается. В системе могут одновременно находиться разные установки Xcode, а терминал может обращаться не к той из них. Для удалённого Mac добавляется ещё один источник путаницы: интерактивная оболочка SSH и shell, запущенный автоматизацией, могут иметь разные переменные окружения и контекст запуска. Поэтому зафиксируйте вывод проверки именно в сеансе, где будет выполнен экспорт, а не только на рабочем столе пользователя.

Проверка Команда или источник Как трактовать результат
Активный каталог разработчика xcode-select -p Сопоставьте путь с выбранной установкой Xcode
Доступность команды xcrun agent skills export Если команда не распознаётся, не переходите к повторной проверке Codex: сначала выясните, какой toolchain вызывает xcrun
Поддержка и ограничения Xcode Системные требования Xcode Сверьте среду с требованиями Apple, не переносите выводы об одной системе на другую
Актуальное поведение функции Примечания Xcode 27 Используйте их как основной источник для команды и известного ограничения

Путь от xcode-select -p — полезное свидетельство выбора каталога разработчика, но одной этой строки может быть недостаточно, чтобы объяснить каждую особенность запуска команды. Сохраните также точный вызов xcrun и его полный вывод. Если фактический путь указывает не на нужную установку, переключите активный Xcode предусмотренным Apple способом и повторите проверку. Не подменяйте эту диагностику изменением PATH наугад: такое изменение способно замаскировать причину, не переключив выбранную среду, от которой зависит xcrun.

В удалённой сессии сначала запишите вывод xcode-select -p, затем запускайте экспорт в той же сессии. Иначе вы можете сравнить каталог Xcode из одного контекста с результатом команды из другого.

Почему команда не найдена, хотя Xcode 27 установлен? Наличие приложения и выбор toolchain — не одно и то же. Если активный каталог разработчика относится к другой установке, команда может отсутствовать именно в выбранной среде. Сверьте результат с инструкциями Apple по Command Line Tools, затем повторите вызов после выбора нужного Xcode.

SECTION 03 Экспортируйте навыки в целевой каталог Codex

Когда проверка подтвердила, что командная строка использует нужную установку, переходите к экспорту. Apple описывает передачу Agent Skills в Codex через xcrun agent skills export и назначение каталога Codex; актуальные условия и синтаксис команды проверяйте в примечаниях к выпуску Xcode 27. Если в примечаниях для вашей версии указан путь ~/.codex/skills, используйте его как пользовательскую цель, а не произвольную папку с похожим названием.

Практический порядок действий:

  1. Подключитесь к Mac под той учётной записью, в которой работает Codex. Уточните, что ваша команда не запускает экспорт от другого пользователя через sudo: домашний каталог тогда может оказаться не тем, который читает пользовательский экземпляр Codex.
  2. Выполните xcode-select -p и запишите вывод. Если выбран не Xcode 27, переключите toolchain по официальной инструкции Apple и ещё раз проверьте путь.
  3. Откройте текущие примечания Xcode 27 и сверьте приведённые там команду и целевой каталог. Не полагайтесь на старую команду из заметки или терминальной истории: детали могут измениться с обновлением Xcode.
  4. Запустите документированную Apple команду экспорта в контексте нужной учётной записи. Вызов с путём обычно выглядит как xcrun agent skills export --path ~/.codex/skills; перед выполнением подтвердите именно этот синтаксис в примечаниях для вашей версии.
  5. Сохраните полный вывод команды и отдельно проверьте, что указанный каталог существует и содержит экспортированные файлы. Например, просмотрите каталог командой ls -la ~/.codex/skills. Если экспорт выполнен в другое место, отсутствие файлов по этому адресу не доказывает сбой самого экспорта.
  6. Запустите или обновите рабочий сеанс Codex так, как предписывает документация текущей версии, и проверьте обнаружение навыка на подходящей задаче Swift. Одного факта, что файлы лежат в каталоге, недостаточно.
  7. Если результат неоднозначен, зафиксируйте версию Xcode, путь активного toolchain, пользователя, команду, целевой каталог и вывод Codex. Не запускайте подряд варианты экспорта с неясными параметрами и не удаляйте существующие инструкции ради «чистой» проверки.

Как перенести Apple Agent Skills в каталог Codex? Сначала выберите требуемый Xcode 27, затем выполните экспорт по команде и пути из актуальных примечаний Apple. Важно сверить оба значения: корректная команда, направленная в неподходящий каталог, не решит проблему обнаружения.

В материалах Apple о Agent Skills также показан сценарий экспорта; используйте демонстрацию для разработчиков как дополнительный источник контекста, а не как замену актуальным примечаниям к выпуску. Для работы с отдельными Skills изучите описание их назначения и состава в документации OpenAI. Оно помогает понять, почему проверка должна касаться не только наличия папки, но и того, применяет ли Codex содержащиеся там инструкции.

SECTION 04 Найдите расхождение между экспортом, каталогом и загрузкой

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

Результат проверки Вероятная проблема Действие
В целевом каталоге нет файлов Команда не записала результат туда либо цель отличается от ожидаемой Повторно сверить синтаксис, пользователя и путь по инструкции Apple
Файлы есть в домашнем каталоге другого пользователя Экспорт выполнен не в контексте учётной записи Codex Повторить проверку под нужным пользователем, не смешивая каталоги
Файлы есть в ~/.codex/skills, но Codex их не показывает Возможны особенности обнаружения, запуска или текущей версии Codex Сверить актуальные инструкции клиента и провести изолированную проверку
Codex видит инструкции, но задача им не следует Наличие Skills не гарантирует применимости к любой задаче Выбрать задание в пределах области этих инструкций и проверить результат повторно

Документация OpenAI описывает Skills как набор инструкций и связанных ресурсов для выполнения задач, но не используйте это общее описание, чтобы делать вывод о точном пути автоматического обнаружения во всех версиях Codex. Если актуальная документация вашей версии не подтверждает конкретное правило поиска или обновления, считайте его непроверенным и тестируйте в вашей конфигурации. Так вы не будете выдавать предположение о механике клиента за официальную гарантию.

Почему на удалённом Mac экспорт прошёл, а Codex всё ещё не применяет навык? Сначала подтвердите, что экспорт и Codex выполняются от одного пользователя и относятся к одной конфигурации. Затем проверьте фактический путь, содержимое каталога и процедуру обновления клиента по текущей документации. Если файлы лежат на месте, но поведение не меняется, не перезаписывайте их многократно: соберите свидетельства и проверьте обнаружение из чистого сеанса или изолированного проекта.

В многокомандной среде разделяйте персональные навыки и инструкции, которые должны сопровождать репозиторий. Пользовательский каталог удобен для настройки конкретной учётной записи, но не является автоматически совместным каталогом команды. Перед внесением файлов в репозиторий согласуйте место хранения, владельца изменений и проверку содержимого. Не применяйте параметры принудительной перезаписи, если Apple не объясняет их назначение и вы не подготовили способ восстановления прежних файлов.

Если проекту требуется воспроизводимая командная инструкция, зафиксируйте ожидаемое поведение в репозитории отдельно от индивидуального экспорта и проверяйте изменения при ревью. Это не означает, что локальный Skill автоматически станет доступен коллегам: распространение файлов и их загрузка Codex — разные вопросы. Ваша документация команды должна называть требуемую версию Xcode, способ выбора toolchain и точку проверки, а не обещать одинаковый результат на всех машинах.

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

Для подготовительной настройки macOS полезна отдельная инструкция по установке и применению Homebrew на Mac, но установка дополнительных инструментов не заменяет выбор правильного Xcode и не подтверждает загрузку Skills.

SECTION 05 Подтвердите исправление задачей Swift

После экспорта задайте Codex конкретную, проверяемую задачу в области выбранных Agent Skills. Например, попросите проанализировать небольшой Swift-фрагмент, предложить локальное изменение или объяснить подход к задаче SwiftUI, которая соответствует содержанию экспортированных рекомендаций. Не просите просто пересказать название навыка: это не показывает, повлияли ли его инструкции на решение.

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

В журнале проверки достаточно зафиксировать:

  • версию Xcode и путь, выведенный xcode-select -p;
  • пользователя и контекст, в котором выполнялся экспорт;
  • фактическую команду и целевой каталог;
  • наличие файлов после экспорта;
  • используемую версию и конфигурацию Codex;
  • задачу Swift или SwiftUI и наблюдаемый результат.

Эта запись отделяет факт «команда завершилась» от более сильного утверждения «Codex загрузил и применил инструкции». Если после смены toolchain и повторного экспорта проблема сохраняется, остановите повторные перезаписи, проверьте документацию текущей версии клиента и передайте воспроизводимый пример в поддержку или ответственному за рабочую среду. Для подготовки самого удалённого узла сначала сверяйте требования Apple к Xcode и состояние инструментов — не делайте вывод о готовности среды лишь по успешному SSH-подключению.

Если у вас нет доступной установки Xcode 27, сравните время настройки собственной машины с временным удалённым окружением. Собственный Mac разумнее, когда вам нужны постоянная локальная работа, физические интерфейсы или долгосрочная стабильная нагрузка; отдельный облачный Linux-узел здесь не заменяет macOS, а виртуализация не гарантирует совпадения с требуемой средой. Но для разовой проверки Apple Skills и Codex покупка оборудования может означать лишние затраты на устройство, ожидание настройки и обслуживание ещё одной машины. В таком случае аренда удалённого Mac у VPSNIX позволит получить macOS для проверки без покупки Mac; перед выбором изучите условия и варианты аренды, а затем подтвердите, что доступный вариант подходит под вашу версию Xcode и способ удалённой работы.