Back

Hermes Agent Tutorial 3: Skills System — Creating and Managing Skills

Hermes Agent's skills system lets you create custom capabilities that improve during use. Learn about Skills Hub integration, skill creation workflow, skill anatomy, and self-improving skills.

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

  1. Success tracking — Procedures that work are reinforced
  2. Failure analysis — Failed executions trigger refinement
  3. User feedback — Explicit corrections improve steps
  4. 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

  1. Clear triggers — Use distinctive phrases
  2. Atomic procedures — One skill, one purpose
  3. Concrete examples — Show input/output pairs
  4. 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:

  1. Skills Hub — Community skill repository
  2. Creation workflow — Define, test, save
  3. Self-improvement — Skills refine during use
  4. 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:


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.