SKILLEMALL.ai

B materials-cli

Render JSON schemas to images and generate schemas from prompts using declare-render and AI.

modbender/skill-library-mcp Agent Skills автор: modbender MIT 18 файлов тело ≈ 583 токенов открыть источник ↗ проанализирован 7 ч назад

Render JSON schemas to images and generate schemas from prompts using declare-render and AI.

ИнтеграцияИИ и агентытип и темы размечены автоматически по тексту скилла
JSON
B
82/100
Общая оценка
Безопасность 60%
84
Качество 40%
78
Тесты бонус
0

Чем это грозит

Находки средней серьёзности: скорее всего скилл честный, но прочитайте, что именно насторожило сканер.

Утечка данных средняя серьёзность

Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.

Если установить

Инструкции или скрипты отправляют данные наружу: переменные окружения, ключи, содержимое файлов, историю чата. Вы можете не заметить этого в диалоге, потому что агент выполнит отправку как «часть задачи».

Автору

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

Как улучшить

  1. Добавьте evals/evals.json с 4–6 реальными запросами и ожидаемыми ответами: тогда полная проверка использует ваши кейсы, а не черновик модели.
  2. Добавьте spec.yaml с триггерами и утверждениями (skilltest init): это контракт поведения для CI.

Находки guard · 12

✓ Критических и высоких находок нет

Средние и низкие: 12
  • средняя Утечка данных net-redirectable-api-key src/commands/generate.ts:69
    Скрипт отправляет API-ключ на хост из переменной окружения — ключ можно перенаправить на другой сервер
    API key + configurable base URL from environment
  • низкая Секреты в коде secret-high-entropy-token package-lock.json:79
    Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)
    "integrity": "sha5…7pY+zoMV…h0x/Ptw8…8dg==",
    в кавычках
  • низкая Секреты в коде secret-high-entropy-token package-lock.json:96
    Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)
    "integrity": "sha5…b00+Gxjx…zRc/oZwU…hzA==",
    в кавычках
  • низкая Секреты в коде secret-high-entropy-token package-lock.json:164
    Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)
    "integrity": "sha512-vHk/hA7/1Ack…wbo+jaSh…Gtl+A5zq…HFg==",
    в кавычках
  • низкая Секреты в коде secret-high-entropy-token package-lock.json:198
    Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)
    "integrity": "sha5…Dsc+j03S…0oA==",
    в кавычках
  • низкая Секреты в коде secret-high-entropy-token package-lock.json:487
    Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)
    "integrity": "sha5…NS8+tHW7…WOF+PEzk…X4Q==",
    в кавычках
  • низкая Секреты в коде secret-high-entropy-token pnpm-lock.yaml:55
    Строка, похожая на токен (может быть id, хеш или секрет)
    resolution: {integrity: sha5…7pY+zoMV…h0x/Ptw8…8dg==}
  • низкая Секреты в коде secret-high-entropy-token pnpm-lock.yaml:67
    Строка, похожая на токен (может быть id, хеш или секрет)
    resolution: {integrity: sha5…b00+Gxjx…zRc/oZwU…hzA==}
  • низкая Секреты в коде secret-high-entropy-token pnpm-lock.yaml:85
    Строка, похожая на токен (может быть id, хеш или секрет)
    resolution: {integrity: sha512-vHk/hA7/1Ack…wbo+jaSh…Gtl+A5zq…HFg==}
  • низкая Секреты в коде secret-high-entropy-token pnpm-lock.yaml:97
    Строка, похожая на токен (может быть id, хеш или секрет)
    resolution: {integrity: sha5…Dsc+j03S…0oA==}
  • низкая Секреты в коде secret-high-entropy-token pnpm-lock.yaml:199
    Строка, похожая на токен (может быть id, хеш или секрет)
    resolution: {integrity: sha5…NS8+tHW7…WOF+PEzk…X4Q==}
  • низкая Утечка данных read-dotenv README.md:88
    Чтение файла .env
    cp .env.example .env

Просканировано файлов: 18. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.

Lint

✓ Lint: замечаний нет

Процессная зрелость 47/100

  • 0Результат и критерий готовности. Не сказано, что считать результатом
  • 0Входы и предусловия. Не сказано, что нужно иметь на входе
  • 0Ошибки и развилки. Линейный процесс без обработки сбоев
  • 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
  • 30Повторный запуск. Изменяющих операций: 1, без проверки текущего состояния
  • 60Инструменты и файлы. Используются инструменты (node), но во frontmatter они не объявлены
  • 70Когда включается. Сказано, когда применять, но не сказано, когда не стоит
  • 85Шаги. Шагов: 13, расплывчатых формулировок: 1
  • 100Согласованность. Имя и обязательные поля на месте
  • 100Стоимость исполнения. Тело инструкции 583 токенов

Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.

Сигналы качества

  • +5В description нет примеров фраз, по которым скилл должен срабатывать
  • +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
  • +3Длина description 92: рекомендуется 120–800 символов
  • +3Формат ответа не описан: модель каждый раз решает сама
  • -31 из 1 скриптов не упомянуты в SKILL.md
  • +1Лицензия не указана
  • +2Инструкции на одном языке
  • +4Структура: 9 заголовков
  • +3Пошаговые инструкции: 13 пунктов
  • +4Есть примеры (2 блоков кода)

База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 78.