Hermes Agent skills: how they work across profiles
Updated
A Hermes Agent skill is a folder with a SKILL.md file: instructions for one kind of task that the agent loads only when a task needs them. Each profile keeps its own skills, so a skill one profile learns stays with that profile unless you share the folder. This guide covers how skills work, how to share them between profiles, and what belongs in a wiki instead.
What are Hermes Agent skills?
Nous Research’s docs describe skills as on-demand knowledge documents. They follow a progressive disclosure pattern: the agent sees a list of skill names and one-line descriptions, and loads a skill’s full text, or one of its reference files, only when a task calls for it. Skills are compatible with the agentskills.io open standard.
A skill is a directory with a SKILL.md at its root. The file starts with frontmatter (name, description, version, optional platforms, tags and config), then the steps in order, the pitfalls, and how to check the result:
---
name: release-notes
description: Draft release notes from merged pull requests
version: 1.0.0
---
# Release notes
Use when the person asks for release notes for a version.
1. List the pull requests merged since the last tag.
2. Group them into Added, Changed and Fixed.
3. Write one plain sentence per change.
## Pitfalls
- Skip dependency bumps unless they change behaviour.
## Verification
Every merged pull request appears once.
Every installed skill is also a slash command in the CLI and in any chat app Hermes answers in. /release-notes 2.4 loads the skill with your instruction, and you can stack up to five skills at the start of one message.
Where skills come from
- Bundled. A new profile is seeded with Hermes’s bundled catalog, and
hermes updateadds newly bundled skills to every profile. Skills you have edited are never overwritten. - Skills Hub.
hermes skills browseandhermes skills search <term>look across the official optional skills and outside registries.hermes skills inspect <name>previews one andhermes skills install <name>installs it after a security scan. /learn. Point it at a docs folder, a URL, your notes, or a workflow you just walked the agent through, and it writes the skill for you. A large source, such as a book or a docs site, becomes a skill with a shortSKILL.mdand one reference file per topic.- The agent itself. Hermes writes and updates its own skills with its
skill_managetool. The docs call this the agent’s procedural memory: it records a workflow after working out a multi-step process, after hitting dead ends and finding the path that works, or after you correct its approach. Setskills.write_approval: trueif you want to approve each change first, then review them with/skills pendingand/skills approve.
Skills vs memory
The docs draw the line this way: memory holds small, durable facts that should always be in context, and skills hold longer procedures that load only when relevant. Hermes memory is two short files per profile, MEMORY.md and USER.md, loaded into every session; the Hermes Agent memory guide covers them.
A skill captures lessons, not logs. The docs ask for a procedure, the commands that work, and the pitfalls, and they keep incident stories, issue numbers, dates and quoted chat out of skills.
Skills and profiles
A profile is a separate Hermes home with its own config, .env, SOUL.md, memories, sessions and skills. hermes profile create research seeds the bundled skills; add --no-skills for an empty profile. Creating a profile with --clone copies your current skills and curated memory into it once. After that the two are independent: editing one profile’s skills never reaches the other.
To share skills across profiles on one machine, point them at a common folder in each profile’s config.yaml:
skills:
external_dirs:
- ~/.agents/skills # read by every profile that lists it
create_dir: ~/.agents/skills # where new agent-written skills go
How the docs say this behaves:
- Skills in
external_dirsshow up in the skill list and as slash commands like local ones. - If a local skill and an external one share a name, the local one wins.
- An external folder is not read-only. If Hermes can write to it,
skill_managecan change the skills there. create_dirsends new agent-written skills to that folder, so the next profile finds them.- A repository can carry its own skills in
.hermes/skills/. Inside that project they take precedence over local and external ones.
What belongs in a wiki instead
Skills answer “how do I do this kind of task”. Much of what a fleet of profiles learns is something else: how a system works, what was decided and why, what a customer said, what the research found. That is not a procedure, so it does not fit a skill, and it is too large for two short memory files.
It also needs to reach every profile, including ones on other machines, and a shared skills folder lives on one disk. The Hermes docs advise against pointing two agents at the same home, and suggest an external memory provider when agents need shared memory. A wiki the profiles reach over MCP is another way to share it.
Dexio is a wiki like that: a hosted wiki that every profile reads and writes over MCP, with a link graph and broken-link checks you can see at https://app.dexio.wiki. Connect a profile by sending it this:
Connect yourself to my Dexio wiki. Read the steps with curl -s https://dexio.wiki/agents.md and follow them.
The Hermes Agent memory guide covers the rest, including connecting several profiles with one API key.
A skill that uses the wiki
Skills and a wiki work well together: the skill holds the procedure, and the wiki holds what the procedure produces. A short shared skill keeps every profile writing to the wiki the same way:
---
name: dexio-wiki
description: Read and write the shared Dexio wiki
version: 1.0.0
---
# Dexio wiki
Use before work on any topic the wiki may cover, and when something
worked out will be needed again.
1. search_pages and read_page first. Update the page that exists.
2. Pass the base_version from read_page when you edit.
3. Link related pages with [[wikilinks]].
4. Put your profile name in the agent field on every change.
## Pitfalls
- Never write API keys or passwords to the wiki.
Put it in the shared skills folder and every profile on that machine can use it as /dexio-wiki. Each change it makes carries the profile’s name, so the wiki’s page history shows which profile wrote what.