【Agent工坊】Hermes Agent Skill开发实战:5分钟构建你的第一个自动化技能
不需要写一行服务端代码,一个YAML文件就能让AI Agent拥有新能力——这就是Hermes Agent的Skill系统。
为什么你需要自定义Skill
AI Agent的价值不在于"能聊天",而在于能执行具体任务。Hermes Agent通过Skill机制,让创业者可以像搭乐高一样,给Agent装上各种自动化能力。
举个例子:你想让Agent每天自动扫描GitHub上Hermes Agent的最新Release,提取changelog,然后生成一篇公众号草稿。传统做法需要写Python脚本、配置定时任务、处理API认证……而用Skill,你只需要一个Markdown文件。
今天这篇教程,带你从零构建一个可用的Skill。
Skill文件结构拆解
一个完整的Skill文件是带YAML前置元数据的Markdown文档。最小结构如下:
<hr>
name: my-first-skill
description: 我的第一个Automation Skill
triggers:
- 用户说"扫描GitHub"
- 定时任务触发
<hr>
三要素:
| 字段 | 说明 | 示例 |
|---|---|---|
name | 唯一标识符,用于delegate_task调用 | github-release-scanner |
description | 简短描述,出现在Agent工具列表里 | 扫描GitHub仓库最新Release |
triggers | 触发条件,支持关键词匹配和cron | "检查更新"、"每日早报" |
⚠️ 踩坑提醒:
triggers中的关键词必须精确匹配用户的完整输入(case-sensitive)。"扫描github"不会匹配"帮我扫描一下 GitHub",除非你在指令段中用自然语言说明匹配意图。
实战:构建一个HN热点监控Skill
假设我们想监控Hacker News上关于AI Agent工具的最新讨论。完整Skill代码如下:
步骤1:创建Skill文件
<hr>
name: hn-ai-agent-scanner
description: 扫描Hacker News上AI Agent工具的讨论,生成热点简报
triggers:
- 扫描HN热点
- hn scan
- AI Agent 行业快讯
<hr>
# HN AI Agent Scanner
你是一个专注于AI Agent赛道的热点监控Agent。
## 执行流程
1. 访问 https://hn.algolia.com/api/v1/search_by_date?query=AI%20agent&tags=story&hitsPerPage=10
2. 过滤最近的5条结果(过去24小时内)
3. 对每条结果,检查标题是否包含关键词:agent、tool、automation、MCP、Claude Code、Hermes、OpenClaw
4. 输出简报,格式:标题 + URL + 在HN上的points/comments数
5. 保存到 ~/ai-neican/research/hn-daily-{date}.md
## 输出格式
# HN AI Agent 赛道日报 | {date}
| 标题 | Points | Comments | 链接 |
|------|--------|----------|------|
| ... | ... | ... | ... |
## 注意事项
- 使用 `terminal` 工具执行 curl 调用 HN API
- API返回JSON,用 Python one-liner 解析
- 如果API无响应,回退到直接访问 news.ycombinator.com
步骤2:在Hermes Agent中加载Skill
将上述内容保存为 ~/.hermes/skills/hn-scanner.md,然后对话中直接说"扫描HN热点",Agent会自动匹配trigger并执行。
你也可以用 delegate_task 在另一个Skill中调用它:
delegate_task(
goal="扫描HN上AI Agent工具的最新讨论,生成今日简报",
context="保存到 ~/ai-neican/research/hn-daily-{date}.md",
toolsets=["terminal", "file"],
role="leaf"
)
触发与测试
Skill写好后,最简单的测试方式是直接对话。比如:
"扫描HN热点,看看今天有什么AI Agent新工具"
Agent会加载对应Skill,按你定义的流程执行。
调试技巧
# 查看Agent是否加载了你的Skill
ls ~/.hermes/skills/
# 查看Skill被加载时的日志(如果有)
grep "hn-ai-agent-scanner" ~/.hermes/logs/*.log
⚠️ 常见坑:YAML前置元数据必须用
---包裹,且前后都不能有空格或多余字符。一个多余的空格会让整个Skill加载失败且没有任何报错。
常见踩坑与解决方案
坑1:关键词触发不生效
现象:说了触发词但Agent没反应。
原因:trigger匹配是完全字符串匹配,不含模糊搜索。
解决:在triggers里多用几个变体,覆盖不同说法。
triggers:
- 扫描HN
- hn scan
- 查看HN热点
- Hacker News 快讯
- 今天AI圈有什么新闻
坑2:工具权限不足
现象:Skill里写了terminal操作但Agent说"我没有terminal权限"。
原因:Skill自身不控制工具权限,权限由调用方传入。
解决:用delegate_task时确保toolsets包含需要的工具。
delegate_task(
goal="...",
toolsets=["terminal", "file", "web"], # 必须显式授权
role="leaf"
)
坑3:Skill文件路径错误
现象:Skills目录有文件,但Agent加载不到。
原因:Hermes只扫描 ~/.hermes/skills/ 目录下的 .md 文件,子目录中的文件不会被递归加载。
解决:把所有Skill文件放在 ~/.hermes/skills/ 根目录,或使用软链接。
坑4:output格式不匹配下游
现象:生成的简报格式混乱,下游Skill读不懂。
原因:不同Agent产出的Markdown格式没有统一约定。
解决:在Skill指令中用固定模板约束输出格式,并附上example。
## 输出格式(必须严格遵守)
| 标题 | Points | Comments | 链接 |
|------|--------|----------|------|
| OpenAI 发布 GPT-5.5 | 342 | 89 | https://example.com |
高阶技巧:多Skill协作
单Skill能做的事有限,真正的威力在于装配线模式——多个Skill串联:
scanner-skill → 发现热点
↓
filter-skill → 筛选值得写的
↓
outline-skill → 生成大纲
↓
writer-skill → 写出初稿
↓
reviewer-skill → 审核打分
每个Skill只做一件事,通过共享Markdown文件传递数据。这就是AI创业内参背后的完整流水线架构。
生产级Skill的3个设计原则
- 单一职责:一个Skill只做一个任务,方便测试和替换
- 文件契约:输入和输出都落在Markdown文件,不依赖内存状态
- 容错输出:即使部分步骤失败,也要输出部分结果,不崩溃
总结
Hermes Agent的Skill系统把"写自动化脚本"变成了"写Markdown指令"。对于AI创业者来说,这意味着:
- ✅ 零编程门槛:不需要Python/Node.js,会写Markdown就行
- ✅ 可组合:多个Skill像乐高一样拼出完整流水线
- ✅ 即时生效:修改Skill文件后下一次对话立即生效,无需重启
- ✅ 可分享:Skill文件就是知识资产,可以交易和复用
行动建议:现在就打开编辑器,把你日常重复做的一件事(比如检查数据、整理信息、生成报告)写成一个Skill。5分钟后,你就拥有了第一个"AI员工"。
#AI创业 #HermesAgent #Skill开发 #一人公司 #AI自动化
本文由AI辅助创作,经人工审核编辑发布