# Make Skill

将当前对话中可复用的决策、知识、模板或工作流创建为聚焦的 workspace Skill。适用于带 focus 参数的 /make-skill，以及“保存这个流程”“把它做成...

- Repository: https://github.com/agentscope-ai/QwenPaw (37135 stars)
- Category: Engineering
- License: Apache-2.0
- Last updated: 2026-10-30
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add agentscope-ai/QwenPaw --skill make-skill -g -a claude-code -y`
Codex: `npx skills add agentscope-ai/QwenPaw --skill make-skill -g -a codex -y`
Cursor: `npx skills add agentscope-ai/QwenPaw --skill make-skill -g -a cursor -y`
Gemini CLI: `npx skills add agentscope-ai/QwenPaw --skill make-skill -g -a gemini-cli -y`

## Description

将当前对话中可复用的决策、知识、模板或工作流创建为聚焦的 workspace Skill。适用于带 focus 参数的 /make-skill，以及“保存这个流程”“把它做成 skill”等请求；不适用于一次性总结或普通文件创建。

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# 创建 Skill

从当前对话创建一个新的 workspace Skill，依次完成规划、用户批准、草稿编写、校验和发布。

从运行时目录上下文获取 `<workspace>`：使用当前 agent workspace 的绝对路径（未单独配置项目时，也是工作目录）。整个生命周期传入同一个值，与任务的 project directory 和脚本 `cwd` 分开确定。生命周期产物归属 `<workspace>/.qwenpaw/make-skill/`，发布后的 Skill 归属 `<workspace>/skills/`。

## 脚本接口

通过 `execute_shell_command` 运行 `<python> scripts/<script>`，将 `cwd` 设为 available-skills 条目中本 Skill 的 `<dir>`。`<python>` 使用环境变量 `QWENPAW_DESKTOP_PY_RUNTIME` 指定的可执行文件路径；未设置时使用 `python`。

每个脚本从 stdin（或 `--input <file>`）读取一个 JSON 对象，返回一个 JSON 对象。每次输入均包含 `workspace`；下表列出其余顶层字段。

| 操作 | 脚本 | 其余输入字段 | 成功返回 |
|---|---|---|---|
| 创建计划 | `create_plan.py` | `plan` | `plan_id`、规范化 `plan` |
| 修改该计划 | `create_plan.py` | `plan_id`、完整新 `plan` | 同一个 `plan_id`、规范化 `plan` |
| 批准后初始化 | `init_draft.py` | `plan_id` | `draft_id`、`skill_dir` |
| 校验草稿 | `validate_skill.py` | `draft_id` | `digest` |
| 发布已校验草稿 | `publish_skill.py` | `draft_id`、来自校验结果的 `expected_digest` | 发布结果 |

`plan_id` 标识一份可修改的计划，修订和改名时均沿用。`draft_id` 标识初始化后的草稿，用于校验、测试和发布；`skill_dir` 是其 package 文件的编写位置。原样使用返回值，不根据名称或路径推算 ID。

## 计划

`/make-skill <focus>` 的 focus 必填；自然语言请求则结合请求和当前对话推断。用户较晚的纠正会替换冲突的旧规则。保留会改变未来 agent 行为的稳定指导、契约、模板和流程，排除一次性数据、临时路径、密钥与重试噪声。

阅读[主类型与包结构](references/type-and-package.md)，选择一个主类型和实际需要的文件。计划的测试模式不是 `off` 时，在定义测试目标前阅读[行为测试](references/behavior-testing.md)。

### Batch workflow

存储 Batch 是随 workflow Skill 一起提供的参数化 `run_tool_batch` 程序。当一个可复用区域的动作、分支和成功条件能在执行前说明，并且存储入口能实质减少 agent 与工具往返时，设置 `batch: true`。该区域可以是完整 workflow、一个 substantial helper，或一个语义完整的 tool-native action；action 数量不是判据。只要处理规则已经确定，运行时数据、observation 和最终 agent review 都不妨碍使用 Batch。

只有运行时必须重新发明下一步或成功条件，或者统一入口没有实际复用价值时，才设置 `batch: false`。用户明确要求 Batch 时，将该选择纳入计划，不再争论 eligibility。

只有选择 `batch: true` 后，才在最终确定 workflow 和文件树前阅读[运行 Batch](references/run-batch.md)；`batch: false` 时不要读取。

### 保存并展示计划

计划阶段除通过 `create_plan.py` 保存计划外只读：依据对话证据和已有产物判断，不执行或探测候选工作流，不创建 package 文件，也不初始化 draft。首次创建不传 `plan_id`，传入完整候选计划：

The rest: https://github.com/agentscope-ai/QwenPaw/blob/HEAD/src/qwenpaw/agents/skills/make-skill-zh/SKILL.md
