什么是skill
一个skill是一个文件夹, 包含:
- SKILL.MD (必须): 带有YAML前置元数据(frontmatter)的Markdown的指令文档
- scripts/ (可选): 可执行代码(Python, Bash)
- references/ (可选): 按需加载的文档资料
- assets/ (可选): 输出中使用的模板,字体,图标等资源
核心设计原则:
渐进式披露(Progressive Disclosure)
技能采用三级结构:
- 第一层 (YAML 前置元数据): 始终加载在系统提示词中, 只提供足够的信息, 让Agent知道在什么情况下使用哪个技能, 而无需把全部内容都加载进上下文
- 第二层 (SKILL.md 正文): 当Agent认为该技能与当前任务相关的时候才会加载, 包含完整的指令和指导
- 第三层 (链接文件): 技能目录中打包的其他文件, agent仅在需要的时候才会进入, 浏览并且发现
可组合型(Composability)
Agent可以同时加载多个SKILL, 你的SKILL应该与其他的技能良好写作, 而不是默认他是唯一可用的能力
可移植性(Portability)
技能应该在所有的Agent中的表现完全一致, 只要运行环境支持该技能所需的依赖,你创建一次技能, 就可以在所有使用场景中无需修改直接使用
用例
好的用例定义
Use Case: Project Sprint Planning
Trigger: User says "help me plan this sprint" or "create sprint tasks"
Steps:
1. Fetch current project status from Linear (via MCP)
2. Analyze team velocity and capacity
3. Suggest task prioritization
4. Create tasks in Linear with proper labels and estimates Result: Fully planned sprint with tasks created
你需要自问:
- 用户想要达成什么目标
- 这需要哪些多步骤的工作流
- 需要用到哪些工具(内置或MCP)
- 应该把哪些领域知识或最佳实践沉浸进skill?
常见的skill用例类别
类别1: 文档与资产创建(Document & Asset Creation)
用途: 生成一致,高质量的输出,包括文档,演示文稿,应用,设计稿,代码等 真实例子: frontend-design skill (也可以参考docx,pptx,xlsx,和ppt等相关skill) 例如: 创建风格鲜明, 可用于生产环境的前端界面, 具备高质量设计, 用于构建web组件, 页面, 产物, 海报或者应用的时候 关键技巧:
- 内置风格指南与品牌标准
- 使用模板结构保证输出一致性
- 在最终输出前进行质量检查,列出清单(checklist)
- 不需要外部工具-仅使用内置能力
类别2: 工作流自动执行
用途: 适用于需要一致方法论的多步骤流程, 包括跨多个MCP server的协同 真实例子: skill-creator skill 例如: 用于创建新技能的交互式指南, 带用户完成用例定义, frontmatter生成, 指令撰写与校验 关键技巧:
- 带校验关卡(validation gates)的逐步工作流
- 常见结构的模板化
- 内置审查与改进建议
- 迭代式优化循环
类别3: mcp增强
用途: 提供工作流知道, 以增强mcp server 所提供的工具访问能力 真实例子: sentry-code-review skill 通过他们的mcp server 使用Sentry 的错误监控数据, 自动分析并修复github pull request 中检测到的bug 关键技巧:
- 串联多个mcp调用并按顺序协调执行
- 内嵌领域专业知识
- 补充用户原本需要手动说明的上下文信息
- 针对常见的mcp问题的错误处理
如果判断你的skill在正常工作
量化指标:
-
在90%的相关查询上能触发skill
-
如何衡量: 准备10-20条本应该触发该skill 的测试查询, 记录他自动加载的次数vs需要手动显示调用的次数
-
在x次工具调用内完成工作流
-
如何衡量: 对比同一个任务在启用/不启用skill的情况下执行, 统计工具调用次数与消耗的总token数
-
每个工作流0次失败的api调用
-
如何衡量: 在此时运行期间监控mcp server日志, 记录重试率与错误码 质性指标
-
用户不需要提示agent下一步该做什么
-
如何评估: 测试过程中观察你需要多少次纠正方向或澄清下一步了; 也可以向beta用户收集反馈
-
工作流能完成且不需要用户纠错
-
如何评估: 对同一请求重复运行3-5次, 比较输出在结构一致性与质量上的表现
-
跨会话结果一致
-
如何评估: 新用户在几乎不需要额外知道的情况下, 能否第一次就完成任务