Skills Loading Pipeline

How skills travel from disk to active context — filesystem scan through chat-turn injection

AGENT STARTUP CHAT TURN ~/.hermes/skills/ filesystem on agent host one directory per skill Skills Loader Hermes Agent module scans dir at startup Manifest Validation parses SKILL.md frontmatter name, triggers, tags, version Skill Index in-memory registry all validated skills Invalid manifest skipped, logged as warning Filter: enabled flag disabled skills excluded Active Skills Pool ready for context injection exposed via /api/skills scan parse valid enabled Skills Page (Switch UI) Installed enabled skills Hub browseable skills User Message chat composer Trigger Matcher checks active skills list no match normal freeform response Skill Content Injector appends skill body to context Agent Context Window system + skill + user prompt Agent executes skill behaviour follows skill instructions match active skills available to matcher Legend Storage Hermes Agent Switch UI / Active Pool Error / skip path

Filesystem scan

  • • Agent reads ~/.hermes/skills/ at startup
  • • Each subdirectory is a candidate skill
  • • Directories without a valid SKILL.md are skipped
  • • Reload can be triggered without full restart

Manifest validation

  • • SKILL.md frontmatter parsed for name, description, triggers
  • • Missing required fields → skill skipped with warning
  • • Security risk score computed from content
  • • Validated skills added to the in-memory index

Chat-turn injection

  • • On each turn, trigger phrases matched against user message
  • • Matching skill body prepended to agent context
  • • Agent follows skill instructions for that turn
  • • Disabled skills are excluded from matching