模块 5 / 10 ⭐ 核心差异化

技能系统 (Skills)

Hermes 最独特的能力——从经验中自动创建可复用技能,越用越聪明。兼容 agentskills.io 开放标准。

预计阅读时间:25 分钟 · 前置:模块 4 · v0.17.0

📑 本模块目录

  1. Skill 是什么?为什么它是核心差异化
  2. 底层原理:Skill 的加载与执行
  3. SKILL.md 完整格式规范
  4. 技能生命周期与 Curator 自动维护
  5. agentskills.io 开放标准
  6. 实操:创建、安装、管理 Skill
  7. Skill vs Project Context vs Memory
  8. 自学习闭环深度解析
  9. 常见疑问
  10. 本章复核验收清单
1 Skill 是什么?为什么它是核心差异化

Skill(技能)是 Hermes Agent 最核心的差异化能力——一套内置的自学习系统,让 Agent 从每次交互中积累经验,自动创建、迭代、复用可执行的知识文档。

🧠 人类类比

像一个新员工入职第一天 vs 工作一年后。Skill 就是 Agent 的工作笔记——踩过的坑、发现的捷径、验证过的流程,都记下来下次直接用。这不是"记住偏好",而是"记住怎么做"。

⚡ 与竞品的本质区别

Claude Code、Codex CLI、GitHub Copilot 都不会从经验中学习——每次都是"第一次做"。Hermes 是唯一内置完整学习闭环的 Agent 框架。

【v0.17 2026 更新】Hermes 现已兼容 agentskills.io 开放标准——在 Hermes 中创建的 Skill 可在其他兼容 Agent 中使用,反之亦然。Skill 生态正在形成跨框架的互操作网络。

2 底层原理:Skill 的加载与执行

Skill 不是简单的"给 LLM 一段提示词"——它经过了三层处理链路,确保 Skill 不仅被读取,更被理解并执行。

flowchart TD A["① Skill 文件 (.md)"] --> B["② 加载到 System Prompt
Layer 5 · Active Skills"] B --> C["③ LLM 解析触发条件
匹配当前任务"] C --> D{"触发?"} D -->|"匹配"| E["④ LLM 按 Skill 指令
调用工具执行"] D -->|"不匹配"| F["⑤ Skill 保持待命
不影响当前任务"] E --> G["⑥ 执行成功后
Curator 记录使用"] G --> H["⑦ 高频 Skill 提升权重
未来优先加载"]

关键机制:


3 SKILL.md 完整格式规范
每个 Skill 是一个 Markdown 文件,YAML frontmatter + Markdown 正文

必填字段(YAML frontmatter)

---
name: my-skill               # 唯一标识,小写 + 连字符,≤64 字符
description: >                # 一句话描述 + 触发场景(LLM 用于判断是否匹配)
  当用户需要 X 时使用此技能。触发词:Y, Z。
version: 1.0.0              # 语义化版本
---

可选字段

license: MIT
platforms: [linux, macos, windows]
triggers:                 # 关键词触发列表(辅助 LLM 匹配)
  - deploy: 部署/发布/上线/deploy
  - test: 测试/test/验证
metadata:
  author: hermes-agent
  tags: [devops, python]
  homepage: https://example.com

正文规范

# 技能标题

## 何时使用
明确的触发条件,用第二人称描述(Hermes: 当用户说 X 时…)

## 工作流程
1. 第一步:具体命令
2. 第二步:验证方式 → 验证:[怎么确认做对了]

## 常见陷阱
- 坑 1:现象 + 根因 + 解决方案

## 参考
相关 API 文档链接、配置文件路径
⚠️ 格式陷阱:正文中不要用第一人称"我"——Skill 是指令文档,不是对话。始终用"Agent 应该…""当用户…时"。description 字段是 LLM 做匹配判断的唯一依据,必须写得具体——"部署 Python 项目到 Docker"比"部署相关"有效 100 倍。

4 技能生命周期与 Curator 自动维护

Skill 不是静态文档——它有一个完整的生命周期,由内置的 Curator(技能管家) 自动管理。

flowchart TD A["📝 创建"] --> B["✅ 活跃
Agent 高频使用"] B --> C{"30 天未使用?"} C -->|"否"| B C -->|"是"| D["📦 Stale
标记为'不活跃'"] D --> E{"再过 30 天?"} E -->|"被重新使用"| B E -->|"仍未使用"| F["🗄️ 归档
移到 archive/ 目录"] F --> G{"手动恢复?"} G -->|"是"| B G -->|"否"| H["💤 保持归档
(永不删除)"]

Curator 核心行为

🔍 自动追踪

每次 Skill 被加载时,Curator 记录到 ~/.hermes/skills/.usage.json。追踪:使用次数、查看次数、修补次数、最后活动时间。

📌 Pin 保护

重要的 Skill 可以用 hermes curator pin <name> 锁定——锁定的 Skill 永不自动归档,也不受闲置清理影响。

🔄 自动备份

Curator 每次运行前自动创建 .tar.gz 全量备份。即使误归档也能通过 rollback 恢复。

📊 仅管 Agent 创建的 Skill

Curator 只处理 created_by: "agent" 的 Skill。Bundled 技能和 Hub 安装的技能不受影响。

Curator 配置

curator:
enabled: true            # 是否启用
interval_hours: 24       # 检查间隔
stale_after_days: 30     # 闲置多久标记 stale
archive_after_days: 30   # stale 后再多久归档
backup:
enabled: true

5 agentskills.io 开放标准 v0.17 新增
Skill 不锁死在 Hermes——一次编写,跨框架复用

【v0.17 2026 更新】Hermes 正式兼容 agentskills.io 开放标准。这意味着:

🔗 跨框架互操作

在 Hermes 中创建的 Skill,导出的 SKILL.md 可直接在其他兼容 Agent 中使用(反之亦然)。Skill 不再被单一框架锁定。

📦 Skills Hub

agentskills.io 是公共 Skill 注册中心。hermes skills search 和 hermes skills install 默认连到这个 Hub。

📐 格式标准化

SKILL.md 的 YAML frontmatter 字段(name、description、triggers 等)遵循 agentskills.io 规范,保证跨平台一致性。

# 搜索 Hub 上的 Skill
hermes skills search "docker deployment"

# 从 Hub 安装(通过 ID 或 URL)
hermes skills install "docker-deploy"
hermes skills install "https://agentskills.io/skills/docker-deploy/SKILL.md"

# 从 GitHub repo 添加 Skill 源
hermes skills tap add "my-org/hermes-skills"

6 实操:创建、安装、管理 Skill

场景:创建一个「Django 部署检查清单」Skill

---
name: django-deploy-checklist
description: 当用户要部署 Django 项目到生产环境时使用。
  触发词:部署 Django / deploy Django / 上线 Django
version: 1.0.0
triggers:
  - deploy: 部署/deploy/上线/发布
  - django: Django/django
---

# Django 部署检查清单

## 何时使用
当用户提到部署 Django 项目时,按此清单逐项检查。

## 检查步骤
1. python manage.py check --deploy → 验证:无 ERROR
2. grep SECRET_KEY .env → 验证:不为空
3. grep DEBUG settings.py → 验证:必须为 False
4. python manage.py collectstatic --dry-run → 验证:无报错
5. python manage.py migrate --plan → 验证:确认迁移列表

## 常见陷阱
- 忘记设置 ALLOWED_HOSTS:生产部署后 400 Bad Request。
  解决:检查 settings.py 中 ALLOWED_HOSTS 包含生产域名。

管理命令一览

# 会话内加载
/skill django-deploy-checklist   # 加载到当前会话
/reload-skills                 # 重新扫描 skills/ 目录

# 全局管理
hermes skills list             # 列出已安装
hermes skills search "query"     # 搜索 Hub
hermes skills install "id"     # 从 Hub 安装
hermes skills uninstall N     # 卸载
hermes skills check           # 检查更新
hermes skills update          # 更新过期 Skill
hermes skills config          # 按平台启用/禁用
hermes skills browse          # 浏览所有可用 Skill

# Curator
hermes curator status         # 查看状态
hermes curator pin "name"      # 锁定重要 Skill
hermes curator restore "name"  # 恢复已归档 Skill

7 Skill vs Project Context vs Memory
三个概念容易混淆——一张表彻底分清
维度SkillProject ContextMemory
粒度可复用的工作流程项目级规则事实片段
示例"Django 部署检查清单""用 pytest 测试""项目在 ~/code/myapp"
加载/skill 或自动匹配进入项目目录自动System Prompt Layer 3+4 自动注入
作用域跨项目当前项目跨会话、跨项目
生命周期Curator 自动管理手动维护字符预算自动清理
优先级Layer 5Layer 6Layer 3+4
🤔 快速判断:如果内容是"怎么做"(流程、步骤),写成 Skill。如果是"在这个项目里怎么做"(项目约定),写到 Project Context。如果是"是什么"(事实、路径),存为 Memory。

8 自学习闭环深度解析
这是 Hermes 最独特的能力——Agent 从每次交互中自动成长
flowchart TD A["👤 用户提出任务"] --> B["🤖 Agent 执行
调用工具,多步推理"] B --> C{"任务成功?"} C -->|"成功"| D["⚡ Agent 判断:
是否值得保存为 Skill?"] C -->|"失败"| E["🔧 用户纠正
或 Agent 自我诊断"] E --> F["📝 修补已有 Skill
或创建纠错 Skill"] F --> G["Skill 库更新"] D -->|"值得"| H["💾 Agent 自动创建
SKILL.md"] D -->|"不值得"| I["跳过"] H --> G G --> J["🎯 下次类似任务
自动匹配 + 加载"] J --> K["📊 Curator 追踪效果
好的提升权重
差的标记待修补"] K --> B

自学习的关键触发条件

Agent 不随意创建 Skill——它只在以下情况才会触发:

  1. 复杂度阈值:任务涉及 5+ 个 tool call 或跨越多个领域
  2. 新颖性:现有 Skill 无法覆盖,Agent 需要从头摸索
  3. 可复现性:任务流程明确、步骤可复现(不是一次性调研)
  4. 用户确认:Agent 会问"是否保存为 Skill?"——需要用户同意才会创建
🧠 与 Memory 的协同:Skill 记住流程,Memory 记住上下文。例如:部署 Django 项目,Skill 记录"先跑 check --deploy",Memory 记录"生产服务器 IP 是 xxx"。两者互补,缺一不可。

9 常见疑问
Q: Skill 和 System Prompt 里的规则有什么区别?
System Prompt 规则是行为约束("不要编造"),Skill 是操作流程("部署时先做 X,再验证 Y")。规则控制 Agent 怎么说话,Skill 控制 Agent 怎么做。
Q: Agent 会自动加载所有 Skill 吗?
不会。只有被 /skill 加载的 Skill 才进入当前会话。跨会话不自动延续——每次新会话需要重新加载。但 Curator 的权重机制会让 Agent 主动提醒你"之前有个 Skill 可能适合这个任务"。
Q: Skill 和 Custom Tool 什么时候用哪个?
如果有个外部 API 需要封装成固定调用——写 Custom Tool。如果有个多步骤流程需要用现有工具组合完成——写 Skill。Tool 提供新能力,Skill 编排现有能力。
Q: 怎么防止 Curator 删掉我的重要 Skill?
用 hermes curator pin <name> 锁定。锁定的 Skill 永不自动归档。此外 Curator 从不真正删除——最坏情况只是归档到 archive/ 目录,随时可恢复。
Q: agentskills.io 上的 Skill 质量怎么保证?
agentskills.io 是开放注册中心,质量参差不齐。建议优先用 hermes skills browse 看下载量和评分,或从官方推荐列表中选择。所有安装的 Skill 都会经过 Hermes 的安全扫描。

✅ 本章复核验收清单
理解 Skill 是什么——它不是"提示词",而是可执行的工作流程文档
能说出 Skill 与 Claude Code / Codex CLI 的本质区别(自学习闭环)
理解 SKILL.md 的 YAML frontmatter 必填字段:name、description、version
掌握 Skill 生命周期:活跃 → stale → 归档 → 恢复
理解 Curator 的角色:自动追踪、Pin 保护、备份、仅管 Agent 创建的 Skill
知道 agentskills.io 是什么——跨框架 Skill 互操作标准
会创建自己的 Skill:写 SKILL.md → 放到 skills/ 目录 → /skill 加载
能用 hermes skills search/install/uninstall/list 管理 Skill
分清 Skill(怎么做)、Project Context(项目约定)、Memory(是什么)
知道如何用 hermes curator pin 锁定重要 Skill
📌 本章核心要点
  • Skill 是 Hermes 最独特的差异化能力——唯一内置自学习闭环的 Agent 框架
  • Curator 自动管理 Skill 生命周期:追踪 → 标记 stale → 归档(不删除)
  • agentskills.io 让 Skill 跨框架复用
  • Skill 记流程,Memory 记事实,Project Context 记项目约定