Procedural memory

Hermes Agent Skills

A Hermes skill is a folder with a SKILL.md file — a name, a short description, and a step-by-step procedure for one kind of task. Hermes sees only the short descriptions until a task needs a skill, then loads the full text. Every installed skill also becomes a slash command, such as /github-pr-workflow.

Skills are how Hermes “learns”: when it works out a non-trivial workflow, hits a dead end and finds the fix, or you correct its approach, it can save that procedure as a new skill with its skill_manage tool. Skills follow the open agentskills.io format and live in ~/.hermes/skills/.

Checked against official Nous Research sources on September 26, 2026 (Hermes Agent v0.21.5).

Skills vs. memory vs. plugins vs. MCP

These four are easy to mix up, and putting something in the wrong layer is a common reason Hermes “forgets how” to do it.

LayerHoldsLoadedWhere
SkillProcedures: how to do a taskOn demand (descriptions always visible)~/.hermes/skills/<name>/SKILL.md
MemorySmall durable facts about you and your environmentEvery session, as a frozen snapshot~/.hermes/memories/
MCP serverExternal tools the agent can callTools registered at startupmcp_servers in config.yaml
PluginCode that extends Hermes: tools, providers, Desktop UIInstalled from the plugin catalogPlugins page in Desktop / dashboard

The official memory docs put it simply: memory stores small facts that should always be in context; skills store longer procedures that should load only when relevant.

Using skills

Works in the CLI, TUI, Desktop, and messaging platforms
bash
$/github-pr-workflow create a PR for the auth refactor # run a skill with a request
$/excalidraw # load it and let Hermes ask what you need
$hermes chat -s github-pr-workflow -q "open a draft PR" # preload a skill from the shell
  • You rarely need the slash command: when a request matches a skill's description, Hermes picks it up on its own.
  • Hermes ships with a catalog of bundled skills already copied into ~/.hermes/skills/, plus an official optional catalog you can install.
  • Blank Slate setup starts with no skills at all; seed them later with hermes skills opt-in --sync.
  • Since v0.21.4, skills.auto_load can pin chosen skills into every new session's prompt instead of loading them on demand.

Installing skills from the hub

Official Skills Hub commands
bash
$hermes skills browse # official skills first
$hermes skills search kubernetes # search every source
$hermes skills inspect openai/skills/k8s # preview before installing
$hermes skills install openai/skills/k8s # installs after a security scan
$hermes skills check # upstream updates for hub skills
$hermes skills uninstall k8s

Sources include official optional skills, skills.sh, ClawHub, LobeHub, well-known skill endpoints, direct GitHub paths, and direct URLs. In Hermes Desktop, the same catalog is under Capabilities → Skills → Browse, and the public Skills Hub's Install in Hermes button opens Desktop directly. The web dashboard has a Skills page for toggling and installing too.

Our inference: A skill is instructions the agent will follow with your tools and credentials. The hub runs a security scan on install, but a scan is not a review. Read hermes skills inspect output for anything from a third-party source before installing it.

Creating skills

  • Let Hermes write them. After a workflow succeeds, ask it to save the procedure as a skill, or let it do so on its own.
  • /learn turns a doc page, a local SDK folder, pasted notes, or the workflow you just walked through into a skill; large sources become knowledge-base skills.
  • Write SKILL.md by hand with frontmatter (name, description) and sections such as When to Use, Procedure, Pitfalls, and Verification.
  • Project-local skills in <repo>/.hermes/skills/ or <repo>/.agents/skills/ load only for sessions started inside that repository, after you trust the project.
  • Skill bundles group several skills you always use together.

Controlling what the agent writes

Hermes can create, edit, and delete its own skills — in the foreground, during a background review after a session, or when the curator consolidates. To review changes first, turn on write approval:

Skill write approval
yaml
# ~/.hermes/config.yaml
skills:
write_approval: true # default false
# then, in a chat:
/skills approve <id> # or 'all'

Skill looks broken after you edited a bundled one? hermes skills reset <name> clears the “user-modified” flag; add --restore to bring back the bundled version and discard your edits.

Each Bot Mode bot is its own profile with its own skills, so a skill one bot learned is not automatically available to another.

Not tested by this site: This page organizes the official Skills System docs and release notes. We make no claims about how reliably Hermes decides to create skills or how good the skills it writes are.

Primary sources

HermesAgentAI.org is an independent educational documentation resource and community guide. It is not affiliated with, sponsored by, or endorsed by Nous Research or FlyHermes. Hermes Agent is released under the MIT License by Nous Research.

Where to go next