OpenClaw 企业定制 私人订制工作流 优化运维 openclaw记忆优化 问题咨询解决 请加微信交流
用AI助手的时候,每次都要从头解释你想要什么、你的项目是什么、怎么做。Skills系统让AI能够”记住”怎么做某类事情,下次遇到同类问题,直接调用对应的Skill,不需要重新教。
这是Hermes Agent的核心功能之一。这篇讲清楚Skills是什么、怎么用、怎么创建、以及进阶技巧。
Skills是什么
Skill是一个知识包,AI在需要的时候加载它,用来完成特定任务。每个Skill包含:
- 触发条件:什么时候该用这个Skill
- 操作步骤:具体怎么做
- 注意事项:常见坑和解决方案
- 验证方法:怎么确认做对了
你可以把Skill理解为AI的”技能手册”。不同的Skill负责不同领域的任务。
怎么用Skill
斜杠命令
最简单的方式,用斜杠命令直接调用:
/gif-search funny cats
/axolotl help me fine-tune Llama 3
/github-pr-workflow create a PR for auth refactor
/plan design rollout for auth migration
直接说你要干什么,AI自动匹配对应的Skill并加载。
自然语言调用
也可以直接说,AI会判断是否需要加载Skill:
帮我画一个架构图
我要部署一个k8s服务
AI会自动加载对应的Skill,然后按Skill里的步骤执行。
查询可用Skills
hermes chat --toolsets skills -q "What skills do you have?"
hermes chat --toolsets skills -q "Show me the axolotl skill"
Skills的加载机制
Skill采用”渐进式披露”机制,节省Token:
| 层级 | 调用方式 | 返回内容 | Token消耗 |
|---|---|---|---|
| Level 0 | skills_list() | 所有Skill的名称和描述 | 约3k |
| Level 1 | skill_view(name) | 完整Skill内容和元数据 | 不定 |
| Level 2 | skill_view(name, path) | 特定的参考文件 | 不定 |
AI只在真正需要Skill的时候才加载完整内容,不需要就不加载。
Skill的目录结构
~/.hermes/skills/
├── mlops/
│ ├── axolotl/
│ │ ├── SKILL.md # 主指令文件(必需)
│ │ ├── references/ # 额外文档
│ │ ├── templates/ # 输出格式模板
│ │ └── scripts/ # 辅助脚本
│ └── vllm/
├── devops/
│ └── deploy-k8s/
│ ├── SKILL.md
│ └── references/
└── .hub/ # Skills Hub状态
每个Skill是一个文件夹,里面必须有SKILL.md,其他文件可选。
SKILL.md格式
Skill的核心是SKILL.md文件,格式如下:
---
name: my-skill
description: Brief description of what this skill does
version: 1.0.0
platforms: [macos, linux] # 可选,限制操作系统
metadata:
hermes:
tags: [python, automation]
category: devops
---
# Skill Title
## When to Use
Trigger conditions for this skill.
## Procedure
1. Step one
2. Step two
## Pitfalls
- Known failure modes and fixes
## Verification
How to confirm it worked.
platforms字段
可以限制Skill只在特定操作系统上可用:
platforms: [macos] # 只有macOS
platforms: [macos, linux] # macOS和Linux
在不兼容的平台,Skill会自动隐藏,不出现在列表里。
条件激活(Fallback Skills)
Skill可以设置条件,满足条件才显示:
metadata:
hermes:
fallback_for_toolsets: [web] # 当web工具集不可用时才显示
requires_toolsets: [terminal] # 只有terminal工具集可用时才显示
这个机制用来做”备选方案”:当高级工具不可用时,显示免费替代方案。
安全的环境变量配置
Skill可以声明需要的环境变量:
required_environment_variables:
- name: TENOR_API_KEY
prompt: Tenor API key
help: Get a key from https://developers.google.com/tenor
required_for: full functionality
缺失变量时,CLI会安全地提示输入,但消息平台永远不会在聊天里问你要密钥。
外部Skill目录
如果你的Skills存在其他目录,可以配置Hermes扫描它们:
# ~/.hermes/config.yaml
skills:
external_dirs:
- ~/.agents/skills
- /home/shared/team-skills
- ${SKILLS_REPO}/skills
支持~展开和${VAR}环境变量。
注意:外部目录是只读的,用于发现Skill。创建和编辑Skill时,Hermes总是写到~/.hermes/skills/。
创建自己的Skill
什么时候创建Skill
当你在一个项目里反复做同样的事情时,把它写成Skill:
- 部署流程
- 代码审查清单
- 特定技术栈的调试步骤
- 重复性的内容生产流程
Skill创建步骤
- 在~/.hermes/skills/下创建目录
- 写SKILL.md,包含触发条件、操作步骤、坑、验证
- 可选:添加references、templates、scripts
- 用/斜杠命令测试
官方Skill推荐
Hermes内置了很多官方Skills:
- plan:设计实现计划,不执行只输出计划
- axolotl:微调LLM
- github-pr-workflow:GitHub PR流程
- excalidraw:画手绘风格图
- gif-search:搜索GIF
还有更多可选Skills可以从官方目录安装。
Skill和Memory的区别
很多人分不清这两个概念:
- Memory:记住事实。你的名字、项目结构、你的偏好
- Skill:记住方法。怎么写代码、怎么处理某类问题
Memory是静态的事实清单,Skill是动态的操作手册。两者配合,AI才能真正”懂你”并”会做事”。
常见问题
Skill和Plugin有什么区别?
Skill是纯知识文档,AI读取它来知道怎么做。Plugin是代码扩展,给AI增加新的工具能力。
一个Skill可以调用另一个Skill吗?
可以,Skill可以引用其他Skill的内容,但嵌套层级不宜过深。
Skill支持哪些平台?
默认支持所有平台。也可以用platforms字段限制只在macOS或Linux上可用。
怎么删除一个Skill?
直接删除~/.hermes/skills/下的Skill目录,或者让AI帮你删除。
Skill可以分享给其他人吗?
可以,把Skill目录分享出去,对方放到自己的~/.hermes/skills/就能用。
总结
Skills系统让Hermes Agent具备了真正的”技能库”。
核心价值:
- 不需要重复教AI做同样的事
- 渐进式加载,节省Token
- 支持条件激活,做备选方案
- 可以分享和复用
- 配合Memory,实现真正的个性化AI助手
建议先从内置的plan skill开始体验,感受Skills怎么工作。








暂无评论内容