Создание навыков
Создание навыков
Добавляйте в Codex новые возможности и экспертные знания
Используйте навыки агентов, чтобы расширить ChatGPT и Codex возможностями для выполнения конкретных задач. Навык объединяет инструкции, ресурсы и необязательные скрипты, позволяя обоим продуктам надёжно следовать рабочему процессу. Навыки основаны на открытом стандарте навыков агентов.
Навыки — это формат описания многократно используемых рабочих процессов. Плагины распространяют многократно используемые навыки и коннекторы через универсальный каталог плагинов, общий для ChatGPT и Codex. Плагины работают в режимах Chat и Work в ChatGPT в веб-версии, настольном и мобильном приложениях, в Codex в настольном приложении ChatGPT, а также через Codex CLI. Используйте навыки для проектирования самого рабочего процесса, а затем упакуйте его в плагин, если хотите, чтобы его могли установить другие пользователи.
Автономные навыки доступны в настольном приложении ChatGPT, Codex CLI и расширении IDE. Навыки, входящие в состав плагинов, также доступны в режимах Chat и Work в ChatGPT в веб-версии, настольном и мобильном приложениях.
В настольном приложении ChatGPT откройте раздел Навыки на боковой панели, чтобы просмотреть и изучить навыки, созданные в ваших проектах.
В Codex первоначальный список также содержит путь к файлам каждого навыка. Чтобы этот список не вытеснял остальную часть запроса, он занимает не более 2% контекстного окна модели или 8 000 символов, если размер контекстного окна неизвестен. Если установлено много навыков, Codex сначала сокращает их описания. При очень большом наборе навыков Codex может исключить некоторые из них из первоначального списка и показать предупреждение.
Это ограничение применяется только к исходному списку навыков. Выбрав навык, Codex всё равно читает полные инструкции SKILL.md для этого навыка.
Навык представляет собой каталог с файлом SKILL.md и необязательными скриптами и справочными материалами. Файл SKILL.md должен содержать name и description.
Как ChatGPT и Codex используют навыки
ChatGPT и Codex могут активировать навыки двумя способами:
- Явный вызов: Укажите навык непосредственно в запросе. В
ChatGPT введите
@, чтобы выбрать навык. В Codex CLI или расширении IDE выполните/skillsили введите$, чтобы упомянуть навык. - Неявный вызов: ChatGPT или Codex может выбрать навык, если ваша задача
соответствует
descriptionнавыка.
Поскольку неявное сопоставление зависит от description, составляйте лаконичные описания
с чётко обозначенными областью применения и границами. Указывайте основной сценарий использования и слова-триггеры в начале,
чтобы среда могла подобрать навык, даже если описание будет сокращено.
Создание навыка
Если вы уже знаете рабочий процесс и его проще показать, чем описать, используйте запись и воспроизведение. Средство записи фиксирует рабочий процесс, анализирует шаги и на основе демонстрации создаёт черновик многоразового навыка.
Если вы предпочитаете описать навык, воспользуйтесь встроенным средством создания. В ChatGPT
Work вызовите его как @skill-creator. В Codex вызовите его так:
$skill-creatorСредство создания спрашивает, что делает навык, когда он должен срабатывать и должен ли он содержать только инструкции или также включать скрипты. По умолчанию создаётся навык только с инструкциями.
Навык также можно создать вручную, создав папку с файлом SKILL.md:
---
name: skill-name
description: Explain exactly when this skill should and should not trigger.
---
Skill instructions for ChatGPT or Codex to follow.Codex автоматически обнаруживает изменения навыков. Если обновление не появилось, перезапустите 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, встроенную конфигурацию сервера MCP и ресурсы для представления.
Установка отобранных навыков для локального использования
Чтобы добавить в собственную локальную конфигурацию Codex отобранные навыки помимо встроенных, используйте $skill-installer. Например, чтобы установить навык $linear:
$skill-installer linearМожно также попросить установщик скачать навыки из других репозиториев. Codex автоматически обнаруживает вновь установленные навыки; если навык не появился, перезапустите 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 и в спецификации навыков агентов. Для распространения устанавливаемых пакетов предпочтительно использовать плагины.