Hermes Skills Hub: как проверить, установить, активировать и протестировать Skill
Пошаговое руководство по Hermes Skills Hub: найти и проверить Skill до установки, прочитать результат security scan, активировать его в новой сессии или через --now в чате, выполнить задание ascii-art, сохранить результат и разобрать случаи, когда Skill не виден или не запускается.
Содержание

Skill в Hermes — это инструкция, которая загружается по требованию, а не модуль, который обязан постоянно занимать контекст. Проблемы обычно начинаются не на этапе поиска названия, а позже: пользователь не изучает содержимое до установки, не замечает предупреждение security scan, остаётся в старой сессии или ждёт автоматического срабатывания без проверяемого результата.
Ниже вся цепочка показана на официальном optional Skill ascii-art. Он удобен для первого теста: результат сразу виден, его можно сохранить как обычный текст и проверить скриптом. Команды и поведение сверены с официальной документацией и репозиторием Hermes, открытыми 10 октября 2026 года. Вывод конкретной версии может отличаться, поэтому для установки используйте identifier и результат сканирования, которые вернул именно ваш Hermes.
Вся цепочка в одной таблице
| Этап | Действие | Критерий успеха |
|---|---|---|
| Поиск | Найти Skill в Hub и скопировать полный identifier | Источник и точный объект известны, путь не придуман вручную |
| Проверка | Использовать inspect для метаданных и усечённого preview SKILL.md, затем открыть полные файлы именно того источника и версии | Полный пакет позволяет ответить на все шесть вопросов; иначе установка прекращается |
| Установка | Использовать интерактивный CLI, если до копирования нужно решение человека; чат считает саму команду согласием | Граница подтверждения после scan понятна до установки |
| Активация | Открыть новую сессию или применять чатовый --now только после проверки точного пакета | Сессия распознаёт slash-команду Skill |
| Верификация | Установить фактический источник и путь, запускать audit только для Hub-регистрации, затем вызвать явно | Проверены именно байты активной команды, а не перекрытая Hub-копия |
| Приёмка | Сохранить результат и проверить ограничения | Файл существует, размер и содержимое соответствуют заданию |
| Диагностика | Разделить проблемы identifier, cache, precedence и dependencies | После одного изменения проходит тот же минимальный тест |
1. Подготовьте узкий и безопасный тест
Нужна рабочая установка Hermes и терминал, где выполняются команды hermes skills .... Для первой установки лучше выбрать официальный optional Skill и задачу без аккаунта, секрета и права записи во внешнюю систему.
Сначала посмотрите, что уже доступно:
hermes skills list
Если ascii-art уже есть в списке, не считайте его автоматически Hub-установкой и не перезаписывайте ради инструкции. Уточните источник в списке и проверьте ближайший корень проекта на одноимённые .hermes/skills/ и .agents/skills/: project-копия имеет более высокий precedence, чем profile-local. Последующий audit проверяет содержимое, которое выполнит /ascii-art, только если Skill зарегистрирован Hub и не перекрыт. В остальных случаях прочитайте полные файлы фактически активной копии либо выберите другой ещё не установленный официальный optional Skill для полного упражнения install + audit.
2. Найдите Skill и выполните inspect до установки
Ищите по назначению:
hermes skills search "ascii art"
Результат должен содержать название, источник и полный identifier. В текущей структуре официального репозитория этот optional Skill находится по адресу official/creative/ascii-art, но для конкретной установки главным остаётся identifier из вашего вывода. Затем выполните read-only проверку:
hermes skills inspect official/creative/ascii-art
inspect работает только на чтение, но не заменяет полную проверку файлов. Официальная реализация показывает первые 50 строк SKILL.md и сообщает число оставшихся строк; метаданные выводятся отдельно, а support-файлы не прочитываются за вас. До установки откройте полный SKILL.md и все включённые или упомянутые support-файлы из того же источника, identifier и версии, которые вернул search. Для примера доступен закреплённый полный ASCII Art Skill, но его нужно сверить с реально устанавливаемым пакетом. В этой закреплённой версии 322 строки; сетевые вызовы, примеры установки через sudo и custom fallback находятся после 50-строчного preview.
После чтения полных файлов ответьте как минимум на шесть вопросов:
- Источник и identifier: это тот издатель и объект, которому вы собирались доверять?
- Платформа: заявлена ли поддержка вашей ОС?
- Зависимости: нужны ли системные пакеты, Python-пакеты или отдельные утилиты?
- Сеть и внешние сервисы: может ли какая-либо ветка отправлять данные на сторонний URL?
- Файлы и команды: что Skill способен читать, создавать, изменять и запускать?
- Настройки и credentials: нужен ли вход, API Key или повышенные права?
Если полный пакет не позволяет уверенно ответить хотя бы на один вопрос, остановитесь: усечённый preview не считается завершённой проверкой. Официальный ascii-art описывает локальные инструменты, публичные сетевые сервисы и прямую генерацию. Чтобы первый тест был контролируемым, финальное задание запрещает установку пакетов и сетевые обращения и требует custom generation fallback.
3. Не пропускайте security scan при установке
Если при первой установке нужно прочитать scan и принять решение до копирования файлов, используйте интерактивный терминал с полным identifier из результата поиска:
hermes skills install official/creative/ascii-art
По официальной реализации Hermes сначала получает пакет, помещает его в quarantine и запускает security scanner. Если политика разрешает пакет, обычный интерактивный CLI спрашивает подтверждение перед копированием в локальный каталог; именно этот путь даёт реальную паузу «прочитать отчёт — решить». Формулировки интерфейса могут меняться, но порядок решения должен оставаться таким:
- прочитайте
verdict; - разберите каждый finding, его файл и тип риска;
- сопоставьте поведение с заявленной задачей Skill;
- остановитесь, если остаётся высокий или непонятный риск.
Не используйте принудительную установку как стандартный ответ на непонятный отчёт. Сканирование — это входной барьер, а не гарантия качества всех внешних зависимостей, сервисов или результата. После установки всё равно нужно определить активную копию, запускать audit только в его области применимости и выполнить минимальную задачу.
Установка и немедленная активация в текущем чате
Внутри чата Hermes используйте:
/skills install official/creative/ascii-art --now
У этого пути другая граница согласия. Slash-action /skills install вызывает установщик с skip_confirm=True, потому что чат не может ждать терминальный input(); ввод команды считается неявным согласием на установку. Scanner всё ещё может заблокировать запрещённый пакет, но после разрешающего решения нет отдельной паузы, где можно прочитать findings и отказаться до копирования. Поэтому для первой проверки используйте интерактивный CLI и затем новую сессию.
--now относится только к чат-команде /skills install. Он сразу инвалидирует prompt cache, но не добавляет этап подтверждения. Используйте чатовый путь только после проверки и принятия именно этого источника и версии. Не добавляйте --now к терминальной команде hermes skills install. В официальном руководстве указано, что перестроение контекста на следующем ходе потребует больше tokens.
4. Активируйте Skill в правильной сессии
После обычной CLI-установки надёжнее начать новую сессию. Уже открытый диалог может хранить индекс Skills, сформированный при запуске. Поэтому наличие папки на диске ещё не доказывает, что старая сессия знает новую slash-команду.
Есть два корректных пути:
- По умолчанию: завершить текущий диалог и открыть новую сессию; если среда поддерживает,
/resetсоздаёт свежую сессию. - Сразу в текущем чате: только после полной проверки точного источника и версии и принятия неявного согласия чат-команды выполнить установку с
--now, чтобы немедленно инвалидировать cache.
Не смешивайте состояния «файлы находятся в ~/.hermes/skills/» и «эта сессия загрузила Skill». Именно на этой границе чаще всего появляется ситуация «установлено, но не видно».
5. Проверьте обнаружение, audit и slash-команду
В терминале выполните:
hermes skills list
# Выполняйте только если ascii-art зарегистрирован в Hub lock file:
hermes skills audit ascii-art
Список показывает обнаружение и помогает установить фактический источник. audit перебирает только установки из HubLockFile: при их отсутствии выводится No hub-installed skills to audit, а для не-Hub имени — is not a hub-installed skill. Это не означает поломку и не доказывает, что видимая копия была просканирована.
Если project-копия с тем же именем перекрывает Hub-копию, audit всё равно сканирует путь из lock file в profile-local каталоге, а /ascii-art загружает project-копию. Установите активный путь и прочитайте полный SKILL.md и support-файлы этой копии; результат Hub audit нельзя выдавать за проверку выполняемого содержимого. Для полного упражнения Hub install выберите официальный optional Skill без одноимённого перекрытия. Для применимой Hub-установки сначала исправьте отсутствующие файлы, неверный путь или findings высокого риска, затем переходите к задаче.
В новой сессии или после --now вызовите Skill явно:
/ascii-art
Для первой приёмки явный вызов лучше естественной фразы: он исключает неопределённость маршрутизации. Если Hermes распознаёт команду и ожидает задачу, регистрация в сессии работает.
6. Выполните реальную задачу и сохраните результат
Отправьте в той же сессии:
/ascii-art Use the custom generation fallback to create a banner spelling HERMES with ASCII characters only. Do not install packages or use network services. Return exactly one fenced text block, no more than 60 characters wide and 15 lines high.
Это синхронная задача в чате: job ID не создаётся, polling не нужен. Дождитесь завершения того же ответа и сохраните только содержимое fenced block в файл:
hermes-ascii.txt
Сохраните этот проверочный скрипт как validate_ascii.py:
from pathlib import Path
path = Path("hermes-ascii.txt")
text = path.read_text(encoding="utf-8")
lines = text.splitlines()
width = max((len(line) for line in lines), default=0)
ascii_only = text.isascii()
print({"lines": len(lines), "max_width": width, "ascii_only": ascii_only})
raise SystemExit(not (lines and len(lines) <= 15 and width <= 60 and ascii_only))
Затем выполните:
python validate_ascii.py
Задача принята только если одновременно выполнены условия:
- текущая сессия распознаёт
/ascii-art; - в ответе один текстовый блок для сохранения;
- в баннере читается
HERMES; hermes-ascii.txtне пуст;- скрипт показывает не более 15 строк, ширину не более 60 символов и
ascii_only: True, затем завершается с кодом 0; - Skill не просит установить пакет, выйти в сеть или предоставить credential.
Проверка ASCII обязательна: официальный custom fallback прямо предлагает Unicode-рамки и блочные символы. Только длина, высота и читаемость ошибочно пропустили бы результат вроде HERMES ░. Если ascii_only равен False, повторите ту же задачу с требованием заменить все не-ASCII символы, перезапишите файл и снова запустите validator.
Такой контракт надёжнее скриншота: форма букв может измениться, а вызов, сохранённый артефакт и измеримые ограничения остаются стабильными.
7. Что делать, если Skill не виден или не запускается
| Симптом | Что проверить первым | Исправление и повторная проверка |
|---|---|---|
| Поиск не даёт нужного результата | Запрос или фильтр источника слишком узкий | Расширьте запрос, скопируйте полный identifier и снова выполните inspect |
inspect работает, а download нет | Файлы могли быть перемещены; возможны network или rate-limit сообщения | Выполните search заново, не угадывайте путь; при stale index выберите актуальный результат |
| Установка заблокирована сканером | Verdict, файл и тип риска каждого finding | Остановитесь, прочитайте файлы или выберите другой Skill; force не должен быть обычным решением |
В hermes skills list Skill есть, а /ascii-art нет | Чат мог быть открыт до установки | Начните новую сессию или /reset; для будущей немедленной установки используйте чат-команду с --now |
| Slash-команда работает, а естественная фраза не срабатывает | Маршрутизация могла не выбрать Skill | Сначала вызывайте /ascii-art <задача> явно, затем отдельно проверяйте natural-language routing |
| Загружается другое содержимое с тем же именем | Активной может быть project-копия, тогда как audit проверил только Hub lock path | Проверьте .hermes/skills/ и .agents/skills/ в ближайшем project root и прочитайте активную копию; audit перекрытой Hub-копии не доказывает содержимое /ascii-art |
| Skill предлагает пакет или сеть | Выбрана ветка pyfiglet, cowsay или online API | Повторите acceptance prompt и явно потребуйте custom fallback без установки и сети |
| Audit Hub-установки отличается от результата при установке | Файлы в Hub lock path могли измениться или обновиться | Прекратите использование, найдите источник изменений, повторите audit и тот же минимальный тест |
| Skill отсутствует на другой платформе | Он может быть выключен для неё или иметь несовместимый platforms | Проверьте per-platform enablement, затем откройте новую сессию на этой платформе |
Меняйте только одну переменную и каждый раз повторяйте задачу HERMES. Так можно отделить ошибку поиска от установки, session loading, routing и самой процедуры Skill.
8. Выбирайте Skill по задаче, а не по общему рейтингу
Вместо вопроса «какой Skill лучший» проверьте:
- Закрывает ли он вашу текущую работу, а не просто даёт общие советы?
- Показывает ли
inspectзависимости, сеть, файлы и границы разрешений? - Можно ли проследить источник и повторить audit после обновления?
- Есть ли наблюдаемый success signal и повторяемый минимальный тест?
- Можно ли безопасно остановиться до записи во внешнюю систему, если что-то пошло не так?
Для первого запуска лучше простой ввод, минимальные права и сохраняемый результат. Skills с аккаунтами, write access и внешними сервисами стоит подключать после освоения этой цепочки.
Финальный чек-лист
- Search вернул полный identifier, а не предполагаемый путь.
inspectиспользован как усечённый preview, а полныйSKILL.mdи support-файлы прочитаны для точного источника и версии.- Когда требовалось решение до копирования, использован интерактивный CLI и прочитаны verdict и findings.
- Использована новая сессия; чатовый
--nowприменён только после полной проверки и с пониманием отсутствия post-scan подтверждения. hermes skills listподтвердил активный источник;hermes skills audit ascii-artзапускался только для незатенённой Hub-регистрации./ascii-artвызван явно, файлhermes-ascii.txtсохранён.- Пройдены проверки размеров, ASCII-only и визуальной читаемости.
- Ошибка отнесена к конкретному слою, исправлена и повторно проверена той же задачей.
После этого доказано не только наличие каталога установки. Skill найден, понят, прошёл входной барьер, попал в нужную сессию, выполнил задачу и оставил проверяемый результат.