使用技能
技能是按需知识文档,教 Hermes 如何处理特定任务 — 从生成 ASCII 艺术到管理 GitHub PR。本指南带你了解日常使用。
有关完整技术参考,请参阅技能系统。
查找技能
每个 Hermes 安装都附带了捆绑技能。查看可用内容:
# 在任何聊天会话中:
/skills
# 或从 CLI:
hermes skills list
这显示紧凑的列表及名称和描述:
ascii-art Generate ASCII art using pyfiglet, cowsay, boxes...
arxiv Search and retrieve academic papers from arXiv...
github-pr-workflow Full PR lifecycle — create branches, commit...
plan Plan mode — inspect context, write a markdown...
excalidraw Create hand-drawn style diagrams using Excalidraw...
搜索技能
# 按关键字搜索
/skills search docker
/skills search music
技能中心
官方可选技能(默认不激活的较重或小众技能)可通过中心获取:
# 浏览官方可选技能
/skills browse
# 搜索中心
/skills search blockchain
使用技能
每个安装的技能自动成为斜杠命令。只需输入其名称:
# 加载技能并给它任务
/ascii-art Make a banner that says "HELLO WORLD"
/plan Design a REST API for a todo app
/github-pr-workflow Create a PR for the auth refactor
# 仅技能名称(无任务)加载它并让你描述你需要什么
/excalidraw
你也可以通过自然对话触发技能 — 让 Hermes 使用特定技能,它会通过 skill_view 工具加载它。
渐进式披露
技能使用令牌高效加载模式。Agent 不会一次加载所有内容:
skills_list()— 所有技能的紧凑列表(~3k tokens)。在会话开始时加载。skill_view(name)— 一个技能的完整 SKILL.md 内容。当 agent 决定需要该技能时加载。skill_view(name, file_path)— 技能内的特定参考文件。仅在需要时加载。
这意味着技能在实际使用之前不会消耗令牌。
从中心安装
官方可选技能随 Hermes 附带但默认不激活。显式安装它们:
# 安装官方可选技能
hermes skills install official/research/arxiv
# 在聊天会话中从中心安装
/skills install official/creative/songwriting-and-ai-music
发生了什么:
- 技能目录被复制到
~/.hermes/skills/ - 它出现在你的
skills_list输出中 - 它作为斜杠命令可用
安装的技能在新会话中生效。如果你想在当前会话中可用,使用 /reset 开始新的,或添加 --now 立即使提示词缓存失效(下次轮次花费更多令牌)。
验证安装
# 检查它在那里
hermes skills list | grep arxiv
# 或在聊天中
/skills search arxiv
插件提供的技能
插件可以使用命名空间名称(plugin:skill)捆绑自己的技能。这防止与内置技能名称冲突。
# 通过其限定名称加载插件技能
skill_view("superpowers:writing-plans")
# 同名内置技能不受影响
skill_view("writing-plans")
插件技能不会列在系统提示词中,也不会出现在 skills_list 中。它们是选择性的 — 当你知道插件提供一个时显式加载。加载时,agent 看到列出同一插件兄弟技能的 banner。
有关如何在你自己插件中随附技能,请参阅构建 Hermes 插件 → 捆绑技能。
配置技能设置
某些技能在其 frontmatter 中声明它们需要的配置:
metadata:
hermes:
config:
- key: tenor.api_key
description: "Tenor API key for GIF search"
prompt: "Enter your Tenor API key"
url: "https://developers.google.com/tenor/guides/quickstart"
当首次加载带有配置的技能时,Hermes 提示你输入值。它们存储在 config.yaml 的 skills.config.* 下。
从 CLI 管理技能配置:
# 交互式配置特定技能
hermes skills config gif-search
# 查看所有技能配置
hermes config get skills.config
创建你自己的技能
技能只是带有 YAML frontmatter 的 markdown 文件。创建它不到五分钟。
1. 创建目录
mkdir -p ~/.hermes/skills/my-category/my-skill
2. 编写 SKILL.md
---
name: my-skill
description: Brief description of what this skill does
version: 1.0.0
metadata:
hermes:
tags: [my-tag, automation]
category: my-category
---
# My Skill
## When to Use
Use this skill when the user asks about [specific topic] or needs to [specific task].
## Procedure
1. First, check if [prerequisite] is available
2. Run `command --with-flags`
3. Parse the output and present results
## Pitfalls
- Common failure: [description]. Fix: [solution]
- Watch out for [edge case]
## Verification
Run `check-command` to confirm the result is correct.
3. 添加参考文件(可选)
技能可以包括 agent 按需加载的支持文件:
my-skill/
├── SKILL.md # Main skill document
├── references/
│ ├── api-docs.md # API reference the agent can consult
│ └── examples.md # Example inputs/outputs
├── templates/
│ └── config.yaml # Template files the agent can use
└── scripts/
└── setup.sh # Scripts the agent can execute
在你的 SKILL.md 中引用这些:
For API details, load the reference: `skill_view("my-skill", "references/api-docs.md")`
4. 测试它
开始新会话并尝试你的技能:
hermes chat -q "/my-skill help me with the thing"
技能自动出现 — 无需注册。将其放入 ~/.hermes/skills/ 它就上线了。
Agent 也可以使用 skill_manage 创建和更新技能。在解决复杂问题后,Hermes 可能会提供将方法保存为技能以供下次使用。说 yes — 这些 agent 创作的技能捕获了包括沿途发现的陷阱在内的确切工作流程。
每平台技能管理
控制哪些技能在哪些平台上可用:
hermes skills
这会打开一个交互式 TUI,你可以在其中为每个平台(CLI、Telegram、Discord 等)启用或禁用技能。当你想让某些技能仅在特定上下文中可用时有用 — 例如,将开发技能保持在 Telegram 之外。
技能 vs 记忆
两者都在会话之间持久化,但它们服务不同目的:
| 技能 | 记忆 | ||
|---|---|---|---|
| 什么 | 程序性知识 — 如何做事情 | 事实性知识 — 事物是什么 | |
| 何时 | 按需加载,仅在相关时 | 自动注入每个会话 | |
| 大小 | 可以很大(数百行) | 应保持紧凑(仅关键事实) | |
| 成本 | 加载前零令牌 | 小但恒定的令牌成本 | |
| 例子 | "如何部署到 Kubernetes" | "用户偏好深色模式,住在 PST" | |
| 创建者 | 你、agent 或从中心安装 | 基于对话的 agent |
经验法则: 如果你要放在参考文档中,它是技能。如果你要放在便利贴上,它是记忆。
技巧
保持技能专注。 试图覆盖"所有 DevOps"的技能会太长太模糊。专注于"将 Python 应用部署到 Fly.io"的技能足够具体,真正有用。
让 agent 创建技能。 在复杂多步任务之后,Hermes 通常会提供将方法保存为技能。说 yes — 这些 agent 创作的技能捕获了包括沿途发现的陷阱在内的确切工作流程。
使用类别。 将技能组织到子目录中(~/.hermes/skills/devops/、~/.hermes/skills/research/ 等)。这保持列表可管理并帮助 agent 更快找到相关技能。
技能过时时要更新。 如果你使用技能但遇到未涵盖的问题,告诉 Hermes 用你学到的更新技能。不维护的技能会成为负担。
有关完整技能参考 — frontmatter 字段、条件激活、外部目录等 — 请参阅技能系统。