# Навыки Codex: как создать, вызвать и проверить свой навык

> Узнайте, как устроены навыки (skills) в Codex: что записывать в SKILL.md, где хранить папки .agents/skills, как вызывать навык по описанию или команде, проверять результат и выбирать модель с учётом стоимости.

Source: https://ailoot.ai/blog/ru/codex-skills/
Canonical: https://ailoot.ai/blog/ru/codex-skills/
Language: ru
Publisher: Ailoot (https://ailoot.ai/)
Translation: guide-084
Revision: sha256-91bf17f15515fe3b0ed49d0900f3341fa6d4099ed47302ee9a9e66727727cc7a


Если каждую неделю вы несколько раз объясняете Codex, как подготовить отчёт, разобрать почту или написать текст в заданной манере, запишите эти указания в навык. Агент сможет подобрать его по описанию задачи или применить после прямого вызова. Для простого навыка достаточно папки с текстовым файлом `SKILL.md`; писать код не требуется.

Далее разберём устройство навыка, места его хранения, порядок создания и выбор модели с учётом цены. Команды и тарифы соответствуют официальной документации OpenAI на 20 сентября 2026 года. Установка Codex описана отдельно: [Codex от OpenAI: назначение, установка и первый запуск](https://ailoot.ai/blog/ru/openai-codex-install/).

[Практические материалы о работе с Ailoot доступны в документации](https://ailoot.ai/docs/).

## Что такое навык в Codex?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Ключевые сведения раздела">

Ключевые сведения

Навык Codex — это папка с файлом `SKILL.md`, где описаны действия, исходные данные и требования к результату. Вначале Codex видит только названия и описания доступных навыков, а полную инструкцию открывает, когда решает применить один из них.

</div>

Навыки используют формат 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: установка и создание](https://ailoot.ai/blog/ru/hermes-agent-skills/). Здесь рассматривается только Codex.

## Из чего состоит навык?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Ключевые сведения раздела">

Ключевые сведения

В минимальном варианте нужен один `SKILL.md` с обязательными полями `name` и `description`. При необходимости добавьте каталоги `scripts/`, `references/` и `assets/`, а также файл параметров `agents/openai.yaml`.

</div>

Пример структуры каталога навыка:

```
my-skill/
  SKILL.md        - обязательный файл с метаданными и указаниями
  scripts/        - необязательные исполняемые файлы
  references/     - необязательные материалы для загрузки
  assets/         - необязательные шаблоны и ресурсы
  agents/
    openai.yaml   - необязательные настройки интерфейса и зависимостей
```

В начале `SKILL.md` укажите метаданные между тремя дефисами, а ниже разместите инструкции в формате Markdown:

```markdown
---
name: weekly-sales-report
description: Подготовить еженедельный отчёт о продажах по CSV-выгрузке. Применять, когда просят сводку продаж за неделю или результаты по менеджерам.
---

1. Открой файл выгрузки, путь к которому указал пользователь.
2. Сгруппируй записи по менеджерам и вычисли сумму и количество сделок.
3. Сопоставь результат с предыдущей неделей, если рядом есть соответствующий файл. Если его нет, укажи это в отчёте.
4. Сохрани результат в report.md: добавь таблицу по менеджерам, общий итог и до трёх основных подтверждённых данными изменений с числовыми значениями.
```

В официальных рекомендациях OpenAI выделены три принципа:

- Посвящайте один навык одной задаче. Вместо общей просьбы «Веди весь мой маркетинг» задайте конкретный результат, например отчёт о продажах по выгрузке. Большой процесс разделите на несколько навыков, которые можно вызывать по очереди.
- Формулируйте шаги ясно и указывайте входные данные и результат: что взять, какие действия выполнить и куда сохранить итог.
- Начинайте с текстовых указаний. Добавляйте сценарии в `scripts/`, если действие должно выполняться одинаково каждый раз, например преобразование файла или обращение к внешней системе.

Codex использует поле `description`, чтобы подобрать навык. В начале описания назовите задачу и добавьте обычные формулировки, которыми вы её запрашиваете.

## Где Codex ищет навыки?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Ключевые сведения раздела">

Ключевые сведения

Навыки обнаруживаются на четырёх уровнях: в каталоге `.agents/skills` проекта — от текущей папки до корня репозитория, в личном `$HOME/.agents/skills`, в системном `/etc/codex/skills` и среди встроенных навыков OpenAI.

</div>

| Уровень | Путь | Назначение |
|----|----|----|
| Проектный | `.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](https://ailoot.ai/blog/ru/skills-subagents-mcp-plugins-claude-code/).

## Как Codex выбирает навык?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Ключевые сведения раздела">

Ключевые сведения

Навык можно вызвать напрямую: в Codex CLI или расширении IDE укажите `$имя-навыка` в запросе либо выберите его через `/skills`. При автоматическом выборе Codex ищет соответствие между задачей и описанием навыка. Для этого навык должен быть доступен, а неявный вызов — разрешён.

</div>

На первых порах проще пользоваться прямым вызовом: например, в Codex CLI укажите `$weekly-sales-report`, чтобы выбрать конкретный процесс. При обычной работе удобнее автоматический подбор. После создания навыка проверьте его привычной формулировкой, не добавляя `$`, и убедитесь, что Codex его выбрал. Если этого не произошло, сначала проверьте, отображается ли навык в `/skills`, находится ли он в одном из каталогов поиска и не отключены ли сам навык или его автоматический вызов. Если настройки и расположение в порядке, сделайте `description` точнее: назовите задачу и типичные формулировки запроса.

Можно настроить навык так, чтобы он запускался только по явной команде. В `agents/openai.yaml` параметр `allow_implicit_invocation: false` отключает автоматический выбор, но вызов через `$имя` остаётся доступен. Полностью отключить навык, сохранив его на диске, можно через `~/.codex/config.toml`:

```toml
[[skills.config]]
path = "/полный/путь/к/навыку/SKILL.md"
enabled = false
```

После изменения `config.toml` перезапустите Codex. Изменения в каталогах навыков обычно подхватываются автоматически, но если новый навык не появился, перезапуск может помочь.

## Как создать свой навык: пошагово

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Ключевые сведения раздела">

Ключевые сведения

Выберите одну регулярно повторяющуюся задачу. Создайте навык с помощью `$skill-creator` или вручную, задайте инструкции и ожидаемый результат, проверьте автоматический вызов на обычных запросах и улучшайте навык по итогам работы.

</div>

1.  ### Выбрать одну задачу

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

2.  ### Создать навык

    Для создания с помощью встроенного помощника введите `$skill-creator` в сессии Codex. Помощник уточнит назначение навыка, ситуации для его вызова и необходимость сценариев, а затем подготовит основу. Вручную создайте в проекте каталог `.agents/skills` и вложенную папку навыка, например `.agents/skills/weekly-sales-report`, затем добавьте в неё `SKILL.md` по примеру выше.

3.  ### Составить инструкции

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

4.  ### Проверить вызов

    Попросите Codex выполнить задачу обычными словами, не называя навык. Если он выбрал нужный вариант, описание сработало для этой формулировки. Затем проверьте прямой вызов через `$имя`. Если навык не срабатывает, проверьте расположение каталога, отображение в `/skills` и параметры отключения, описанные выше. Если нового навыка нет в списке, перезапустите Codex. Если прямой вызов работает и автоматический вызов разрешён, но обычный запрос не распознаётся, перепишите начало `description`: сначала сформулируйте задачу, затем добавьте распространённые варианты запроса. После этого проверьте ещё раз.

5.  ### Улучшать после запусков

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

Готовые навыки OpenAI и сообщества можно установить командой `$skill-installer`, указав название навыка. Чтобы распространять собственные навыки для других пользователей, их оформляют как плагины. Для личного применения такой способ упаковки не требуется.

## Как проверять результат агента?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Ключевые сведения раздела">

Ключевые сведения

Запишите в навык критерии приёмки: обязательные элементы результата и проверки перед его передачей. Это повышает качество самопроверки, но не подтверждает точность автоматически — готовую работу всё равно следует просмотреть.

</div>

Критерии могут быть объективными или субъективными. Объективные можно проверить подсчётом: например, наличие в отчёте всех 12 менеджеров из исходной выгрузки или совпадение суммы таблицы с итогом CSV. Укажите их как обязательные условия. Субъективные критерии относятся к качеству — например, текст должен звучать в вашей манере или выводы должны быть краткими. Их тоже можно сделать понятнее: включите пример удачного фрагмента и попросите агента сравнить с ним свой результат.

Полезно поручить агенту пройтись по критериям после подготовки результата, исправить обнаруженные недочёты и только затем показать работу. Anthropic описывает близкий подход как evaluator-optimizer: один исполнитель выполняет задачу, независимый оценщик находит проблемы и передаёт замечания для следующего прохода. Внутри одного навыка часто используют более простой вариант — заключительную самопроверку по списку. У него есть ограничение: исполнитель может не распознать собственную ошибку, поэтому такой способ слабее независимой оценки.

Пример раздела с проверками для отчёта:

```markdown
## Перед передачей проверь
- В таблице есть каждый менеджер из выгрузки, пропусков нет.
- Общая сумма совпадает с итогом CSV до копейки.
- Все ключевые изменения подкреплены числами; если данных для сравнения нет, это прямо указано в отчёте.
- Файл сохранён по пути report.md, и путь сообщён пользователю.
```

## Какую модель выбрать для навыка?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Ключевые сведения раздела">

Ключевые сведения

Сначала используйте модель, на которой навык уже справился с задачей, затем попробуйте более дешёвые варианты. Если качество не ухудшилось, можно оставить более доступную модель. Тарифы API и ориентиры для первых проверок указаны по состоянию на 20 сентября 2026 года.

</div>

| Модель | Вход, \$/млн токенов | Выход, \$/млн токенов | Подходящие первые задачи для проверки |
|----|----|----|----|
| 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 стоит в 50 раз дороже токена Luna, поэтому стоимость одного и того же процесса будет существенно зависеть от выбранной модели. Для работы со скриншотами и документами слишком слабая модель может увеличить общие затраты, если придётся переделывать результат.

## Частые ошибки при создании и применении навыков

- **Навык для всего сразу.** Один навык должен охватывать один процесс — это соответствует рекомендациям OpenAI. Универсальные инструкции на десять страниц трудно сформулировать точно, а Codex выбирает навык именно по описанию.
- **Неопределённое описание.** Формулировка «помогает с отчётами» не объясняет, для каких отчётов предназначен навык. Начните `description` с задачи и распространённых формулировок запроса.
- **Нет описания результата.** Если не указать, что должно быть подготовлено и куда это сохранить, итоги разных запусков могут отличаться.
- **Отсутствуют проверки.** Без заключительного этапа с критериями работа может остаться незавершённым черновиком, который придётся полностью проверять вручную.
- **Всегда включена самая мощная модель.** Проверьте, справится ли более дешёвый вариант: запустите тот же навык и сравните его вывод с эталоном. Переходите на него, если качество сохраняется.
- **Повторяются названия.** Codex не объединит навыки с одинаковыми именами из разных каталогов, и нужный вариант будет сложнее найти.

## С чего начать и как перенести навык в Claude Code

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Ключевые сведения раздела">

Ключевые сведения

Выберите повторяемый процесс, создайте навык через `$skill-creator`, проверьте его на обычной формулировке и добавьте критерии финальной приёмки. После нескольких запусков обновите описание и инструкции, опираясь на найденные ошибки.

</div>

Если вы работаете с несколькими агентами, текстовый навык с `SKILL.md` можно скопировать в Claude Code. Там каталоги навыков хранятся в `.claude/skills`, а вызвать навык можно командой `/имя`. После переноса проверьте варианты со скриптами, зависимостями или файлом `agents/openai.yaml`. Подробнее о наборе навыков для Claude Code читайте в руководстве [Claude Code Skills: подборка навыков для повседневной работы](https://ailoot.ai/blog/ru/claude-code-skills-library/), а сравнение Codex и Claude Code — в статье [Codex и Claude Code: сравнение](https://ailoot.ai/blog/ru/codex-vs-claude-code-choice/).

<div class="section" role="doc-bibliography" aria-label="Перечень источников">

### Источники

- [OpenAI Developers: создание навыков — документация Codex](https://developers.openai.com/codex/skills)
- [OpenAI Developers: обзор Codex](https://developers.openai.com/codex/)
- [OpenAI Platform: модели и тарифы API](https://platform.openai.com/docs/models)
- [Agent Skills: открытый стандарт и спецификация](https://agentskills.io)
- [Anthropic Docs: расширение Claude с помощью навыков](https://docs.claude.com/en/docs/claude-code/skills)
- [Anthropic Engineering: создание эффективных агентов](https://www.anthropic.com/engineering/building-effective-agents)
- [OpenAI Developers: создание плагинов](https://developers.openai.com/plugins/build/plugins)

</div>



[Перейти к Ailoot](https://ailoot.ai/).

## Вопросы и ответы

### Почему явный вызов skill работает, а автоматический выбор — нет?

Проверьте видимость skill в /skills и разрешение неявного вызова. Если всё правильно, уточните описание: начните с задачи и используйте привычные вам слова. Повторите тот же обычный запрос.

### Что проверить в результате skill для отчёта о продажах?

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


## Ailoot · Компания и портфель её проектов

Ailoot опирается на накопленный опыт работы, большую клиентскую базу, стабильный сервис и постоянный контроль KPI.

Компания и портфель её проектов: миллионы клиентов; продажи на миллиарды ежемесячно.

Этот опыт Ailoot использует для API-доступа к нейросетям в продуктах клиентов, агентах, приложениях и автоматизациях.
