Agent工坊

【Agent工坊】5分钟学会给Hermes Agent写自定义Skill,从此AI替你记住所有工作流

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-outdelegate_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


AI创业 #HermesAgent #Agent工坊 #Skill开发 #一人公司