Если ты по пять раз в неделю объясняешь Codex одно и то же - как оформлять отчёт, как разбирать почту, как готовить тексты в твоём стиле, - эту инструкцию можно записать один раз в навык. Дальше агент находит её по описанию, если оно совпадает с задачей, или по явному вызову. Навык - это обычная папка с текстовым файлом SKILL.md, никакого программирования для базового сценария не нужно.
Ниже - устройство навыка, места, где Codex его ищет, пошаговое создание и выбор модели по цене. Команды и цены сверены с официальной документацией OpenAI 20 сентября 2026. Установку самого Codex здесь не повторяем: она есть в гайде Codex от OpenAI: что это, как установить и запустить.
В Telegram-канале - что нового в вайб-кодинге: инструменты, находки, ошибки.
Что такое навык в Codex?
Формат называется Agent Skills - это открытый стандарт, изначально разработанный Anthropic и опубликованный на agentskills.io. Стандарт поддерживают разные агенты: Codex, Claude Code и другие совместимые клиенты. Простой навык из одних текстовых инструкций переносится между ними копированием папки. Если внутри есть скрипты, зависимости или файл agents/openai.yaml, после переноса навык нужно проверить: часть настроек привязана к конкретному клиенту.
Этот способ загрузки называется прогрессивным раскрытием. По имени и описанию агент определяет, когда навык уместен. Когда задача совпадает с описанием, агент дочитывает полный SKILL.md и следует ему. Поэтому в Codex можно держать десятки навыков, не загружая все инструкции в контекст: на стартовый список выделяется не больше 2% окна контекста (или 8000 символов, если размер окна неизвестен). Если навыков очень много, Codex сначала укорачивает описания, а при совсем большом наборе может опустить часть списка и предупредить об этом.
Навык легко перепутать с AGENTS.md. Этот файл Codex читает всегда, в каждой сессии проекта. В нём хранят постоянные правила: стек, договорённости, стиль кода. Навык загружается по требованию, когда задача под него подходит. Поэтому постоянные правила записывай в AGENTS.md, а повторяющийся процесс с шагами - в навык.
У Hermes Agent навыки устроены похоже, но лежат в других папках и устанавливаются иначе - про него отдельный гайд: скиллы Hermes Agent: установка и создание. Здесь речь только про Codex.
Из чего состоит навык?
Структура папки навыка:
my-skill/
SKILL.md - обязательный: метаданные и инструкции
scripts/ - опционально: исполняемый код
references/ - опционально: документы для подгрузки
assets/ - опционально: шаблоны и ресурсы
agents/
openai.yaml - опционально: внешний вид и зависимостиСам SKILL.md начинается с блока метаданных между тремя дефисами, а ниже идёт текст инструкций на markdown:
---
name: weekly-sales-report
description: Собрать еженедельный отчёт по продажам из выгрузки CSV. Использовать, когда просят отчёт по продажам за неделю или сводку по менеджерам.
---
1. Прочитай файл выгрузки, путь к которому дал пользователь.
2. Сгруппируй строки по менеджерам и посчитай сумму и число сделок.
3. Сравни с прошлой неделей, если файл за прошлую неделю лежит рядом. Если его нет, прямо напиши об этом в отчёте.
4. Сохрани результат в report.md: таблица по менеджерам, итог, главные изменения с числами - до трёх, сколько подтвердится данными.Три правила из официальных рекомендаций OpenAI:
- Один навык - одна задача. Вместо «Веди мне весь маркетинг» выбери конкретную задачу: «собери отчёт по продажам из этой выгрузки». Крупный процесс раздели на отдельные навыки для последовательного вызова.
- Пиши шаги прямо, с явными входами и выходами: что взять, что сделать, куда положить результат.
- Начни с текстовых инструкций. Скрипты в
scripts/нужны, когда шаг должен выполняться строго одинаково - например, конвертация файла или вызов внешней системы.
По полю description Codex подбирает навык под задачу, поэтому в начало описания ставь саму задачу и слова, которыми ты обычно её формулируешь.
Где Codex ищет навыки?
| Уровень | Путь | Для чего |
|---|---|---|
| Проект | .agents/skills в текущей папке и выше до корня репозитория | Навыки под конкретный проект, можно хранить в git вместе с кодом |
| Пользователь | $HOME/.agents/skills | Твои личные навыки, видны во всех проектах на машине |
| Системный | /etc/codex/skills | Общие навыки для всех пользователей машины или контейнера |
| Встроенные | Поставляются с Codex | Базовые навыки от OpenAI, например создатель навыков |
Проектные навыки удобно сохранять в git вместе с кодом: тогда вся команда получает одинаковый набор. Личные подходят для твоих собственных процессов вроде стиля писем. Если два навыка на разных уровнях называются одинаково, Codex их не объединяет: оба появятся в списке, что затрудняет выбор. Держи имена уникальными.
Для сравнения: в Claude Code навыки лежат в папке .claude/skills, у каждого свой SKILL.md, и там работает тот же открытый стандарт. Простой навык туда переносится копированием папки, после чего его стоит запустить и проверить вызов. Про выбор между расширениями Claude Code есть разбор Skills, Subagents, MCP или Plugins.
Как Codex решает, какой навык вызвать?
Явный вызов надёжнее на первых порах: в Codex CLI укажи $weekly-sales-report, чтобы выбрать именно этот процесс. Неявный вызов удобнее в повседневной работе. После написания навыка проверь его на обычных формулировках: попроси Codex выполнить задачу своими словами, без $, и посмотри, выбрал ли он навык. Если нет, сначала проверь, видит ли Codex навык в /skills, лежит ли он в одной из папок загрузки и не отключён ли сам навык или его автоматический вызов. Если с доступностью и настройками всё в порядке, уточни description: укажи задачу и привычные формулировки запроса.
Если навык нужен только по явной команде, это тоже настраивается: в файле agents/openai.yaml параметр allow_implicit_invocation: false запрещает автоматический вызов, а $имя продолжает работать. Полностью отключить навык без удаления можно через ~/.codex/config.toml:
[[skills.config]]
path = "/полный/путь/к/навыку/SKILL.md"
enabled = falseПосле правки config.toml Codex нужно перезапустить. Изменения в самих папках навыков он подхватывает сам, но если новый навык не появился - перезапусти Codex.
На практикуме за 3 эфира собираешь связку из трёх частей методологии: ИИ-клон + Второй мозг + Контекст-инжиниринг. Работа с навыками - часть этой связки.
Как создать свой навык: пошагово
Выбрать одну задачу
Возьми процесс, который ты повторяешь регулярно и у которого есть понятный результат: отчёт, таблица, письмо, разбор. Если ты ещё ни разу не получал такого результата, сначала выполни задачу с агентом вручную - полученный итог станет эталоном для инструкций.
Создать навык
Чтобы создать навык через встроенного помощника, в сессии Codex набери
$skill-creator. Он спросит, что делает навык, когда его вызывать и нужны ли скрипты, и соберёт каркас сам. Ручной вариант - создать в проекте папку.agents/skillsс подпапкой под навык, например.agents/skills/weekly-sales-report, и положить тудаSKILL.mdпо образцу выше.Написать инструкции
Запиши шаги пронумерованным списком, с явным входом и выходом. Если процесс требует точности (перенести данные, переименовать, посчитать), подробно пропиши каждый шаг. Для творческих задач (написать текст, подобрать аргументы) задай рамки и критерии хорошего результата, а свободу оставь модели.
Проверить вызов
Попроси Codex выполнить задачу своими словами, не называя навык. Если он выбрал нужный навык, описание сработало на этой формулировке. Затем проверь явный вызов через
$имя. Если навык не вызывается, проверь папку, наличие в/skillsи настройки отключения, описанные выше. Если новый навык не появился в списке, перезапусти Codex. Когда явный вызов работает и автоматический вызов разрешён, но запрос своими словами не срабатывает, уточни началоdescription: сначала задача, потом типовые формулировки. Повтори проверку.Дорабатывать после запусков
После каждого запуска смотри на результат и говори агенту, что поправить в навыке: «в следующий раз в итоговой таблице добавь столбец с долей». Навык для творческой работы дорабатывай по обратной связи, если первая версия не даёт нужного результата.
Готовые навыки от OpenAI и сообщества устанавливаются командой $skill-installer с именем навыка. Свои навыки для других людей распространяют через плагины - это отдельная упаковка с каталогом, для личного использования она не нужна.
Как проверять результат агента?
Проверки бывают объективными и субъективными. Объективные - те, что можно посчитать: «в отчёте есть все 12 менеджеров из выгрузки», «сумма по таблице сходится с итогом CSV». Их записывай как жёсткие требования. Субъективные - про качество: «текст читается как мой», «выводы короткие». Их тоже можно формализовать: дать в навыке пример хорошего фрагмента и попросить агента сверить свой результат с примером.
Рабочий приём - проверочный цикл: после подготовки результата агент проходит по списку критериев, исправляет найденное и только потом показывает тебе. У Anthropic похожий паттерн называется evaluator-optimizer: один исполнитель делает работу, отдельный оценщик разбирает её и возвращает замечания, и так по кругу до приёмки. Внутри одного навыка обычно получается упрощённый вариант - финальный шаг самопроверки по списку. Учитывай его ограничение: он слабее независимого оценщика, потому что исполнитель может не заметить собственную ошибку.
Пример блока проверки для нашего отчёта:
## Перед сдачей проверь
- Все менеджеры из выгрузки присутствуют в таблице, никого не потерял.
- Итоговая сумма совпадает с суммой по CSV до копейки.
- Каждое главное изменение подтверждено числом; если данных для сравнения нет, в отчёте прямо сказано об этом.
- Файл сохранён по пути report.md, путь сообщён пользователю.Какую модель выбрать для навыка?
| Модель | Вход, $/млн токенов | Выход, $/млн токенов | С чего начать проверку |
|---|---|---|---|
| GPT-6 Astra | 10 | 50 | Навыки с длинными рассуждениями, картинками и браузером |
| GPT-5.6 Sol | 4 | 20 | Текстовые навыки средней сложности |
| GPT-5.6 Terra | 2.50 | 15 | Простые процессы с понятным результатом |
| GPT-5.6 Luna | 0.20 | 1.20 | Механические задачи: переформатировать, посчитать, собрать список |
Правый столбец предлагает задачи для первых проверок. Это не рейтинг и не результат сравнения: подходящую модель для твоего навыка можно определить только после запуска и сравнения с эталонным результатом.
Цены в таблице - тарифы API со страниц моделей на 20 сентября 2026, а не цены подписки ChatGPT: при работе через подписку расход идёт из её лимитов. На эту дату у Sol действует промо-тариф $4/$20 минимум до 21 ноября 2026, стандартная цена - $5/$30. Перед большим регулярным запуском сверься со страницей тарифов: промо у OpenAI меняются.
Запусти один и тот же навык на соседней, более дешёвой модели и сравни результат с эталоном. Если качество сохраняется, проверь следующую, ещё более дешёвую модель. Если снизилось - вернись к предыдущей. У моделей есть и уровни усилий (effort): у Astra от low до max, у семейства 5.6 от none до max. Их тоже стоит перебрать на том же эталоне: сначала подобрать модель, потом уровень.
Регулярный запуск навыка означает повторяющийся расход. Разница между Astra и Luna по цене входа - 50 раз, поэтому один и тот же регулярный навык на разных моделях заметно различается по стоимости. Для навыка, который разбирает скриншоты и документы, слабая модель может обойтись дороже за счёт переделок.
Ошибки при создании и использовании навыка
- Навык «на всё». Один процесс - один навык, так советует и документация OpenAI. Универсальный навык на десять страниц сложно описать точно, а именно по описанию Codex подбирает навык под задачу.
- Расплывчатое описание. По фразе «Помогает с отчётами» неясно, для каких отчётов нужен навык. Задача и типовые формулировки - в начало
description. - Инструкции без результата. Если не написано, что должно получиться и куда это положить, итог разных запусков может различаться.
- Проверки нет вовсе. Без финального шага с критериями результат может остаться сырым черновиком, который придётся проверять целиком самому.
- Самая сильная модель по умолчанию. Сначала проверь, справляется ли более дешёвая: запусти тот же навык и сравни результат с эталоном. Переходи на неё, только если качество сохраняется.
- Одинаковые имена в разных папках. Codex не объединяет такие навыки, и выбрать нужный становится сложнее.
С чего начать и как перенести навык в Claude Code
Если работаешь в нескольких агентах, папку с SKILL.md из одних текстовых инструкций можно перенести в Claude Code - там навыки лежат в .claude/skills и вызываются через /имя. Навык со скриптами, зависимостями или agents/openai.yaml после переноса нужно проверить. Про библиотеку навыков под Claude Code есть гайд Claude Code Skills: как собрать набор под себя, а про выбор между Codex и Claude Code - сравнение Codex vs Claude Code.
Источники
- OpenAI Developers: Build skills - документация Codex
- OpenAI Developers: Codex - обзор
- OpenAI Platform: Models - модели и тарифы API
- Agent Skills: открытый стандарт и спецификация
- Anthropic Docs: Extend Claude with skills
- Anthropic Engineering: Building effective agents
- OpenAI Developers: Build plugins
Полная схема по вайб-кодингу: ИИ-клон + Второй мозг + Контекст-инжиниринг. 3 эфира, 2 000 ₽. Записи остаются у тебя.
Новые материалы - дайджестом, без спама
Гайды выходят регулярно. Подпишись, чтобы не пропускать: пришлю подборку в Telegram или на email. Раз в неделю или каждый день - выбираешь сам.

