Помогает проверять поведение плагинов Claude Code, запуская их в отдельной
песочнице. Этот файл отвечает на устройство плагина в репозитории. Договор — что даёт, как пользоваться, границы —
на странице docs/plugins/plugin-testing.md.
/plugin marketplace add spumer/i-m-senior-developer
/plugin install plugin-testing@i-m-senior-developer
plugin-testing/
├── .claude-plugin/plugin.json
├── skills/plugin-testing/
│ ├── SKILL.md
│ ├── references/
│ │ ├── validate.md # структурная проверка и её границы
│ │ ├── graders.md # формат кейса и шесть типов критериев
│ │ ├── wrapper.md # договор скрипта прогона
│ │ ├── failures.md # разбор красного прогона
│ │ ├── deterministic-routing.md # хук для устойчивого срабатывания
│ │ ├── early-access.md # гейт раннего доступа
│ │ └── report.md # поля и шаблон отчёта
│ └── scripts/
│ ├── check_eval_suite.py # проверка состава набора
│ └── test_check_eval_suite.py # тесты утилиты
└── README.md
Ядро скилла — выводы одного разбора; справочники добавляют к ним измеренные
границы инструментов. Проверка плагина planner была красной: на модели sonnet
скилл продуктовой проработки не вызывался ни в одном из шести повторов. Разбор
дал три вывода:
- модель — значимое условие прогона, а не деталь: на
opusте же кейсы начали вызывать скилл; - правки описания скилла дали неустойчивый результат — один кейс поднялся, другой срабатывал раз из трёх;
- устойчивость дал структурный механизм — хук
UserPromptSubmit; это наблюдение на одном плагине, а не измеренное правило для любого скилла.
После этих правок проверка planner прошла все свои кейсы по три повтора при
строгом пороге на модели opus. На sonnet маршрутизация в проработку не
наблюдалась. Числа прогона остаются в его aggregate-result.json: Git этот
каталог не отслеживает.
Утилита check_eval_suite.py покрыта тестами рядом с исходником: девять случаев,
включая каждое замечание, которое утилита обязана находить.
python3 plugins/plugin-testing/skills/plugin-testing/scripts/test_check_eval_suite.pyСтруктурная проверка состава — тем же вызовом, что и в непрерывной сборке:
claude plugin validate plugins/plugin-testing --strict
claude plugin validate plugins/plugin-testing/skills --strictОткрытый пробел: у самого plugin-testing нет набора eval-кейсов, поэтому
срабатывание его скилла на живом запросе не измерено. По
принятым решениям набор обязателен там, где плагин
обещает наблюдаемое поведение; здесь поставляются методика и утилита, поэтому
пока достаточно тестов на скрипт и чтения содержания.