Создание навыков
Добавляйте в Codex новые возможности и экспертные знания
Используйте навыки агентов, чтобы расширять Codex возможностями для конкретных задач. Навык объединяет инструкции, ресурсы и необязательные скрипты, позволяя Codex надёжно выполнять рабочий процесс. Навыки основаны на открытом стандарте навыков агентов.
Навыки служат форматом описания многократно используемых рабочих процессов. Плагины распространяют многократно используемые навыки и коннекторы в ChatGPT Work в веб-версии, а также в ChatGPT Work и Codex в настольном приложении. Codex CLI также может устанавливать плагины. Используйте навыки для проектирования самого рабочего процесса, а затем упакуйте его как плагин, если хотите, чтобы другие пользователи вашего рабочего пространства могли его установить.
Навыки доступны в настольном приложении ChatGPT, Codex CLI и расширении IDE.
В настольном приложении ChatGPT откройте раздел Навыки на боковой панели, чтобы просмотреть и изучить навыки, созданные в ваших проектах.
Для эффективного управления контекстом навыки используют постепенное раскрытие: сначала Codex получает название, описание и путь к файлу каждого навыка. Полные инструкции SKILL.md Codex загружает, только когда решает использовать навык.
Codex включает в контекст исходный список доступных навыков, чтобы выбрать подходящий навык для задачи. Чтобы этот список не вытеснял остальную часть запроса, он занимает не более 2% контекстного окна модели или 8 000 символов, если размер контекстного окна неизвестен. Если установлено много навыков, Codex сначала сокращает их описания. При большом количестве навыков Codex может исключить некоторые из них из исходного списка и показать предупреждение.
Это ограничение применяется только к исходному списку навыков. Выбрав навык, Codex всё равно читает полные инструкции SKILL.md для этого навыка.
Навык представляет собой каталог с файлом SKILL.md и необязательными скриптами и справочными материалами. Файл SKILL.md должен содержать name и description.
my-skill/
├── SKILL.md # Required: instructions and metadata
├── scripts/ # Optional: executable code
├── references/ # Optional: documentation
├── assets/ # Optional: templates and resources
└── agents/
└── openai.yaml # Optional: appearance and dependency declarationsКак Codex использует навыки
Codex может активировать навыки двумя способами:
- Явный вызов: укажите навык непосредственно в запросе. В CLI/IDE выполните
/skillsили введите$, чтобы упомянуть навык. - Неявный вызов: Codex может выбрать навык, когда ваша задача соответствует полю
descriptionнавыка.
Поскольку неявное сопоставление зависит от description, пишите краткие описания с чётко заданными областью применения и границами. Помещайте основной сценарий использования и ключевые слова-триггеры в начало, чтобы Codex мог сопоставить навык, даже если описания сокращены.
Создание навыка
Если вы уже знаете рабочий процесс и его проще показать, чем описать, используйте Запись и воспроизведение. Codex записывает рабочий процесс, анализирует действия и создаёт на основе демонстрации черновик многократно используемого навыка.
Если вы предпочитаете описать навык, воспользуйтесь встроенным средством создания:
$skill-creatorСредство создания спрашивает, что делает навык, когда он должен срабатывать и должен ли он содержать только инструкции или также включать скрипты. По умолчанию создаётся навык только с инструкциями.
Навык также можно создать вручную, создав папку с файлом SKILL.md:
---
name: skill-name
description: Explain exactly when this skill should and should not trigger.
---
Skill instructions for Codex to follow.Codex автоматически обнаруживает изменения навыков. Если обновление не появилось, перезапустите Codex.
Где хранить навыки
Codex считывает навыки из репозитория, пользовательских, администраторских и системных расположений. В репозиториях Codex сканирует .agents/skills в каждом каталоге от текущего рабочего каталога до корня репозитория. Если два навыка имеют одинаковое значение name, Codex не объединяет их: оба навыка могут отображаться в средствах выбора.
| Область навыка | Расположение | Рекомендуемое применение |
|---|---|---|
REPO |
$CWD/.agents/skills Текущий рабочий каталог, из которого вы запускаете Codex. |
Если вы находитесь в репозитории или среде разработки, команды могут сохранять в системе контроля версий навыки, относящиеся к рабочей папке. Например, навыки, применимые только к микросервису или модулю. |
REPO |
$CWD/../.agents/skills Папка выше CWD, если Codex запускается внутри репозитория Git. |
В репозитории с вложенными папками организации могут сохранять в системе контроля версий навыки, относящиеся к общей области в родительской папке. |
REPO |
$REPO_ROOT/.agents/skills Самая верхняя корневая папка, если Codex запускается внутри репозитория Git. |
В репозитории с вложенными папками организации могут сохранять в системе контроля версий навыки, применимые ко всем пользователям репозитория. Они служат корневыми навыками, доступными в любом подкаталоге репозитория. |
USER |
$HOME/.agents/skills Все навыки, сохранённые в личной папке пользователя. |
Используйте для формирования набора актуальных для пользователя навыков, применимых в любом репозитории, с которым он может работать. |
ADMIN |
/etc/codex/skills Все навыки, сохранённые на компьютере или в контейнере в общем системном расположении. |
Используйте для скриптов SDK, автоматизации и сохранения в системе контроля версий стандартных администраторских навыков, доступных каждому пользователю компьютера. |
SYSTEM |
Включено в Codex компанией OpenAI. | Полезные широкой аудитории навыки, например средства создания навыков и планов. Доступны всем при запуске Codex. |
Codex поддерживает папки навыков, представленные символическими ссылками, и при сканировании этих расположений переходит к целевому объекту ссылки.
Эти расположения предназначены для создания и локального обнаружения. Если вы хотите распространять многократно используемые навыки за пределами одного репозитория или дополнительно объединять их с коннекторами, используйте плагины.
Распространение навыков с помощью плагинов
Непосредственные папки навыков лучше всего подходят для локального создания и рабочих процессов в пределах репозитория. Если вы хотите распространять многократно используемый навык, объединить два или более навыка либо поставлять навык вместе с коннектором, упакуйте их как плагин.
Плагины могут включать один или несколько навыков. Они также могут при необходимости объединять сопоставления приложений, конфигурацию серверов MCP и ресурсы презентаций в одном пакете.
Установка отобранных навыков для локального использования
Чтобы добавить в собственную локальную конфигурацию Codex отобранные навыки помимо встроенных, используйте $skill-installer. Например, чтобы установить навык $linear:
$skill-installer linearМожно также попросить установщик скачать навыки из других репозиториев. Codex автоматически обнаруживает вновь установленные навыки; если навык не появился, перезапустите Codex.
Используйте этот способ для локальной настройки и экспериментов. Для многократно используемого распространения собственных навыков предпочтительнее плагины.
Включение и отключение навыков
Используйте записи [[skills.config]] в ~/.codex/config.toml, чтобы отключить навык без его удаления:
[[skills.config]]
path = "/path/to/skill/SKILL.md"
enabled = falseПосле изменения ~/.codex/config.toml перезапустите Codex.
Необязательные метаданные
Добавьте agents/openai.yaml, чтобы настроить метаданные интерфейса в настольном приложении ChatGPT, задать политику вызова и объявить зависимости от инструментов для более удобной работы с навыком.
interface:
display_name: "Optional user-facing name"
short_description: "Optional user-facing description"
icon_small: "./assets/small-logo.svg"
icon_large: "./assets/large-logo.png"
brand_color: "#3B82F6"
default_prompt: "Optional surrounding prompt to use the skill with"
policy:
allow_implicit_invocation: false
dependencies:
tools:
- type: "mcp"
value: "openaiDeveloperDocs"
description: "OpenAI Docs MCP server"
transport: "streamable_http"
url: "https://developers.openai.com/mcp"allow_implicit_invocation (по умолчанию: true): при значении false Codex не будет неявно вызывать навык на основе запроса пользователя; явный вызов $skill продолжит работать.
Рекомендации
- Каждый навык должен быть сосредоточен на одной задаче.
- Отдавайте предпочтение инструкциям, а не скриптам, если вам не требуется детерминированное поведение или внешние инструменты.
- Описывайте шаги в повелительном наклонении, явно указывая входные и выходные данные.
- Проверяйте запросы на соответствие описанию навыка, чтобы убедиться в правильном срабатывании.
Дополнительные примеры см. в разделах Исправление GitHub CI, PDF, Linear, openai/skills и спецификация навыков агентов. Для распространения устанавливаемых пакетов предпочтительнее плагины.