---
title: "06 · Skills 系统"
description: "理解 Hermes skill、prompt、tool、memory 的边界，以及本地正本、渐进加载、secure setup、Hub 安装和 agent-managed skills。"
verifiedAt: "2026-05-09"
---

Hermes 的 **skill（技能）**是**可复用能力包**——一个 markdown 文档加上可选的脚本、模板、参考资料、资源文件。核心**不是保存提示词**，而是把"反复执行、步骤稳定、需要材料和验证"的工作流变成 agent 可以按需调用的能力包。

官方资料：[Skills System](https://hermes-agent.nousresearch.com/docs/user-guide/features/skills)、[Curator](https://hermes-agent.nousresearch.com/docs/user-guide/features/curator)、[Skills Catalog](https://hermes-agent.nousresearch.com/docs/reference/skills-catalog)、[Optional Skills Catalog](https://hermes-agent.nousresearch.com/docs/reference/optional-skills-catalog)、[Creating Skills](https://hermes-agent.nousresearch.com/docs/developer-guide/creating-skills)、[agentskills.io](https://agentskills.io)。

> [!NOTE]
> **先给结论**：**prompt** 解决一次性指令，**tool（工具）**解决外部动作，**memory（记忆）**解决长期事实，**skill（技能）**解决可复用流程。不要把一句 prompt 包成 skill，也不要把流程塞进 memory——四件事各管不同尺度。

## Skill 解决什么

一次性任务不需要 skill。反复出现、步骤稳定、需要材料和验证的任务，才值得沉淀成 skill。

适合做 skill：

- 跨项目重复出现。
- 有明确触发条件。
- 有稳定步骤。
- 有验证方法。
- 需要模板、脚本、参考资料或外部 API。
- 之前踩过坑，需要把正确路径固定下来。

不适合做 skill：

- 一次性任务。
- 还没跑通过的流程。
- 只有一句提示词。
- 强依赖当前项目私有上下文。
- 来源不可信但要求高权限。

## 和其它能力的区别

<Cards>
  <Card title="Prompt" description="一次性指令，适合当前任务。" />
  <Card title="Tool" description="外部动作能力，例如读文件、运行命令、搜索网页。" />
  <Card title="Memory" description="长期事实和偏好，让新 session 不从零开始。" />
  <Card title="Skill" description="可复用流程，包含触发条件、步骤、材料和验收。" />
</Cards>

判断口诀：

```text
会变的项目规则 -> 项目文档
长期稳定事实   -> memory
外部动作能力   -> tool
重复工作流程   -> skill
本次具体目标   -> prompt
```

## 本地正本

本地 skill 正本在：

```text
~/.hermes/skills/
```

`SKILL.md` 是入口，大材料应该放到 `references/`、`templates/`、`scripts/` 或 `assets/`，不要全部塞进主文档。

同名 skill 同时存在时，本地版本优先。外部目录可以扫描，Hub 可以安装，但真正可写、可维护、可治理的正本是 `~/.hermes/skills/`。

## 渐进加载（progressive disclosure）

Hermes skills 使用 **progressive disclosure（渐进加载）**——只在需要时加载更详细的层次：

```mermaid
flowchart TB
    L1["第 1 层：skill 元信息<br/>名称 / 描述 / category"]
    L2["第 2 层：SKILL.md<br/>触发条件 / 步骤骨架 / 验收"]
    L3["第 3 层：references / templates / scripts / assets<br/>详细参考资料和脚本"]
    L1 -->|"agent 判断要用<br/>这个 skill"| L2
    L2 -->|"需要具体材料<br/>或要执行脚本"| L3
```

这样做是为了**节省上下文**。一个 skill 可以包含很多材料，但平时只把元信息保留在视野里——不会把所有 reference、template、script 都塞进每次的 prompt。否则装 50 个 skill = system prompt 立刻爆炸。

新手写 skill 时，要让 `SKILL.md` **足够短**：说明何时使用、怎么开始、需要什么工具、有哪些坑、怎么验收。长材料（详细案例、完整模板、长脚本）放子目录里 agent 按需调用——这是渐进加载的设计意图。

## Secure setup 与密钥

Skill 可以声明 required environment variables。Hermes 会在本地 CLI 里安全询问缺失值，消息平台不会在聊天中索要 secret。

这很好，但也意味着一旦配置成功，skill 的脚本和 sandbox 可能拿到对应 env var。安装外部 skill 前必须检查：

- 它声明了哪些变量。
- 这些变量会不会进入 terminal 或 execute_code。
- 脚本是否会打印或外传变量。
- 是否真的需要这个权限。

密钥需求说不清的 skill，不应该安装。

## Agent-managed skills 与 Curator

Hermes 允许 **agent 自己创建、修改或删除**本地 skill——这是 _self-improving_（自我改进）的核心入口之一，也是最容易失控的入口之一。配套机制是 **Curator（策展器）**：后台跑的轻量服务，负责按使用率、新鲜度、LLM 复审来管理 agent 自建 skill：

- **Usage tracking（使用率追踪）**：哪些 skill 真的被用过，哪些只是写出来后就再没碰过。
- **Staleness（新鲜度）**：skill 内容是否长期没更新、引用的工具/命令是否还存在。
- **Archival（归档）**：长期不用或过期的 skill 自动归档，不再加载到上下文。
- **LLM-driven review（LLM 复审）**：周期性用模型审查 skill 质量、是否冗余、是否需要合并。

实践建议：

- **只让跑过的成功流程沉淀**——失败流程不能进 skill 库，否则下次还在错的方向上反复尝试。
- **小修用 patch（局部补丁），不要整份重写**——重写丢失上下文连续性。
- **Skill 里不要硬编码密钥**——Curator 不会替你脱敏，密钥进了 skill 就长期在 prompt 里裸奔。
- **删除或重命名前确认依赖**——其他 skill 或自动化任务可能还在引用。
- **定期信任 Curator 的清理建议**——但每次大批量归档前先人工抽查，避免误归。

**自我改进不是让 agent 随便写文件**，而是把验证过的流程变成可维护、可审计的长期资产——Curator 是这个过程的守门员。

## 安装外部 skill 的安全审查

外部 skill（来自 [agentskills.io](https://agentskills.io)、Skills Hub 或 GitHub）安装前**至少**做四步：

```text
search（搜） -> inspect（审） -> small dry run（试） -> keep or uninstall（留或卸）
```

`hermes skills inspect` 是关键命令——它会告诉你这个 skill 声明了哪些必需 env vars、要求哪些 toolset、会读写哪些文件。

检查重点（任一不清楚 = **不安装**）：

- `SKILL.md` 有没有清楚的**触发条件**和**验收**？
- 是否包含**脚本**（bash / python / node）？脚本做什么？
- 是否要求**密钥**或**外部账号**？为什么需要？
- 是否需要 `terminal`、`browser`、`file`、`messaging` 等高权限 toolset？
- 是否会**修改本地文件**或发出**网络请求**？
- 是否来自**可信来源**？是否能更新和审计？

**不理解的 skill 不用于高权限任务**——一条普通命令在错误上下文里跑出来的破坏，跟一个高权限 skill 误触发的破坏不是一个量级。

## 官方资料

- [Skills System](https://hermes-agent.nousresearch.com/docs/user-guide/features/skills)
- [Curator](https://hermes-agent.nousresearch.com/docs/user-guide/features/curator)（agent 自建 skill 的后台维护）
- [Skills Catalog](https://hermes-agent.nousresearch.com/docs/reference/skills-catalog)（内置 skill 完整列表）
- [Optional Skills Catalog](https://hermes-agent.nousresearch.com/docs/reference/optional-skills-catalog)（可选 skill 列表）
- [Creating Skills](https://hermes-agent.nousresearch.com/docs/developer-guide/creating-skills)（开发者写 skill 的格式与规范）
- [agentskills.io](https://agentskills.io)（社区 skill 索引）

## 下一步

<Cards>
  <Card title="消息网关" description="Skill 沉淀流程，Gateway 让这些流程能从消息平台被触发——两者是 Hermes 远程能力的左右手。" href="/docs/hermes/understanding/07-messaging-gateway" />
  <Card title="技能手册" description="需要具体安装命令、SKILL.md 字段、Hub 配置等操作细节，查官方教程中文版。" href="/docs/hermes/official/01-user-guide/skills" />
</Cards>
