更新时间:2026-03-03 GMT+08:00
分享

技能

技能(Skill)是一种能力封装机制,用于将专业知识(如编码经验、常见问题解决方案等)组织为可复用的模块。Agent Skills本质上是包含指令、脚本和资源的文件夹,Agent可以按需动态加载这些专业化的“技能包”,以提升特定任务的执行能力、执行效率。

技能的目录结构

技能是一个包含必需的SKILL.md文件和其他可选的捆绑资源的结构化目录,打包完成特定任务所需的知识和工具。
skill-name/
├── SKILL.md (必填)
│   ├── YAML frontmatter 元数据 (必填)
│   │   ├── name: (必填)
│   │   └── description: (必填)
│   └── Markdown 指令 (必填)
└── Bundled Resources/ 捆绑资源 (选填)
    ├── scripts/      - 可执行代码 (Python/Bash 等)
    ├── references/   - 旨在根据需要加载到上下文中的文档
    └── assets/       - 输出中使用的文件 (模板、图标、字体等)

核心必填文件:

  • skill-name/:整个技能的根目录,skill-name需要替换成实际的技能名称(比如data-analysis-skill)。
  • SKILL.md:这是技能的核心描述文件,相当于技能的“说明书”,必须包含以下两部分:
    • YAML frontmatter元数据:放在SKILL.md文件的最顶部,用三个英文连字符“---”包裹,是AI可解析的结构化信息。包含name(技能名称)和description(技能描述)两个字段。
    • Markdown指令:YAML元数据下方的Markdown内容,用于详细说明技能的使用方法、参数、示例和依赖等。

可选捆绑资源目录:存放技能配套资源的目录,非必填,但能让技能更完整。

  • scripts/:存放技能的可执行脚本,例如Python脚本、Shell脚本等,实现确定性操作
  • references/:存放技能依赖的参考文档,例如API文档、领域知识、公司政策等,是给Agent的知识库,这些文档会在技能执行时按需加载到上下文。
  • assets/:存放资源文件,例如字体资源、公司Logo、PPT模板等,直接在Agent生成的输出中使用,不需要被加载到上下文窗口。

编写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
  • name:仅允许使用小写字母、数字和连字符(-),总长度不得超过64个字符。
  • description:技能的简要描述及其使用时机,总长度不得超过1024个字符。description字段对于华为云码道发现何时使用这个技能至关重要,它应该涵盖技能的功能和华为云码道应该何时使用它。

添加支持文件

在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
```

技能级别

表1 技能级别

级别

作用域

开关状态

存放位置

备注

系统内置

全项目

默认开启,用户可关闭

-

插件内置,用户不可修改

个人级

全项目

默认开启

本地~/.codeartsdoer/skills/

由用户添加

项目级

当前项目

默认开启

本地项目根目录下./.codeartsdoer/skills

由用户添加

系统内置技能

华为云码道已内置多款技能,开箱即用,快速提升开发效率。

技能名称

技能说明

适用范围

creating-sdd-directory

用于初始化SDD(规范驱动开发)目录结构的技能。

All

fix-java-ut

修复Java单元测试,提供结构化和专家驱动的方法来验证和修复生成单元测试的正确性,通过专门的验证工具和专家修复策略确保编译和运行时正确性。

在JetBrains平台IDE使用

generate-java-ut

生成Java单元测试,为Java函数创建单元测试,确保上下文信息有序检索、分析Mock对象,并在生成最终单元测试代码之前生成综合测试计划。

improve-java-ut-coverage

提升Java单元测试覆盖率,当需要提升Java单元测试用例的覆盖率时使用,生成覆盖率提升的任务规划,分析未覆盖语句的原因,提供详细的覆盖率提升建议。

initializing-sdd-directory

为项目智能初始化一个结构化的软件设计文档(SDD)目录体系,为后续实现设计、任务与代码的自动同步奠定基础。

java-test-report

智能生成并解读Java项目的测试报告。不仅展示通过率与覆盖率,更会解读失败原因、定位未覆盖的关键代码,并直接给出优化测试用例的具体建议。

managing-design-document

智能创建、更新和维护软件项目的技术设计文档。将代码、设计决策和需求变更自动同步到文档中,确保文档始终与项目实际保持一致,减少手动维护的负担。

All

managing-sdd-design-markdown

将SDD作为Markdown文件进行智能、结构化的维护,并确保其内容与代码实现和需求变更自动同步。利用Markdown的简洁性和版本控制友好性,结合AI的智能分析能力,将设计文档从静态的“归档文件”转变为与项目共同演进的“活文档”。

在JetBrains平台IDE使用

managing-sdd-spec-markdown

将软件需求规格说明书(SRS/Specification)作为Markdown文件进行智能维护,并确保需求描述、验收标准与后续的设计、实现及测试用例保持精确的同步与可追溯性。将需求规格从一份独立的静态文档,转变为与项目生命周期紧密联动、可自动验证一致性的“单一可信源”。

managing-sdd-tasks-markdown

将开发任务、待办事项与SDD在Markdown中智能关联,并确保任务状态、完成情况与设计实现、代码变更自动同步。让项目管理中的任务从孤立的“待办清单”,转变为与设计、代码紧密绑定并可自动追踪进展的“活工作项”,确保每一项任务都能精准驱动设计落地。

managing-spec-document

智能维护项目的各类规格文档,并确保其内容与代码实现和需求变更自动同步。

All

managing-tasks-document

将项目任务(如开发、修复、评审)与相关技术文档(如设计、需求)智能关联,并自动同步任务状态与文档内容。让项目管理中的任务从静态的条目,转变为能自动驱动文档更新、并反映实际进展的“动态执行单元”,确保任务追踪与项目知识库实时一致。

skill-creator

Skill创建助手。当您需要一个Agent Skill时,可以直接说出“帮忙创建一个Skill”并描述Skill所需要的详细能力,华为云码道会为您生成对应的Skill技能包。

在JetBrains平台IDE使用

test-driven-development

测试驱动开发助手。当您描述新功能或修改需求时,直接说“用TDD帮我实现”,华为云码道会先自动生成测试用例,再写最小化通过代码,最后重构优化。适用于新功能开发、遗留代码改造,确保每段代码都有测试覆盖,降低后续BUG出现的概率。

frontend-design

适用于Web页面生成和页面美化的场景,当用户需要构建Web组件、页面、Web应用程序时使用此技能,生成的内容更加美观。

华为云码道IDE和Visual Studio Code中使用

i18n-integration

i18n-integration是一个专门用于实现国际化(i18n)功能的技能,当用户需要为Web应用程序添加国际化支持时使用此技能。

ide-tool

ide-tool是一个专门用于调用IDE功能的技能,当用户需要使用IDE命令或配置完成开发任务时使用此技能。

添加技能

华为云码道支持添加项目级个人两种类型的技能。除了直接创建技能外,您还可以通过导入的方式,快速添加自定义技能,灵活高效,轻松扩展能力。

如需删除已添加或导入的项目级、个人级技能,请前往技能对应的存放目录进行删除操作,具体存放位置参见表1

当前项目定制的技能,随代码库一并分发,确保团队成员在统一规范下协作开发,提升一致性与交付效率。项目级技能添加后即生效,何时使用由Agent决定。

  1. 参考快速启动操作,登录华为云码道。
  2. 打开华为云码道聊天窗口。

    • 华为云码道IDE:单击IDE顶部菜单栏中的展开AI侧栏图标 ,打开华为云码道聊天窗口。
    • Visual Studio Code:单击Visual Studio Code侧边栏图标 ,打开华为云码道聊天窗口。
    • JetBrains:以IntelliJ IDEA为例,单击IntelliJ IDEA侧边栏图标 ,打开华为云码道聊天窗口。

    不同工具中华为云码道的界面风格有所差异,本章以其在IDE工具中的界面为例进行介绍,实际操作请以所用工具的显示为准。

  3. 在聊天界面中,单击设置图标 ,进入智能体设置页面。
  4. 选择“技能与规则”,在项目级页签中单击技能后的
  5. 输入技能名称,例如data-cleaner-skill,单击“确定”。

    名称仅支持小写字母、数字和连字符(-),开头和结尾不能是连字符,总长度不能超过64个字符。

  6. 在SKILL.md文件中编写技能,完成后按快捷键(Windows/Linux:“Ctrl+S”;macOS:“Command()+S”)保存。

    SKILL.md文件中单条技能的内容长度不能超过20000个字符。

根据您的使用习惯和偏好设定个人级技能,华为云码道将始终遵循这些Skills,在所有项目中为您提供更贴合个人风格的输出。个人级技能添加后即生效,何时使用由Agent决定。

  1. 参考快速启动操作,登录华为云码道。
  2. 打开华为云码道聊天窗口。

    • 华为云码道IDE:单击IDE顶部菜单栏中的展开AI侧栏图标 ,打开华为云码道聊天窗口。
    • Visual Studio Code:单击Visual Studio Code侧边栏图标 ,打开华为云码道聊天窗口。
    • JetBrains:以IntelliJ IDEA为例,单击IntelliJ IDEA侧边栏图标 ,打开华为云码道聊天窗口。

    不同工具中华为云码道的界面风格有所差异,本章以其在IDE工具中的界面为例进行介绍,实际操作请以所用工具的显示为准。

  3. 在聊天界面中,单击设置图标 ,进入智能体设置页面。
  4. 选择“技能与规则”,在个人级页签中单击技能后的
  5. 输入技能名称,例如data-cleaner-skill,单击“确定”。

    名称仅支持小写字母、数字和连字符(-),开头和结尾不能是连字符,总长度不能超过64个字符。

  6. 在SKILL.md文件中编写技能,完成后按快捷键(Windows/Linux:“Ctrl+S”;macOS:“Command()+S”)保存。

    SKILL.md文件中单条技能的内容长度不能超过20000个字符。

如果您本地已创建好对应的技能文件夹,也可以通过导入的方式,快速将本地Skill导入,供华为云码道调用。

创建技能文件夹

  1. 新建文件夹。您需要在本地创建新文件夹,以技能名称命名,当前仅支持小写字母和连字符,例如data-cleaner-skill。
  2. 创建SKILL.md文件,文件开头需配置YAML Front Matter元数据信息。
    SKILL.md文件的格式如下:
    #
    ---
    name:data-cleaner-skill
    #(必须)技能名称,最长64个字符,仅限小写字母、数字和连字符,不能以连字符开头或结尾。
    description:这是一个用于清洗格式化数据的专业工具,支持JSON和CSV转换。
    #(必须)定义功能,描述技能的作用,最长是1024个字符。
    license:Proprietary
    #(选填)定义Skill的授权协议,Proprietary表示专有协议,即该工具是闭源的、有专属版权,未经授权不可随意修改和分发,对应开源协议如MIT、Apache2.0。
    ---
    #Data Cleaner Skill
    您可以在当前Skill文件里编写技能的详细介绍、使用方法、输入输出示例等。
  3. (可选)放入功能文件。根据您的智能体逻辑,可以将相关的脚本文件(如.js、.py、.json等)放入SKILL.md的同目录下。

导入技能

  • 导入项目级技能

    将已创建的技能文件夹直接复制到工程目录下,放置到工程根目录下的“.codeartsdoer/skills”。导入后,项目级技能默认开启,由Agent决定何时使用。

  • 导入个人级技能

    将已创建的Skill文件夹直接复制到用户目录下,放置到“本地~/.codeartsdoer/skills/”。导入后,个人级技能默认开启,由Agent决定何时使用。

使用技能

  1. 参考快速启动操作,登录华为云码道。
  2. 打开华为云码道聊天窗口。

    • 华为云码道IDE:单击IDE顶部菜单栏中的展开AI侧栏图标 ,打开华为云码道聊天窗口。
    • Visual Studio Code:单击Visual Studio Code侧边栏图标 ,打开华为云码道聊天窗口。
    • JetBrains:以IntelliJ IDEA为例,单击IntelliJ IDEA侧边栏图标 ,打开华为云码道聊天窗口。

    不同工具中华为云码道的界面风格有所差异,本章以其在IDE工具中的界面为例进行介绍,实际操作请以所用工具的显示为准。

  3. 在聊天界面的输入框下方选择“智能体”,切换到智能体模式。

    图1 切换到智能体模式

  4. 在聊天窗口的输入框中,输入“使用test-driven-development技能开发一个斐波那契数列生成器”,单击 图标。
  5. 查看技能调用结果。

    图2 技能调用结果

相关文档