技能
技能(Skill)是一种能力封装机制,用于将专业知识(如编码经验、常见问题、解决方案等)组织为可复用的模块。技能本质上是由指令、脚本和资源构成的集合,智能体可按需动态加载这些专业化的“技能包”,从而提升特定任务的执行能力与执行效率。
| 对比维度 | 规则(Rule) | 技能(Skill) | MCP Server |
|---|---|---|---|
| 定义 | 用于约束智能体的行为方式。 | 用于描述如何完成特定任务。 | 提供外部工具的调用能力。 |
| 加载方式 | 在对话开始时加载到上下文中,持续参与推理。 | 按需加载,减少上下文占用。 | 不参与推理过程,按需调用外部接口。 |
| 使用场景 | 定义代码规范、输出格式、团队协作约定等。 例如:代码必须符合PEP8规范。 | 封装测试流程、开发任务、复杂业务逻辑等。 例如:执行UI自动化测试。 | 连接外部系统,执行具体操作。 例如:控制浏览器操作。 |
| 关键区别 | 控制智能体“应该怎么做”,是行为边界。 | 解决“如何完成任务”,是流程指导。 | 提供“调用工具的能力”,是执行能力。 |
技能的目录结构
skill-name/
├── SKILL.md (必填)
│ ├── YAML frontmatter 元数据 (必填)
│ │ ├── name: (必填)
│ │ └── description: (必填)
│ └── Markdown 指令 (必填)
└── Bundled Resources/ 捆绑资源 (选填)
├── scripts/ - 可执行代码 (Python/Bash 等)
├── references/ - 旨在根据需要加载到上下文中的文档
└── assets/ - 输出中使用的文件 (模板、图标、字体等) | 参数名称 | 说明 |
|---|---|
| skill-name | 整个技能的根目录,skill-name需要替换成实际的技能名称(比如data-analysis-skill)。技能名称由小写字母、数字和连字符(-)组成,开头和结尾不能是连字符,且连字符不可连续使用,长度1~64字符。 |
| SKILL.md | SKILL.md文件名不可修改。它是技能的核心描述文件,相当于技能的“说明书”,必须包含以下两部分:
|
| Bundled Resources(可选) | 存放技能配套资源的目录,非必填,但能让技能更完整。
|
编写SKILL.md
创建一个带有YAML frontmatter和Markdown内容的SKILL.md文件,样例如下:
--- name: safe-file-reader description: Read files without making changes. Use when you need read-only files access. --- # Safe File Reader This Skill provides read-only file access. ## Instructions 1. Use Read to view file contents 2. Use Grep to search within files 3. Use Glob to find files by pattern
添加支持文件
在SKILL.md同级目录下创建其他文件,样例如下:
my-skill/
├── SKILL.md
├── reference.md
├── examples.md
├── scripts/
│ └── helper.py
└── templates/
└── template.txt 在SKILL.md中写明引用这些支持文件,样例如下:
For advanced usage, see [reference.md](reference.md). Run the helper script: ```bash python scripts/helper.py input.txt ```
技能分类
技能按创建方式可分为本地与云端,按作用范围可分为企业级、团队级、项目级和个人级。用户可根据具体开发场景与协作需求,选择最适合的技能进行设置,实现灵活高效的代码管理。
| 创建方式 | 作用范围 | 说明 |
|---|---|---|
| 本地 | 项目级 | 仅针对当前项目生效,存储在本地。 存储路径:项目根目录的“./.codeartsdoer/skills/” |
| 个人级 | 针对当前用户下的所有项目生效,存储在本地。 存储路径:本地“%USERPROFILE%/.codeartsdoer/skills” | |
| 云端 | 企业级 | 企业统一的技能,整个企业所有成员都可用,由企业管理员创建,存储在云端。 |
| 团队级 | 团队统一的技能,指定的团队可用。由企业管理员或团队管理员创建,存储在云端。 | |
| 个人级 | 仅成员本人可用,存储在云端。 |
若存在名称相同的技能,技能调用优先级为:云端企业级 > 云端团队级 > 本地项目级 > 本地个人级 > 云端个人级 > 系统内置。
约束与限制
仅码道代码智能体基础版和专业版支持创建云端技能。
创建本地技能
华为云码道客户端支持创建项目级与个人级两种类型的技能,存储在本地。除直接创建技能外,您还可通过导入现有文件或从技能市场安装来快速集成技能。多种途径灵活高效,助您轻松扩展开发能力。
华为云码道支持通过npx命令安装个人级或项目级技能。
- 参考官方文档,安装Node.js、npm。 安装完成后,在终端中执行如下命令,验证Node.js、npm是否安装成功。
npx -v
回显信息中显示版本号,表示已成功安装Node.js和npm。
图1 安装成功的回显信息
- 执行如下命令,安装技能。 本步骤以安装个人级的vercel-react-best-practices技能为例进行介绍。
npx skills add https://github.com/vercel-labs/agent-skills --skill vercel-react-best-practices -a codearts-agent
其中,https://github.com/vercel-labs/agent-skills为待安装技能包所在的地址,vercel-react-best-practices为待安装技能的名称。
- 选择技能的作用范围(Project为项目级技能,Global为个人级技能),此处以个人级技能为例。 图2 选择技能的作用范围

- 根据提示,选择Yes并继续回车,等待技能安装完成。 提示“Installed 1 skill”回显信息时,说明技能安装成功。图3 安装成功的回显

- 查看已安装的技能。
- 进入本地“%USERPROFILE%/.codeartsdoer/skills”目录下,可查看到目标技能vercel-react-best-practices。 图4 检查技能是否存在
- 在华为云码道IDE设置页面的页签中,可查看到目标技能vercel-react-best-practices,且状态为已开启。 图5 在IDE中确认技能已启用

- 进入本地“%USERPROFILE%/.codeartsdoer/skills”目录下,可查看到目标技能vercel-react-best-practices。
- 使用技能。 在华为云码道聊天窗口的输入框中,输入以下内容,单击发送图标
。 使用vercel-react-best-practices技能重构代码
返回如下信息,说明技能已被成功调用,AI将通过此技能重构该项目下的React和Next.js代码。
图6 使用技能重构代码
市场上已上线多款开箱即用的技能,可帮助您快速提升开发效率。以下将介绍如何查找并添加这些技能。
- 参考快速启动操作,登录华为云码道。
- 单击华为云码道IDE右上角的设置图标
,进入华为云码道IDE全局设置页面。 - 在左侧导航栏中单击“技能与规则”,进入“全部已安装”页面。
- 在“市场”页签中,查找技能。
表4 查找技能 查找方式
具体步骤
来源
市场中的技能主要来源于官方和优选。
- 官方:华为云码道提供的技能。
- 优选:经筛选的第三方技能。
在页面顶部的“全部来源”下拉框中,选择技能的来源,查看对应来源的技能列表。您还可以在搜索框中输入技能名称或者关键字快速查找技能。
名称
在页面右上角单击“按名称”后的排序图标,按名称排序查找技能。
更新时间
在页面右上角单击“最近更新”后的排序图标,按更新时间排序查找技能。
- 添加技能。
- 通过以下任一方式,弹出选择技能安装位置对话框。
- 在指定技能后,单击添加图标
。 - 单击指定技能的名称,进入技能详情页面。在技能详情页右上角,单击“添加”。
若已创建/导入的技能名称和市场中已有技能重名,该技能在市场中将显示为“已安装”。
- 在指定技能后,单击添加图标
- 选择该技能的安装位置(项目级或个人级),单击“确定”。
安装成功后,该技能后的
变为“已安装”。
- 通过以下任一方式,弹出选择技能安装位置对话框。
- (可选)根据实际场景,执行更新技能、修改技能安装位置和卸载技能的操作。
表5 管理技能 操作
具体步骤
更新技能
若已创建/导入的技能名称和市场中已有技能重名,且二者版本不同,该技能在市场中将显示为“已安装”且“待更新”。若执行更新操作,会以市场中技能的内容覆盖原先的内容。
通过以下任一方式,更新技能。
- 将鼠标悬浮在待更新技能上,单击更新图标
。更新成功后,该技能右上角的“待更新”标识将自动消失。 - 单击待更新技能的名称,进入技能详情页面。在右上角单击“更新”。更新成功后,该技能右上角的“待更新”标识将自动消失。
修改技能安装位置
卸载技能
通过以下任一方式,卸载技能。
- 将鼠标悬浮在待卸载技能上,单击卸载图标
。卸载成功后,
变为
。 - 单击待卸载技能的名称,进入技能详情页面。在右上角单击“卸载”。卸载成功后,右上角“卸载”和“项目级”/“个人级”按钮变为“添加”。
- 将鼠标悬浮在待更新技能上,单击更新图标
为当前项目定制的技能,随代码库一并分发。本地项目级技能创建后立刻生效,何时使用由智能体决定。
根据您的使用习惯和偏好设定个人级技能,华为云码道将始终遵循这些技能,在所有项目中为您提供更贴合个人风格的输出。本地个人级技能创建后立刻生效,何时使用由智能体决定。
将已获取的本地技能包导入到本地华为云码道中,即可便捷地调用和使用相关功能。
导入前,请对照技能的目录结构及编写SKILL.md中内容,验证技能包是否符合标准。例如,每个技能文件夹的根目录均须包含对应的SKILL.md文件,此文件中须包含YAML格式的技能名称与描述等。如果技能包不符合规范,请调整后再导入,否则可能会导入失败。
- 参考快速启动操作,登录华为云码道。
- 单击华为云码道IDE右上角的设置图标
,进入华为云码道IDE全局设置页面。 - 在左侧导航栏单击“技能与规则”,进入“全部已安装”页面。
- 在“项目级”或“个人级”页签中,单击技能后的“
> 导入”。 - 在“上传”对话框中,选择本地的技能zip包,单击“确定”。
每次仅支持上传一个zip包,包内可存放多个技能文件夹,且包的总大小不能超过5M。
导入成功后,技能名称将显示在技能列表中。
例如:如需一次性导入“docx”和“pptx”两类技能至华为云码道,可将两类技能文件夹放入同一个zip包中,再上传该zip包,即可实现批量上传功能。
图7 批量上传多个技能
在云端创建技能
在云端支持创建企业级、团队级与个人级三类技能,具体步骤如下。创建云端技能前,请确保您已购买码道代码智能体基础版或专业版套餐。
- 进入码道代码智能体控制台。
- 在左侧导航栏选择“智能体设置 > 技能和规则中心”,进入技能和规则列表页面。
- 在“技能”页签,单击右上角的“新建技能”,弹出“新建技能”对话框。
- 在蓝色框区域单击鼠标右键,从本地上传技能zip包。或将本地技能zip包直接拖入蓝色框区域,然后单击“确定”。
- 技能zip包需符合技能的目录结构,否则可能会导入失败。例如,每个技能文件夹的根目录均须包含对应的SKILL.md文件,此文件中须包含YAML格式的技能名称与描述等。
- 每次仅支持上传一个zip包,包内可存放多个技能文件夹,且包的总大小不能超过5M。
图8 上传技能zip包
- 参考表8设置云端技能参数。 图9 新建云端技能
- 单击“确定并启用”,完成技能的创建。
在“技能”页签中,查看新创建的技能。如需立即在本地华为云码道中查看云端创建的技能,请进入“技能与规则”下对应技能页签(企业级/团队级/个人级),单击技能后的
或“
> 刷新”,同步云端技能到本地客户端。
- 华为云码道客户端每24小时自动同步一次云端技能。
- 华为云码道客户端仅同步已启用的技能。
系统内置技能
华为云码道(CodeArts)代码智能体已内置多个技能,开箱即用,快速提升开发效率。
如果禁用内置技能,会限制智能体处理相关任务的能力。
使用技能
- 参考快速启动操作,登录华为云码道。
- 在聊天界面的输入框下方选择,切换到智能体模式。右侧显示当前选用的模型,您可在下拉框中切换不同大语言模型。
如果没有正常显示华为云码道的聊天窗口,请在顶部菜单栏的右上方,单击展开AI侧栏图标
,即可打开华为云码道。 - 通过以下任意一种方式使用技能。
- 直接输入技能名称,调用技能。
- 通过“/”命令,调用技能。
通过“/”命令调用技能前,需确保该技能处于“启用”状态。输入框中一次最多支持选择20个技能。
在聊天窗口的输入框中,输入“/”,在弹出的菜单中选择“/skill-creator”,输入以下内容,然后单击发送图标
。生成一个绘图过程需要遵守的规范,名称为drawing-standards,内容如下: - 横轴为x轴 - 纵轴为y轴 - 原点O(0,0)必须清晰标注 - 坐标轴箭头、刻度和单位长度要统一 - 刻度线是细实线 - 轴线是稍粗实线
图10 通过“/”命令调用技能
- 查看技能调用结果。 图11 技能调用结果
管理技能
华为云码道IDE具备完善的技能全生命周期管理体系。用户能够基于实际业务场景,实现对既有技能的精细化管控与持续优化。
| 操作 | 具体步骤 |
|---|---|
| 启用或禁用本地技能 | 在华为云码道IDE设置页面的/中,可通过开关启用或禁用本地技能。 创建项目级技能时,华为云码道会在项目根目录的“./.codeartsdoer/skills/”路径下生成一个名为“ProjectSkillStatus.txt”的文件,用于记录项目中各个技能的开关状态。每一行记录一个技能的状态,格式为技能名=true(表示启用)或技能名=false(表示禁用)。 删除某个技能后,“ProjectSkillStatus.txt”文件中对应的记录也会同步删除,确保文件内容与项目状态保持一致。 图12 ProjectSkillStatus文件示例 |
| 批量启用或禁用本地技能 |
|
| 编辑本地技能 | 在华为云码道IDE设置页面的/中,将鼠标悬浮在目标技能上,单击 |
| 删除本地技能 | 在华为云码道IDE设置页面的/中,将鼠标悬浮在目标技能上,单击 目标技能从技能列表中移除,表示技能删除成功。 注意: 技能删除后,使用该技能的智能体将受到影响,且删除的技能不可恢复,请谨慎操作。 |
| 查看本地技能 | 在华为云码道IDE设置页面的/中,将鼠标悬浮在目标技能上,单击 |
仅创建者可编辑、删除、启用及禁用技能。
| 操作 | 具体步骤 |
|---|---|
| 查看云端技能详情 |
|
| 编辑云端技能 |
|
| 删除指定云端技能 |
注意: 技能删除后,使用该技能的智能体将受到影响,且删除的技能不可恢复,请谨慎操作。 |
| 启用或禁用指定云端技能 | 通过以下任意一种方法启用或禁用指定云端技能。
已启用的技能才会同步至华为云码道客户端中。 |
| 收藏或取消收藏指定云端技能 | 在码道代码智能体控制台的“技能和规则中心 > 技能”中,单击目标技能后的“收藏”/“取消收藏”,即可收藏或取消收藏该技能。 在“我收藏的”页面查看已收藏的技能。 |
| 批量删除云端技能 | |
| 批量启用或禁用云端技能 | 通过以下任意一种方法批量启用或禁用云端技能。
已启用的技能才会同步至华为云码道客户端中。 |
| 批量收藏或取消收藏云端技能 | 在码道代码智能体控制台的“技能和规则中心 > 技能”中,勾选目标技能,单击右上角的“更多 > 批量收藏”/“更多 > 批量取消收藏”,即可收藏或取消收藏目标技能。 在“我收藏的”页面查看已收藏的技能。 |










