The Skills System: How Hermes Learns From Experience
Skills are the heart of Hermes' self-improvement loop: they are on-demand knowledge documents the agent can load when it actually needs them. Instead of keeping every procedure in context all the time, Hermes uses a progressive disclosure pattern that minimizes token usage, and the format is compatible with the open agentskills.io standard.
All skills live in ~/.hermes/skills/, which acts as the primary directory and source of truth. On a fresh install, bundled skills are copied from the repository; hub-installed and agent-created skills are also stored here, and the agent can modify or delete any of them. Hermes can also point at external skill directories — additional folders scanned alongside the local one, useful when you maintain a shared ~/.agents/skills/ directory used by several AI tools.
Progressive Disclosure Keeps Prompts Lean
Skills follow a token-efficient, three-level loading pattern:
- Level 0:
skills_list()returns only names, descriptions, and categories (~3k tokens). - Level 1:
skill_view(name)loads the full content plus metadata. - Level 2:
skill_view(name, path)loads one specific reference file.
The agent only pulls in the full skill content when a task genuinely needs it, so your system prompt stays small and your context window stays free for the actual work.
Using Skills By Slash Command
Every installed skill is automatically available as a slash command in the CLI or any messaging platform. For example, /gif-search funny cats loads the GIF search procedure and runs it against your instruction. You can also stack several skills in a single message by chaining leading /skill tokens (up to five) at the start — /github-pr-workflow /test-driven-development fix issue #123 and open a PR loads both skills and passes the rest as your instruction. For combinations you reuse often, a skill bundle groups several skills under one short command via a YAML file.
Learning From Experience With /learn
The /learn command is the fastest way to turn something you already know — or a pile of reference material — into a reusable skill without hand-writing a SKILL.md. It is open-ended: point it at a local SDK directory, an online docs page, pasted notes, or a whole book, and the agent gathers the material using the tools it already has, then authors a skill that follows the house standards (a description under 60 characters, the standard section order, and no invented commands).
For large sources such as a book or a paper stack, the agent authors an expansive knowledge-base skill: a lean SKILL.md carrying the source's core mental models plus an index, with one distilled file per chapter or topic under references/. Reference files cost nothing until a question needs one, so query cost stays proportional to the answer, not the source. The distillation synthesizes structure — frameworks, definitions, and decision rules — and never reproduces passages of the source text.
The skill_manage Tool
The agent can create, update, and delete its own skills through the skill_manage tool — this is its procedural memory. When it figures out a non-trivial workflow, hits an error and finds the working path, or you correct its approach, it saves the approach for future reuse. Skills store longer procedures that load only when relevant, while memory stores small durable facts that should always be in context; the two work together in the self-improvement loop.
A skill entry captures lessons, not logs: a pitfall is a generalizable rule plus one clause of why (the mechanism), attached to the step it affects, stated once. Incident narration, pull-request numbers, and quoted chat are not skill content. The skill_manage tool runs an advisory linter on creates and references/ writes, returning findings in the tool result. If you'd rather review every skill write first, the skills.write_approval gate stages writes for review with /skills pending, /skills diff, /skills approve, and /skills reject.
The Skills Hub
Beyond the bundled catalog, the Skills Hub lets you browse, search, install, and manage skills from online registries. hermes skills browse and hermes skills search <term> reach official optional skills, the skills.sh directory, well-known endpoints published at /.well-known/skills/index.json, direct GitHub repositories, and more. Every hub-installed skill passes through a security scanner that checks for data exfiltration, prompt injection, destructive commands, and other threats before it is activated.
Key Takeaways
- Skills are on-demand knowledge documents that load with progressive disclosure to keep token use minimal.
- Every installed skill is available as a
/skill-nameslash command and can be chained with others. - The
/learncommand turns sources, workflows, and documents into standards-compliant skills automatically. - The
skill_managetool gives the agent procedural memory, capturing non-trivial workflows as reusable lessons. - The Skills Hub brings in third-party skills from registries, GitHub, and well-known endpoints — with security scanning on every install.