медиа про еком + ии
Скилл

Скилл для локальной сверки классов операций MCP маркетплейсов

протестировано в деле на локальных публичных исходниках и учебном JSON

Проверено 12 октября 2026: код и учебный запуск · Опубликовано 12 октября 2026

Скилл сопоставляет классы операций в локальном каталоге MCP и двух маршрутах вызова: через каталог и напрямую по HTTP-методу. Он выдаёт JSON с различиями и требуемыми подтверждениями до подключения токенов; это не проверка безопасности работающего сервера (код, границы).

Редакция Кометы протестировала собственный анализатор в деле на закреплённых публичных исходниках и учебном JSON; задача — локальная сверка для разработчика интеграции магазина (запись запуска). Он работает с явно переданными файлами закреплённой версии marketplaces-mcp-ru либо с учебным JSON, не устанавливает чужой MCP и не исполняет его Python (SKILL.md, запись локального прогона в data/tests).

Что нужно для запуска

Поле Условия
Задача и вид Скилл с локальным CLI: найти несогласованные классы операций перед разбором прав интеграции (SKILL.md).
Автор и источник Редакция Кометы: оригинальные код, инструкция и архив.
Версия и лицензия Наш пакет 0.1.1 под MIT. Чужие исходники в архив не входят; лицензия относится к нашему коду и учебным данным (LICENSE, README).
Среда и модель Проверен Python 3.14.4/macOS, только стандартная библиотека. Нужны POSIX dir_fd, O_NOFOLLOW, O_DIRECTORY, O_NONBLOCK. Модель для CLI не нужна; обнаружение скилла агентским клиентом не проверено (запись запуска, README).
Стоимость Для одной локальной сверки лицензия и платный API — 0 рублей: API не вызывается. Время и оборудование не оценены. Запуск через агента добавляет стоимость его модели (код, LICENSE, README).
Доступ из России Локальному анализатору не нужны сеть, регистрация или зарубежный платёж (код).
Поддерживаемый источник Семь явно переданных файлов marketplaces-mcp-ru, commit a633bb8…596c1; полный commit и SHA каждого файла находятся в профиле. Новые версии автоматически не поддерживаются (README).
Статус проверки Протестировано в деле: локальный анализ публичного закреплённого источника и синтетические сценарии, не подключение кабинета (запись локального прогона в data/tests).

Что покажет отчёт

records содержит заявленный класс каталога, вычисленные классы двух маршрутов и требуемые подтверждения. sources и policy_evidence связывают вывод с файлом, строкой, commit и SHA; учебный JSON использует указатель JSON вместо номера строки (код, пример отчёта).

Ситуация Как читать результат
Прямой маршрут получает более слабый класс raw_weaker — повод разобрать операцию и подтверждения, не доказанный обход или удаление (контракт).
POST-чтение в каталоге, write в прямом маршруте raw_stricter — справочное различие. Сам HTTP-метод не доказывает изменение данных (контракт, контроль POST-read).
Назначение противоречит классу internal_semantic_flags — заранее вручную размеченные сигналы закреплённого источника, не полный автоматический смысловой аудит (профиль).
Изменились commit, SHA или поддерживаемая policy unsupported, а не положительная проверка новой версии (код, негативные проверки).

В сохранённом полном прогоне обработаны 1024 записи закреплённого источника. В README того же commit указаны 1022 метода, в том числе 441 Ozon Seller. Наш подсчёт локального каталога — 1024 записи, из них 443 Ozon; причина расхождения не установлена (запись прогона). Получено 21 различие raw_weaker; отдельные 333 POST-read/raw-write различия справочные и не названы ошибками только по методу (запись запуска, результаты). Первый confirm_write в raw-write сохранён; параметры модели не доказывают самостоятельное одобрение человеком (код анализатора, закреплённая policy).

Как запустить

  1. Скачайте архив, распакуйте и откройте терминал в его корневой папке. Пакеты устанавливать не нужно (README).

  2. Запустите учебный пример из этой папки (инструкция):

python3 -B scripts/check.py examples/teaching-manifest.json

Ожидается JSON supported-findings и код завершения 4: в собственном синтетическом примере намеренно есть различие классов. Это не сбой команды (сохранённый выход).

  1. Для закреплённого источника скопируйте examples/pinned-manifest.template.json. Укажите явные абсолютные пути к пяти каталогам и core/safety.py/core/tools.py; полный перечень уже задан шаблоном. Не меняйте commit и ожидаемые SHA (шаблон). Получите эти публичные файлы из закреплённого репозитория, не запускайте его модули. Для этого режима требуется Python 3.14 (README).
python3 -B scripts/check.py my-explicit-manifest.json

Результат — отчёт о переданных файлах; перед анализом их байты сверяются с ожидаемыми SHA. Пути с симлинками, включая родительские папки, отклоняются. На macOS /tmp и /var могут быть ссылками: передавайте проверенный настоящий путь (код, README).

Код Что делать
0 supported-pass: объявленные ограниченные проверки завершены без находок. Не разрешение подключать MCP (контракт).
4 supported-findings: разберите различия и сигналы по файлам отчёта (контракт).
2 error: исправьте неполный или некорректный вход; полнота неизвестна (код).
3 unsupported: версия Python, источник или формат не поддержаны. Не переносите прежний результат на новые байты (код).

Как проверяли

Редакция Кометы провела локальный прогон версии 0.1.1 на Python 3.14.4/macOS с системным запретом сети: 51 из 51 проверки прошли. На Python 3.9.6 прошли 41 из 41 — учебные сценарии и отказ неподдерживаемого AST-профиля, не полный анализ закреплённого источника (запись локального прогона в data/tests, полные результаты, Python 3.9).

Входы — собственные синтетические операции и отдельно переданные публичные исходники. Проверены контроль POST-чтения, первый флаг записи, различия классов, некорректные поля, дубли, чужие SHA и commit, динамическая policy, опасные файловые пути и запрет исполнения upstream. Отказ сети подтверждён попыткой соединения (запись запуска, runner). Повтор учебных сценариев: python3 -B tests/run.py; для полного закреплённого входа добавьте --pinned-input MANIFEST.json по README.

Текущие контракты Seller API, dispatch работающего сервера, реальные изменения данных, CI, нормализация загрузчика и полнота смыслового аудита не проверены. При другом commit результат прежнего профиля неприменим (границы, запись запуска).

Доступы и риски

Код анализатора 0.1.1 прочитан редакцией: файловый ввод, разбор JSON, ограниченный YAML, AST, расчёт классов и вывод. Он только читает явно перечисленные локальные файлы и печатает JSON; не обращается к сети, не ставит зависимости и не требует токенов WB, Ozon, Я.Маркета, CRM, платежей или почты (код, запись проверки).

Не передавайте реальные токены и файлы кабинета. Используйте публичные исходники или собственные учебные данные; локальность CLI не делает локальным контекст модели, которой передан отчёт. JSON может содержать пути исходников: просмотрите его перед отправкой агенту или публикацией (SKILL.md, README). Сохранение stdout через перенаправление выбираете вы — не записывайте отчёт поверх входного файла (README).

Когда выбрать другое

Для сверки уже полученного учебного ответа о возврате есть другой скилл. Здесь проверяется каталог до вызова, а не ответ и не движение денег (SKILL.md).

Источники

Редакция Кометы.