Agent工坊

【Agent工坊】Hermes Agent Skill 系统:5步创建专属能力,让Agent变成你的业务专家

2026年5月,Hermes Agent v0.14 的 Skill 系统已经支撑了 50+ 官方 Skill——从代码审查到微信发布,从内容创作到 Cron 调度。但真正让它强大的,是你自己写的 Skill。本文将手把手教你创建第一个生产级 Skill,从零到上线公众号草稿。

为什么 Skill 是 Agent 的核心竞争力

先看一个对比:

没有 Skill 的 Agent:每次对话都要重新描述需求——"请用我的公众号风格写文章,字数1500-2500,开头要有钩子,结尾要有CTA,插图要带数据标注…"这段话你重复了 20 次。

有 Skill 的 Agent:你只需要说"Agent工坊,写一篇关于内存管理的教程"——Agent 自动加载 Skill,知道所有规范、知道要用什么工具、知道输出格式是什么。

差距不在模型能力——在于"记忆的固化程度"。 Skill 就是把你的业务经验、操作规范、踩过的坑,固化成 Agent 的"肌肉记忆"。

Skill 系统架构速览

一个完整的 Skill 定义是这个结构:

---
name: my-custom-skill
description: 你的Skill功能描述
triggers:
  - 触发关键词1
  - 触发关键词2
version: 1.0.0
metadata:
  hermes:
    tags: [标签1, 标签2]
    related_skills: [关联Skill名]
---

# Skill 正文:给 Agent 的指令

## 执行流程
1. 第一步做什么
2. 第二步做什么
   ...

关键设计原则:
- name:唯一标识,Agent 用它来加载/引用
- description:一句话描述,Agent 用它判断是否匹配用户意图
- triggers:触发关键词列表,用户消息匹配任一即加载
- 正文:给 Agent 的详细指令,可以是 SOP、规范、代码模板等

Step-by-Step:创建一个"公众号数据周报"Skill

假设你的场景是:每周日自动生成公众号数据周报,包括阅读量、分享数、粉丝增长、文章表现。

Step 1:定义 Skill 元数据

---
name: weekly-report-generator
description: 公众号数据周报生成器 - 自动采集数据、生成图表、撰写分析并提交草稿
triggers:
  - 生成周报
  - weekly report
  - 数据周报
version: 1.0.0
metadata:
  hermes:
    tags: [wechat, analytics, automation]
    related_skills: [wechat-public-account-draft]
---

Step 2:定义数据采集流程

在 Skill 正文中定义数据采集逻辑,使用 execute_code 工具调用微信数据接口:

import subprocess, json
from datetime import datetime, timedelta

def fetch_weekly_stats():
    """获取最近7天的公众号数据"""
    # 1. 获取 access_token
    r = subprocess.run([
        'curl', '-s', '-X', 'POST',
        'https://api.weixin.qq.com/cgi-bin/stable_token',
        '-H', 'Content-Type: application/json',
        '-d', json.dumps({
            "grant_type": "client_credential",
            "appid": "YOUR_APPID",
            "secret": "YOUR_SECRET"
        })
    ], capture_output=True, text=True)
    token = json.loads(r.stdout)['access_token']

    # 2. 获取文章数据
    end_date = datetime.now()
    begin_date = end_date - timedelta(days=7)
    r = subprocess.run([
        'curl', '-s', '-X', 'POST',
        f'https://api.weixin.qq.com/cgi-bin/freepublish/batchget'
        f'?access_token={token}',
        '-H', 'Content-Type: application/json',
        '-d', json.dumps({
            "offset": 0, "count": 20,
            "no_content": 1
        })
    ], capture_output=True, text=True)
    return json.loads(r.stdout)['item']

Step 3:定义报告模板

在 Skill 正文中嵌入 Markdown 报告模板,使用 {placeholder} 作为变量占位符:

# 📊 公众号周报 | {start_date} - {end_date}

## 本周概览
- 📈 总阅读量:{total_reads}(环比 {change_percent}%)
- 🔄 总分享数:{total_shares}
- 👥 新关注:{new_followers} 人
- 📝 发布文章:{article_count} 篇

## 文章表现 Top 3
| 排名 | 标题 | 阅读 | 分享 | 转化率 |
|------|------|------|------|--------|
| 🥇 | {title_1} | {reads_1} | {shares_1} | {conv_1}% |
| 🥈 | {title_2} | {reads_2} | {shares_2} | {conv_2}% |
| 🥉 | {title_3} | {reads_3} | {shares_3} | {conv_3}% |

## 关键发现
{3-5条基于数据的洞察}

## 下周建议
{3条可操作的优化建议}

---
#公众号数据 #周报 #AI运营

Step 4:添加质量检查

在 Skill 末尾添加输出前检查清单,确保生成的报告质量:

## 输出前检查清单

生成报告后,必须逐项检查:
- [ ] 所有百分比已计算并标注环比方向(↑/↓)
- [ ] Top 3 文章标题完整,不含省略号
- [ ] 关键发现至少引用 2 个具体数字
- [ ] 优化建议具体可执行(不是"提升质量"这种空话)
- [ ] 文件名格式:weekly-report-YYYYMMDD.md

Step 5:完整 Skill 组合

把以上 4 步组合起来,你的完整 Skill 文件就是:

---
name: weekly-report-generator
description: 公众号数据周报生成器
triggers: [生成周报, weekly report, 数据周报]
version: 1.0.0
metadata:
  hermes:
    tags: [wechat, analytics, automation]
    related_skills: [wechat-public-account-draft]
---

# 公众号数据周报生成器

## 执行流程
1. 确认当前日期,计算本周起止时间(周一到周日)
2. 调用微信 API 获取 7 天文章数据
3. 按模板生成 Markdown 报告
4. 执行输出前检查清单
5. 将报告保存到 content/reports/ 目录

## 数据采集代码
[上方的 fetch_weekly_stats() 代码]

## 报告模板
[上方的 Markdown 模板]

## 输出前检查清单
[上方的检查清单]

进阶技巧:让 Skill 更智能

技巧 1:引用其他 Skill

你的 Skill 可以依赖系统中已有的 Skill:

metadata:
  hermes:
    related_skills: [wechat-public-account-draft, gpt-image-2-designer]

当用户说"生成周报并提交草稿",Agent 会自动加载 wechat-public-account-draft Skill 来处理提交步骤。

技巧 2:条件触发 + 动态上下文

更灵活的触发方式:

triggers:
  - 生成周报
  - 数据分析报告
  - 公众号复盘

Agent 会在用户消息匹配任一关键词时加载 Skill。你可以把相关场景都列进来。

技巧 3:模板变量

在 Skill 正文中使用 {placeholder} 标记,执行时 Agent 会替换为实际值:

总阅读量:{total_reads}(环比 {change_percent}%)

Agent 的推理能力会自动把 {total_reads} 替换为 API 返回的实际数字。

常见踩坑与解决

问题 原因 解决方案
Skill 不触发 triggers 关键词不匹配用户输入 加更多同义触发词;检查是否含特殊字符
Agent 忽略某些步骤 步骤描述太模糊 用"必须""逐一"等强调词,加检查清单
输出格式不对 模板没有被正确解析 用代码块包裹模板(```markdown ... ```)
重复执行 多个 Skill 都有相似 trigger 用更精确的关键词区分,或合并为一个 Skill
变量不替换 Agent 没识别到 {var} 是变量 在 Skill 开头加:"以下模板中的 {xxx} 是变量占位符,执行时替换为实际值"

你的第一个 Skill:15 分钟实操

现在动手创建一个最简单的 Skill——"问候 Skill",验证整个流程:

1. 创建 Skill 文件

保存为 greeting.md

---
name: greeting
description: 个性化问候 Skill,根据时间自动选择问候语
triggers: [你好, , hello, hi, 早上好, 下午好, 晚上好]
version: 1.0.0
---

# 个性化问候 Skill

## 执行逻辑
1. 获取当前时间
2. 按规则选择问候语:
   - 05:00-11:59 → "早上好!新的一天,加油 💪"
   - 12:00-17:59 → "下午好!今天的效率怎么样?"
   - 18:00-22:00 → "晚上好!今天辛苦了 🌙"
   - 其他时间 → "夜深了,注意休息 🌟"
3. 附加一句随机的正能量短句
4. 以用户的名字称呼(如果已知)

2. 加载 Skill

在 Hermes Agent 对话中:

/skill load greeting

或者让 Agent 自动识别——当你说"早上好"时,Agent 匹配到 triggers 就会加载。

3. 测试

用户:早上好
Agent:[加载greeting Skill] 早上好!新的一天,加油 💪 今天的小目标:比昨天进步1%。

你的第一个 Skill 已经生效了!

总结:Skill 让 Agent 从"工具"变成"团队"

回到开头那个对比:

  • 没有 Skill:每次反复描述需求,费 token 费时间
  • 有 Skill:Agent 记住你的规范和偏好,一句话触达

这就是 Agent 创业的核心竞争力——不是买更多模型,而是把你自己的经验固化成可复用的 Skill。

当你的 Skill 库积累到 20+ 个,你就不再是一个人在战斗——你有一整个 AI 团队,每个 Skill 都是你的"数字员工"。

行动建议
1. 今天就把你最重复的 1 个操作写成一个 Skill
2. 测试 3 次确保它能稳定触发
3. 下周再写第二个——积累速度远超你想象


Agent工坊 #HermesAgent #Skill系统 #AI创业 #一人公司