Hermes Agent: Skills System

Last updated: 2026-08-31

The Skills system is the core of Hermes's "self-evolution" — it doesn't just use preset features, it learns new skills, auto-improves existing ones, and gets stronger with use.

💡 Tip: Skills are Hermes's unique core capability. Unlike traditional Agents, Hermes skills aren't static code but dynamic capability units that can be auto-created, improved, and composed.

📋 Prerequisites: Lesson 6 — Memory System

1. What You Will Learn

# Content
Skill concepts and types
/learn command teaching
Auto skill learning mechanism
Skill file structure and creation
Skill composition and chaining

2. Story

(1) Pain Point: Repeated Instructions Every Time

Bob has to repeat "check type safety, look for XSS vulnerabilities, check performance, test coverage..." every time he asks AI to review code.

(2) Solution: Teach Once, Remember Forever

BASH
/learn When I ask you to review code, always check these 5 items:
1. Type safety (TypeScript strict mode)
2. Security vulnerabilities (XSS, SQL injection)
3. Performance issues (N+1 queries, memory leaks)
4. Test coverage
5. Code style consistency

→ ✅ Skill "code-review-checklist" created!
→ Next time just say "review code", Agent auto-executes all 5 items.

3. Skill Types

Type Source Example Editable
Built-in System pre-installed web-search, code-review
Learned /learn created my-code-style
Auto Observation-created frequent-pattern
Plugin Plugin marketplace jira-integration
Composite Multi-skill combo full-review

Skill levels from simple (fixed Prompt) to self-evolving (observe + improve).


4. /learn Command

BASH
# Simple preference
/learn Always add unit tests when answering code questions

# Conditional trigger
/learn When I mention "daily report", summarize today's Git commits

# Tool chain
/learn When I say "search", use web-search then summarize

# Named skill
/learn --name "react-review" When reviewing React components check: props types, hooks rules, performance

Interactive Teaching

BASH
/learn --interactive

Agent: I'm ready to learn! Describe the skill you want me to learn.
me: Help me do code reviews
Agent: I understand. To create an accurate skill, please answer:
  1. Which languages? → Python, TypeScript
  2. What to focus on? → Security, performance, types
  3. Output format? → Markdown report

me: [Answer questions]

Agent: ✅ Skill "code-review" created!

5. Auto Skill Learning

BASH
# You make similar requests 3 times:
me: Write a FastAPI route with type hints and docs
me: Write another route, same style
me: One more route, same as before

# Hermes suggests:
Agent: 💡 I noticed you've requested the same code style 3 times.
  Create skill "fastapi-route-style"?
  /confirm or /dismiss

me: /confirm
Agent: ✅ Skill "fastapi-route-style" created!

6. Skill File Structure

YAML
# ~/.hermes/skills/custom/react-component-review.yaml
name: "react-component-review"
description: "Review React component code quality"
version: "1.0.0"
triggers:
  - "review component"
  - "组件检查"
actions:
  - type: "check"
    category: "type-safety"
    prompt: "Check TypeScript types are complete and correct"
  - type: "check"
    category: "accessibility"
    prompt: "Check WCAG 2.1 accessibility"
  - type: "check"
    category: "performance"
    prompt: "Check React performance issues"
  - type: "generate"
    format: "markdown"
    template: "review-report"

7. Skill Composition

YAML
# Composite skill
name: "full-release"
description: "Complete release workflow"
type: "composite"
skills:
  - name: "code-review"
  - name: "run-tests"
  - name: "check-security"
  - name: "deploy-staging"
  - name: "notify-team"
execution: "sequential"
BASH
me: Review this component, run tests, deploy if passing

Agent: [Chain execution]
  1. ⚡ code-review → 2 issues found
  2. 🔧 Fix → Done
  3. ⚡ code-review → Passed
  4. 🧪 run-tests → All passed
  5. 🚀 deploy-staging → Deployed
  6. 📢 notify-team → Team notified

❓ FAQ

Q How many skills can I create?
A No hard limit. 50-100 skills work fine; semantic retrieval means quantity doesn't affect performance.
Q Can I share skills?
A Yes. hermes skill export <name> to export YAML, others hermes skill import to import.
Q Difference between skills and tools?
A Tools are atomic operations (read file, search). Skills are higher-level capabilities (code review) that can combine multiple tools.

📖 Summary


📝 Exercises

  1. Basic (⭐): Create a simple skill with /learn, verify it works in a new conversation.
  2. Intermediate (⭐⭐): Create a 3-step tool skill for automated workflow (search → summarize → translate).
  3. Advanced (⭐⭐⭐): Design a self-evolution experiment: use the same pattern for 5 days, observe if Agent suggests skill creation.
Web-Tutorial.com

Web-Tutorial Tech Team

A team of developers maintaining programming tutorials. Each tutorial is written and reviewed by developers with expertise in that field. We work to keep our content accurate and reliable — if you spot an issue, please let us know.

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏