Hermes Skills Hub:Skillを確認・インストール・有効化・検証する手順
Hermes Skills HubでSkillを検索してinspectし、セキュリティスキャンを読んでインストールし、新しいsessionまたはchat専用の--nowで有効化する手順です。ascii-artの実タスクを保存・検証し、Skillが見えない、自然文で発火しない、依存関係へ進んでしまう場合の診断も扱います。
目次

HermesのSkillは、必要なときに読み込む手順書です。常に会話のcontextを占有するプラグインではありません。つまずきやすいのは検索そのものより、インストール前に内容を読まないこと、security reportを確認しないこと、古いsessionを使い続けること、そして検証可能な出力を残さず自然文の自動発火だけに頼ることです。
ここでは公式optional Skillのascii-artを使います。結果を目視でき、text fileとして保存し、短いscriptで条件を測れるため、最初のacceptance testに向いています。コマンドと動作は2026年10月10日に開いた公式Hermes文書とリポジトリで確認しました。表示はversionで変わる可能性があるため、実際のHermesが返したidentifierとscan reportを優先してください。
全体の流れ
| 段階 | 操作 | 合格条件 |
|---|---|---|
| 検索 | Hubを検索し、完全なidentifierをコピー | sourceと対象が明確で、pathを推測していない |
| 確認 | inspectでmetadataと切り詰められたSKILL.md previewを見た後、同じsource/versionの完全なfilesを開く | 6項目すべてを確認でき、未確認なら停止する |
| インストール | Copy前に人が判断する必要があればinteractive CLIを使う。chatではcommand入力自体が同意になる | 2つの経路のpost-scan confirmation境界を理解している |
| 有効化 | 新しいsessionを開く。exact bundleを確認済みの場合だけchatで--now | sessionがslash commandを認識 |
| 検証 | 実際のsource/pathを確認し、Hub登録済みでshadowされていないinstallだけaudit | 本当にloadされるcopyを確認済み |
| 受入 | outputを保存して制約を測定 | fileが存在し、task contractを満たす |
1. 準備してsearchとinspectを行う
hermes skills ...を実行できるHermes環境とterminalが必要です。最初は、account、secret、外部systemへのwrite権限を必要としない公式Skillを選びます。
hermes skills list
hermes skills search "ascii art"
ascii-artがすでにlistにあっても、Hub installだと決めつけず、例に合わせるためだけに上書きしないでください。表示sourceとeffective pathを確認します。projectの.hermes/skills/または.agents/skills/にある同名copyはglobal copyより優先されます。後述のauditが実際の/ascii-art contentを対象にするのは、Hub登録済みで上位copyにshadowされていない場合だけです。それ以外はactive copyの完全なfilesを読むか、Hub install/auditを一通り試すため別の公式optional Skillを選びます。Search結果の完全なidentifierを使い、official/creative/ascii-artという現在のpathより実際のsource/versionを優先してください。
hermes skills inspect official/creative/ascii-art
inspectはread-onlyですが、完全なfile reviewではありません。公式実装が表示するSKILL.mdは先頭50行だけです。Install前に、実際のsourceとversionから完全なSKILL.mdと参照されたsupport filesを開いてください。このガイドで固定したASCII Art Skill全文は322行あり、network call、sudo install、custom fallbackはpreviewより後にあります。Source、platforms、dependencies、network、files/commands、configuration/credentialsの6項目を完全なfilesで確認し、1つでも不明なら停止します。後のtaskはpackage installとnetworkを禁止し、direct fallbackを指定します。
2. Security scanを読んでインストールする
hermes skills install official/creative/ascii-art
公式実装はbundleをquarantineへ取得してscannerを実行します。Scan policyが許可した後、通常のinteractive CLIはlocal directoryへcopyする前にconfirmationを求めます。Findingsを読み、copy前に人が続行可否を決める必要がある場合はこの経路を使います。
成功表示だけでなく、verdict、各findingのfileとrisk typeを読み、Skillの目的と整合するか確認します。高riskまたは説明できない動作が残るなら停止し、forceを通常の解決策にしないでください。Scanはinstallation gateであり、外部dependency、service policy、output qualityの保証ではありません。
現在のchatへinstallしてすぐ反映する場合:
/skills install official/creative/ascii-art --now
Chatの/skills install actionはinstallerをskip_confirm=Trueで呼び出します。Command入力自体がimplicit consentで、scanが許可した後にfindingsを読んでcopyを止める別のhuman pauseはありません。最初のreviewではinteractive CLIを使い、その後に新しいsessionを開始してください。
--nowはcurrent sessionのSkills cacheをinvalidateして再構築するだけで、confirmationは追加しません。Exact source/versionを確認して受け入れた場合だけ使い、terminalのhermes skills installには付けないでください。
3. 正しいsessionで有効化し、verifyする
通常のCLI installは新しいsessionで試します。Install前から開いていた会話は、filesが~/.hermes/skills/にあっても起動時のindexを保持する場合があります。新sessionまたは/resetを使い、current sessionの--nowはfull review後にchat commandのimplicit consent境界を受け入れた場合だけ選びます。
Terminalで次を確認します。
hermes skills list
# ascii-artがHub lock fileに登録されている場合だけ:
hermes skills audit ascii-art
Listはdiscoveryとeffective sourceの確認に使います。auditがscanするのはHubLockFile登録済みinstallだけです。対象がなければNo hub-installed skills to audit、non-Hub nameならis not a hub-installed skillと表示されますが、これは破損でも、そのcopyをscan済みという意味でもありません。同名のproject copyがHub copyをshadowしていると、auditはlock-file pathをscanし、/ascii-artはproject copyをloadします。Active pathの完全なfilesを読むか、shadowのない別の公式Skillでflowを完了してください。対象となるHub installでmissing files、invalid path、risk findingsがあればtask前に直します。
/ascii-art
Hermesがcommandを認識しtask入力を待てば、session registrationは成功です。最初の検証では、natural-language routingの不確実性を除くため明示呼び出しを使います。
4. 実タスクを実行し、保存して検収する
同じsessionで送ります。
/ascii-art custom generation fallbackを使い、ASCII文字だけでHERMESと読めるbannerを作成してください。packageをinstallせず、network serviceも使わないでください。幅60文字以内、高さ15行以内のfenced text blockをちょうど1つ返してください。
これは同期taskです。job IDもpollingもありません。同じturnのresponseが終わるまで待ち、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が読め、fileが空でなく、scriptがascii_only: Trueを表示してexit code 0で終了し、package・network・credentialを要求しなければ合格です。字形は変わっても測定可能なcontractは変わりません。
ASCII checkは必須です。公式custom fallbackにはUnicodeのline/block charactersが含まれるため、高さ・幅・可読性だけではHERMES ░のようなoutputを誤って合格させます。ascii_onlyがFalseなら、同じpromptで全non-ASCII characterの置換を求め、fileを上書きしてvalidatorを再実行します。
5. 症状別の切り分け
| 症状 | 最初の確認 | 修正と再テスト |
|---|---|---|
| Searchで見つからない | queryやsource filterが狭い | termsを広げ、現在のidentifierをコピーしてinspect |
inspectはできるがdownload失敗 | files移動、network、rate limit | 再searchし、古いpathを推測し続けない |
| Scanでinstallが止まる | verdict、file、risk type | 停止して内容を読むか別Skillを選ぶ |
Listにあるが/ascii-artがない | sessionがinstall前から開いていた | 新sessionまたは/reset。必要時はchat installで--now |
| Slash commandは動くが自然文では動かない | routerがSkillを選んでいない | 先に/ascii-art <task>、natural languageは別に試す |
| 同名で別contentが開く | Effective pathがproject copyで、auditはHub lock pathだけをscanした可能性 | .hermes/skills/と.agents/skills/でactive copyを確認し完全なfilesを読む。shadowされたHub auditを/ascii-art contentの証明にしない |
| packageやnetworkを求める | pyfiglet、cowsay、web route | custom fallback、no install、no networkを再指定 |
| Hub installのaudit結果が変わった | Hub lock pathのfilesが変更・更新された | 使用停止、変更元確認、auditと同じminimal taskを再実行 |
| 別のplatform(CLI/Telegram/Discord)ではSkillが見えない | そのplatformでSkillが無効化されているか、platformsが非対応 | CLI・Telegram・Discordごとの有効/無効設定とSkillのplatformsを確認。修正後、そのplatformで新sessionを開き、同じminimal taskを再実行 |
一度に変える変数は1つだけにし、毎回同じHERMES taskを繰り返します。これでdiscovery、installation、session loading、routing、executionを分離できます。
6. 一般的なランキングではなくtaskで選ぶ
現在の仕事を直接完了できるか、inspectで権限とdependenciesが明確か、sourceを追跡できるか、再現可能なsuccess signalがあるか、失敗時にexternal write前で安全に止められるかを見ます。最初は小さなinput、最小権限、保存可能なoutputを優先してください。
最終チェック
- Searchから完全なidentifierを得た。
inspectをtruncated previewとして扱い、exact source/versionの完全なSKILL.mdとsupport filesを読んだ。- Copy前の判断が必要な場合はinteractive CLIでverdict/findingsを読んだ。
- 新sessionを使い、chatの
--nowはfull review後、post-scan confirmationがないことを理解して使った。 hermes skills listでactive sourceを確認し、auditはHub登録済み・非shadow installだけに実行した。/ascii-artを明示し、hermes-ascii.txtを保存してsize、ASCII-only、readabilityを通した。- Failureを1つのlayerに割り当て、同じtaskで再検証した。
これで単なるdirectoryの存在ではなく、Skillを発見・理解・安全確認・session load・実行し、保存した結果で検証できたことを示せます。