【Skills 系统从入门到精通】第 24 篇:Skill 编写最佳实践——从实战经验中提炼


本篇你将学到

  • 技能粒度的权衡:太粗 vs 太细
  • 技能组合优于巨型技能的拆分原则
  • 命名规范、版本管理、测试策略
  • 技能文档的可读性:给 Agent 读 vs 给人读
  • 团队技能规范指南

读完本篇,你将从"能写技能"升级到"能写好技能",具备设计高质量技能体系的能力。


一、技能粒度

1.1 太粗 vs 太细

粒度示例问题
太粗devops-toolbox(包含部署、监控、日志、安全…)触发不精准、上下文浪费
太细grep-error-from-nginx-log复用性差、数量膨胀
适中log-analysis(日志分析全流程)✅ 触发精准、可复用

触发不精准
上下文浪费

复用性差
数量膨胀

触发精准 可复用

太粗
devops-toolbox
什么都包含

适中
log-analysis
一个问题域

太细
grep-error-from-nginx-log
单一命令包装

问题

理想

1.2 粒度判断原则

一个问题域 = 一个技能。如果两个操作流程服务于不同的目标,它们应该是两个技能。

日志分析 和 日志收集 → 两个技能(不同目标)
代码审查 和 代码格式化 → 两个技能(不同目标)
TDD流程 → 一个技能(同一目标,包含测试+实现)

二、技能组合优于巨型技能

2.1 拆分原则

当一个技能超过 15K 字符,考虑拆分。拆分方式:

按阶段拆分:

full-ci-cd-pipeline
20K 字符巨型技能

ci-build
构建+测试

cd-deploy
部署+健康检查

ci-cd-rollback
回滚

Bundle ci-cd 组合
build test deploy verify

用 Bundle 组合:

# ~/.hermes/skill-bundles/ci-cd.yaml
name: ci-cd
skills:
  - ci-build
  - cd-deploy
instruction: |
  Full CI/CD pipeline: build → test → deploy → verify

拆分 + Bundle 组合的好处:

  • 每个技能更小、更聚焦
  • 可以单独使用某个阶段
  • 不同任务可以选择不同组合

三、命名与版本管理

3.1 命名层级

领域.动作.对象     (推荐)

示例:

log-analysis        → log(领域)+ analysis(动作)
deploy-kubernetes   → deploy(动作)+ kubernetes(对象)
github-pr-workflow  → github(领域)+ pr-workflow(动作)

3.2 版本管理策略

变更类型版本升级示例
修复 typo、补充 Pitfall修订号1.0.0 → 1.0.1
新增步骤或 References次版本1.0.1 → 1.1.0
流程根本性变更主版本1.x → 2.0.0

3.3 测试策略

技能的"测试"是验证它在不同场景下正确触发和执行:

测试项方法
触发准确性用不同的自然语言描述测试是否匹配
斜杠命令/skill-name 能否正确加载
流程完整性步骤是否覆盖了完整流程
边界场景不常见的输入是否处理
跨平台在不同 OS 上是否正常工作
新会话技能作者新会话技能作者开新会话验证斜杠命令调用正确加载执行换措辞的自然语言测试触发准确性达标边界输入测试异常被妥善处理

四、给 Agent 读 vs 给人读

4.1 双重读者

SKILL.md 有两类读者:

  • Agent(主要读者):需要执行操作步骤
  • 人类(次要读者):需要理解技能做什么、审查质量

4.2 写作平衡

内容类型为 Agent 优化为人类优化
Procedure 步骤✅ 精确命令加注释解释
description✅ 关键词优化保持可读
Pitfalls✅ 防止重复踩坑✅ 便于审查
Overview可选✅ 帮助人类理解

平衡策略:Procedure 以 Agent 为主(精确命令),Overview 和 Pitfalls 以人类为主(清晰解释)。

SKILL.md 双重读者

Agent 主要读者
执行操作步骤

人类 次要读者
理解与审查质量

Procedure 精确命令
description 关键词优化

Overview 清晰解释
Pitfalls 便于审查


五、团队技能规范

5.1 统一风格指南

团队共同编写技能时,建议建立规范:

规范项统一标准
命名风格动词+对象,全拼不缩写
description 格式“Use when…” + 核心能力
章节顺序Overview → When to Use → Procedure → Pitfalls → Verification
代码块标注语言,必须可运行
版本起始新技能从 1.0.0 开始
tags 使用复用已有标签,不随意造新标签

5.2 团队技能管理

Tap 机制分享

团队技能仓库 Git 管理

skills/

skill-bundles/

README.md
团队技能使用说明

deploy-k8s

code-review

incident-response

ci-cd.yaml

团队成员

通过 Tap 机制分享给团队成员:

hermes skills tap add our-org/team-skills
hermes skills install our-org/team-skills/deploy-k8s

第五模块总结

至此,第五模块(编写自己的 Skills)的五篇全部完成:

第20篇:第一个实战技能(六步编写流程)
    ↓
第21篇:质量标准(触发条件、步骤、陷阱)
    ↓
第22篇:脚本集成(Python/Bash 脚本调用)
    ↓
第23篇:八大陷阱(避坑指南)
    ↓
第24篇:最佳实践(粒度、版本、团队规范)

你现在具备了从零编写高质量技能的全部知识。接下来的第六模块将探索 Skills Hub 生态——发现和使用全球社区共享的技能。


下篇预告

从下一篇开始进入第六模块"Skills Hub 生态"。第 25 篇将带你俯瞰八大技能来源的全景图。


如果本篇内容对你有帮助,欢迎点赞收藏!有任何疑问,欢迎在评论区交流。

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐