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

方式二:手动创建

通过指定技能类型、技能名称、描述和指令,手动创建技能。

  1. 前往 设置 > 。
  2. 技能部分,点击 创建 按钮。
  3. 新建窗中,选择 技能 ( 全局 / 项目 ),然后填写技能名称描述指令
  4. 点击 确认 按钮。

注意:如果是文本较多的技能,记得中途多保存几次,别问我怎么知道。

方式三:导入创建

项目技能的相关文件位于 .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技能了,就说明成功了。

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐