Sparround

The skills system: teaching the agent a procedure

A skill is a procedure document the agent reads when it needs it. Technically it is a folder containing a SKILL.md; the format itself is the open agentskills.io standard, supported by many agent products.

Here is how a skill differs from memory: memory holds a fact ("tests run with make test"), a skill holds a procedure ("how a release is prepared: seven steps, with these checks").

Skills load in three stages — this is progressive disclosure:

  • Level 0 — only the list of names and descriptions (the agent knows what exists)
  • Level 1 — when a skill is chosen, the full SKILL.md text loads
  • Level 2 — additional files under references/ when they are needed

The purpose is simple: you can keep dozens of skills, and only the one in use costs tokens.

SourceHow it arrivesSafety
You write it`~/.hermes/skills/<name>/SKILL.md`Under your control
Via `/learn`The agent authors a skill from existing docs or a procedure`guard_agent_created` scans for dangerous patterns
Installed from a hub`hermes skills install <source>`A security analysis before install
Vendored in a project`<project>/.hermes/skills/`Requires `hermes skills trust`

A skill from a hub is instructions, sometimes scripts, written by someone else — so it is a question of trust. Per the docs, hub-installed skills are analysed for data exfiltration, prompt injection, destructive commands and supply-chain threats; --force only overrides caution-level findings, never a dangerous verdict. Skills vendored inside a project require explicit trust (hermes skills trust).

Practice. Turn a procedure you do daily (for example: "how I prepare the weekly report") into a skill. Give SKILL.md four sections: when to use, the steps, the pitfalls, the verification. Then invoke it with /skill-name. Done means: the skill completes the work without you explaining anything by hand.

📚 Sources and documentation