Skills: Teaching Your Agent to Learn
Hermes Agent's skills system lets your agent remember how to do things, get better over time, and build a personal playbook of expertise.
TLDR: Skills are reusable, versioned, self-improving procedures that Hermes Agent writes, uses, and maintains. They’re stored as markdown files with YAML frontmatter in
~/.hermes/skills/. Load them with/skill nameorhermes -s "name". The curator subsystem manages their lifecycle (active → stale → archived, but never deleted). Skills are what make Hermes fundamentally different from other AI agents — they give it procedural memory that compounds over time.
Key Takeaways
- Skills are markdown documents with structured frontmatter — the agent reads them as system prompt context
- Any procedure that takes 5+ tool calls is worth saving as a skill
- The curator (
hermes curator) auto-manages skill lifecycle - Skills compose — load multiple for complex tasks
- Hub at
hermes skills searchfor community skills
What Is a Skill?
A skill is a markdown document with YAML frontmatter. It lives in ~/.hermes/skills/ and gets loaded into the agent’s system prompt when activated.
---
name: my-skill
description: "What this skill does"
version: 1.0.0
platforms: [linux, macos, windows]
---
# Skill Title
Instructions, code examples, pitfalls, and verification steps.
Think of it as a README for a specific task — written by the agent, for the agent. Unlike memory, which stores facts, skills store procedures.
How Skills Work
When you start a session with skills loaded, the agent reads each skill’s content as part of its system prompt. It can then:
- Follow the numbered steps in the skill
- Reference the exact commands and examples
- Apply known pitfalls and edge cases
- Update the skill when it discovers something new
Loading Skills
Four ways to load a skill:
# 1. Preload on startup
hermes -s "my-skill"
# 2. Load mid-session
/skill my-skill
# 3. Load multiple
hermes -s "my-skill" -s "another-skill"
# 4. Search and install from the hub
hermes skills search "debugging"
hermes skills install "systematic-debugging"
What Makes a Good Skill
| Quality | Why it matters |
|---|---|
| Clear trigger conditions | Tell the agent when to use this skill |
| Numbered steps | Agents execute procedurally — step-by-step works best |
| Exact commands | No placeholders or guesswork |
| Pitfalls section | The most valuable part — captures mistakes so they never repeat |
| Verification steps | How to confirm the procedure worked |
Template
---
name: deploy-docker
description: "Deploy a Docker Compose stack with zero-downtime rolling updates"
version: 1.0.0
platforms: [linux]
---
# Deploy Docker Compose
Trigger when: user says "deploy", "release", or "ship the stack"
## Steps
1. Pull latest images
```bash
docker compose pull
- Deploy with rolling update
docker compose up -d --no-deps --build --scale app=2 - Verify health
curl -f http://localhost:8080/health
Pitfalls
- If port 8080 is in use, check
docker compose psfor conflicts - Do NOT run
docker compose down— that’s downtime
Verification
docker compose psshows all services asUp- Health endpoint returns 200
## The Skill Lifecycle
The **curator** subsystem (`hermes curator`) manages skill evolution automatically:
1. **Active** — the skill is regularly used
2. **Stale** — hasn't been used in a while, flagged for review
3. **Archived** — removed from active set but **preserved forever** (never deleted)
4. **Pinned** — excluded from auto-archiving
```bash
hermes curator status # See all skills and their state
hermes curator pin my-skill # Protect from archiving
hermes curator run # Run maintenance cycle now
Creating Your First Skill
Let’s create one manually:
mkdir -p ~/.hermes/skills/
cat > ~/.hermes/skills/my-first-skill.md << 'EOF'
---
name: my-first-skill
description: "A template skill to get started"
version: 1.0.0
---
# My First Skill
## Steps
1. Do something
2. Verify it worked
EOF
Or just ask the agent during a session: “Save this workflow as a skill so you can do it again.”
Skills vs Memory
| Memory | Skills |
|---|---|
| Facts about you, preferences, environment | Reusable procedures and workflows |
| ”User prefers concise responses" | "How to deploy the app” |
| Injected every session automatically | Loaded on demand |
| Small, factual | Structured, actionable |
| Updated by agent | Created/patched by agent |
Save to memory when: user preference (“I use pnpm”), environment fact (“Running on Arch Linux”), correction (“Don’t use apt for this”).
Save as skill when: complex workflow completed (5+ tool calls), tricky error fixed, non-trivial workflow discovered.
The Skills Hub
Community skills are searchable and installable:
hermes skills search "testing" # Find test-related skills
hermes skills install "systematic-debugging" # Install from hub
hermes skills publish ~/my-skill.md # Publish your own
hermes skills tap add github.com/user/repo # Add a custom repo source
Available hub skills include: systematic debugging, test-driven development, code review, DSPy, vLLM, GitHub PR workflow, and many more.
FAQ
Q: How many skills is too many?
The curator auto-archives stale skills. Focus on quality over quantity — a well-maintained skill is worth more than 10 dusty ones. Pin your most important skills with hermes curator pin.
Q: Can skills reference other skills?
Not directly, but you can load multiple skills together: hermes -s "skill-a" -s "skill-b". The agent sees all loaded skills in its system prompt.
Q: What happens to deleted skills?
The curator never deletes skills — maximum destructive action is archive. Archived skills remain in ~/.hermes/skills/.archive/ and can be restored with hermes curator restore.
Next Steps
- Multi-Platform Gateway — take your agent to Telegram, Discord, and Slack
- Advanced Automation — cron jobs, MCP, and delegation