
# 技能
技能（Skill）是一种能力封装机制，用于将专业知识（如编码经验、常见问题、解决方案等）组织为可复用的模块。技能本质上是由指令、脚本和资源构成的集合，智能体可按需动态加载这些专业化的"技能包"，从而提升特定任务的执行能力与执行效率。
 #### 技能的目录结构
技能是一个包含**必需的SKILL.md文件** 和其他**可选的捆绑资源** 的结构化目录，打包完成特定任务所需的知识和工具。
```
skill-name/
├── SKILL.md (必填)
│   ├── YAML frontmatter 元数据 (必填)
│   │   ├── name: (必填)
│   │   └── description: (必填)
│   └── Markdown 指令 (必填)
└── Bundled Resources/ 捆绑资源 (选填)
    ├── scripts/      - 可执行代码 (Python/Bash 等)
    ├── references/   - 旨在根据需要加载到上下文中的文档
    └── assets/       - 输出中使用的文件 (模板、图标、字体等)
```
表1技能参数说明 
| 参数名称                  | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|
| skill-name            | 整个技能的根目录，skill-name需要替换成实际的技能名称（比如data-analysis-skill）。技能名称由小写字母、数字和连字符（-）组成，开头和结尾不能是连字符，且连字符不可连续使用，长度1\~64字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| SKILL.md              | **SKILL.md文件名不可修改。**它是技能的核心描述文件，相当于技能的"说明书"，必须包含以下两部分： - **YAML frontmatter元数据** ：放在SKILL.md文件的最顶部，以"---"首尾包裹，是AI可解析的结构化信息。包含name和description两个字段。 - **name** ：技能名称，由小写字母、数字和连字符（-）组成，开头和结尾不能是连字符，且连字符不可连续使用，长度1\~64字符。**name必须与skill-name保持一致**。  - **description**：技能描述，长度不超过1024字符。该字段对华为云码道代码智能体识别技能的使用场景至关重要，需清晰描述技能功能及适用触发条件。    - **Markdown指令**：YAML元数据下方的Markdown内容，用于详细说明技能的使用方法、参数、示例和依赖等。   |
| Bundled Resources（可选） | 存放技能配套资源的目录，非必填，但能让技能更完整。 - **scripts/** ：存放技能的可执行脚本，例如Python脚本、Shell脚本等，实现**确定性操作**。  - **references/** ：存放技能依赖的参考文档，例如API文档、领域知识、公司政策等，是给智能体的**知识库**，这些文档会在技能执行时按需加载到上下文。  - **assets/**：存放资源文件，例如字体资源、公司Logo、PPT模板等，直接在智能体生成的输出中使用，不需要被加载到上下文窗口。                                                                                                                                                                                                                                 |
   
 #### 编写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
```
```
#### 创建本地技能
码道Space支持直接添加技能和上传技能，多种途径灵活高效，助您轻松扩展开发能力。
- [添加技能]
  码道Space为不同使用场景提供了多种技能，涵盖办公文档、代码开发、开发工具等领域。你可以直接安装所需技能。
  1. 参考[快速启动](https://support.huaweicloud.com/usermanual-codeartsspace/space_0002.html)操作，登录码道Space。
  
  2. 在码道Space客户端的左侧导航栏，选择"专家 技能 连接器"。
  
  3. 在"技能"页面，单击目标技能卡片上的 ![](https://support.huaweicloud.com/usermanual-codeartsspace/zh-cn_image_0000002717802336.png)。
     
     图1添加技能   
     ![](https://support.huaweicloud.com/usermanual-codeartsspace/zh-cn_image_0000002717642432.png)
     
     
  
  4. 技能安装成功。
   
- [上传技能]
  将已获取的本地技能包导入到本地码道Space中，即可便捷地调用和使用相关功能。
  ![](https://support.huaweicloud.com/usermanual-codeartsspace/public_sys-resources/caution_3.0-zh-cn.png)
  导入前，请对照[技能的目录结构]及[编写SKILL.md]中内容，验证技能包是否符合标准。例如，每个技能文件夹的根目录均须包含对应的SKILL.md文件，此文件中须包含YAML格式的技能名称与描述等。如果技能包不符合规范，请调整后再导入，否则可能会导入失败。
  1. 在码道Space客户端的左侧导航栏，选择"专家 技能 连接器"。
  
  2. 在"技能"页面，单击右上角的"上传技能"。
  
  3. 在"上传"对话框中，选择本地的技能zip包。 
     **每次仅支持上传一个zip包，包内可存放多个技能文件夹，且包的总大小不能超过5M。**
     图2上传技能   
     ![](https://support.huaweicloud.com/usermanual-codeartsspace/zh-cn_image_0000002747322365.png)
     
     
  
  4. 单击"确定"，导入成功后，技能名称将显示在技能列表中。 
     例如：如需一次性导入"docx"和"pptx"两类技能至码道Space，可将两类技能文件夹放入同一个zip包中，再上传该zip包，即可实现批量上传功能。
     
     
   
#### 使用技能
1. 技能安装成功后，通过以下任意一种方式使用技能。 
   - 单击技能卡片上的 ![](https://support.huaweicloud.com/usermanual-codeartsspace/zh-cn_image_0000002717642426.png)，跳转到新建任务页面使用技能。
     图3使用技能   
     ![](https://support.huaweicloud.com/usermanual-codeartsspace/zh-cn_image_0000002717802332.png) 
   
   - 在新建任务的输入框中，单击 ![](https://support.huaweicloud.com/usermanual-codeartsspace/zh-cn_image_0000002747322369.png)添加目标技能。
     图4添加目标技能   
     ![](https://support.huaweicloud.com/usermanual-codeartsspace/zh-cn_image_0000002747322371.png "点击放大") 
   
   
   
   
2. 查看技能调用结果。
 
#### 管理技能
码道Space具备完善的技能全生命周期管理体系。用户能够基于实际业务场景，实现对既有技能的精细化管控与持续优化。
表2管理技能 
| 操作      | 具体步骤                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|
| 查看已安装技能 | 1. 在"技能"页面，单击右上角的"我安装的技能"。  2. 在全部技能页面即可查看已安装的全部技能。                                                                                                                                                                                                                                                                                        |
| 启用或禁用技能 | 1. 在"技能"页面，单击右上角的"我安装的技能"。  2. 在全部技能页面，单击技能卡片上的 ![](https://support.huaweicloud.com/usermanual-codeartsspace/zh-cn_image_0000002717802338.png)/![](https://support.huaweicloud.com/usermanual-codeartsspace/zh-cn_image_0000002747322363.png)启用或禁用技能。                                                                                     |
| 使用技能    | 1. 在"技能"页面，单击右上角的"我安装的技能"。  2. 在全部技能页面，将鼠标悬浮在目标技能卡片上，单击技能卡片上的 ![](https://support.huaweicloud.com/usermanual-codeartsspace/zh-cn_image_0000002717642420.png)跳转到新建任务页面去使用技能。                                                                                                                                                                    |
| 删除技能    | 1. 在"技能"页面，单击右上角的"我安装的技能"。  2. 在全部技能页面，将鼠标悬浮在目标技能卡片上，单击技能卡片上的 ![](https://support.huaweicloud.com/usermanual-codeartsspace/zh-cn_image_0000002717802330.png)。  3. 在弹出的页面中，单击"删除"，将技能删除。目标技能从全部技能页面中移除，表示技能删除成功。   注意： 技能删除后，使用该技能的智能体将受到影响，请谨慎操作。 |
   
