跳到正文
FunCoding

搜索

搜索文档、智能体、博客、Skill 和 MCP

技能

TraeCode 技能(SKILL.md):结构、全局与项目技能、目录、内置技能、创建(对话/手动/导入)、启停、调用方式、.agents 技能目录。

在 TraeCode 里,技能通过 SKILL.md 文件定义和管理。每个技能封装了指令、脚本和相关资源,为智能体提供可复用、面向特定场景的专业能力。可以把一个技能看作提供给智能体的一套「专业能力说明书」(类似用户手册或操作指南),执行任务时智能体按需加载相应技能。主要特点:结构化(一个技能对应一个 SKILL.md,以结构化方式描述完成某类任务所需的信息:任务目标与适用场景、关键约束与注意事项、推荐流程或操作步骤、可选的脚本/模板/示例);动态按需加载(智能体不会在任务开始时一次性读取所有技能的完整内容,而是先扫描所有技能的简要描述,仅当判断当前任务与某个技能高度相关时才加载详细内容,减少上下文 token 消耗、避免无关信息干扰决策)。

使用场景:保证输出结果的一致性与规范性(把统一设计规范、团队标准、品牌一致性或代码约定封装为技能,把隐性标准变成显式、可复用的专业能力);自动化重复性工作流(把测试流程、代码规范检查、常规数据分析等既有 SOP 封装成技能,任务被触发时智能体自动按流程执行);总结与共享专业能力(把个人经验或团队规范在更大范围复用,如在社区和交流群分享)。技能 vs 规则:规则采用全量加载,开启对话后所有规则都被注入并持续占用上下文窗口;技能按需加载,只在实际需要时才加载进上下文,显著降低 token 消耗。技能 vs MCP Server:技能向 TraeCode 描述如何完成任务,MCP Server 向 TraeCode 提供可调用的工具;例如通过 Playwright MCP Server 获得页面操作等自动化测试能力,而对应技能则约定测试工程结构、页面对象模型(POM)设计规范和常见测试用例的编写和执行流程。

技能类型:全局技能跨项目全局生效,可用于统一个人/团队的通用开发范式(代码风格、命名规范、注释习惯)、提供跨项目复用的工程能力(Git、CI/CD、Playwright 等通用工具链)、固化长期偏好(输出结构);项目技能仅在当前项目生效,可用于注入项目专属的业务知识与规则(不可违反的业务约束、内部术语)、约束 AI 按项目既定技术方案工作(技术栈、框架版本、架构限制)、让 AI 深度参与当前项目的开发维护(生成测试、Mock、脚手架代码,与项目使用的 MCP Server 或内部工具协同)。

结构与目录:一个技能必须包含 SKILL.md,还可以添加可执行脚本、模板、风格指南等:

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

项目技能在项目路径下的 .trae/skills/ 目录;全局技能在 ~/.trae-cn/skills(Windows:%userprofile%/.trae-cn/skills)。SKILL.md 的格式:

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

# 技能名称

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

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

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

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

内置技能(官方核实时):TRAE-security-review(代码安全扫描,审查合并请求与代码差异,针对代码安全、漏洞风险及最佳实践提供结构化反馈)、TRAE-generate-mini-app(生成基于 Taro 框架的可运行多端小程序代码)、TRAE-debugger(调试需要收集运行时证据的复杂问题:启动调试服务器、通过 HTTP 收集日志,遵循假设 > 插桩 > 复现 > 分析 > 修复 > 验证的科学流程)、TRAE-code-review(代码审查,针对代码质量、正确性及最佳实践提供结构化反馈)。

创建技能:方式一,通过对话由 AI 自动创建:直接向 AI 描述需求(例如「帮我在 .trae/skills 目录下创建一个新的技能,技能的名字叫 xxx,这个技能可以帮我做以下事情……」),AI 自动生成对应的 SKILL.md。方式二,手动创建:前往 设置 > 技能与命令,在「技能」部分点「创建」选类型(全局/项目),填写技能名称(简短且有辨识度)、描述(技能是什么、应在什么情况下被触发)和指令(被触发时你希望 AI 遵循的规则或信息)并确认;全局技能出现在「技能」面板的「全局」页签下;项目技能由 TraeCode 在 .trae/skills/{skill_name} 下新建 SKILL.md,出现在「项目」页签下,还可以按指令里的描述在该文件夹下手动添加脚本等资源。方式三,手动导入外部技能:把 SKILL.md 文件,或包含 SKILL.md 及其他相关文件的 .zip 导入:在「技能」部分点「创建」选类型,上传文件,TraeCode 分析后自动填充名称、描述和指令,可按需修改后确认。启用/禁用:打开/关闭技能的开关;使用后 TraeCode 在项目 .trae/ 下创建 skill-config.json,罗列被禁用的项目技能(被禁用的全局技能不出现在该文件里)。编辑/删除:点技能右侧的齿轮图标选「编辑」或「删除」;对项目技能还可以选「应用到全局」把它转成全局技能。

在对话中使用:手动调用(直接告诉 AI 调用某个技能,如「用 codemap 技能总结一下这个分支的改动」);由 AI 自动调用(AI 结合当前任务内容与各技能里的「适用场景」「何时使用」描述判断是否需要加载某个技能,并在合适的阶段自动调用)。使用 .agents 技能目录:.agents/skills/ 是 Agent Skills 规范约定的存放技能的目录,把它加到项目,智能体运行时自动发现并加载其中的技能;如果你在 TraeCode 里创建的技能(.trae/skills/)与 .agents/skills/ 里的重名,系统优先调用 .trae/skills/ 里的。可以用「find-skills」技能(依托名为 skills 的命令行工具)从开放的 Agent Skills 生态里搜索、安装和管理技能包,快速装进 .agents/skills/。启用:把 .agents/skills/ 目录加到项目,前往 设置 > 技能与命令,在「导入设置」部分打开「启用 .agents 技能目录」开关。技能的开发是持续迭代的过程,构建和迭代的最佳实践见官方「如何写好一个 Skill」。