Русский

Создание навыков

Добавляйте в Codex новые возможности и экспертные знания

Используйте навыки агентов, чтобы расширять Codex возможностями для конкретных задач. Навык объединяет инструкции, ресурсы и необязательные скрипты, позволяя Codex надёжно выполнять рабочий процесс. Навыки основаны на открытом стандарте навыков агентов.

Навыки служат форматом описания многократно используемых рабочих процессов. Плагины распространяют многократно используемые навыки и коннекторы в ChatGPT Work в веб-версии, а также в ChatGPT Work и Codex в настольном приложении. Codex CLI также может устанавливать плагины. Используйте навыки для проектирования самого рабочего процесса, а затем упакуйте его как плагин, если хотите, чтобы другие пользователи вашего рабочего пространства могли его установить.

Навыки доступны в настольном приложении ChatGPT, Codex CLI и расширении IDE.

В настольном приложении ChatGPT откройте раздел Навыки на боковой панели, чтобы просмотреть и изучить навыки, созданные в ваших проектах.

Средство выбора навыков с доступными навыками в настольном приложении 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 может активировать навыки двумя способами:

  1. Явный вызов: укажите навык непосредственно в запросе. В CLI/IDE выполните /skills или введите $, чтобы упомянуть навык.
  2. Неявный вызов: 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 и спецификация навыков агентов. Для распространения устанавливаемых пакетов предпочтительнее плагины.