Русский

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

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

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

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

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

Автономные навыки доступны в настольном приложении ChatGPT, Codex CLI и расширении IDE. Навыки, входящие в состав плагинов, также доступны в режимах Chat и Work в ChatGPT в веб-версии, настольном и мобильном приложениях.

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

Средство выбора доступных навыков в настольном приложении ChatGPT (светлая тема)
Навыки используют **постепенное раскрытие**, чтобы эффективно управлять контекстом. Сначала ChatGPT и Codex получают название и описание каждого навыка, а затем загружают полные инструкции из `SKILL.md`, когда решают использовать этот навык.

В Codex первоначальный список также содержит путь к файлам каждого навыка. Чтобы этот список не вытеснял остальную часть запроса, он занимает не более 2% контекстного окна модели или 8 000 символов, если размер контекстного окна неизвестен. Если установлено много навыков, Codex сначала сокращает их описания. При очень большом наборе навыков Codex может исключить некоторые из них из первоначального списка и показать предупреждение.

Это ограничение применяется только к исходному списку навыков. Выбрав навык, Codex всё равно читает полные инструкции SKILL.md для этого навыка.

Навык представляет собой каталог с файлом SKILL.md и необязательными скриптами и справочными материалами. Файл SKILL.md должен содержать name и description.

Как ChatGPT и Codex используют навыки

ChatGPT и Codex могут активировать навыки двумя способами:

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