在 TRAE 中,技能(Skill)通过 SKILL.md 文件进行定义和管理。每个技能封装了指令、脚本及相关资源,用于为智能体提供可复用、面向特定场景的专业能力。
一个技能可以被视为提供给智能体的一套 “专业能力说明书”(类似用户手册或操作指南)。在执行任务时,智能体可以按需加载相应的技能,从而增强其对任务的理解与执行能力。
SKILL.md 文件,文件中以结构化的方式描述完成某一类任务所需的信息,例如:任务目标与适用场景;关键约束与注意事项;推荐流程或操作步骤;可选的脚本、模板或示例。|
类型 |
描述 |
|---|---|
|
全局技能 |
跨项目全局生效的技能,可用于:
|
|
项目技能 |
仅在当前项目生效的技能,可用于:
|
一个技能中必须包含一个 SKILL.md 文件,还可以根据实际需求添加其他文件,例如可执行的脚本、可参考的模板和风格指南等。例如:
skill-name/
├── SKILL.md # (必须)智能体的核心指令
├── examples/ # (可选)输入/输出示例
├── input.md
└── output.md
├── templates/ # (可选)可复用的模板
└── component.tsx
└── resources/ # (可选)参考文件、运行脚本或素材
└── style-guide.md
技能相关文件所在目录如下:
.trae/skills/ 目录。~/.trae-cn/skills。%userprofile%/.trae-cn/skills。SKILL.md 文件的格式如下:
---
name: 技能名称
description: 简要描述这个技能的功能和使用场景
---
# 技能名称
## 描述
描述这个技能的作用。
## 使用场景
描述触发这个技能的条件。
## 指令
清晰的分步说明,告诉智能体具体怎么做。
## 示例 (可选)
输入/输出示例,展示预期效果。
你可以直接通过对话创建技能。你只需向 AI 描述你的需求,AI 就会自动为你生成对应技能的 SKILL.md 文件。例如:
帮我在 ./trae/skills 目录下创建一个新的技能
技能的名字叫 xxx
这个技能可以帮我做以下事情:
- xxx
- xxx
- xxx
通过指定技能类型、技能名称、描述和指令,手动创建技能。
前往 设置 > 技能与命令。
在 技能 部分,点击 创建 按钮,然后选择技能类型(全局 / 项目)。
界面上出现 创建技能 窗口。
填写 技能名称、描述 和 指令。
|
字段 |
描述 |
|---|---|
|
技能名称 |
为该技能起一个简短且有辨识度的名称。 |
|
描述 |
描述该技能是什么,以及应该在什么情况下被触发。 |
|
指令 |
当该技能被触发时,你希望 AI 遵循哪些规则或信息。 |
点击 确认 按钮。
.trae/skills/{skill_name} 目录下新建一个 SKILL.md 文件。文件内包含你的自定义技能配置。同时,该技能也会出现在 技能 面板的 项目 页签下。(可选) 对于项目技能,根据指令中的描述,在 {skill_name} 文件夹下手动添加所需的脚本等资源。
若你需要使用外部已创建的技能,可以直接将 SKILL.md 文件或包含 SKILL.md 以及其他相关文件的 .zip 文件导入至 TRAE。
SKILL.md 文件或一个包含 SKILL.md 文件的 .zip 文件。.trae/skills/ 目录下新建 {skill_name} 文件夹,其中包含你所上传的所有文件。同时,该技能也会在 技能 面板的 项目 页签下展示。创建技能后,你可以通过打开/关闭该技能的开关来启用/禁用它。
使用该功能后,TRAE 会在项目的 .trae/ 目录下创建 skill-config.json 文件。文件内罗列被禁用的项目技能。被禁用的全局技能不会出现在该文件中。
点击目标技能右侧的齿轮图标,然后在菜单中选择 编辑 或 删除,按需完成相应操作。
对于项目技能,你还可以选择 应用到全局,从而将其转换为全局技能。
你可以直接向 AI 发送指令,明确告知 AI 调用某个技能来完成任务,例如:“用 codemap 技能总结一下这个分支的改动”。
在执行任务时,AI 会结合当前任务内容与各技能中定义的 “适用场景” 或 “何时使用” 之类的描述,判断是否需要加载某个技能,并在合适的阶段自动调用相关技能。
例如,假设你定义了一个代码审核技能,其触发条件为 “当用户请求代码反馈或评审时”。当你提出 “这个函数写得如何”、“帮我审核以下代码” 之类的请求时,AI 会识别到这类请求与代码审核技能的相关性,并在无需额外指令的情况下加载并使用该技能,以完成对应的代码分析与反馈。
.agents 技能目录(即 .agents/skills/)是由 Agent Skills 规范约定的目录,用于存放技能。你可以将该目录添加至项目,让智能体在运行时自动发现并加载其中的技能。
若你在 TRAE IDE 内创建的技能(位于 .trae/skills/ 目录)与 .agents/skills/ 中的技能重名,系统将优先调用 .trae/skills/ 目录中的技能。
你可以使用 “find-skills ” 技能,将所需技能快速安装至 .agents/skills/ 目录。
“find-skills” 技能依托名为 skills 的命令行工具(CLI),让你可以从开放的 Agent Skills 生态中搜索、安装与管理各类模块化技能包。详情参考查找 Skill。
.agents/skills/ 目录添加至你的项目。.agents/skills/ 目录。
Skill 的开发非一蹴而就,而是一个持续迭代的过程。关于构建和迭代 Skill 的最佳实践,参考如何写好一个 Skill:从创建到迭代的最佳实践。