跳到正文
FunCoding

搜索

搜索文档、Skill 和 MCP

编写与调用 Skills

创建 SKILL.md,控制用户调用、模型发现与文件路径激活。

Skill 把可重复的工作方法保存在一个目录中,核心文件是 SKILL.md,还可以附带说明、脚本和模板。模型依据描述选择相关 Skill;你也可以直接调用它。

先选存放位置

范围路径用途
个人~/.qwen/skills/<name>/SKILL.md跨项目的个人工作方法
项目.qwen/skills/<name>/SKILL.md随仓库共享的团队工作方法
扩展已启用扩展的 skills/扩展提供的能力
内置随 Qwen Code 提供产品附带的 Skills

同注册名按项目、个人、扩展、内置的顺序选择。扩展名称和设置匹配另见发现与冲突。

写最小文件

例如在 .qwen/skills/review-tests/SKILL.md 中写:

---
name: review-tests
description: Review changed unit tests for missing edge cases and unreliable assertions.
---

Read the changed tests and the implementation they exercise.
Report concrete missing cases and explain which behavior each case verifies.

name、description 都必须是非空字符串。名称允许 Unicode 字母、数字以及 _、:、.、-,不允许空白、斜杠或括号;共享时优先使用小写 ASCII 加连字符。名称中的冒号本身不能证明它来自扩展。

可选 priority 必须是有限数字。较高值只会在 /skills 列表提前;斜杠补全与 /help 自定义命令列表仍按字母序。省略或无效时按未设置处理,效果相当于 0;负数排在未设置项后。

描述要同时说明任务和触发条件。正文写操作步骤、证据要求和输出方式;大型参考材料可以另存为 reference.md,在正文中用相对链接引用,脚本放在 scripts/。

两条调用路径

/review-tests
/skills

第一行调用指定 Skill;第二行在交互终端打开浏览、搜索和切换面板。/skills review-tests 不会运行该 Skill,额外名称会被忽略。也可以自然语言提出测试审查任务,让模型自行选择。

frontmatter用户直接调用模型调用
未设置以下字段可用可用,受发现条件限制
user-invocable: false从斜杠入口和选择器隐藏仍可用
disable-model-invocation: true仍可用隐藏
两者同时设置不可通过正常入口调用不可通过正常入口调用

按文件激活

paths:
  - 'src/**/*.tsx'
  - 'packages/*/src/**/*.tsx'

把以上字段加入 frontmatter,模型列表会先隐藏该 Skill,直到工具触及匹配文件。glob 由 picomatch 相对项目根目录匹配,项目外文件不会触发。

激活后保留到会话结束;新会话或编辑任意 Skill 文件触发缓存刷新会重置激活。用户直接输入 Skill 命令可以绕过这层发现条件,但不会替模型解锁后续调用;若要模型继续调用,仍需先触及匹配文件。设置了 disable-model-invocation: true 时,匹配路径也不会让它出现在模型列表。

修改和验证

常规会话会监听个人和项目 Skill 目录,增删或编辑后稍等即可刷新列表与调用状态。Bare 模式不发现 Skills,也不会启动这些监听,不适合测试 Skill 加载。

检查文件路径、首行和正文前的 ---、YAML 缩进,再用匹配描述的真实任务测试。运行 qwen --debug 可以查看加载错误。若列表存在而模型不用,优先检查描述、路径激活和调用开关,而不是反复复制同一份 Skill。