# Skill Factory

> Skill Factory

- Skill: `dvcrn/skill-factory` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add dvcrn/skill-factory`
- Raw SKILL.md: https://api.skillmd.com/api/skills/dvcrn/skill-factory/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: dvcrn (https://skillmd.com/u/dvcrn)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/dvcrn/skill-factory

---


# Skill Factory（Skill 工厂）

AI 作为规划层和验收层，通过迭代循环生产新的 Skill。支持可插拔的外部 AI 作为执行层，也可以由 AI 自身完成全部流程。

## 触发词

用户说以下任一内容时启动本 skill：
- "帮我做一个新 skill" / "创建 skill"
- "skill 工厂" / "造个 skill"
- "帮我迭代这个 skill" / "改进 skill"
- "把这个步骤拆成独立 skill"

## 使用方式

- 直接说"帮我做一个 XX skill"，我会从需求对齐开始引导你
- 说"帮我迭代已有的 XX skill"，我会在已有基础上改进
- 说"把 XX skill 的 YY 步骤拆成独立 skill"，我会执行子 skill 分裂流程

---

## 一、概述

Skill Factory 是一个 meta-skill——造 skill 的 skill。

**核心能力**：
- 接收用户需求，设计并生成一个完整的 Skill
- 执行层可插拔：根据任务性质选择不同 AI（如 GPT、Gemini、Claude 等）
- 三档迭代测试：手动/半自动/全自动
- 对标驱动：全自动档通过对比参考成品来判断质量
- 先整后分：初版保持单体，稳定后再按需拆出子 skill

**角色分工**：
- **AI（规划层）**：规划、设计、验收、迭代决策
- **外部 AI（执行层）**：内容生成、草稿撰写、代码编写等执行性工作
- **用户**：需求输入、档位选择、最终验收

---

## 二、前置条件

- 如需调用外部 AI，需配置至少一个可用的 AI API（参见 `tech-library.md` 模板）
- 如需智能选择执行层 AI，需配置场景-AI 对照表（参见 `call-guide.md` 模板）
- **最小可用配置**：即使没有外部 AI API，AI 自身也可以作为唯一执行层完成全部流程

---

## 三、执行流程

### 第零步：请求分流

在进入正式流程前，先判断请求类型：

- **"我要一个新的 XX skill"** → 创建模式：走完整第一步到第九步
- **"帮我改进/迭代已有的 XX skill"** → 迭代模式：跳到第二步（选档），第三步加载已有 skill 为基础
- **"帮我把 XX skill 的 YY 步骤拆成独立 skill"** → 分裂模式：走子 Skill 分裂流程（见第七章）
- **不是 skill 相关的请求** → 告知用户此 skill 专用于创建/迭代 skill

**迭代模式特殊规则**：
- 已有 skill 自动成为"骨架参考"（跳过第三步的选择环节）
- 用户可以同时提供对标成品用于全自动档对比
- 修改基于已有内容，不生成全新文件

---

### 第一步：需求对齐

1. 用户提出需求："我要一个 XX skill"
2. AI 与用户反复讨论，直到完全理解：
   - **Skill 要解决什么问题**：核心使用场景
   - **触发方式**：什么时候调用这个 skill
   - **输入和输出**：用户给什么、skill 产出什么
   - **质量标准**：什么样的输出算"好"
   - **参考对标**：有没有现成的成品可以作为目标
3. AI 复述需求给用户确认
4. 用户确认后才进入下一步
5. **禁止跳过此步**：需求不清就开始设计 = 浪费迭代次数

---

### 第二步：选档

向用户确认迭代模式：

| 档位 | 人机比例 | 适用场景 |
|------|---------|---------|
| 手动档 | 用户100% | 用户只需要初版，自己改 |
| 半自动档 | 用户在关键节点介入 | 需要用户判断质量方向 |
| 全自动档 | 用户提供参考，AI 自动迭代 | 有明确对标成品 |

**全自动档额外参数**：
- **循环上限**：用户设定最大迭代次数（建议 3-8 次）
- **对标材料**：用户提供参考成品

---

### 第三步：选参考

1. **模板参考**：列出所有现有 skill，让用户选择一个结构最接近的作为骨架参考
2. 如果没有合适的，使用通用 skill 骨架（见附录 A）
3. **对标成品**（全自动档必须提供）：
   - 一个或多个期望输出的样本
   - AI 分析成品的结构、风格、深度
   - 提取评价维度，用于后续对比

---

### 第四步：分析设计

1. **拆解步骤**：将 skill 的工作流拆成具体步骤
2. **选择 AI**：根据场景-AI 对照表，为每个步骤选择最合适的 AI
3. **粗判子 skill 潜力**：标记可能独立的步骤为 `[潜在子skill]`，但不拆分
4. **生成设计文档**：展示给用户确认

设计文档格式：
```
## Skill 设计：<skill名称>

### 步骤拆解
1. <步骤名> → 执行AI: <AI名称> → [潜在子skill]（如适用）
2. <步骤名> → 执行AI: <AI名称>

### 输出格式
<预期的 Skill 结构大纲>

### 参考来源
- 骨架参考：<已有skill名称>
- 对标成品：<成品描述>
```

---

### 第五步：生成初版 Skill

1. 根据设计文档，生成完整的 Skill 内容
2. 包含标准前置元数据（name + description）
3. 包含完整的工作流程、模板、规则
4. 对需要调用外部 AI 的步骤，写入具体的调用指引

**生成规则**：
- 参考骨架 skill 的结构和风格
- 每个步骤必须可独立执行，有明确的输入输出
- 包含"与其他 skill 的配合"部分

**手动档**：生成后直接交付用户，流程结束（跳到第九步）。

---

### 第六步：测试运行

用真实输入运行刚生成的 skill，验证是否可用。

**测试方式**：
1. 模拟调用这个 skill 的完整流程
2. 对需要外部 AI 的步骤，实际调用 API 获取输出
3. 记录每个步骤的输入、输出、耗时
4. 记录异常和失败点

**测试输出**：
```
## 测试报告 - 第N轮

### 执行摘要
- 测试输入：<描述>
- 总步骤数：X
- 成功步骤：Y
- 失败步骤：Z

### 逐步结果
| 步骤 | 状态 | 执行AI | 输出摘要 | 问题 |
|------|------|--------|---------|------|

### 最终输出
<skill 产出的完整结果>
```

---

### 第七步：对比反馈（质量门）

将测试输出与参考成品进行对比，产出明确的质量判定。

**评分维度**（每项 0-10 分）：

| 维度 | 说明 |
|------|------|
| 结构完整度 | 是否包含所有必要部分 |
| 内容深度 | 内容是否足够详细和专业 |
| 风格匹配度 | 语气、表达方式是否与参考一致 |
| 可执行性 | 步骤是否清晰到可以直接执行 |
| 输出质量 | 最终产出是否达到参考水准 |

**质量判定（Quality Gate）**：

- **PASS**（总分 >= 40/50）→ 质量达标，直接进入交付
- **CONCERNS**（总分 35-39/50）→ 半自动档展示报告由用户决定；全自动档自动继续迭代
- **FAIL**（总分 < 35/50）→ 进入迭代修改
- **收敛**（连续两轮总分变化 <= 1）→ 质量已稳定，退出迭代

**对比报告格式**：
```
## 对比报告 - 第N轮

### 质量判定：PASS / CONCERNS / FAIL
### 评分
| 维度 | 分数 | 上轮 | 变化 |
|------|------|------|------|
| 结构完整度 | X/10 | Y/10 | +Z |
| 内容深度 | X/10 | Y/10 | +Z |
| 风格匹配度 | X/10 | Y/10 | +Z |
| 可执行性 | X/10 | Y/10 | +Z |
| 输出质量 | X/10 | Y/10 | +Z |
| **总分** | **XX/50** | **YY/50** | **+ZZ** |

### 差距分析
1. <具体问题>

### 修改建议（仅 CONCERNS/FAIL 时生成）
1. <具体修改建议>
```

---

### 第八步：迭代修改

根据对比报告的修改建议，修改 Skill 内容。

**迭代规则**：
1. 逐条执行修改建议
2. 修改后回到第六步重新测试
3. 循环直到满足退出条件

**退出条件**（满足任一即退出）：
- **收敛**：连续两轮总分变化 <= 1 分
- **达标**：总分 >= 40/50（80%）
- **到限**：达到用户设定的循环上限
- **用户中断**：用户主动喊停（半自动档）

**每轮迭代记录**：
```
### 迭代记录 - 第N轮
- 修改项：<改了什么>
- 测试结果：<通过/失败>
- 总分变化：XX → YY
- 状态：继续迭代 / 收敛退出 / 达标退出 / 到限退出
```

---

### 第九步：交付部署

1. 整理最终版 Skill
2. 生成交付报告：

```
## Skill Factory 交付报告

### 基本信息
- Skill 名称：<name>
- 迭代轮次：N 轮
- 最终评分：XX/50
- 退出原因：收敛 / 达标 / 到限 / 手动

### 迭代历程
| 轮次 | 总分 | 主要修改 |
|------|------|---------|

### 子 Skill 潜力标记
- [潜在子skill] <步骤名>：<独立的理由>

### 后续建议
- <建议1>
- <建议2>
```

3. 用户决定部署位置

---

## 四、三档模式详细规则

### 手动档

```
第一步 → 第二步 → 第三步 → 第四步 → 第五步 → 第九步（直接交付）
```
- 跳过测试、对比、迭代
- 用户拿到初版后自行修改和测试

### 半自动档

```
第一步 → 第二步 → 第三步 → 第四步 → 第五步
  → 第六步 → 第七步 → [用户确认] → 第八步 → 回到第六步
  → ... → 用户满意 → 第九步
```
- 每轮迭代后展示对比报告，等用户确认方向

### 全自动档

```
第一步 → 第二步 → 第三步 → 第四步 → 第五步
  → 第六步 → 第七步 → 第八步 → 回到第六步
  → ... → 满足退出条件 → 第九步
```
- 用户只在前三步参与，后续完全自动循环
- 靠收敛/达标/到限三个条件自动退出

---

## 五、AI 调用规范

### 选择执行层 AI

根据场景-AI 对照表（`call-guide.md`）判断：
- 该步骤是否需要调用外部 AI
- **评审验收必须由规划层 AI 自身执行，不可外包**
- 需要外部 AI 时，走三级降级链：主用 AI → 备用 AI → AI 自身

### 降级规则

| 规则 | 说明 |
|------|------|
| 失败判定 | 同一 AI 连续失败 2 次才触发降级 |
| 失败类型 | HTTP 错误、超时、空响应、解析失败 |
| 记录日志 | 每次降级记录：日期、AI、失败原因、降级到谁 |
| 下次重试 | 降级不是永久的——下一个新任务仍先尝试主用 AI |

### 调用方式

所有第三方 API 统一使用 **OpenAI 兼容格式**调用。具体的 API 配置参见 `tech-library.md`，调用模板参见 `call-guide.md`。

---

## 六、对比验收机制

### 评分维度

| 维度 | 权重 | 评分标准 |
|------|------|---------|
| 结构完整度 | 20% | 是否包含所有必要章节和步骤 |
| 内容深度 | 25% | 知识密度、专业性、细节程度 |
| 风格匹配度 | 15% | 与参考成品的语气、表达一致性 |
| 可执行性 | 25% | 步骤能否直接执行、是否有歧义 |
| 输出质量 | 15% | 最终产出的整体质量感受 |

### 收敛判断

- 连续两轮总分变化 <= 1 → 收敛退出
- 总分 >= 40 → 达标退出
- 当前轮次 >= 循环上限 → 到限退出
- 否则 → 继续迭代

### 无参考成品时

- 跳过"风格匹配度"维度
- 用 skill 规范（结构完整、步骤可执行、无遗漏）作为评判标准

---

## 七、子 Skill 分裂规则

### 设计阶段：粗判标记

**标记条件**（满足 2 条以上）：
- 该步骤逻辑完整，可独立运行
- 该步骤在其他 skill 中也可能被复用
- 该步骤足够复杂，值得单独维护
- 该步骤使用的 AI 和其他步骤不同

### 迭代阶段：细调分裂

**触发时机**：主 skill 基础功能稳定后，用户主动提出。

**分裂流程**：
1. 从主 skill 中提取目标步骤
2. 用 skill-factory 自身为该步骤生成独立 skill
3. 在主 skill 中将该步骤替换为子 skill 调用指引
4. 测试主 skill + 子 skill 的衔接

---

## 八、核心规则

1. **需求不清不动手**：第一步必须完成，复述确认后才继续
2. **档位即承诺**：选了全自动就不中途随意切半自动（除非用户主动要求）
3. **先整后分**：初版 skill 保持单体，不提前拆分子 skill
4. **迭代有限**：全自动档必须设循环上限，防止空转
5. **降级可用**：任何外部 AI 不可用时，AI 自身顶上
6. **记录透明**：每轮迭代的修改、评分、决策全部记录

---

## 示例

**用户**：帮我做一个"会议纪要"skill
**小龙虾**：好的，我来帮你创建一个会议纪要 skill。先确认几个问题：
1. 这个 skill 要解决什么问题？（比如：自动从对话中提取会议要点）
2. 用户会怎么触发？（比如：说"整理会议纪要"）
3. 输入是什么？（比如：一段会议聊天记录）
4. 输出要什么格式？（比如：标题+参会人+决议+待办）
5. 有没有参考样本？

**用户**：就是整理群里的讨论，输出待办和结论就行，半自动档
**小龙虾**：明白了。我来复述确认：……（进入完整流程）

---

## 与其他 Skill 的配合

- **知识蒸馏类 skill**：skill 开发过程中的经验可写入知识库
- **SOP 生成器**：如果某个 skill 的生产过程值得复用，可生成 SOP
- **版本管理类 skill**：skill 正式部署后，可记录版本日志

---

## 附录 A：通用 Skill 骨架

当没有合适的现有 skill 作为参考时，使用此骨架：

```markdown
---
name: <skill-name>
description: "<一句话描述>"
---

# <Skill 名称>

<一句话概述>

## 触发词

用户说以下任一内容时启动本 skill：
- "<触发词1>"
- "<触发词2>"

## 使用方式

- 直接说"<触发词>"，我会引导你完成
- 或者说"<触发词> + 具体内容"直接执行

## 执行流程

1. **<步骤名>**
   - <步骤内容>

2. **<步骤名>**
   - <步骤内容>

## 核心规则

1. <规则1>
2. <规则2>

## 与其他 Skill 的配合

- **<skill名>**：<配合方式>
```

---

## 附录 B：流程上下文变量

skill-factory 运行时维护以下上下文变量：

| 变量 | 设定时机 | 用途 |
|------|---------|------|
| `target_skill_name` | 第一步 | 目标 skill 名称 |
| `mode` | 第二步 | 手动/半自动/全自动 |
| `max_iterations` | 第二步 | 全自动档循环上限 |
| `reference_skill` | 第三步 | 骨架参考 skill |
| `benchmark_material` | 第三步 | 对标成品 |
| `current_iteration` | 第六步起 | 当前迭代轮次 |
| `scores_history` | 第七步起 | 历次评分记录 |

---

## 参考文档

- 技术库模板：[tech-library.md](tech-library.md) — AI API 配置参考
- 调用指南模板：[call-guide.md](call-guide.md) — 场景-AI 对照与调用方式

