自定义Skills开发
Skill开发、触发机制、工具集成、SKILL.md、最佳实践
自定义 Skills 开发
掌握 WorkBuddy 自定义 Skills 的开发方法,扩展 AI 的能力边界。
学习目标
- 理解 Skills vs MCP 的区别
- 掌握触发机制设计
- 学会工具集成方法
- 了解开发最佳实践
核心内容
1. Skills vs MCP
理解 Skills 和 MCP 的区别是开发自定义技能的基础:
| 维度 | Skills | MCP |
|---|---|---|
| 定义 | AI 行为指令集 | 工具调用协议 |
| 作用 | 约束 AI 如何工作 | 扩展 AI 能力边界 |
| 形式 | Markdown + YAML | 代码服务 |
| 示例 | "代码审查专家" | "GitHub API" |
Skills 的特点:
- 定义 AI 的行为模式和角色
- 包含指令、规则和工作流程
- 通过触发词激活
- 以 Markdown 和 YAML 格式定义
MCP 的特点:
- 提供标准化的工具调用接口
- 扩展 AI 的实际操作能力
- 以代码服务形式实现
- 通过配置文件集成
两者互补:Skills 定义 "做什么",MCP 提供 "怎么做" 的能力。
2. 触发机制设计
触发机制决定了 Skill 何时被激活,支持多种触发方式:
基本触发:
triggers:
- review code
- code review
- 代码审查
条件触发:
triggers:
- pattern: "审查.*代码"
condition: "file_type == 'python'"
- pattern: "review.*code"
condition: "language == 'javascript'"
触发词设计原则:
- 简洁明了:使用简短、易记的触发词
- 避免冲突:确保触发词不会与其他 Skill 冲突
- 支持多语言:为中英文用户提供触发词
- 模式匹配:支持正则表达式实现灵活匹配
好的触发机制能确保 Skill 在正确的时间被激活,提供精准的服务。
3. 工具集成方法
Skills 可以集成外部工具,扩展 AI 的实际操作能力:
工具集成配置:
tools:
- name: eslint
command: "npx eslint {file}"
when: "file_type == 'javascript'"
- name: pylint
command: "pylint {file}"
when: "file_type == 'python'"
集成步骤:
- 识别工具需求:确定 Skill 需要哪些外部工具
- 配置工具命令:定义工具的调用命令和参数
- 设置执行条件:指定工具在什么情况下执行
- 处理工具输出:解析工具返回的结果
常见集成场景:
- 代码质量检查工具(ESLint、Pylint)
- 测试框架(Jest、Pytest)
- 构建工具(Webpack、Vite)
- 部署工具(Docker、Kubernetes)
工具集成让 Skill 不仅能提供建议,还能执行实际操作。
4. 开发最佳实践
遵循最佳实践能提高 Skill 的质量和可维护性:
目录结构:
.skills/
├── code-review/
│ ├── SKILL.md # 主文件
│ ├── references/ # 参考资料
│ │ └── best-practices.md
│ └── templates/ # 模板文件
│ └── review-template.md
├── data-analysis/
│ └── SKILL.md
└── content-writing/
└── SKILL.md
SKILL.md 格式:
---
name: code-review
description: 专业的代码审查技能
triggers:
- review code
- code review
- 代码审查
---
# 代码审查专家
## 角色定义
你是一位资深的代码审查专家,专注于...
## 审查维度
1. **代码质量**
- 命名规范
- 代码结构
- 注释完整
2. **安全性**
- SQL 注入
- XSS 攻击
- 敏感信息泄露
3. **性能**
- 时间复杂度
- 空间复杂度
- 数据库查询
开发流程:
- 创建 Skill 目录和主文件
- 定义角色和技能范围
- 设计触发词和条件
- 集成必要的工具
- 测试和调试
- 文档化和共享
调试技巧:
- 查看日志输出,确认 Skill 被正确激活
- 检查触发词匹配逻辑
- 验证指令执行效果
- 测试边界条件和异常情况
实操练习
练习 1:创建自定义 Skill
目标:创建一个 "代码审查专家" Skill,能够自动审查代码质量
步骤:
-
创建 Skill 目录:
mkdir -p .skills/code-review cd .skills/code-review -
创建 SKILL.md 文件:
--- name: code-review description: 专业的代码审查技能 triggers: - review code - code review - 代码审查 --- # 代码审查专家 ## 角色定义 你是一位资深的代码审查专家,专注于发现代码中的问题并提供改进建议。 ## 审查维度 1. **代码质量** - 命名规范 - 代码结构 - 注释完整 2. **安全性** - SQL 注入风险 - XSS 攻击漏洞 - 敏感信息泄露 3. **性能** - 时间复杂度 - 空间复杂度 - 数据库查询优化 ## 审查流程 1. 理解代码上下文和功能 2. 逐行检查代码质量 3. 识别潜在问题和风险 4. 提供具体的改进建议 5. 生成审查报告 -
添加参考资料: 创建
references/best-practices.md,包含编码最佳实践 -
测试 Skill:
- 在 WorkBuddy 中输入 "review code" 或 "代码审查"
- 提供一段代码让 Skill 审查
- 验证审查结果的质量和准确性
-
优化和迭代:
- 根据测试结果调整触发词
- 完善审查维度和标准
- 添加更多参考资料
总结
关键要点...
下一步
- 完成练习
- 查看相关文档
- 尝试实际应用