第 3 课 第一个 Skill:从模板到可用

第 3 课 第一个 Skill:从模板到可用

本课目标

  • 使用官方模板快速创建第一个 Skill
  • 掌握 Skill 的本地测试与调试方法
  • 完成从"能用"到"好用"的优化迭代

3.1 Skill 模板类型

Hermes 提供三种 Skill 模板:

模板类型 适用场景 复杂度
通用型 问答/分析/生成类
工具型 需要执行命令/调用 API ⭐⭐
工作流型 多步骤复杂流程 ⭐⭐⭐
# 查看可用模板
hermes skills init --list

# 用模板创建 Skill
hermes skills init --template tool my-first-skill

会生成:

my-first-skill/
├── SKILL.md          # 主文件
├── README.md         # 使用说明
└── examples/         # 示例对话
    └── basic.md

3.2 实战:每日新闻摘要 Skill

小杨要做的第一个 Skill:每日新闻摘要——用户说"今天有什么新闻",Agent 自动搜索、整理、输出结构化摘要。

第一步:创建项目

hermes skills init --template tool daily-news-digest
cd daily-news-digest

第二步:编写 SKILL.md

---
name: daily-news-digest
description: 搜索并整理当日热门新闻,输出结构化摘要
version: 1.0.0
author: xiaoyang-dev
triggers:
  - "今天有什么新闻"
  - "每日新闻"
  - "新闻摘要"
  - "today's news"
  - "daily news digest"
tools:
  - web_search
tags:
  - news
  - productivity
icon: 📰
---

# Daily News Digest

## 角色
你是一个专业的新闻编辑,擅长快速筛选和整理新闻。

## 工作流程
1. 使用 Web 搜索获取当日热门新闻
2. 筛选 Top 5 最重要的新闻
3. 对每条新闻撰写 2-3 句摘要
4. 标注新闻来源和时间
5. 在末尾给出一句话的"今日总结"

## 输出格式

### 📰 今日新闻摘要 · [日期]

| # | 标题 | 摘要 | 来源 |
|---|------|------|------|
| 1 | ... | ... | ... |
| 2 | ... | ... | ... |

**今日一句话总结:** ...

## 约束
- 优先选择科技、经济、国际类新闻
- 摘要保持客观中立
- 每条摘要不超过 3 句话
- 标注原始来源链接

第三步:编写 README.md

# 📰 Daily News Digest

每天一句话了解世界在发生什么。

## 使用方式

对 Hermes 说:
- "今天有什么新闻"
- "每日新闻"
- "today's news"

## 示例输出

### 📰 今日新闻摘要 · 2026-04-15

| # | 标题 | 摘要 | 来源 |
|---|------|------|------|
| 1 | AI Agent 市场突破百亿美元 | ... | TechCrunch |
| 2 | ... | ... | ... |

## 安装

hermes skills install daily-news-digest

## 作者
xiaoyang-dev · MIT License

3.3 本地测试

安装到本地

# 本地开发目录加载
hermes skills link ./daily-news-digest

# 验证加载
hermes skills list
# 输出:
# ✅ daily-news-digest (v1.0.0) - local

触发词测试

# 测试不同触发词
hermes "今天有什么新闻"
hermes "每日新闻"
hermes "给我看看今天的新闻摘要"   # 这条可能不触发——需要优化

调试模式

# 开启调试输出,查看 Skill 匹配过程
hermes --debug "今天有什么新闻"

# 输出类似:
# [DEBUG] Scanning 12 skills...
# [DEBUG] Trigger match: "今天有什么新闻" → daily-news-digest (exact)
# [DEBUG] Loading SKILL.md from ~/.hermes/skills/daily-news-digest/
# [DEBUG] Injecting skill instructions (1.2KB)

常见问题排查

问题 原因 解决
不触发 触发词不匹配 增加更多触发词变体
触发了但行为不对 指令区不清晰 细化工作流程步骤
报权限错误 tools 未声明 添加所需工具到 tools 列表
输出格式乱 缺少格式约束 在指令区明确输出格式

3.4 迭代优化

小杨第一次测试后发现三个问题:

问题 1:触发词覆盖不够

# 用户可能这样说,但没匹配到
"给我看看今天的新闻"
"有什么大事"
"新闻早报"

# 增加触发词
triggers:
  - "今天有什么新闻"
  - "每日新闻"
  - "新闻摘要"
  - "新闻早报"
  - "有什么大事"
  - "today's news"
  - "daily news"
  - "news digest"

问题 2:输出太长

## 约束(修订版)
- 最多输出 5 条新闻
- 每条摘要限 2 句话以内
- 整体输出不超过 500 字

问题 3:缺少个性化

## 工作流程(修订版)
1. 使用 Web 搜索获取当日热门新闻
2. 如果用户指定了领域(如"科技新闻"),优先该领域
3. 如果没有指定,选择科技、经济、国际各 1-2 条
4. 对每条新闻撰写 1-2 句摘要
5. 末尾给出一句话总结

版本更新

version: 1.1.0  # 从 1.0.0 升级

3.5 Skill 文档编写

好的文档直接影响下载量。小杨总结的文档模板:

README.md 结构

# [Icon] [Skill Name]

一句话介绍(和 description 保持一致)

## 功能亮点
- 亮点 1
- 亮点 2

## 使用方式
展示 3-5 个触发句子

## 输出示例
展示一个真实输出截图或 Markdown

## 安装方式
hermes skills install [name]

## 配置(如果有)
环境变量或配置说明

## 更新日志
### v1.1.0
- 新增领域筛选功能
- 优化输出长度

### v1.0.0
- 初始发布

## 作者 · 许可

3.6 动手练习

  1. 选择场景:从以下选一个(或自定义)

    • 代码 Review 助手
    • Markdown 格式检查器
    • 英语语法纠错
    • 天气查询摘要
  2. 初始化项目hermes skills init --template [type] [name]

  3. 编写 SKILL.md:包含完整的元数据和指令区

  4. 本地安装测试:至少测试 5 种不同的触发方式

  5. 迭代至少 1 次:根据测试结果优化触发词或指令

  6. 编写 README.md:参照 3.5 节的模板

# 完成后检查
hermes skills list
hermes --debug "你的触发词"

本课小结

要点 内容
模板类型 通用型 / 工具型 / 工作流型
开发流程 init → 编写 → link → 测试 → 迭代
测试方法 触发词测试 + --debug 模式
迭代重点 触发词覆盖、输出长度、个性化

下一课:高级 Skill 架构——多文件引用、脚本集成、模板系统。