Свежий аудит 2465 публично доступных «навыков» (skills) ИИ-агентов показал, что более половины из них нарушают опубликованную спецификацию, а 7,8% агенты даже не могут выбрать из-за отсутствия необходимых метаданных. Эти дефекты ставят под угрозу надежность любой системы, которая автоматически обнаруживает и загружает такие навыки.

Почему этот аудит важен

Реестры навыков агентов позволяют разработчикам публиковать многоразовые возможности — пакеты кода, которые автономный агент может вызывать по требованию. Агент сканирует реестр, считывает YAML-frontmatter каждого навыка (небольшой блок структурированного текста, который должен содержать как минимум название и описание) и решает, соответствует ли навык его целям. Если frontmatter отсутствует или сформирован некорректно, навык исчезает из меню агента. В мире, где автономные агенты планируют встречи, устраняют неполадки на серверах и многое другое, неисправный навык нарушает весь рабочий процесс.

Что показывают цифры

  • 57,8% навыков имеют хотя бы одно нарушение спецификации.
  • 29,2% указывают имя, которое не совпадает со slug реестра (идентификатором в URL).
  • 18,1% содержат неверные пути к пакетам или битые ссылки.
  • 7,8% (192 навыка) вообще не имеют YAML-frontmatter, оставаясь безымянными и неописанными.
  • 3,8% содержат абсолютные пути к файлам, которые существуют только на машине автора.
  • 2,4% неправильно используют поле allowed-tools, из-за чего оно становится нечитаемым для агентов.
  • 2,1% раскрывают API-ключи через переменные окружения, что является серьезным риском безопасности.
  • 1,3% вызывают внешние инструменты командной строки без их объявления, нарушая правило переносимости.

Чаще всего встречается проблема переносимости. Абсолютный путь, такой как /home/USER/.local/bin/tool, работает у разработчика, написавшего навык, но не работает у любого другого пользователя, вызывая ошибки во время выполнения, которые статические проверки никогда не отлавливают.

Более глубокий анализ: случай openclaw

Аудит также затронул 46 навыков, входящих в репозиторий openclaw. После доработки скрипта тестирования для подавления ложных срабатываний ревьюер обнаружил 59 реальных дефектов — напоминание о том, что слишком агрессивные линтеры могут давать обратный эффект. Когда инструмент помечает слишком много безобидных проблем, разработчики перестают им пользоваться, и реальные проблемы проскакивают мимо.

Два дефекта openclaw указывали на файлы, которых больше нет в репозитории. Мейнтейнер объединил исправление, которое восстанавливает недостающие ссылки, показав, как один pull request может очистить разорванную цепочку зависимостей.

Реакция разработчиков

Аудитор открыл issue в оригинальных репозиториях навыков. Один отчет был отклонен: мейнтейнер аргументировал это тем, что «неисправность» следует оценивать по фактическому поведению во время выполнения, а не по статической проверке файлов. Аудитор согласился, что строгое определение неисправности должно соответствовать тому, как навык исполняется на практике. Другой issue был принят, и соответствующее исправление уже опубликовано.

Кто выиграет, а кто проиграет

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

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

Контраргумент: все ли нарушения критичны?

Some argue that certain “errors” are harmless. Несовпадение имени может не повлиять на агента, который выбирает навыки по slug, а не по отображаемому имени. Чтение API-ключей из окружения может быть осознанным проектным решением для локальной разработки. Однако проценты в аудите рассматривают любое отклонение от спецификации как нарушение, что может преувеличивать практическую значимость некоторых проблем.

На что обратить внимание в будущем

  • Улучшенные линтеры, которые отделяют реальные ошибки переносимости от безобидных особенностей.
  • Хуки валидации на стороне реестра, которые отклоняют заявки без необходимого frontmatter или с абсолютными путями.
  • Аудиты силами сообщества, выявляющие скрытые дефекты до того, как они попадут к рабочим агентам.
  • Потенциальные пересмотры спецификации, уточняющие неоднозначные поля, такие как allowed-tools, и определяющие допустимое использование переменных окружения.

Следующая волна инструментов, вероятно, внедрит эти проверки в конвейеры непрерывной интеграции (CI), превращая соблюдение стандартов из ручного дополнения в автоматический фильтр.

Итог

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

Источник: https://dev.to/hyuga611/i-audited-2465-published-agent-skills-192-of-them-cannot-be-selected-the-way-the-spec-says-4k70