Codex ищет скиллы проекта в .agents/skills/, личные - в ~/.agents/skills/. Для первой проверки ниже есть два открытых русских примера с известным результатом.
Что понадобится
- Установленный Codex. Проверяется командой
codex --version. - Терминал - тот, что уже есть в системе.
- Папка скилла с файлом
SKILL.md- своя или чужая. Или имя готового скилла из набора OpenAI.
Скиллы в Claude Code разобраны отдельно: что такое скилл. Про сам Codex - в словаре. Доступ к внешним сервисам вроде Figma или GitHub даёт не скилл, а MCP-сервер - как его подключить, разобрано в статье Codex MCP.
Главное, что надо понять до первой команды
Скилл в Codex устроен так же, как в Claude Code: папка, в ней SKILL.md с шапкой name и description, рядом при желании скрипты и образцы. Codex держит в голове только имя и описание, а сам текст открывает, когда скилл понадобился. Где в рабочем круге агента это происходит, разобрано в статье агент Codex.
Отличаются папки. Codex не смотрит в .claude, у него свои места:
| Какой скилл | Где лежит | Для чего |
|---|---|---|
| Проектный | .agents/skills в папке, где запустили Codex, и в каждой папке выше до корня репозитория |
скилл нужен всем, кто работает с этим проектом |
| Личный | ~/.agents/skills |
скилл нужен тебе во всех проектах |
| Общий для машины | /etc/codex/skills |
скилл для всех пользователей компьютера или контейнера |
| Встроенный | приезжает с Codex | например $skill-creator и $skill-installer |
Для сравнения с Claude Code:
| Claude Code | Codex | |
|---|---|---|
| Личный | ~/.claude/skills/<имя>/SKILL.md |
~/.agents/skills/<имя>/SKILL.md |
| Проектный | .claude/skills/<имя>/SKILL.md |
.agents/skills/<имя>/SKILL.md |
| Позвать по имени | /имя |
$имя |
Если у двух скиллов одинаковое name, Codex их не сливает: в списке будут оба.
Шаг 1. Проверить версию
codex --version
Давно не обновлялся - обнови:
codex update
Ранние версии Codex держали личные скиллы в ~/.codex/skills. Сейчас документация OpenAI называет местом для личных скиллов ~/.agents/skills - туда и клади новые.
Шаг 2. Выбрать место
- Скилл нужен во всех проектах -
~/.agents/skills. - Скилл нужен только в этом проекте -
.agents/skillsв корне репозитория. Тогда его получит каждый, кто откроет проект, в том числе коллеги послеgit pull.
Проектный скилл можно положить и глубже, в папку модуля: Codex увидит его, когда запущен в этой папке или ниже.
Шаг 3. Положить папку скилла
Скопируй папку скилла целиком:
mkdir -p ~/.agents/skills
cp -R /путь/к/my-skill ~/.agents/skills/
Должно получиться так:
~/.agents/skills/
my-skill/
SKILL.md
scripts/
references/
В начале SKILL.md - шапка:
---
name: my-skill
description: Что делает скилл и когда его звать.
---
По description Codex решает, когда скилл нужен, поэтому пиши его конкретно. Для обычных локальных скиллов Codex просматривает вложенные папки внутри каталога скиллов.
Скилл из Claude Code можно перенести целой папкой в ~/.agents/skills, если его инструкции подходят Codex. Проверь команды, пути и дополнительные поля в шапке: возможности Claude Code и Codex различаются. Скрипты и справочники тоже нужно перенести.
Шаг 4. Или поставить готовый
Готовые скиллы из набора OpenAI ставятся прямо в окне Codex, словами:
$skill-installer linear
Установщик сам положит папку куда нужно. Свой скилл с нуля помогает собрать встроенный $skill-creator: он задаст вопросы и соберёт папку с SKILL.md.
Шаг 5. Проверить, что скилл на месте
Внутри Codex набери:
/skills
Скилл должен быть в списке. Позови его по имени через $, например $my-skill. Новые скиллы Codex подхватывает сам; не появился - перезапусти Codex.
Два готовых примера для первой проверки
В открытом codex-skills-examples-ru есть два небольших скилла на русском с исходными скриптами и учебными данными. Подписка для них не нужна. Собственный код примеров распространяется по MIT.
| Задача | Скилл | Что получится |
|---|---|---|
| Посмотреть изменения перед передачей проекта | repo-change-summary |
Раздельные списки подготовленных, неподготовленных и новых файлов |
| Проверить учебный Python-проект | check-learning-project |
Пять результатов: описание проекта, точка входа, README, наличие тестов, синтаксис Python |
После скачивания проекта с GitHub скиллы уже лежат в .agents/skills/. Из корня скачанного проекта можно проверить формат и один исправный пример без запуска Codex:
python3 -B tools/validate_skills.py
python3 -B .agents/skills/check-learning-project/scripts/check_project.py --project fixtures/project-good
Ожидается два сообщения OK от первой команды, затем JSON с ok: true и пятью значениями true в checks. Замените project-good на project-broken: должны появиться ошибки и код завершения 1. Обе команды сверены с этими результатами 25.10.2026.
Для работы через агента запустите Codex в этой папке и дайте задание:
$check-learning-project Проверь fixtures/project-good. Покажи результаты всех пяти проверок и ограничения. Файлы не меняй.
Проверка читает Python как текст и разбирает синтаксис. Код проекта и его тесты она не запускает. Если нужны эти же скиллы в другом проекте, скопируйте туда обе папки из .agents/skills/ целиком, вместе со scripts. Сначала проверьте, нет ли там уже одноимённых папок.
Чтобы сравнить установку в двух агентах, откройте инструкцию для Claude Code. Искать следующий навык помогает Find Skills.
Я сам плачу за ChatGPT и Codex картой для подписок «Плати по миру»: выпускается за пару минут, пополняется рублями через СБП. Оформить картуРеклама. ООО "Капибара". ИНН 9703231520. erid: CQH36pWzJqNS1hfhQNyQNjbmhaUSfywWpWF3LE48uoYyEF
Второй путь: скиллы внутри плагина
Когда набор скиллов надо раздать команде одним источником, его упаковывают в плагин. Плагин - это папка, в которой лежит подпапка skills:
плагин/
skills/
my-skill/
SKILL.md
Плагины ставятся из маркетплейсов. Маркетплейс - папка или репозиторий с файлом .agents/plugins/marketplace.json, где перечислены плагины и пути к ним:
{
"name": "мой-маркетплейс",
"plugins": [
{ "name": "мой-плагин", "source": { "source": "local", "path": "./plugin" } }
]
}
Команды:
codex plugin marketplace list
codex plugin marketplace add <источник>
codex plugin add ИМЯ@МАРКЕТПЛЕЙС
codex plugin list
marketplace add принимает локальный путь к папке, пару owner/repo (можно с веткой через @), HTTPS- или SSH-адрес репозитория. codex plugin list показывает поставленные плагины. Если плагин указан без @, маркетплейс задаётся отдельно: codex plugin add ИМЯ --marketplace МАРКЕТПЛЕЙС.
Обновить снимок источника - codex plugin marketplace upgrade, убрать плагин - codex plugin remove, отключить источник - codex plugin marketplace remove.
Для одного своего скилла плагин не нужен: хватит папки из шага 3.
Куда смотреть, если что-то не так
| Что видишь | Что это значит |
|---|---|
скилла нет в /skills |
проверь доступную область установки, наличие SKILL.md и шапку с name и description; затем перезапусти Codex |
| скилл в списке, но сам не зовётся | размытое description - перепиши, когда именно его звать |
| проектный скилл виден не везде | проверь, запущен ли Codex в папке модуля с проектным каталогом .agents/skills или ниже. Для всего проекта размести каталог в корне репозитория |
| скилл работает в Claude Code, а в Codex нет | лежит в .claude/skills, Codex туда не смотрит |
Четыре ошибки, на которых спотыкаются
- Класть скилл в
.claude/skillsи ждать, что Codex его увидит. У Codex своя папка -.agents/skills. - Забыть шапку
SKILL.md. БезnameиdescriptionCodex не поймёт, что это скилл и когда его звать. - Запускать Codex вне области проектного скилла. Скилл в папке модуля доступен, когда Codex запущен в этом модуле или ниже. Такое размещение допустимо.
- Городить плагин ради одного скилла. Плагин нужен, чтобы раздать набор команде; себе хватит папки.
Что дальше
- Что такое скилл - если термин пока не оформился.
- Что такое Codex - чем он отличается от Claude Code.
- Каталог скиллов - что можно поставить себе.
Всё, что я собрал для своих проектов, лежит в ClaudeBase: файлы добавляются в проект по инструкции, и агент читает их в рабочем контексте.
Читайте также: Codex computer use