Tutorial Overview
Series index: Hermes Agent Tutorial Series
This tutorial covers Hermes Agent’s Skills System — the second core differentiator and often the “aha-moment” where users see Hermes can be extended to do anything.
What you will learn
- ✅ What Hermes skills are and why they matter
- ✅ How to browse and install from Skills Hub
- ✅ How to create your own skills
- ✅ How skills self-improve during use
- ✅ Best practices for skill design
Why Skills Matter
The limitation of static agents
Most AI assistants have fixed capabilities. You can’t add:
- A custom workflow for your team’s code review
- An automated report generator for your specific metrics
- A specialized prompt for your domain’s terminology
flowchart LR
A[Fixed capabilities] --> B[User request]
B --> C{Within scope?}
C -->|Yes| D[Execute]
C -->|No| E[Cannot help]
E --> F[User frustrated]
style E fill:#ffcccc
style F fill:#ffcccc
Hermes’s skills approach
Skills are procedural knowledge that Hermes can invoke when triggered. They:
- Extend capabilities without code changes
- Improve based on usage feedback
- Can be shared across Hermes instances
flowchart TD
A[User need identified] --> B[Skill created]
B --> C[Skill triggered]
C --> D[Skill executed]
D --> E[Outcome evaluated]
E --> F{Success?}
F -->|Yes| G[Skill reinforced]
F -->|No| H[Skill refined]
G --> C
H --> B
style G fill:#e8f5e9
style H fill:#fff3e0
Comparison
| Feature | Hermes Skills | Claude Code Rules | Cursor Rules |
|---|---|---|---|
| Auto-creation | ✅ From experience | ❌ Manual | ❌ Manual |
| Self-improvement | ✅ During use | ❌ Static | ❌ Static |
| Sharing | ✅ Skills Hub | ❌ Local only | ❌ Local only |
| Trigger detection | ✅ Automatic | ❌ Explicit | ❌ Explicit |
Skills Hub
What is Skills Hub?
Skills Hub is a community repository at agentskills.io following an open standard. Hermes can browse, install, and contribute skills.
Browse available skills
# List all skills
hermes skills list
# Search by category
hermes skills search --category coding
# Search by keyword
hermes skills search "debugging"
Install a skill
# Install from Skills Hub
hermes skills install @username/skill-name
# Example
hermes skills install @nous/research-summarizer
Skill categories
| Category | Example Skills |
|---|---|
| Coding | pytest-runner, code-reviewer, refactor-assistant |
| Research | paper-summarizer, citation-manager, hypothesis-generator |
| Automation | daily-report, backup-manager, alert-handler |
| Communication | email-drafter, slack-notifier, meeting-summarizer |
Creating Skills
Skill anatomy
A skill is a markdown file with structured sections:
---
name: "daily-report"
description: "Generate daily progress reports"
triggers:
- "daily report"
- "generate report"
- "/report"
---
## Procedure
1. Query memory for today's activities
2. Summarize key accomplishments
3. List pending items
4. Format as specified template
## Examples
Input: "Generate my daily report"
Output:
- Completed: Fixed 3 bugs in auth module
- In progress: API documentation
- Blocked: Waiting for DB migration approval
## Template
# Daily Report - {date}
## Completed
{completed_items}
## In Progress
{in_progress_items}
## Blocked
{blocked_items}
Skill creation workflow
flowchart TD
A[Identify repeatable task] --> B[Define triggers]
B --> C[Write procedure]
C --> D[Add examples]
D --> E[Test skill]
E --> F{Works?}
F -->|Yes| G[Save skill]
F -->|No| H[Refine procedure]
H --> C
style G fill:#e8f5e9
Create a new skill
# Start skill wizard
hermes skills create
# Or create manually
nano ~/.hermes/skills/my-skill.md
Skill file location
~/.hermes/skills/
├── installed/ # Skills from Hub
├── custom/ # Your created skills
└── learned/ # Auto-generated skills
Self-Improving Skills
How skills improve
Hermes tracks skill execution outcomes and refines procedures:
sequenceDiagram
participant U as User
participant H as Hermes
participant S as Skill
participant M as Memory
U->>H: Trigger skill
H->>S: Load procedure
S->>H: Execute steps
H->>U: Deliver result
U->>H: Feedback (implicit/explicit)
H->>M: Log outcome
M->>H: Pattern analysis
H->>S: Refine procedure
style H fill:#e1f5ff
style S fill:#fff3e0
Improvement mechanisms
- Success tracking — Procedures that work are reinforced
- Failure analysis — Failed executions trigger refinement
- User feedback — Explicit corrections improve steps
- Pattern synthesis — Common variations merged into procedure
Example improvement
Initial skill:
Procedure:
1. List files
2. Identify changed files
3. Generate summary
After 10 uses with failures:
Procedure (improved):
1. List files with `git status`
2. Identify changed files, filter by extension
3. For each file, check modification type
4. Group by change category (added, modified, deleted)
5. Generate category-based summary
Best Practices
Skill design guidelines
- Clear triggers — Use distinctive phrases
- Atomic procedures — One skill, one purpose
- Concrete examples — Show input/output pairs
- Template flexibility — Allow customization
Naming conventions
| Prefix | Purpose | Example |
|---|---|---|
@username/ |
Shared skill | @nous/daily-report |
local: |
Personal skill | local:my-review |
learned: |
Auto-generated | learned:debug-loop |
Trigger design
Good triggers:
"code review for"— Specific action"/report"— Slash command style"summarize this paper"— Natural language
Bad triggers:
"review"— Too ambiguous"help"— Conflicts with system"do it"— Too generic
Managing Skills
View installed skills
hermes skills list --all
Disable a skill
hermes skills disable local:my-skill
Update a skill
# Update from Hub
hermes skills update @nous/daily-report
# Edit manually
nano ~/.hermes/skills/custom/my-skill.md
Share a skill
# Publish to Skills Hub (requires account)
hermes skills publish local:my-skill --name "my-utility"
Troubleshooting
Skill not triggering
Cause: Trigger phrase too similar to existing skill.
Fix: Use more distinctive trigger or check conflicts:
hermes skills conflicts
Skill producing poor results
Cause: Procedure needs refinement.
Fix: Add feedback or edit examples:
User: That wasn't right. Include timestamps.
Hermes: Noted. Refined skill procedure.
Skill conflicts
Cause: Multiple skills with same trigger.
Fix: Disable one or modify triggers:
hermes skills disable @old/skill
Summary
Skills are Hermes’s extensibility mechanism:
- Skills Hub — Community skill repository
- Creation workflow — Define, test, save
- Self-improvement — Skills refine during use
- Best practices — Clear triggers, atomic procedures
Key takeaways
- ✅ Skills extend Hermes without code changes
- ✅ Skills Hub provides shared skill library
- ✅ Skills improve based on usage outcomes
- ✅ Good design: clear triggers, concrete examples
Series navigation:
- ← Previous: Tutorial 2: Memory System — Persistent Memory
- → Next: Tutorial 4: Messaging Gateway — Multi-Platform Integration
- Back: Series Index
Graduation Milestone G1: After completing Tutorials 1-3, you’ve achieved Basic Competency — your Hermes agent runs, remembers, and has skills. You can now explore deployment options.