# 工作区技能创建器

工作区技能创建器用于把团队反复执行的工作方式沉淀成可复用的 Skill。当你希望智能体记住某个专业流程、领域规范、提示词模式或工具使用步骤时，可以让它为当前工作区创建一个技能。

## 可以创建什么

每个工作区技能都必须包含一个 `SKILL.md` 入口文件。`description` 负责告诉智能体什么时候触发这个技能，正文负责告诉智能体具体怎么做。

简单技能只需要 `SKILL.md`。复杂技能可以在创建时一起带上配套文件：

| 文件区域 | 用途 |
| --- | --- |
| `agents/openai.yaml` | 技能在界面或体验中的展示信息 |
| `scripts/` | 可复用的脚本逻辑，例如 Python、Shell、JavaScript 或 TypeScript |
| `references/` | 较长的指南、Schema、示例、检查清单或领域资料 |
| `assets/` | 模板、图片、图标、字体或其他二进制资源 |

## 如何让智能体创建技能

直接告诉智能体你要创建一个工作区技能，并说明这个技能要沉淀什么重复工作。一个好的请求通常包含：技能用途、典型用户说法、什么场景下应该触发。

示例：

- “创建一个产品图片编辑技能，支持旋转、裁剪、缩放和红眼修复。”
- “创建一个客服升级摘要技能，用来根据客户对话生成升级说明。”
- “为分析工作区创建一个 SQL Review 技能，检查命名、JOIN、筛选条件和看板安全性。”
- “创建一个 CSV 校验技能，带一份简短指南和一个辅助脚本。”

如果信息还不够清楚，创建器可能会追问一两个关键问题；如果目标、例子和触发语义已经足够明确，它会直接创建技能。

## 创建后会发生什么

创建工具执行后，Xpert 会把技能包保存到当前工作区。这个技能是工作区私有的，并作为工作区作者创建的 skill package 记录下来。

在下一次合适的运行时选择或刷新后，Skills Middleware 可以发现并同步完整技能包。当用户之后提出与技能描述匹配的任务时，运行时技能流程会把这个技能暴露给智能体，智能体再读取完整的 `SKILL.md` 并按步骤执行。

## 维护已有技能

你也可以让智能体查看、更新或删除已有的工作区自建技能。可以用技能名、展示名或 package path 来引用它。

示例：

- “更新 image-editor 技能，让它也包含水印移除的处理说明。”
- “先给我看一下 SQL Review 技能当前的 SKILL.md，再决定怎么改。”
- “删除旧的 CSV 校验技能。”

如果同一个引用匹配到多个技能，Xpert 会返回候选项，并要求你先选择具体要操作的那个技能。

## 当前边界

- 创建器只负责工作区技能包的作者侧创建和维护，不负责运行技能。
- 它不安装 marketplace 技能，也不搜索外部仓库。
- 它不读取运行时 `.xpert/skills` 或 `.agents/skills` 目录。
- V1 中，更新已有技能主要替换 `SKILL.md`；配套文件在首次创建复杂技能时写入。
- `SKILL.md` frontmatter 只允许包含 `name` 和 `description`。

