Скиллы живут в трёх местах: глобальные — в личной папке скиллов, проектные — в самом репозитории, встроенные — в каталоге самого Codex. Экран собирает их в один список и показывает, откуда какой.
Возможности
- Шапка
codex@skillsи строка-сводка: сколько скиллов всего, сколько в промпте, сколько выключено, сколько прикреплено к сообщению и сколько с ошибками. - Раскрывающаяся шпаргалка «// что такое скиллы» с шестью пунктами: что такое скилл, где лежат, как его вызвать, что делает тумблер, чем отличается прикрепление, зачем нужен бюджет. По умолчанию раскрыта.
- Кнопка обновления пересканирует папку со скиллами заново, кнопка копирования кладёт в буфер текстовую сводку каталога, лупа открывает строку поиска.
- Поиск ищет по имени, описанию и подписи раздела. Слова раздела понимаются в обеих локалях: «глобальный» и
globalнаходят одно и то же. - Раздел «// каталог» — три общие настройки: инструкции скиллов в промпте, бюджет каталога в токенах и встроенные скиллы.
- Раздел «// в сообщении» — прикреплённые скиллы чипами и кнопка «снять все».
- Карточка скилла: название, подпись раздела, имя с решёткой
$, метка состояния и тумблер справа. - Нажатие на карточку раскрывает детали: путь к папке, плагин, какие инструменты скиллу нужны, прочие зависимости и предупреждения.
- В раскрытой карточке — чипы «Содержимое», «Путь» и кнопка свернуть, а в треде ещё «Прикрепить» и «Использовать».
- Выключенный скилл не исчезает, а остаётся на месте приглушённым с меткой «выключен»: переключение ничего не двигает в списке.
- Раздел «// ошибки загрузки» — файлы, которые агент прочитать не смог, с причиной и путём.
- Закреплённая строка под шапкой показывает результат последнего действия и кнопку «Отменить».
Технические данные
| Параметр | Значение |
|---|---|
| Разделов списка | 5, из них 3 основных: глобальные, проектные, встроенные |
| Порядок в списке | сначала по разделу, потом по названию |
| Где лежат глобальные | ~/.codex/skills |
| Где лежат проектные | .agents/skills в репозитории |
| Где лежат встроенные | каталог .system |
| Тумблер пишет | правило в ~/.codex/config.toml |
| Настройки каталога | секция [skills] того же файла |
| Бюджет каталога по умолчанию | 2% контекста, не больше 10 000 токенов |
| Границы бюджета | от 1 до 1 000 000 токенов |
| Пауза перед тихим перечитыванием | 300 мс |
| Файлов в окне содержимого | до 40 |
| Предел текста одного файла | 200 000 символов, дальше обрезка |
| Файлов с точкой в начале | скрыты |
| Перевод | есть, русский и английский |
Последние два раздела — управляемые и прочие — появляются, только если агент не отнёс скилл ни к личным, ни к проектным, ни к встроенным.
Ошибка при чтении каталога не стирает список: экран остаётся с прежними скиллами, а причину показывает строкой под шапкой. Кнопка обновления при успехе дописывает время обновления.
Что делает тумблер
Включение скилла добавляет в конфиг правило, выключение — снимает. Правило относится к файлу скилла и действует сразу во всех тредах, а не только в том, где вы нажали.
Тумблер отвечает мгновенно, до ответа сервера. Дальше сверяется то, что сервер ответил: если он оставил скилл не в том состоянии, в котором просили, тумблер возвращается назад и появляется предупреждение. Так молчаливый откат выглядит как честный отказ, а не как поломка экрана.
Если выключенный скилл был прикреплён к сообщению, он автоматически открепляется. Прикрепить выключенный скилл нельзя: сервер его всё равно не отдаст агенту, а сказать об этом заранее полезнее, чем молчать.
Настройки каталога
- Инструкции скиллов в промпте — добавлять ли в каждый ход блок о том, как пользоваться скиллами. Выключать стоит только ради экономии контекста.
- Бюджет каталога — сколько токенов каталога скиллов уходит в контекст. Кнопка «Задать» открывает поле с числом, кнопка «Снять» в этом диалоге возвращает дефолт агента. Пустое поле означает «вернуть дефолт».
- Встроенные скиллы — отдавать ли встроенные скиллы Codex. После выключения они пропадают и из списка, и из промпта.
Отличить «ключа в конфиге нет» от «включено» для встроенных скиллов нельзя: агент всегда материализует эту настройку. Для экрана это ровно то поведение, которое нужно.
Предупреждения о зависимостях
Скилл может требовать инструмент агента. Экран читает список таких требований и сверяет его с настройкой инструментов, предупреждая в трёх случаях: сервер инструментов не настроен, сервер выключен, нужный инструмент выключен. Сам скилл при этом остаётся в промпте — просто агент не сможет вызвать то, чего у него нет.
Требования, которые не про инструменты агента (команды, адреса), показываются просто списком и поломкой не считаются.
Пока настройки инструментов не прочитаны, предупреждений на экране нет: иначе все зависимости выглядели бы выключенными.
Прикрепление и «Использовать»
- Прикрепить отправляет скилл только со следующим сообщением. Никакого постоянного «приклеивания» к треду нет.
- Использовать подставляет заготовленный текст скилла в поле ввода и закрывает экран. Если в поле уже что-то есть, текст добавится в конец с новой строки.
- Кнопка «Использовать» есть не у всех: она появляется только если у скилла задан заготовленный текст.
В хабе инструментов без открытого треда обе кнопки скрыты: прикреплять не к чему, а подставить текст некуда. Там остаются тумблер, содержимое и путь.
Содержимое скилла
Чип «Содержимое» открывает полноэкранное окно с файлами скилла: главный файл показан первым, дальше остальные по алфавиту. Файлы отображаются как размеченный текст, в шапке видно имя скилла, имя файла и размер. Сам файл можно скопировать или перечитать. Скрытые файлы в списке не показываются.
Читать файлы приложению приходится через агента: личная папка скиллов закрыта от приложения на телефоне.
Что агент умеет
Отдельных инструментов для управления скиллами у агента нет: это часть настроек, которые пишутся через его же сервер настроек. Агент не может сам включить себе скилл или прочитать чужой SKILL.md.
Что агент умеет со скиллами на своей стороне:
- знать список доступных скиллов и видеть, какие из них включены;
- подтянуть скилл по упоминанию его имени прямо в тексте сообщения;
- прочитать файл скилла, если его прикрепили к сообщению.
Всё остальное — включение, выключение, бюджет и чтение содержимого — делает экран.
Сам экран агент командой моста открыть не может: в списке экранов, которые умеет открывать мост, скиллов нет. Он умеет только нажать по нужному пункту на родительском экране настроек Codex.
Ограничения
- Скилл, которого нет в папке, вообще не появится: пустой каталог объясняет, куда класть файлы и куда нажать после этого.
- Если скилл прикреплён, а потом исчез из каталога, прикрепление сбросится само при ближайшем обновлении: в сообщение не уедет то, чего уже нет.
- Выключенный скилл из списка не убирается, поэтому на первый взгляд кажется, что он всё ещё работает. Ориентироваться надо на метку «выключен».
- Кнопка «Использовать» и «Прикрепить» есть только у части скиллов: первая — когда задан заготовленный текст, вторая — когда открыт тред.
- Переключение действует сразу на всех тредах: скилл нельзя включить «только в этом разговоре», для этого нужно прикрепление.
- Поиск показывает и выключенные скиллы — фильтра по состоянию на экране нет.
- Файлы скилла читаются не напрямую, а через сервер агента, поэтому окно содержимого зависит от живости этого сервера.
- В окне содержимого показываются не все файлы и не целиком: список обрезается, а слишком большой файл читается частично.
- Вложенные папки видны только на один уровень вглубь: файлы из
references/scripts/ещё/разв список не попадут. - Предупреждения по зависимостям не появляются, пока не прочитаны настройки инструментов: на старте список выглядит «чистым».