Skills 系统深度解剖——掌握 Hermes Agent 的技能生态
约 10 分钟2912 字1 次阅读
Skills 系统深度解剖——掌握 Hermes Agent 的技能生态
掌握 Hermes Agent 的技能生态,创建、调试、优化和分享自己的技能。
Skills 是 Hermes Agent 的核心能力之一——解决复杂问题后自动生成可复用的技能文档。这篇深入剖析 Skills 系统的一切。
一、Skills 是什么?
1.1 概念定义
Skill 是一个可复用的能力包,包含:
| 组成部分 | 说明 | 示例 |
|---|---|---|
| 触发条件 | 何时使用这个技能 | 用户提到"审查代码" |
| 执行步骤 | 如何执行 | git diff → 分析 → 报告 |
| 相关知识 | 背景信息 | 代码规范、安全最佳实践 |
| 使用示例 | 输入输出示例 | PR审查 → 问题列表 |
存储格式:SKILL.md(Markdown 文档)
1.2 与普通 Prompt 的区别
| 特性 | Skill | 普通 Prompt | Skill 优势 |
|---|---|---|---|
| 持久化 | ✅ 永久保存 | ❌ 一次性 | 一次创建,永久使用 |
| 可搜索 | ✅ FTS5 全文索引 | ❌ | 快速检索 |
| 可分享 | ✅ agentskills.io | ❌ | 社区生态 |
| 自优化 | ✅ 使用中改进 | ❌ | 越用越强 |
| 版本管理 | ✅ 支持 | ❌ | 可回滚 |
| 执行统计 | ✅ 完整记录 | ❌ | 数据驱动优化 |
1.3 Skills 的价值
没有 Skills:
用户:帮我审查这个 PR
AI:好的...(每次都要重新分析)
用户:帮我再审查一个 PR
AI:好的...(重复之前的思考过程)
有 Skills:
用户:帮我审查这个 PR
AI:[加载 code-review 技能]好的,这是审查结果...
用户:帮我再审查一个 PR
AI:[加载 code-review 技能]好的,审查结果...
→ 更快、更一致、更专业
二、内置 40+ 技能详解
Hermes Agent 自带丰富的内置技能,覆盖多个领域:
2.1 开发工具类
| 技能名 | 功能 | 使用场景 |
|---|---|---|
github | GitHub API 操作 | 仓库管理、Issue、PR |
git | Git 命令执行 | 分支管理、提交、冲突解决 |
code-analysis | 代码静态分析 | 找出代码问题 |
test-runner | 测试运行 | 单元测试、集成测试 |
lint | 代码检查 | ESLint、Prettier |
code-review | PR 审查 | 安全、风格、最佳实践 |
dependency-check | 依赖检查 | 安全漏洞、更新提醒 |
2.2 数据处理类
| 技能名 | 功能 | 使用场景 |
|---|---|---|
chart | 图表生成 | 数据可视化 |
pdf | PDF 处理 | 读取、生成、合并 |
csv | CSV 操作 | 数据导入导出 |
json | JSON 处理 | 解析、转换、验证 |
database | 数据库操作 | SQL 查询、迁移 |
excel | Excel 处理 | 读写、分析 |
2.3 网络交互类
| 技能名 | 功能 | 使用场景 |
|---|---|---|
browser | 浏览器自动化 | 网页操作、表单填写 |
web-fetch | 网页抓取 | 提取内容、爬虫 |
api-client | API 调用 | REST、GraphQL |
web-search | 搜索引擎 | 查找信息 |
screenshot | 页面截图 | 可视化记录 |
2.4 通信类
| 技能名 | 功能 | 使用场景 |
|---|---|---|
email | 邮件发送 | 通知、报告 |
slack | Slack 消息 | 团队通知 |
telegram | Telegram | 即时通讯 |
discord | Discord 消息 | 社区通知 |
webhook | Webhook 调用 | 事件推送 |
2.5 自动化类
| 技能名 | 功能 | 使用场景 |
|---|---|---|
cron | 定时任务 | 定期执行 |
schedule | 调度管理 | 复杂调度 |
workflow | 工作流 | 多步骤自动化 |
reminder | 提醒 | 定时提醒 |
monitor | 监控 | 系统监控 |
2.6 AI/ML 类
| 技能名 | 功能 | 使用场景 |
|---|---|---|
whisper | 语音转文字 | 会议记录 |
tts | 文字转语音 | 语音播报 |
image-gen | 图片生成 | 插图、海报 |
embed | 向量嵌入 | 语义搜索 |
三、SKILL.md 格式完全规范
3.1 完整字段列表
# SKILL.md - 完整规范
# 1. 元数据头(可选,但推荐)
---
name: code-review # 技能唯一名称
version: "1.2.0" # 语义版本
author: hermes-auto # 创建者
created: "2026-03-15" # 创建日期
updated: "2026-05-11" # 最后更新
description: "代码审查助手" # 简短描述
tags: [code, security, review] # 标签
language: zh-CN # 主要语言
---
# 2. 技能标题
# 技能名称(自动从文件名推断)
## 描述
简要描述这个技能做什么。1-2 句话。
## 触发条件
描述什么情况下应该使用这个技能。
### 触发词(可选)
- review code
- 审查代码
- check pr
### 触发场景
- 用户要求审查代码
- 用户提到 PR 链接
- 用户提到代码变更
## 前置条件
执行这个技能前需要满足的条件。
### 必需工具
- git
- shell
### 必需配置
- GITHUB_TOKEN 环境变量
## 执行步骤
### 步骤 1:获取代码变更
使用 git diff 获取代码变更内容。
### 步骤 2:静态分析
检查以下问题:
- 安全漏洞
- 代码风格
- 性能问题
### 步骤 3:生成审查报告
汇总发现的问题,生成结构化报告。
## 变量
这个技能支持的配置变量。
| 变量名 | 类型 | 默认值 | 说明 |
|--------|------|--------|------|
| severity | string | "medium" | 问题严重程度 |
| include_suggestions | boolean | true | 是否包含修改建议 |
## 相关知识
执行这个技能需要的背景知识。
### 代码规范
遵循 Google Style Guide。
### 安全标准
- OWASP Top 10
- CWE Top 25
## 示例
### 示例 1:审查 PR
输入:审查这个 PR https://github.com/owner/repo/pull/123
输出:
## 代码审查报告
### 发现的问题
1. **[高危]** SQL 注入漏洞
- 位置:src/api/user.py:45
- 说明:...
- 建议:...
...
### 示例 2:审查本地变更
输入:帮我审查 main 分支的变更
输出:(类似格式)
## 配置示例
在 config.yaml 中的配置示例:
```yaml
skills:
code-review:
severity_threshold: "medium"
auto_assign: true
reviewers: ["@alice", "@bob"]
注意事项
- 如果是大型 PR,只分析最近 20 个文件
- 忽略测试文件除非用户明确要求
- 生成中文报告
已知限制
- 不支持二进制品安全扫描
- 不支持依赖许可证检查
性能指标
记录这个技能的使用统计。
| 指标 | 值 |
|---|---|
| 平均执行时间 | 45 秒 |
| 成功率 | 92% |
| 使用次数 | 156 |
### 3.2 触发条件详解
触发条件是技能系统的核心,决定何时激活技能:
```yaml
## 触发条件
### 精确匹配
- "审查代码"
- "review code"
### 模糊匹配(包含以下关键词)
- "代码审查"
- "PR 审查"
- "check code"
### 正则匹配
- `^review.*pr$`
- `审查.*(PR|代码)`
### 场景匹配
- 用户提到 GitHub PR URL
- 用户提到代码变更
- 用户提到 .diff 文件
### 组合条件
- 包含"审查"且包含"代码"
- 包含"review"且不包含"test"
3.3 执行步骤详解
## 执行步骤
### 简单步骤
### 步骤 1:获取信息
直接描述执行内容。
### 条件步骤
### 步骤 2:检查安全
如果代码包含 SQL 查询,则执行:
- 运行 SQL 注入检测
- 检查参数化查询
### 循环步骤
### 步骤 3:分析每个文件
对变更列表中的每个文件:
1. 获取文件内容
2. 运行分析
3. 记录问题
### 可选步骤
### 步骤 4:生成报告(可选)
如果发现 > 0 个问题:
- 生成详细报告
- 发送通知
否则:
- 输出"没有问题"
### 错误处理
### 步骤 5:处理失败
如果 git 命令失败:
- 提示用户检查仓库配置
- 提供手动审查指南
四、创建自定义技能详解
4.1 方法一:Hermes 自动创建
解决复杂问题后,Hermes 会自动分析并创建技能:
用户:帮我分析这个 API 性能瓶颈,找出原因并给出优化方案。
Hermes:
[分析过程...]
1. 获取 API 日志
2. 分析慢查询
3. 检查缓存策略
4. 给出优化建议
[分析完成,耗时 3 分钟]
[自动创建技能:api-performance-analysis]
是否保存这个技能以便下次使用?[Y/n]
自动创建的好处:
- 不需要手动编写
- 基于实际成功经验
- 自动提取关键步骤
4.2 方法二:手动创建
# 创建技能目录
mkdir -p ~/.hermes/memory/skills/my-custom-skill
cd ~/.hermes/memory/skills/my-custom-skill
# 创建 SKILL.md
touch SKILL.md
最小模板:
# SKILL.md - 技能名称
## 描述
这个技能做什么。
## 触发条件
什么情况下使用。
## 执行步骤
### 步骤 1
第一个步骤。
## 示例
输入:xxx
输出:xxx
4.3 完整示例:API 性能分析技能
# SKILL.md - API 性能分析
---
name: api-performance-analysis
version: "1.0.0"
author: user
created: "2026-05-11"
tags: [api, performance, optimization]
---
## 描述
分析 API 性能瓶颈,识别慢查询和优化机会。
## 触发条件
- 用户提到"API 性能"
- 用户提到"接口慢"
- 用户提到"性能瓶颈"
- 用户提到"优化"
## 前置条件
### 必需工具
- shell
- read
- web_fetch
### 必需配置
- ANALYTICS_API_KEY(可选)
## 执行步骤
### 步骤 1:收集指标
获取 API 相关指标:
- 响应时间分布
- QPS/TPS
- 错误率
- 慢请求列表
### 步骤 2:识别瓶颈
分析收集的指标:
- P99 > 1s → 关注
- 错误率 > 1% → 告警
- QPS 下降 → 排查
### 步骤 3:根因分析
对识别的瓶颈进行深入分析:
- 数据库查询(慢查询日志)
- 外部依赖(超时分析)
- 代码逻辑(火焰图)
### 步骤 4:生成优化方案
针对每个瓶颈:
1. 问题描述
2. 原因分析
3. 优化方案(含代码示例)
4. 预期收益
## 变量
| 变量名 | 类型 | 默认值 | 说明 |
|--------|------|--------|------|
| time_range | string | "1h" | 分析时间范围 |
| top_n | number | 10 | 关注 Top N 慢请求 |
| include_code | boolean | true | 是否包含代码示例 |
## 相关知识
### 性能指标
- P50/P90/P99 响应时间
- QPS(每秒请求数)
- 错误率
- 超时率
### 常见瓶颈
- N+1 查询
- 缺少索引
- 未使用缓存
- 同步阻塞
## 示例
### 示例 1:分析慢请求
输入:分析这个 API 的慢请求
输出:
## 性能分析报告
### 概览
| 指标 | 值 |
|------|-----|
| 分析时间 | 最近 1 小时 |
| 总请求数 | 15,234 |
| P99 响应时间 | 2.3s |
| 错误率 | 0.8% |
### Top 3 慢请求
1. **GET /api/users** - P99: 3.2s
- 原因:N+1 查询
- 优化:批量查询
...
### 优化建议
1. 为 users 表添加索引
2. 实现 Redis 缓存
...
### 示例 2:完整性能诊断
输入:帮我全面分析这个 API 的性能问题
输出:(类似格式,更详细)
## 配置示例
```yaml
skills:
api-performance-analysis:
time_range: "24h"
top_n: 20
auto_optimize: false
注意事项
- 收集数据时不影响线上服务
- 敏感 API 路径自动脱敏
- 大时间范围可能耗时较长
性能指标
| 指标 | 值 |
|---|---|
| 平均执行时间 | 35 秒 |
| 成功率 | 94% |
| 使用次数 | 42 |
---
## 五、Skills Hub:社区技能生态
### 5.1 agentskills.io 平台
[agentskills.io](https://agentskills.io) 是官方技能分享平台:
┌─────────────────────────────────────────────────────────────────────┐ │ agentskills.io │ ├─────────────────────────────────────────────────────────────────────┤ │ │ │ 搜索 🔍 [api testing ] │ │ │ │ ──────────────────────────────────────────────────────────────── │ │ │ │ 热门技能: │ │ │ │ ┌─────────────────────────────────────────────────────────────┐ │ │ │ 🔥 github-pr-reviewer (2.3k 安装) │ │ │ │ 自动审查 GitHub PR,检查安全、风格、最佳实践 │ │ │ │ Tags: github, security, review │ │ │ └─────────────────────────────────────────────────────────────┘ │ │ │ │ ┌─────────────────────────────────────────────────────────────┐ │ │ │ 🏆 api-testing (1.8k 安装) │ │ │ │ REST API 自动化测试,支持 OpenAPI │ │ │ │ Tags: api, testing, automation │ │ │ └─────────────────────────────────────────────────────────────┘ │ │ │ │ ┌─────────────────────────────────────────────────────────────┐ │ │ │ ⭐ database-migration (1.5k 安装) │ │ │ │ 数据库迁移助手,支持 PostgreSQL/MySQL │ │ │ │ Tags: database, migration, postgresql │ │ │ └─────────────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────────┘
### 5.2 安装社区技能
```bash
# 安装单个技能
hermes skill install github-pr-reviewer
# 安装多个技能
hermes skill install api-testing database-migration
# 安装指定版本
hermes skill install github-pr-reviewer@1.2.0
# 从 URL 安装
hermes skill install https://agentskills.io/skills/custom-skill
5.3 发布技能
# 1. 确保技能格式正确
hermes skill validate my-skill
# 2. 测试技能
hermes skill test my-skill --dry-run
# 3. 发布到 Skills Hub
hermes skill publish my-skill
# 4. 设置为公开/私有
hermes skill publish my-skill --public
hermes skill publish my-skill --private
5.4 热门技能推荐
| 技能名 | 安装量 | 评分 | 用途 |
|---|---|---|---|
github-pr-reviewer | 2.3k | ⭐4.8 | PR 自动审查 |
api-testing | 1.8k | ⭐4.7 | REST API 测试 |
database-migration | 1.5k | ⭐4.6 | 数据库迁移 |
security-scan | 1.2k | ⭐4.9 | 安全扫描 |
docker-deploy | 1.1k | ⭐4.5 | Docker 部署 |
monitoring-setup | 980 | ⭐4.4 | 监控配置 |
六、技能加载机制详解
6.1 按需加载原理
┌─────────────────────────────────────────────────────────────────────┐
│ 技能加载流程 │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ 1. 用户输入 │
│ "帮我审查这个 PR" │
│ │
│ 2. 触发条件匹配 │
│ ┌─────────────────────────────────────┐ │
│ │ skill: code-review │ │
│ │ triggers: │ │
│ │ - "审查" ✓ │ │
│ │ - "review" ✓ │ │
│ │ - "PR" ✓ │ │
│ │ match_score: 0.95 │ │
│ └─────────────────────────────────────┘ │
│ │
│ 3. 技能加载 │
│ 读取 ~/.hermes/memory/skills/code-review/SKILL.md │
│ │
│ 4. 执行 │
│ 按执行步骤执行代码审查 │
│ │
│ 5. 记录执行结果 │
│ - 执行时间 │
│ - 成功率 │
│ - 问题发现数量 │
│ │
└─────────────────────────────────────────────────────────────────────┘
6.2 多技能匹配
# 用户输入:"帮我分析这个 API 的性能问题并审查代码"
可能的匹配:
- api-performance-analysis (匹配度: 0.92)
- code-review (匹配度: 0.78)
处理策略:
- 主要技能:api-performance-analysis
- 次要技能:code-review(作为工具调用)
6.3 技能优先级
优先级规则(从高到低):
1. 用户自定义技能(~/.hermes/memory/skills/)
2. 社区安装技能(~/.hermes/memory/skills-installed/)
3. 内置技能(hermes 内置)
同名技能覆盖:
如果同名技能存在,后者覆盖前者
七、技能的版本管理
7.1 版本控制
# 查看技能版本
hermes skill info my-skill
# 输出:
# name: my-skill
# version: 1.2.0
# created: 2026-03-15
# updated: 2026-05-11
# 升级技能
hermes skill update my-skill
# 回滚技能
hermes skill rollback my-skill --to 1.1.0
# 查看版本历史
hermes skill history my-skill
7.2 版本历史
# 输出:
# v1.2.0 (2026-05-11)
# - 添加了安全扫描功能
# - 优化了性能
#
# v1.1.0 (2026-04-20)
# - 修复了边界 case
# - 改进了错误提示
#
# v1.0.0 (2026-03-15)
# - 初始版本
7.3 技能备份
# 导出技能
hermes skill export my-skill --output ./backup/
# 导出所有技能
hermes skill export-all --output ./backup/
# 导入技能
hermes skill import ./backup/my-skill.zip
# 从备份恢复
hermes skill restore my-skill --from backup.zip
八、技能的调试与测试
8.1 本地测试
# 测试技能(不执行实际操作)
hermes skill test my-skill --dry-run
# 使用示例测试
hermes skill test my-skill --example 1
# 指定输入测试
hermes skill test my-skill --input "帮我审查代码"
8.2 调试模式
# 启用调试输出
hermes skill test my-skill --debug
# 输出:
# [DEBUG] 加载技能: my-skill
# [DEBUG] 触发条件匹配: 0.85
# [DEBUG] 执行步骤 1...
# [DEBUG] 步骤 1 结果: OK
# [DEBUG] 执行步骤 2...
# [DEBUG] 步骤 2 结果: OK
# [DEBUG] 执行完成,耗时: 1.2s
8.3 常见问题排查
| 问题 | 原因 | 解决方法 |
|---|---|---|
| 技能不触发 | 触发条件不匹配 | 检查关键词 |
| 执行失败 | 前置条件不满足 | 检查配置 |
| 结果不符合预期 | 执行步骤有问题 | 修改步骤 |
| 执行太慢 | 步骤设计不合理 | 优化步骤 |
九、技能的统计分析
9.1 使用统计
# 查看技能使用统计
hermes skill stats my-skill
# 输出:
# name: my-skill
# total_runs: 156
# success_rate: 92%
# avg_duration: 45s
# avg_steps: 5.2
#
# 最近 7 天:
# runs: 23
# success: 21
# avg_duration: 42s
#
# 最近 30 天:
# runs: 89
# success: 82
# avg_duration: 48s
9.2 性能分析
# 分析技能性能
hermes skill analyze my-skill
# 输出:
# 执行时间分布:
# < 30s: 45%
# 30-60s: 35%
# > 60s: 20%
#
# 失败原因分析:
# 权限问题: 3
# 超时: 2
# 配置错误: 1
#
# 优化建议:
# - 步骤 3 可以并行执行
# - 考虑添加缓存
十、技能与 MCP 的关系
10.1 MCP Server 是什么?
MCP(Model Context Protocol)是外部工具的标准协议:
┌─────────────────────────────────────────────────────────────────────┐
│ MCP 架构 │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ Hermes Agent │
│ │ │
│ │ MCP Client │
│ ▼ │
│ ┌─────────────────┐ │
│ │ MCP Server │ ← 外部进程 │
│ │ (例如天气服务) │ │
│ └─────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────┐ │
│ │ 真实服务 │ │
│ │ (Weather API) │ │
│ └─────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────┘
10.2 MCP 配置
# config.yaml
mcp:
servers:
- name: weather
command: npx
args: ["-y", "@modelcontextprotocol/server-weather"]
env:
WEATHER_API_KEY: "${WEATHER_API_KEY}"
- name: filesystem
command: npx
args: ["-y", "@modelcontextprotocol/server-filesystem", "/home/user"]
10.3 技能中使用 MCP
## 执行步骤
### 步骤 1:获取天气
使用 weather MCP 获取当前天气:
- 调用 weather.get_current(location="北京")
- 记录温度、湿度、天气状况
### 步骤 2:生成报告
基于天气数据生成推送报告。
10.4 技能 vs MCP 对比
| 特性 | Skill | MCP Server |
|---|---|---|
| 定义方式 | SKILL.md | 外部进程 |
| 创建难度 | 简单(Markdown) | 中等(代码) |
| 执行位置 | Hermes 内 | 外部进程 |
| 能力范围 | 工作流/知识 | 单一工具 |
| 适用场景 | 复杂任务 | 简单工具 |
| 可分享性 | agentskills.io | 需要部署 |
十一、实战:完整技能开发流程
11.1 需求
创建一个 GitHub Issue 自动分类 技能:
- 接收 Issue 链接或标题
- 分析 Issue 内容
- 自动分类(bug/feature/docs/question)
- 添加标签和负责人
11.2 开发步骤
# 1. 创建技能目录
mkdir -p ~/.hermes/memory/skills/github-issue-classifier
cd ~/.hermes/memory/skills/github-issue-classifier
# 2. 创建 SKILL.md
cat > SKILL.md << 'EOF'
...(见下方完整内容)
EOF
# 3. 本地测试
hermes skill test github-issue-classifier --dry-run
# 4. 发布到社区
hermes skill publish github-issue-classifier --public
11.3 完整技能代码
# SKILL.md - GitHub Issue 自动分类
---
name: github-issue-classifier
version: "1.0.0"
author: your-username
created: "2026-05-11"
tags: [github, issue, classification, automation]
---
## 描述
自动分析 GitHub Issue 内容,进行分类、添加标签和分配负责人。
## 触发条件
### 触发词
- "分类 Issue"
- "classify issue"
- "处理 issue"
- "issue 分类"
### 触发场景
- 用户提供 Issue URL
- 用户提供 Issue 标题
- 用户要求自动处理 Issue
## 前置条件
### 必需工具
- github
- shell
### 必需配置
- GITHUB_TOKEN(具有 repo 写权限)
## 执行步骤
### 步骤 1:获取 Issue 信息
使用 GitHub API 获取 Issue 详情:
- 标题
- 正文
- 已有标签
- 创建者
### 步骤 2:分析 Issue 内容
使用 LLM 分析 Issue:
- 类型:bug / feature / docs / question / other
- 严重程度:高 / 中 / 低
- 需要标签
- 建议负责人
### 步骤 3:应用分类结果
根据分析结果:
1. 添加标签(bug/feature/docs/question + 严重程度)
2. 添加负责人(如适用)
3. 添加评论说明分类依据
### 步骤 4:生成报告
输出分类结果摘要。
## 变量
| 变量名 | 类型 | 默认值 | 说明 |
|--------|------|--------|------|
| auto_assign | boolean | false | 是否自动分配 |
| add_comment | boolean | true | 是否添加评论 |
| team_members | array | [] | 团队成员列表 |
## 示例
### 示例 1:处理 Bug Issue
输入:帮我分类这个 Issue https://github.com/owner/repo/issues/123
输出:
## Issue 分类结果
**Issue**: #123 - API 返回数据格式不一致
**分类**:
- 类型:🐛 Bug
- 严重程度:高
- 建议标签:`bug`, `high-priority`
**操作**:
- ✅ 已添加标签:bug, high-priority
- ✅ 已添加评论
**负责人**:@developer-lead
### 示例 2:处理 Feature Issue
输入:分类这个 Issue:"添加 OAuth2 支持"
输出:类似格式
## 配置示例
```yaml
skills:
github-issue-classifier:
auto_assign: true
add_comment: true
team_members:
- "@alice"
- "@bob"
- "@charlie"
注意事项
- 尊重已有标签,不要覆盖
- 添加评论时使用友好语气
- 分类有歧义时输出多个候选
性能指标
| 指标 | 值 |
|---|---|
| 平均执行时间 | 8 秒 |
| 成功率 | 96% |
| 分类准确率 | 89% |
---
## 十二、技能管理命令完整参考
| 命令 | 功能 | 示例 |
|------|------|------|
| `/skills` | 列出所有技能 | `/skills` |
| `/skills search [keyword]` | 搜索技能 | `/skills search api` |
| `/skill [name]` | 查看技能详情 | `/skill github` |
| `/skill [name] run` | 执行技能 | `/skill github run` |
| `hermes skill install [name]` | 安装社区技能 | `hermes skill install api-testing` |
| `hermes skill publish [name]` | 发布技能 | `hermes skill publish my-skill` |
| `hermes skill remove [name]` | 删除技能 | `hermes skill remove my-skill` |
| `hermes skill update [name]` | 更新技能 | `hermes skill update my-skill` |
| `hermes skill test [name]` | 测试技能 | `hermes skill test my-skill` |
| `hermes skill stats [name]` | 查看统计 | `hermes skill stats my-skill` |
| `hermes skill export [name]` | 导出技能 | `hermes skill export my-skill` |
| `hermes skill import [path]` | 导入技能 | `hermes skill import ./my-skill.zip` |
| `hermes skill validate [name]` | 验证格式 | `hermes skill validate my-skill` |
| `hermes skill rollback [name]` | 回滚版本 | `hermes skill rollback my-skill` |
| `hermes skill info [name]` | 查看信息 | `hermes skill info my-skill` |
---
## 十三、最佳实践
### 13.1 技能设计原则
好的技能设计: ✅ 单一职责:一个技能做一件事 ✅ 清晰的触发条件:容易匹配 ✅ 完整的示例:有输入输出示例 ✅ 错误处理:有失败处理步骤 ✅ 性能考虑:避免长时间阻塞
不好的技能设计: ❌ 多功能:一个技能做很多事 ❌ 模糊触发:匹配困难 ❌ 无示例:不知道如何使用 ❌ 无错误处理:一失败就卡住
### 13.2 技能命名规范
推荐格式: kebab-case(小写连字符)
good: github-pr-reviewer api-performance-analysis database-migration
bad: GitHub_PR_Reviewer (混合大小写) api_performance_analysis (下划线) APIPerformanceAnalysis (驼峰)
### 13.3 技能分享礼仪
分享技能前: ✅ 测试完整流程 ✅ 验证示例输出 ✅ 清理敏感信息 ✅ 编写清晰的 README
分享时: ✅ 选择合适的标签 ✅ 编写吸引人的描述 ✅ 设置合理的许可证 ✅ 维护更新
不要: ❌ 分享包含敏感配置的技能 ❌ 分享未测试的技能 ❌ 侵犯他人版权
---
## 十四、总结
Skills 系统是 Hermes Agent 的核心能力:
| 能力 | 说明 | 价值 |
|------|------|------|
| **自动创建** | 解决复杂问题后自动生成 | 零成本积累 |
| **可复用** | 一次创建,永久使用 | 效率提升 |
| **可分享** | agentskills.io 社区生态 | 知识共享 |
| **自优化** | 使用中持续改进 | 越用越强 |
| **版本管理** | 支持版本控制 | 可回滚 |
| **统计分析** | 使用数据可见 | 数据驱动 |
掌握 Skills 系统,让 Hermes Agent 越来越强大——从个人助手进化为团队协作平台。
---
**系列文章预告:**
下一篇:《消息网关深度指南》——Telegram / Discord / 微信全接入。
---
*想创建自己的技能?在评论区分享你的想法!*