一个 skill 是一包指令,教 Hermes 怎么把某件事做好。把它想成“你随时能请进对话里的专家”。
没有 skills,Hermes 聪明但笼统。有 skills 之后,它知道你们团队怎么开 PR,你们公司怎么部署到 Kubernetes,你喜欢架构图怎么画,你怎么跑 axolotl 微调任务。Skills 把一个通用 Agent 变成“你的” Agent。
Skills 放在哪里
装好的 skill 都在 ~/.hermes/skills/ 下面。每个 skill 是一个目录,至少有一个文件 SKILL.md,加上可选的子文件夹:references、templates、scripts、assets。
~/.hermes/skills/
mlops/axolotl/
SKILL.md
references/
templates/
devops/deploy-k8s/
SKILL.md
SKILL.md 就是指令本身。其他文件夹是可选的上下文,skill 需要的时候 Hermes 会拉进来。
逛 skill hub
Hermes 内置了一个 skill hub。先逛一下看看有什么:
hermes skills browse
东西挺多——部署、微调、代码评审、图片生成、PDF 处理、GitHub 工作流。先滚动看看。
知道自己想找什么的话,搜更快:
hermes skills search kubernetes
hermes skills search pdf
也可以按来源过滤:
hermes skills browse --source official
来源包括 official(Hermes 团队维护的)、skills-sh(社区 hub)、well-known(从其他站点发现的)、还有直接的 github。
装一个
我们装一个小而实用的。跑:
hermes skills search pdf
挑一个看起来有用的——官方源里通常有一个 PDF 读取或处理 skill。然后装:
hermes skills install openai/skills/pdf
具体名字看你搜的时候 hub 里有什么,用搜索结果里的那个名字。
装完之后看一眼你的 skills 列表:
hermes skills list
你应该能在里面看到 PDF skill。
用它
开一个会话:
hermes
像斜杠命令那样调用它:
/pdf 把 /tmp/document.pdf 里的文字抽出来
skill 的名字就是斜杠命令的名字。Hermes 加载这个 skill 的指令,按指令做事。
检查点 — 你的斜杠命令跑通了(哪怕只是测试用的 PDF),说明 skills 系统接好了。
写你第一个 skill
装 skill 简单,写 skill 也只是稍微难一点——而且这才是真正产生价值的地方。
我们做一个小 skill,教 Hermes 按你个人的习惯写 commit message。
先建目录:
mkdir -p ~/.hermes/skills/personal/commit-style
在里面创建 SKILL.md:
nano ~/.hermes/skills/personal/commit-style/SKILL.md
粘贴下面这些:
---
name: commit-style
description: 按我喜欢的方式写 commit message。
version: 1.0.0
---
# Commit message 风格
我让你写 commit message 的时候,遵守这些规则:
- 第一行不超过 50 字符
- 第一行用祈使句("Add X",不是 "Added X")
- 第一行用小写动词开头,不加前缀、不加 emoji、不带 ticket 号
- 如果要说更多,空一行写一段,讲**为什么**,不是**做了什么**
- 不要用 "refactor" 当动词,选一个更具体的
# 例子
好的:
- `add retry logic to upload endpoint`
- `fix off-by-one in pagination cursor`
- `drop unused dependency on moment`
不好的:
- `Updated files`(不够具体)
- `refactor: clean up`(模糊,用了禁用词)
- `feat(api): Add retry logic to upload endpoint`(带前缀和大写)
被要求写 commit message 时,只输出消息本身。除非我问,不要额外解释。
保存。
用你自己的 skill
确认 Hermes 看到它了:
hermes skills list
应该能看到 commit-style 在列表里。开一个对话试试:
hermes
/commit-style 我刚给 upload 端点加了带指数退避的重试逻辑。写个 commit message。
Hermes 会按你写的规则回一个 commit message。
检查点 — 你自己的斜杠命令刚刚跑通了。从这里往后,一切都是同一个模式的变种:写指令、保存成
SKILL.md、用斜杠命令调用。
Skills 还能做什么
一个 skill 可以不止一个 Markdown 文件。references/ 可以放可复用的上下文。scripts/ 可以放 skill 会调的可执行脚本。templates/ 可以放起始模板文件。Skills 可以要求特定的 toolset、索要配置值、甚至带自己的环境变量。
第一次写,先保持简单——一个文件、清晰的指令、好的例子。复杂的功能等真的需要了再加。
你也可以分享 skill。把 skill 目录放到一个 Git 仓库里,别人就能从 hub 装它。你的 commit 风格可以变成你们团队的 commit 风格。
下一步:MCP,把 Hermes 接到它原生不带的外部工具上。