Skills — teach Hermes your workflow
Install one from the hub, then write your own. This is where Hermes gets powerful.
A skill is a package of instructions that teaches Hermes how to do something well. Think of it as a specialist you can bring into a conversation when you need them.
Without skills, Hermes is smart but general. With skills, it knows how your team opens pull requests, how your company deploys to Kubernetes, how you like architecture diagrams drawn, how to run axolotl fine-tuning jobs. Skills turn a general-purpose agent into your agent.
Where skills live
Installed skills sit under ~/.hermes/skills/. Each skill is a directory with at least one file — SKILL.md — plus optional subfolders for references, templates, scripts, and assets.
~/.hermes/skills/
mlops/axolotl/
SKILL.md
references/
templates/
devops/deploy-k8s/
SKILL.md
SKILL.md contains the instructions themselves. The other folders are optional context Hermes can pull in when the skill needs it.
Browse the hub
Hermes has a built-in skill hub. Start by looking around:
hermes skills browse
This shows you what's available. Lots of stuff — deployment, fine-tuning, code review, image generation, PDF processing, GitHub workflows. Scroll through to see what's there.
Searching is faster if you know what you want:
hermes skills search kubernetes
hermes skills search pdf
You can also filter by source:
hermes skills browse --source official
Sources include official (maintained by the Hermes team), skills-sh (community hub), well-known (skills discovered from other sites), and plain github.
Install one
Let's install something small and useful. Run:
hermes skills search pdf
Pick one that looks useful — there's usually a PDF reading/processing skill from the official source. Then install it:
hermes skills install openai/skills/pdf
The exact name depends on what's in the hub when you read this. Use whatever the search showed you.
Once it's installed, check your skills list:
hermes skills list
You should see the PDF skill in there.
Run it
Start a chat:
hermes
And invoke the skill as a slash command:
/pdf extract the text from /tmp/document.pdf
The skill name becomes the slash command name. Hermes loads the skill's instructions, follows them, and does the job.
Checkpoint — If your slash command worked (even with a test PDF), the skills system is wired up correctly.
Write your first skill
Installing skills is easy. Writing them is only slightly harder, and it's where the real value comes from.
Let's make a tiny skill that teaches Hermes your personal commit message style.
Create the directory:
mkdir -p ~/.hermes/skills/personal/commit-style
Create SKILL.md inside it:
nano ~/.hermes/skills/personal/commit-style/SKILL.md
Paste this in:
---
name: commit-style
description: Write commit messages the way I like them.
version: 1.0.0
---
# Commit message style
When I ask you to write a commit message, follow these rules:
- First line is 50 characters or fewer
- First line is imperative mood ("Add X", not "Added X")
- First line starts with a lowercase verb — no prefix, no emoji, no ticket number
- If there's more to say, skip a line and write a paragraph explaining *why*, not *what*
- Never use "refactor" as the verb — pick something specific
# Examples
Good:
- `add retry logic to upload endpoint`
- `fix off-by-one in pagination cursor`
- `drop unused dependency on moment`
Bad:
- `Updated files` (not specific)
- `refactor: clean up` (vague, uses banned word)
- `feat(api): Add retry logic to upload endpoint` (prefix and caps)
When asked to write a commit message, output only the message itself. No explanation unless I ask.
Save the file.
Use your own skill
Check that Hermes can see it:
hermes skills list
You should see commit-style in the list. Now start a chat and try it:
hermes
/commit-style I just added retry logic with exponential backoff to the upload endpoint. Write me a commit message.
Hermes should reply with a commit message that follows the rules you wrote.
Checkpoint — Your own slash command just worked. Everything from here is variations on the same pattern: write instructions, save them as
SKILL.md, invoke with a slash command.
Where to go next with skills
Skills can be much more than a single Markdown file. The references/ folder can hold reusable context. The scripts/ folder can hold executable scripts the skill calls. The templates/ folder can hold starter files. Skills can require specific toolsets, ask for config values, and even bring their own environment variables.
For a first skill, keep it simple — one file, clear instructions, good examples. Add the fancier parts when you need them.
You can also share skills. Put a skill directory in a Git repo, and other people can install it from the hub. Your commit-style preferences can become your team's commit-style preferences.
Next step: MCP, which plugs Hermes into external tools it didn't ship with.