almdev Разработка с ИИ

Как разделить skill и справочники без потери важных правил
Основной порядок работы и дополнительные материалы по явному условию

Что оставить в SKILL.md, что вынести в references и как проверить обычный, редкий и ошибочный путь чтения на процедуре подготовки статьи.

Подкатегория: Скиллы

Чтение
4 мин
Технологии / версии
Symfony · Coding agent · Контекст · Скиллы
30 июл 2026 · 4 мин · 24 просмотра · Как работать
Разработчик сверяет короткую инструкцию с нужным справочником
Скиллы 07/2026

Процедура подготовки статьи содержит обычную проверку превью, перенос старого URL, восстановление обложки и диагностику RSS. На большинстве задач нужны только первые несколько действий. Если каждый раз читать весь документ, редкие подробности начинают конкурировать с текущей задачей.

Разделение на основной skill и справочники помогает, если после него исполнитель всё ещё знает, какой материал нужен и когда. Простое перемещение половины текста в другую папку такой ясности не создаёт.

Есть два отдельных решения о чтении

Сначала инструмент выбирает сам skill. Затем, уже внутри процедуры, возникает вопрос о дополнительном справочнике. В документации OpenAI описана постепенная загрузка: имя и описание помогают выбрать skill, после выбора загружаются его инструкции. Это не обещание, что любой упомянутый файл всегда будет прочитан автоматически.

Внутренние ссылки поэтому должны задавать маршрут. «Подробнее в справочнике» слабее, чем «если меняется опубликованный slug, открой правила переноса URL». Вторая формулировка связывает чтение с наблюдаемым условием.

Не путайте уменьшение основного файла с доказанной экономией токенов или повышением качества. Для таких выводов нужны реальные прогоны и данные. Здесь мы проектируем более понятную структуру, а её пользу будем проверять на конкретных запросах.

Разделим процедуру подготовки публикации

Предлагаемая структура — учебный пример. Названия справочников выбираются по решениям, которые в них описаны:

article-preview/
├── SKILL.md
└── references/
    ├── preview-access.md
    ├── url-change.md
    └── feed-check.md

В основном файле остаются входные данные, ожидаемый результат, границы изменений и обычный ход проверки. Исполнитель должен сразу знать, что работает с существующим черновиком и не меняет его статус. Это правило нельзя прятать в справочник, который может не понадобиться.

## Дополнительные сценарии

Если превью недоступно, прочитай references/preview-access.md.
Не заменяй недоступное превью публичной публикацией.

Если задача меняет опубликованный URL, прочитай references/url-change.md
до изменения slug. Для обычной правки текста этот файл не нужен.

Если задача затрагивает выпуск статьи или содержимое RSS,
прочитай references/feed-check.md.

Справочник доступа объясняет конкретные причины отказа и способы диагностики. Документ про URL описывает редирект и проверку старого адреса. Документ про RSS содержит порядок проверки выдачи. Каждый отвечает на отдельный вопрос, а не продолжает оборванную посередине инструкцию.

Сохраните обязательные границы в основном файле

Перед переносом спросите: может ли исполнитель причинить ущерб, не открыв этот фрагмент? Если да, основное ограничение должно оставаться видимым. Детали проверки можно вынести, но условие её обязательности — нет.

Например, правило не перезаписывать неизвестные редакторские изменения относится ко всей процедуре импорта. Способ сравнения конкретных полей может находиться рядом с командой обновления. Если спрятать и правило, и механизм в редкий справочник, обычная задача перестанет знать о конфликте.

То же относится к источнику команд. Skill должен назвать, где взять актуальный способ запуска. Длинная таблица опций может лежать отдельно. Но исполнитель не должен угадывать имя контейнера только потому, что ради сокращения файла его удалили вместе с таблицей.

Ограничьте глубину переходов

Справочник, который отправляет в другой справочник, а тот — в третий, затрудняет проверку. Человеку приходится восстанавливать цепочку, чтобы понять, какие правила в итоге применились. Для небольшой процедуры лучше прямые ссылки из SKILL.md на нужные материалы.

Путь должен разрешаться относительно каталога skill, если именно так устроен ваш загрузчик. При переносе набора проверьте ссылки в установленной копии. Рабочая ссылка в исходном репозитории может стать нерабочей после упаковки, если в пакет не включили каталог references.

Не превращайте справочник в склад устаревшего текста. Если раздел больше не соответствует коду, его перенос не делает информацию безопаснее. Сначала исправьте или удалите неподтверждённое утверждение, затем решайте, где оно должно жить.

Проверьте обычный, редкий и ошибочный путь

Обычный запрос: проверить текст существующего черновика. Ожидается основной порядок без работы с переносом URL. Редкий запрос: изменить опубликованный адрес. Ожидается чтение соответствующих правил до записи и проверка старого адреса после изменения.

Ошибочный путь: нужный справочник отсутствует или ссылается на несуществующую команду. Исполнитель должен обозначить, чего не хватает, и остановить зависимую часть работы. Самостоятельно придуманный порядок переноса данных не считается успешной заменой документации.

Зафиксируйте для каждого прогона, какие файлы были доступны и что реально произошло. Если инструмент показывает вызовы чтения, используйте их как свидетельство. Если не показывает, проверяйте результат и не утверждайте, что конкретный файл точно попал в контекст.

Сокращайте до понятного действия

Универсального числа строк для разделения нет. Короткий, но неоднородный skill может выиграть от справочника. Длинная процедура, все части которой необходимы в каждом запуске, может остаться целой.

После изменения исполнитель должен без догадок ответить на три вопроса: что сделать сейчас, при каком условии открыть дополнительный материал и как предъявить результат. Если основной файл стал короче, но эти ответы потерялись, разделение стоит пересмотреть.

#symfony #coding-agent #kontekst #skills #dokumentaciya