跳转到主要内容
Skill

Skill 简介

介绍 Skill 的概念、自定义 Skill 的 ZIP 包规范,以及千问AI平台技能市场与自定义 Skill 两条路径。

什么是 Skill

Skill 是一个 ZIP 技能包,包内根目录的 SKILL.md 用自然语言声明这个技能能做什么、什么时候该用它。挂载到智能体后,智能体在会话中识别到匹配的任务就会自动调用,不需要额外写代码或对接外部工具。 Skill 和 MCP 解决的是不同的问题:MCP 提供的是工具接口,由智能体按参数调用;Skill 提供的是做事的方法,包里可以带提示词、脚本和参考资料,智能体按包里的说明完成整套流程。

千问AI平台的两条路径

千问AI平台的 Skill 分为两条路径,面向不同的使用场景:
  • 技能市场:公开的 Skill 共享社区,所有用户都可以发布和安装。面向 Qoder、Claude Code 等支持 Skill 的 Agent。前往技能市场浏览与安装,使用说明见技能市场
  • 自定义 Skill:上传 ZIP 技能包到控制台,只挂给你自己的智能体用,不进社区,不需要认证。编写规范见下文。

创建自定义 Skill

当技能市场没有你需要的 Skill 时,可以自己制作 ZIP 技能包上传到控制台。上传的控制台操作步骤和 API 调用方式见 Agent Skills,本节只讲 ZIP 包该怎么准备。

ZIP 技能包要求

要求说明
必须包含 SKILL.mdZIP 包根目录下必须有 SKILL.md 文件,用于定义 Skill 元信息。
大小限制整个 ZIP 包不超过 10 MiB。
名称唯一SKILL.md 中的 name 字段不可与当前账号下已有 Skill 重名。

SKILL.md 编写规范

SKILL.md 用 YAML frontmatter(--- 包裹)声明 Skill 的名称和描述,正文用 Markdown 写技能说明。格式如下:
---
name: my-custom-skill
description: "Skill 的功能描述,包含触发条件、适用场景和不适用场景。"
---

# Skill 正文

用自然语言说明这个技能能做什么、什么时候用、怎么用,可附带脚本和参考资料。
namedescription 必须写在 --- 包裹的 frontmatter 里。直接写裸 YAML(不带 ---)会被上传预检判定为无效 Skill。
字段说明
字段必填说明
nameSkill 的唯一标识名称。建议使用小写英文和连字符,如 data-cleanerinvoice-parser
description描述 Skill 的触发条件和处理能力。智能体根据此描述判断是否调用该 Skill,因此描述的质量直接影响 Skill 的调用准确率。
description 编写建议 description 的质量决定了智能体调用 Skill 的准确性。建议包含以下信息:
  1. 适用的输入类型:明确 Skill 处理的文件格式或数据类型。
  2. 支持的操作:列出 Skill 可以执行的具体操作。
  3. 触发关键词:用户对话中可能出现的、应触发该 Skill 的关键词或表达方式。
  4. 不适用的场景:标注不应触发该 Skill 的场景,避免误调用。
完整示例 以下是一个 SKILL.md 示例:
---
name: xlsx
description: "Use this skill any time a spreadsheet file is the primary input or output. This means any task where the user wants to: open, read, edit, or fix an existing .xlsx, .xlsm, .csv, or .tsv file (e.g., adding columns, computing formulas, formatting, charting, cleaning messy data); create a new spreadsheet from scratch or from other data sources; or convert between tabular file formats. Trigger especially when the user references a spreadsheet file by name or path - even casually (like \"the xlsx in my downloads\") - and wants something done to it or produced from it. Also trigger for cleaning or restructuring messy tabular data files (malformed rows, misplaced headers, junk) into proper spreadsheets. The deliverable must be a spreadsheet file. Do NOT trigger when the primary deliverable is a Word document, HTML report, standalone Python script, database pipeline, or Google Sheets API integration, even if tabular data is involved."
---

# xlsx

电子表格处理技能,支持读取、编辑、创建和格式转换。
该示例中:
  • 明确了支持的文件格式(.xlsx、.xlsm、.csv、.tsv)。
  • 列出了适用操作(读取、编辑、创建、格式转换、数据清洗等)。
  • 包含了触发场景描述(用户提到文件名或路径时也应触发)。
  • 标注了不适用的场景(产出物为 Word、HTML、Python 脚本等情况)。

提交后的审查

提交后系统会自动审查 Skill 内容,预计耗时约 2 分钟,期间状态为 checking
  • 审查通过:状态变为 active,Skill 出现在控制台技能页面,可挂载到智能体。
  • 审查未通过:状态变为 rejected,不能挂载。请根据提示修改 SKILL.md 内容后重新上传。

更新自定义 Skill

重新上传同名 Skill 的 ZIP 包时,系统会创建新版本,流程与首次创建一致:
  1. 修改本地 ZIP 包中的内容(如更新 SKILL.md 中的 description)。
  2. 在控制台技能页面点击自定义 Skill重新上传 ZIP 包。
  3. 审查通过后生成新版本号。
挂载到智能体时必须指定具体版本号,上传新版本不会自动改变已挂载智能体使用的版本。如需让智能体用上新版本,要在智能体配置里把版本改过去。

智能体怎么用 Skill

挂载 Skill 只是把能力给到智能体,具体调不调、什么时候调由智能体自己决定。有两种触发方式:
  • 智能体自动判断:智能体把会话内容和每个已挂载 Skill 的 description 做匹配,命中就调用。所以 description 写得准不准,直接决定调用准确率,写法见上文 description 编写建议。
  • 在会话里直接点名:如果智能体没按预期调用,可以在消息里明确要求用哪个 Skill,例如「用 xlsx 技能把这份数据整理成表格」。
挂载方式(控制台和 API)、版本指定、删除见 Agent Skills

下一步

  • 技能市场:技能市场首页结构、技能包、安装方式。
  • 发布和管理 Skill:把自己开发的 Skill 发布到技能市场供所有人安装,并管理已发布版本。
  • Agent Skills:在控制台或 API 上传、挂载、管理版本。