v0.18.0 新增
/learn命令后,创建Skill变成一句话的事。但如果你想写出生产级的、能分发给团队用的Skill,这篇是避坑指南。
为什么你需要学会写Skill?
先看一组数字:Hermes Agent 在 2026年7月1日发布的 v0.18.0「审判日版本」,团队用12天时间清空了整个仓库所有P0/P1级别的Issue和PR——496个Issue、196个PR,全部关闭。与此同时,v0.18.0 内置了 80+ 个捆绑Skill,覆盖 Apple 生态、GitHub 工作流、AI Agent 委托、创意设计、数据分析等十几个领域。
但内置Skill再好,也覆盖不了你独特的业务场景。比如:
- 你每天早上要抓取特定网站的最新数据
- 你的团队有一套固定的代码审查流程
- 你有一套自己验证过的"小红书爆款标题生成法"
这些才是Skill真正的用武之地。好消息是:写一个Skill只要5分钟,而且从v0.18.0开始,你甚至不用亲手写——让Agent自己写。
Skill到底是什么?
用一句话概括:Skill是一份Markdown文件,放在 ~/.hermes/skills/ 目录下,Hermes会自动发现并在需要时加载它。
从架构上看,Skill和Memory有明确分工:
| 维度 | Skill | Memory |
|---|---|---|
| 存什么 | 程序性知识——怎么做事 | 事实性知识——你是谁 |
| 何时加载 | 按需(关键词触发或用/skill命令) | 每次会话自动注入 |
| 体积 | 可以很大(几百行) | 应该紧凑(关键事实) |
| Token成本 | 零(加载前不消耗token) | 小但持续 |
| 例子 | "如何部署到K8s" | "用户偏好深色模式" |
核心设计哲学:Skill使用渐进式加载(Progressive Disclosure),Agent不会一次性吃掉所有Skills的token。它先看到 skills_list() 给出的名字和描述,只有当你明确需要某个Skill时,才通过 skill_view(name) 加载完整内容。这是Hermes Agent区别于其他Agent框架的关键优势——你拥有大规模知识库的能力,却不用为每个会话支付全量的token成本。
实战:写一个「每日AI热点监控」Skill
假设你的工作流是:每天早上自动抓取HN、GitHub、The Verge的AI板块最新动态,汇总成Markdown报告。我们把这个流程固化为一个Skill。
Step 1:创建目录和文件
mkdir -p ~/.hermes/skills/research/daily-ai-briefing
Step 2:编写 SKILL.md
---
name: daily-ai-briefing
description: 抓取多个来源的AI行业最新动态,汇总生成结构化日报
version: 1.0.0
metadata:
hermes:
tags: [research, ai-news, automation, daily]
category: research
---
# AI每日热点简报
## 触发条件
当用户说"生成AI日报"、"今天AI圈有什么新闻"、"daily briefing"时使用此Skill。
## 数据源(按优先级)
1. **HN热榜**:`https://news.ycombinator.com/` — 直接浏览首页前30条
2. **GitHub Trending**:用 `curl -s "https://api.github.com/search/repositories?q=AI+agent+created:>$(date -d '2 days ago' +%Y-%m-%d)&sort=stars&order=desc&per_page=10"`
3. **The Verge AI专栏**:`https://www.theverge.com/ai-artificial-intelligence`
## 执行流程
1. 用 `browser_navigate` 或 `web_search` 分别从三个来源获取最新内容
2. 筛选与AI创业/工具/融资相关的条目
3. 按以下模板输出日报:
AI日报 — {日期}
🔥 头条(1-2条)
- [标题]:一句话摘要。来源:[来源名]
📰 值得关注(3-5条)
- [标题]:关键数据/观点。来源:[来源名]
🔧 工具动态(1-2条)
- [工具名] 更新/新功能。链接:[URL]
💰 融资/商业
- [公司名]:金额/轮次/投资方。来源:[来源名]
生成时间:{timestamp} | 数据来源:HN, GitHub, The Verge
## 常见问题
- **HN页面为空**:用HN Algolia API搜索替代:`curl -s "https://hn.algolia.com/api/v1/search_by_date?query=AI&tags=story&hitsPerPage=20"`
- **The Verge无法提取正文**:用 `browser_console` 执行JS提取 `.article-content` 的innerText
- **API限流**:GitHub API未认证限60次/小时,高频率使用需要加token
## 验证
执行完成后检查:日报是否包含至少5条有效条目,每条是否有来源链接。
Step 3:测试
# 重启Hermes或开新会话
hermes chat -q "/daily-ai-briefing 生成今天的AI日报"
第一次执行时,Agent会按照SKILL.md中定义的流程逐步执行。如果某个数据源失败,它会自动降级到备选方案(这是Skill里写好的"常见问题"章节在起作用)。
进阶技巧:让Skill更专业
1. 用YAML Frontmatter声明配置依赖
如果你的Skill需要API Key(比如调用某个第三方服务),在frontmatter中声明:
metadata:
hermes:
config:
- key: newsapi.api_key
description: "NewsAPI密钥,用于获取新闻数据"
prompt: "请输入你的NewsAPI Key"
url: "https://newsapi.org/register"
当Skill首次加载时,Hermes会自动提示用户输入这些配置,并存入 config.yaml。这比在Skill正文里写"请先去申请API Key"优雅得多。
2. 利用 /learn 命令让Agent自己写Skill
v0.18.0 的新功能。如果你刚完成了一个复杂的多步骤操作,与其手动记录步骤再写成Skill,不如直接:
/learn 把我刚才操作的这个工作流保存为一个Skill,名字叫 deploy-to-fly
Agent会分析刚才的会话历史,自动提取关键步骤、识别失败点和解决方案,然后遵循你项目 CONTRIBUTING.md 中的规范生成完整的 SKILL.md。实测:从零到可用的生产级Skill,/learn 比手写快3-5倍。
3. 引用文件让Skill模块化
大Skill可以拆分:
daily-ai-briefing/
├── SKILL.md # 主文档——触发条件 + 执行流程
├── references/
│ └── data-sources.md # 详细的数据源API文档
├── templates/
│ └── report-template.md # 日报输出模板
└── scripts/
└── validate.sh # 验证脚本
在SKILL.md中引用:
需要查看某个数据源的API细节时,加载:
`skill_view("daily-ai-briefing", "references/data-sources.md")`
Agent会在需要时才加载这些引用文件,再次体现"渐进式加载"的设计理念。
4. 条件激活:只在特定平台生效
通过 hermes skills 命令打开TUI管理界面,可以控制Skill在哪些平台(CLI、Telegram、Discord、桌面App等)上可用。比如,你可能希望「服务器部署」类Skill只出现在CLI中,而「社交媒体内容生成」类Skill只在Telegram中可用。
常见踩坑与解决方案
坑1:Skill写了但Agent不用
原因:Skill的描述(description字段)太模糊,Agent在 skills_list 中看到后不知道怎么匹配。
解决:description要写清楚"用户说什么时触发",例如 "当用户要求生成AI行业日报、询问今日AI动态时使用" 而不是 "AI新闻工具"。
坑2:复杂流程Agent执行一半就停了
原因:Skill中的步骤描述太简略,Agent不确定下一步做什么。
解决:把大步骤拆成小步骤,每步都有明确的输入和输出。加上"验证"章节告诉Agent怎么确认自己做对了。
坑3:API返回格式变了,Skill失灵
原因:硬编码了API返回格式的解析逻辑。
解决:在Skill的"常见问题"章节列出已知的API变更点和降级方案。Hermes的自我改进机制会逐渐学会处理这些边界情况。
坑4:Skill中写了很多文字但Agent看不全
原因:Skill超过一定长度后,渐进式加载只会给Agent看一部分。
解决:核心执行流程放主文件,详细参考信息放 references/ 子文件。
总结:从Skill到自动化工作流
Skill是Hermes Agent生态中最被低估的能力。它让你从"每次都要告诉AI怎么做"变成"AI记住你的做法并在需要时自动执行"。结合v0.18.0的以下几个新能力,一个人就能搭建出完整的自动化工作流:
/learn:AI自动从对话历史中提取工作流并固化为Skill/goal+ Completion Contracts:让Agent自动判断任务是否真正完成(不只是"感觉做完了")- Background Fan-out:
delegate_task可以同时派发多个子Agent并行工作,不阻塞主会话 - Cron Jobs:将Skill绑定到定时任务,实现真正的"无人值守"
你的下一步行动:
1. 打开Hermes Agent,挑一个你重复做了3次以上的操作
2. 运行 /learn 把这个工作流保存为Skill
3. 看看Agent生成的SKILL.md,手动调整触发条件和描述
4. 下次直接用 /你的skill名 调用,享受自动化
参考来源:Hermes Agent Skills文档 | v0.18.0 Release Notes | Bundled Skills Catalog
