返回教程列表
进阶
进阶 · 20 分钟 · Trae / Skill / 封装 / 最佳实践

打包你的第一个 Trae Skill:从 MCP 到 SKILL.md

MCP 是工具层,Skill 是应用层。学会封装让 Agent 更懂你的业务

MCP Skill 不只是暴露几个工具 —— 好的 SKILL.md 还会告诉 Agent "什么时候该用这个工具"、"怎么组合多个工具完成任务"、"有什么坑要避开"。本文教你写出让 Agent 真正聪明的 SKILL.md。

MCP vs Skill —— 两层架构

MCP Server 是**工具层** —— 暴露可调用的函数,比如 send_message / query_contacts。 Skill 是**应用层** —— 告诉 Agent 这些工具怎么组合着用,解决什么业务问题。 打个比方:MCP 是"螺丝刀、扳手、锤子"这些工具,Skill 是"修一台空调"的完整操作手册。

SKILL.md 结构

一个好的 SKILL.md 包含: 1. Front Matter — 元数据(名称、描述、触发关键词) 2. 适用场景 — 什么时候该用、什么时候不该用 3. 前置条件 — 需要哪些 MCP Server 已注册 4. 操作指南 — 分步的工作流程 5. 常见坑 — 容易犯错的地方 6. 示例对话 — 好的输入输出样例

实战:钉钉请假助手 Skill

--- name: 钉钉请假助手 description: 帮员工一键发起钉钉请假审批 triggers: [请假, 休假, 年假, 病假] --- ## 适用场景 员工说"我明天想请一天假"、"帮我申请年假"时触发。 ## 前置条件 必须已注册钉钉 MCP Server(包含 attendance.leave 工具)。 ## 操作流程 1. 确认请假类型(年假/病假/事假)—— 如果用户没说清楚就问 2. 确认起止日期 3. 确认时长(自动计算工作日) 4. 调用 attendance.leave 发起审批 5. 返回审批链接 ## 常见坑 - 注意区分工作日和周末(自动跳过) - 如果是病假,可能需要上传证明(问用户) - 审批发起人是当前登录用户,不需要额外指定 ## 示例 User: "我下周三请半天假" AI: 好的,我帮你申请下周三(2024-03-20)下午的年假。确认一下,是年假对吗?

安装到 Trae

把 SKILL.md 放到项目根目录的 .trae/skills/你的-skill-名/ 目录下: .my-project/ ├── .trae/ │ └── skills/ │ └── dingtalk-leave/ │ └── SKILL.md └── src/ Trae 会自动扫描这个目录,Agent 会根据 triggers 关键词在合适的时机加载 Skill。

迭代优化

Skill 不是一次性写完就完事的。建议: 1. 先写最小可用版本,上线后观察 Agent 的表现 2. 记录 Agent 犯错的 case,补充到"常见坑"里 3. 好的经验变成 Skill 的固定流程 好的 Skill 是**用出来的**,不是**写出来的**。

完成检查清单

  • 理解 MCP 层和 Skill 层的区别
  • 写了一个带 Front Matter 的 SKILL.md
  • 放到了 .trae/skills/ 目录下
  • 实际跑通了 5+ 个 case

难度信息

难度:进阶

预计用时:20 分钟

标签:Trae · Skill · 封装 · 最佳实践

支持的平台

需要手把手带?

读完教程还是搞不定?我们提供一对一远程辅导服务。

预约辅导