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