主题
Hermes Skills 设计与选择
结论
Skill 不是“更长的提示词”,而是带触发条件、步骤、风险和验证方式的可复用工作手册。先搜索和复用,再创建;创建后只维护本地 Skill,不直接批量改内置 Skill。
一、什么时候需要 Skill
适合创建:
- 同类任务已经重复出现;
- 流程包含多个步骤和固定验收;
- 有 Windows、网络、工具版本等容易踩坑的细节;
- 需要附带模板、脚本或参考资料;
- Agent 曾经失败,后来形成了稳定解决方法。
不适合创建:
- 一次性问题;
- 单条命令即可完成;
- 临时任务进度;
- API Key、Token 或内部账号;
- 可以直接写入项目
AGENTS.md的强制规则。
二、优先选择哪些 Skill
按任务匹配,不按“热门程度”安装:
| 任务 | 推荐 Skill |
|---|---|
| Hermes 配置与排障 | hermes-agent |
| OpenCode 编码 | opencode |
| Markdown/Obsidian 笔记 | obsidian |
| 复杂任务规划 | plan |
| 系统化排错 | systematic-debugging |
| 测试驱动开发 | test-driven-development |
| 提交前审查 | requesting-code-review |
| GitHub PR/Issue | 对应 github-* Skill |
| VitePress 文档维护 | 本地文档维护 Skill |
“优秀 Skill”的判断标准:
description能准确触发,而不是覆盖所有相邻任务;- 步骤可以执行,不是抽象原则堆砌;
- 明确输入、输出和安全边界;
- 包含真实验证方式;
- 大量细节拆入
references/,脚本放入scripts/; - 不携带 Secret 和易过时的运行状态。
三、目录结构
text
skills/<skill-name>/
├── SKILL.md
├── references/
├── scripts/
├── templates/
└── assets/建议的 SKILL.md:
markdown
---
name: example-skill
description: Use when ...
version: 1.0.0
---
# Example Skill
## Trigger
说明什么时候加载,什么时候不要加载。
## Procedure
1. 前置检查。
2. 执行步骤。
3. 异常处理。
## Verification
列出命令、页面或结果断言。
## Pitfalls
记录已验证的常见错误。四、使用与维护
powershell
hermes skills list
hermes skills search <关键词>
hermes skills inspect <skill-id>
hermes skills install <skill-id>
hermes skills check
hermes skills update会话中:
text
/skill <name>
/reload-skills
/curator status维护原则:
- 内置 Skill 随版本更新,不直接统一格式或批量重写。
- 本地 Skill 有错误时立即修正。
- 项目专用流程放项目目录,避免复制成两份真源。
- 低频 Skill 先标记、备份和归档,不因使用次数少就直接删除。
- 修改后新建会话或重新加载,并用真实任务验证触发和流程。
五、Skills 与其他机制的边界
| 机制 | 解决的问题 |
|---|---|
| 项目规则 | 所有任务都必须遵守什么 |
| Skill | 某类任务怎样完成 |
| MCP | Agent 能调用什么外部能力 |
| Plugin | 如何扩展 Hermes 本身 |
| Memory | 跨会话记住稳定事实和偏好 |
| Cron | 什么时候自动执行任务 |
六、质量检查清单
text
[ ] 名称使用小写 kebab-case
[ ] description 包含具体触发词和使用边界
[ ] 步骤有明确顺序
[ ] 写操作前有范围和安全检查
[ ] 有真实验证步骤
[ ] 不包含 Secret
[ ] 不保存临时进度和易过期状态
[ ] references/scripts 路径可用
[ ] 已在新会话中跑过一次真实任务