SKILLEMALL.ai

DC github

GitHub через gh CLI: PR, задачи, обзоры, репозитории, аутентификация.

машинный переводПоказать оригиналСкрыть оригинал«GitHub via gh CLI: PRs, issues, reviews, repos, auth.…»

GitHub via gh CLI: PRs, issues, reviews, repos, auth.

NousResearch/hermes-agent Hermes автор: NousResearch MIT 17 файлов · 2 скрипта тело ≈ 510 токенов Открыть источникgithub.com↗ проанализирован 6 дн назад

GitHub через gh CLI: PR, задачи, обзоры, репозитории, аутентификация.

Как процесс C 57/100 · Есть пробелы — слабые места: результат и критерий готовности, когда включается, входы и предусловия

ИнтеграцияGitHubРазработкаДанные и аналитикатип и темы размечены автоматически по тексту скилла
Запускается в: Hermes Agent
JSON
Технический рейтинг
D
66/100
безопасность, качество, тесты
Безопасность 60%
61
Качество 40%
73
Прогон на моделях
не было
Процессный рейтинг
C
57/100
Есть пробелы
Результат и критерий готовности вес 14
0
Входы и предусловия вес 11
0
Отчётность по ходу вес 2
0
три самых слабых из десяти параметров · все десять

Такой же скилл встречается ещё в 1 месте: hermes-agent

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

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

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

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

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

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

Автору

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

Как улучшить

  1. Скажите в description, КОГДА применять скилл («используй, когда…», примеры запросов): это главный сигнал для агента.
Для прогона на моделях — необязательно
  • Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
  • spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.

Находки guard · 11

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

Средние и низкие: 11
  • средняя Утечка данных net-credential-use references/auth.md:256
    Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)
    curl -s -H "Authorization: token $GITHUB_TOKEN" \
  • средняя Утечка данных net-credential-use references/ci-troubleshooting.md:12
    Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)
    curl -sL -H "Authorization: token $GITHUB_TOKEN" \
  • средняя Утечка данных net-credential-use references/code-review.md:345
    Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)
    curl -s -H "Authorization: token $GITHUB_TOKEN" \
  • средняя Утечка данных net-credential-use references/code-review.md:349
    Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)
    curl -s -H "Authorization: token $GITHUB_TOKEN" \
  • средняя Утечка данных net-credential-use references/code-review.md:407
    Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)
    HEAD_SHA=$(curl -s -H "Authorization: token $GITHUB_TOKEN" \
  • средняя Утечка данных net-credential-use references/github-api-cheatsheet.md:139
    Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)
    curl -s -H "Authorization: token $GITHUB_TOKEN" \
  • средняя Утечка данных net-credential-use scripts/gh-env.sh:40
    Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)
    GH_USER=$(curl -s -H "Authorization: token $GITHUB_TOKEN" \
  • низкая Утечка данных net-credential-use references/auth.md:213
    Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (адрес назначения — известный публичный сервис)
    > LOGIN=$(curl -s -H "Authorization: token $TOKEN" https://api.github.com/user \
    известный сервис
  • низкая Утечка данных net-credential-use references/github-api-cheatsheet.md:133
    Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (адрес назначения — известный публичный сервис; в кавычках — упоминание, а не команда)
    - Check remaining: `curl -s -H "Authorization: token $GITHUB_TOKEN" https://api.github.com/rate_limit`
    известный сервисв кавычках
  • низкая Утечка данных net-credential-use references/pr-workflow.md:349
    Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (адрес назначения — известный публичный сервис; строка таблицы в документации)
    | List my PRs | `gh pr list --author @me` | `curl -s -H "Authorization: token $GITHUB_TOKEN" "https://api.github.com/repos/$OWNER/$REPO/pulls?state=open"` |
    известный сервистаблица
  • низкая Утечка данных net-credential-use references/repo-management.md:29
    Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (адрес назначения — известный публичный сервис)
    GH_USER=$(curl -s -H "Authorization: token $GITHUB_TOKEN" https://api.github.com/user | python -c "import sys,json; print(json.load(sys.stdin)['login'])")
    известный сервис

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

По спецификации Agent Skills

  • предупреждение description-no-when ни description, ни раздел "## When to Use" не говорят, когда применять скилл

Процессный рейтинг: все десять параметров 57/100

  • 0Результат и критерий готовности. Не сказано, что считать результатом
  • 0Входы и предусловия. Не сказано, что нужно иметь на входе
  • 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
  • 20Когда включается. Не сказано, при каком запросе скилл включается
  • 30Повторный запуск. Изменяющих операций: 5, без проверки текущего состояния
  • 60Согласованность. Диалект Hermes требует category и tags
  • 100Инструменты и файлы. Внешние инструменты не нужны
  • 100Шаги. Шагов: 7
  • 100Ошибки и развилки. Развилок: 1, есть раздел про ошибки
  • 100Стоимость исполнения. Тело инструкции 510 токенов

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

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

  • +5В description нет примеров фраз, по которым скилл должен срабатывать
  • +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
  • +3Длина description 53: рекомендуется 120–800 символов
  • +3Формат ответа не описан: модель каждый раз решает сама
  • +4Нет примеров входа/выхода
  • +2Инструкции на одном языке
  • +4Структура: 4 заголовков
  • +3Пошаговые инструкции: 7 пунктов
  • +4Справочные файлы упоминаются в инструкциях (10 из 10)
  • +3Все 2 скриптов описаны в инструкциях
  • +1Лицензия указана

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

В песочнице Скрипты пытаются выйти в сеть

Скрипты скилла запущены в одноразовой машине: без сети, с подложными ключами в домашнем каталоге, под наблюдением. Мы записали, что они делали. Попытка выйти в сеть или прочитать чужие секреты ограничивает техническую оценку буквой C; тихий запуск баллов не добавляет.

Оценка ограничена: не выше C. Скилл, чьи скрипты тянутся наружу или к секретам, не может носить A или B, как бы хорошо ни был написан текст.

Запущено 2 скрипта; каждому дали двадцать секунд, поддельный домашний каталог с ключами и сеть, в которой ничего нет.

Из них 1 не дошёл до работы, и об их поведении мы ничего не узнали.

scripts/gh-env.shзапускает curl
scripts/git-credential-token.pyне запустился (код 1)

24 сент. 2026 г.