codecamp

TRAE SOLO 技能

TRAE SOLO 中,技能(Skill)通过 SKILL.md 文件进行定义和管理。每个技能封装了指令、脚本及相关资源,用于为智能体提供可复用、面向特定场景的专业能力。

了解技能

一个技能可以被视为提供给智能体的一套 “专业能力说明书”(类似用户手册或操作指南)。在执行任务时,智能体可以按需加载相应的技能,从而增强其对任务的理解与执行能力。

特点

  • 结构化

一个技能对应一个 SKILL.md 文件,文件中以结构化的方式描述完成某一类任务所需的信息,例如:任务目标与适用场景;关键约束与注意事项;推荐流程或操作步骤;可选的脚本、模板或示例。

  • 动态按需加载

智能体不会在任务开始时一次性读取所有技能的完整内容。在执行任务前,智能体会先扫描所有技能的简要描述,仅当判断当前任务与某个技能高度相关时,才会加载该技能的详细内容。这种按需加载机制可以有效减少上下文中的 Token 消耗、避免无关信息干扰智能体的决策。

使用场景

  • 保证输出结果的一致性与规范性

需要智能体在不同时间、不同任务中,始终按照既定标准输出结果。例如,将统一设计规范、执行团队标准、保持品牌一致性或确保代码符合项目约定等要求封装为技能,从而将隐性的个人或团队标准转化为显式、可复用的专业能力,最终使输出结果更加稳定、可控。

  • 自动化重复性工作流

需要频繁执行相同或高度相似的多步骤任务。例如,对于测试流程、代码规范检查、常规数据分析等难以避免的日常工作,可以将既有的 SOP 封装为技能。一旦相关任务被触发,智能体即可自动按照定义好的流程执行,从而减少重复的指令输入,提升效率。

  • 总结与共享专业能力

总结个人经验或团队规范,并在更大范围内复用。例如,将技能在社区、交流群等公共平台进行分享,从而在不同的智能体、项目、团队间复用相同的技能。

技能 vs 其他功能

  • 技能 vs 规则

规则采用全量加载机制,一旦开启对话,所有规则都会被注入并持续占用上下文窗口;技能则采用按需加载机制,仅在实际需要被调用时才加载到上下文中,从而显著降低 Token 消耗。

  • 技能 vs MCP Server

技能用于向 AI 描述如何完成任务,而 MCP Server 负责向 AI 提供可以调用的工具。

例如,AI 可以通过 Playwright MCP Server 获得页面操作等自动化测试能力;而对应的技能则用于约定测试工程结构、页面对象模型(POM)设计规范,以及常见测试用例的编写和执行流程,从而引导 AI 在正确的上下文中高效调用这些能力。

技能类型

  • 项目技能:在项目内创建的技能,仅在当前项目中生效。
  • 全局技能:在设置中心创建的技能,在所有项目中生效。

技能的运行环境

环境类型 适用任务 适用客户端
本地 仅对本地任务生效。 TRAE SOLO 桌面版
云端 仅对云端任务(及从 GitHub 拉取的项目)生效。 TRAE SOLO 网页版、桌面版

技能的结构

一个技能中必须包含一个 SKILL.md 文件,还可以根据实际需求添加其他文件,例如可执行的脚本、可参考的模板和风格指南等。例如:

skill-name/
├── SKILL.md               # (必须)智能体的核心指令
├── examples/              # (可选)输入/输出示例
    ├── input.md
    └── output.md
├── templates/             # (可选)可复用的模板
    └── component.tsx
└── resources/             # (可选)参考文件、运行脚本或素材
    └── style-guide.md

技能所在目录

技能相关文件所在目录如下:

  • 项目技能:项目所在路径下的 .trae/skills/ 目录。
  • 全局技能
    • macOS/Linux:本地根目录 ~/.trae-cn/skills
    • Windows:本地根目录 %userprofile%/.trae-cn/skills

SKILL.md 文件格式

SKILL.md 文件的格式如下:

---
name: 技能名称
description: 简要描述这个技能的功能和使用场景


---


## 技能名称


## 描述
描述这个技能的作用。


## 使用场景
描述触发这个技能的条件。


## 指令
清晰的分步说明,告诉智能体具体怎么做。


## 示例 (可选)
输入/输出示例,展示预期效果。

创建技能

你可以上传本地技能至 TRAE SOLO,或直接从 TRAE SOLO 的技能市场中安装所需技能。

方式一:上传本地技能

你可以将本地的技能上传至 TRAE SOLO。待上传的技能必须为包含根级 SKILL.md 文件的 zip 或 .skill 文件,且 SKILL.md 文件必须包含以 YAML 格式编写的技能名称和描述。

步骤如下:

  1. 在左侧的任务栏中,点击顶部区域中的 技能

    你将进入技能管理中心。

  2. 点击右上角的 上传技能 按钮。
  3. 上传技能 弹窗中,上传本地技能文件,然后点击 确认 按钮。

    TRAE SOLO 会解析该技能中的文件并安装该技能。安装完成后,该技能将被添加至 已安装 页签,并默认被启用。

方式二:从技能市场安装技能

TRAE SOLO 的技能市场为不同使用场景提供了多种技能,涵盖数据分析、界面设计、开发工具等领域。你可以直接从中安装所需技能。

步骤如下:

  1. 在左侧的任务栏中,点击顶部区域中的 技能

    你将进入技能管理中心。

  2. 技能市场 页签中,搜索所需技能,然后点击技能卡片右侧的 + 按钮。

    💡提示
    点击某个技能的卡片后,界面上会弹出该技能的详情窗口。你可以阅读该技能的说明,以判断该技能是否符合你的需求。

    TRAE SOLO 将安装该技能。安装完成后,该技能将被添加至 已安装 页签,并默认被启用。

在对话中使用技能

方式一:手动调用技能

你可以通过以下任一方式来手动调用技能。

  • 在对话框中输入 /,然后从列表中选取所需的技能。
  • 直接向 AI 发送指令,明确告知 AI 调用某个技能来完成任务,例如:“用 codemap 技能总结一下这个分支的改动”。
  • 在技能管理中心的 已安装 页签中,点击某个技能的卡片以打开其详情窗口,然后点击窗口右下角的 运行技能 按钮。

方式二:由 AI 自动调用技能

在执行任务时,AI 会结合当前任务内容与各技能中定义的 “适用场景” 或 “何时使用” 之类的描述,判断是否需要加载某个技能,并在合适的阶段自动调用相关技能。

例如,假设你定义了一个代码审核技能,其触发条件为 “当用户请求代码反馈或评审时”。当你提出 “这个函数写得如何”、“帮我审核以下代码” 之类的请求时,AI 会识别到这类请求与代码审核技能的相关性,并在无需额外指令的情况下加载并使用该技能,以完成对应的代码分析与反馈。

启用、禁用、卸载技能

在技能管理中心的 已安装 页签中,你可以启用、禁用、卸载技能。

  • 启用、禁用技能:找到目标技能,然后滑动卡片右侧的滑块来启用、禁用该技能。
  • 卸载技能:点击目标技能的卡片,然后点击详情弹窗左下角的 卸载 按钮。

最佳实践

技能的开发非一蹴而就,而是一个持续迭代的过程。关于构建和迭代技能的最佳实践,参考如何写好一个 Skill:从创建到迭代的最佳实践

TRAE SOLO 模型
TRAE SOLO 规则
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

TRAE SOLO 最佳实践

TRAE SOLO 外部应用授权

TRAE SOLO 官方活动

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }