添加自定义Skill傻瓜式教程
这里写自定义目录标题
Skill原理回顾
如果你已经熟悉Skill(或叫技能),可以跳过本章节。
当前有 Claude Code、Cursor和Trae等多种编程智能体/IDE。他们都支持 Agent Skill 标准协议。
标准的Skill是通过 SKILL.md 文件进行定义和管理。
每个Skill封装了指令、脚本及相关资源,用于为智能体提供可复用、面向特定场景的专业能力。
一个Skill可以被视为提供给智能体的一套 “专业能力说明书”(类似用户手册或操作指南)。在执行任务时,智能体可以按需加载相应的技能,从而增强其对任务的理解与执行能力。
主要特点
结构化
一个Skill对应一个 SKILL.md 文件,文件中以结构化的方式描述完成某一类任务所需的信息,例如:任务目标与适用场景;关键约束与注意事项;推荐流程或操作步骤;可选的脚本、模板或示例。
动态按需加载
智能体不会在任务开始时一次性读取所有技能的完整内容。在执行任务前,智能体会先扫描所有技能的简要描述,仅当判断当前任务与某个技能高度相关时,才会加载该技能的详细内容。这种按需加载机制可以有效减少上下文中的 Token 消耗、避免无关信息干扰智能体的决策。
使用场景
保证输出结果的一致性与规范性
需要智能体在不同时间、不同任务中,始终按照既定标准输出结果。例如,将统一设计规范、执行团队标准、保持品牌一致性或确保代码符合项目约定等要求封装为技能,从而将隐性的个人或团队标准转化为显式、可复用的专业能力,最终使输出结果更加稳定、可控。
自动化重复性工作流
需要频繁执行相同或高度相似的多步骤任务。例如,对于测试流程、代码规范检查、常规数据分析等难以避免的日常工作,可以将既有的 SOP 封装为技能。一旦相关任务被触发,智能体即可自动按照定义好的流程执行,从而减少重复的指令输入,提升效率。
总结与共享专业能力
总结个人经验或团队规范,并在更大范围内复用。例如,将技能在社区、交流群等公共平台进行分享,从而在不同的智能体、项目、团队间复用相同的技能。
技能 vs 其他功能
技能 vs 规则
规则采用全量加载机制,一旦开启对话,所有规则都会被注入并持续占用上下文窗口;技能则采用按需加载机制,仅在实际需要被调用时才加载到上下文中,从而显著降低 Token 消耗。
技能 vs MCP Server
技能用于向 TRAE 描述如何完成任务,而 MCP Server 负责向 TRAE 提供可以调用的工具。
例如,TRAE 可以通过 Playwright MCP Server 获得页面操作等自动化测试能力;而对应的技能则用于约定测试工程结构、页面对象模型(POM)设计规范,以及常见测试用例的编写和执行流程,从而引导 TRAE 在正确的上下文中高效调用这些能力。
技能类型
| 类型 | 描述 |
|---|---|
| 全局技能 | 跨项目全局生效的技能,可用于:(1)统一个人 / 团队的通用开发范式,例如统一代码风格、命名规范、注释习惯;(2)提供跨项目可复用的工程能力,例如通用工具链的使用(Git、CI/CD、Playwright 等);(3)固化个人或组织的长期偏好,例如输出结构(是否先给结论、是否列步骤、是否给示例)。 |
| 项目技能 | 仅在当前项目生效的技能,可用于:(1)注入项目专属的业务知识与规则,例如不可违反的业务约束与边界条件、项目内部术语、概念映射;(2)约束 AI 按项目的既定技术方案工作,例如技术栈、框架版本、架构限制等;(3)让 AI 深度参与当前项目的开发和维护,例如针对项目生成测试、Mock、脚手架代码;与项目使用的 MCP Server 或内部工具协同。 |
技能的结构
一个技能中必须包含一个 SKILL.md 文件,还可以根据实际需求添加其他文件,例如可执行的脚本、可参考的模板和风格指南等。例如:
skill-name/
├── SKILL.md # (必须)智能体的核心指令
├── examples/ # (可选)输入/输出示例
├── input.md
└── output.md
├── templates/ # (可选)可复用的模板
└── component.tsx
└── resources/ # (可选)参考文件、运行脚本或素材
└── style-guide.md
SKILL.md 文件格式
---
name: 技能名称
description: 简要描述这个技能的功能和使用场景
---
# 技能名称
## 描述
描述这个技能的作用。
## 使用场景
描述触发这个技能的条件。
## 指令
清晰的分步说明,告诉智能体具体怎么做。
## 示例 (可选)
输入/输出示例,展示预期效果。
添加自定义Skill的原理
多数编程 Agent 都是读取某个目录下的 SKILL.md 来调用技能的,我们只要在适当的目录下创建这些.md文件即可。可以通过Agent创建,也可以手动创建,也可以将现成的文件夹复制到目标路径。
以Trae为例
以 Trae 为例,Skill 所在目录如下:
项目技能的相关文件位于 .trae/skills/ 目录。
全局技能的相关文件位于本地根目录 ~/.trae-cn/skills。
方式一:AI创建
可以直接通过对话创建技能。你只需向 AI 描述你的需求,AI 就会自动为你生成对应技能的 SKILL.md 文件。例如:
帮我在 ./trae/skills 目录下创建一个新的技能
技能的名字叫 xxx
这个技能可以帮我做以下事情:
- xxx
- xxx
- xxx
方式二:手动创建
通过指定技能类型、技能名称、描述和指令,手动创建技能。
- 前往 设置 > 。
- 在技能部分,点击 创建 按钮。
- 在新建窗中,选择 技能 ( 全局 / 项目 ),然后填写技能名称、描述和指令。
- 点击 确认 按钮。
注意:如果是文本较多的技能,记得中途多保存几次,别问我怎么知道。
方式三:导入创建
项目技能的相关文件位于 .trae/skills/ 目录。
全局技能的相关文件位于本地根目录 ~/.trae-cn/skills。
所以我们可以批量下载SKILL,然后复制到上述目录。比如 Anthropic 开源的技能仓库:https://github.com/anthropics/skills,我们把zip包下载到本地,然后把解压后的 skills 文件夹复制到 ~/.trae-cn/ 目录下即可:
此时刷新一下 Trae IDE 中的技能界面,就会出现上述新增技能。
添加后测试
我们在 Trae 对话框中输入:Use the PDF skill to extract the form fields from path/to/some-file.pdf。把 path/to/some-file.pdf 替换成你电脑上的真实路径。能看到 Trae 能调用pdf技能了,就说明成功了。
更多推荐



所有评论(0)