Hermes Agent Skills: Master /learn Without Bloated Context (2026)
Hermes skills are procedures loaded on demand, while memory holds small facts that should persist. The distinction keeps a useful agent from turning every request into an expensive wall of instructions.
Skills and memory solve different problems
Use memory for a fact such as “production deploys require approval.” Use a skill for the procedure that checks the branch, runs tests, builds the artifact, and prepares the release.
Hermes keeps installed skill descriptions available for discovery and loads the full SKILL.md only when needed. That makes skills a better home for long workflows than a growing memory file that travels with every request.
Browse, search, and install
The current CLI supports:
hermes skills browse
hermes skills search kubernetes
hermes skills install openai/skills/k8s
The install argument is a source/path slug shown by the browser. Hermes runs a security scan during installation, but a scan is not a guarantee. Inspect any community skill that can execute commands, read secrets, or publish externally.
Every installed skill becomes a slash command:
/k8s deploy the staging manifest
Natural-language requests work too. Hermes can use skill_view when a task matches the skill description.
Use /learn on evidence, not aspirations
/learn can build a skill from several source types:
/learn the REST client in ~/projects/acme-sdk, focus on auth and pagination
/learn https://docs.example.com/api/quickstart
/learn how I just deployed the staging server
/learn ~/books/designing-data-intensive-applications.pdf
The best time to learn a workflow is after it has succeeded and the verification step is visible. If you teach the agent from an untested plan, the resulting skill preserves guesses as procedure.
For large source sets, Hermes creates a lean main skill plus indexed reference files. Those references load on demand, so a large manual does not need to sit in every prompt.
A five-step skill loop
- Do the task once with evidence. Keep the commands, failures, and successful verification in the session.
- Run
/learnon that workflow. Tell Hermes what outcome matters and which mistakes to avoid. - Inspect the generated skill. Confirm every command exists and every path is portable or explicitly local.
- Test in a fresh session. A skill that only works with hidden context from the authoring session is incomplete.
- Patch the skill after real corrections. Preserve the working structure and change the smallest incorrect part.
Hermes exposes skill_manage actions for create, patch, edit, delete, and supporting files. The official documentation prefers patching for targeted fixes because a full rewrite can remove useful constraints.
Turn on the write-approval gate
Hermes can create and improve skills automatically after it solves a difficult task or receives a correction. If you want human review before those changes land, configure:
skills:
write_approval: true
Then use /skills pending, /skills diff <id>, /skills approve <id>, or /skills reject <id>. The review commands work through messaging platforms as well as the CLI when approval is enabled.
This is especially important with small models, production automation, and skills that contain shell commands. A wrong lesson should remain a proposed diff, not become the default behavior for every future task.
Avoid the “install 100 skills” trap
YouTube search is full of “skills you need” lists. Install against a real workflow instead. A skill you never invoke still adds catalog noise, increases the supply-chain surface, and makes routing less precise.
Start with the bundled catalog. Add a community skill only when it closes a specific capability gap, and remove it when the underlying workflow disappears. Use hermes prompt-size and /context all to confirm whether your setup is carrying more skill context than expected.
Preload only when the first turn needs it
For a session that definitely needs specific skills:
hermes -s hermes-agent-dev,github-auth
hermes chat -s github-pr-workflow -s github-auth
Preloading saves a discovery round trip, but it also puts the full instructions into the opening context. Do it deliberately rather than turning every skill into a default.
What a good skill contains
A useful skill states when it should trigger, the required inputs, the bounded steps, failure handling, verification, and the expected output. It does not invent commands, hide destructive actions, or assume credentials are present. Supporting scripts should handle repeatable arithmetic and I/O; the skill should carry the judgment and sequence.
Official references
Related guides
Need OpenClaw fixed live?
Remote rescue sessions for gateway, auth, tunnel, VPS, and model access problems.
See Rescue Session