bxshef: методология и проверка навыков

Как писать навыки ИИ-агентов для Битрикса и как проверять, что им можно верить

Навык — папка со SKILL.md по открытому стандарту Agent Skills: ИИ-агент (Claude Code, Codex, Cursor и другие) читает описание, сам берёт нужный навык под задачу и делает по канону модуля. Здесь — не навыки, а как их писать и как проверять, что им можно верить. Правила выведены из трёх прогонов на стенде и записаны с провалами, которые их породили.

STANDARD.md   правила навыка — 11 пунктов
METHOD.md     методология проверки: lint → eval → стенд; что измерено
bxshef/       CLI: lint · eval · feedback (npm: bxshef)
action/       GitHub Action: тот же lint + eval в любом репозитории навыков
template/     заготовка репозитория навыков для вашего модуля
stand/        обвязка стенда (bx.php) и образец задач с чек-листами
feedback/     приёмник отзывов: node без зависимостей, Docker

Быстрый старт для автора модуля

# 1. репозиторий навыков из заготовки
cp -r template/ ../acme-skills && cd ../acme-skills
#    переименовать acme-* в свой префикс, написать первый навык по STANDARD.md

# 2. проверить локально
npx bxshef lint --dir skills --code ../acme.module
BXSHEF_EVAL_KEY=… npx bxshef eval --dir skills --repeat 3

# 3. в CI — уже есть: .github/workflows/skills.yml зовёт bx-shef/skills-standard/action@v1

Пользователь ставит ваши навыки командой npx skills add <owner>/acme-skills (skills от Vercel) — своего установщика здесь нет и не будет.

Эталон

bx-shef/skills — навыки к модулям shef.options, shef.problems, shef.insync, собранные по этому стандарту; переезжают туда из модулей по одному.

Что проверяет bxshef

командачтопадает
bxshef lint [--dir] [--code] [--ignore]frontmatter, длина описания, evals у операционных, противоречия в evals, классы из навыка существуют в кодеесть ошибки
bxshef eval [--repeat 3] [--min 0.9] [--only …] [--agent claude]по фразе задачи модель или настоящий Claude Code выбирает нужный навыкдоля попаданий ниже порога
bxshef feedback send --skill …отзыв о навыке из командной строки (агенту не нужен: навык отзыва шлёт его сам, curl-ом)отзыв не отправлен

Ключ модели для eval — только из окружения (BXSHEF_EVAL_KEY), в файлы не пишется. По умолчанию — BitrixGPT через AI Router Вайбкода (BXSHEF_EVAL_URL, BXSHEF_EVAL_MODEL переопределяют).

Лицензия

MIT. Ограничений на использование методологии нет — цель в том, чтобы её взяли.

Источник: skills-standard/README.md — правки туда, сайт пересобирается сам.
CtrlI