Skill: mwangxiang/wx-skill-factory (version 1.0.0)

--- name: skill-factory description: "Skill工厂，AI作为规划层循环迭代生产新Skill（需求对齐→选档→设计→生成→测试→对比→迭代→交付），支持手动/半自动/全自动三档模式" --- # 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 对照与调用方式

path: call-guide.md
content: # Skill Factory 调用指南

skill-factory 运行时根据此文件决定每个步骤该调用哪个 AI，以及调用失败时如何降级。

> **说明**：这是一个配置模板，请根据你自己的 AI 服务填写具体的密钥和地址。

---

## 一、AI 服务配置

你可以配置多组 AI 服务，通过不同密钥访问不同模型族：

| 密钥组 | 覆盖模型（示例） | 用途 |
|--------|---------|------|
| GPT 系列 | gpt-4o, gpt-4-turbo 等 | 写作、代码 |
| Google Gemini | gemini-pro, gemini-flash 等 | 深度研究、快速生成 |
| Claude 系列 | claude-sonnet, claude-opus 等 | 高质量输出 |

**所有外部 AI 统一走 OpenAI 兼容格式**，具体密钥和 endpoint 见 `tech-library.md`。

---

## 二、Fallback 三级降级链

```
调用请求进来
│
├─ 1. 主用 AI（你配置的首选 AI 服务）
│     ├─ 成功 → 返回结果
│     └─ 失败（连续 2 次）→ 记录原因
│           │
│           ├─ 2. 备用 AI（你配置的备用 AI 服务）
│           │     ├─ 成功 → 返回结果
│           │     └─ 失败（连续 2 次）→ 记录原因
│           │           │
│           │           └─ 3. 降级保险：AI 自身执行
│           │                 └─ 无需 API，直接在上下文中完成
│           │
│           └─ 备用 AI 未配置 → 直接进入降级保险
│
└─ 主用 AI 未配置 → 直接使用 AI 自身
```

### 降级规则

| 规则 | 说明 |
|------|------|
| **失败判定** | 同一 AI 连续失败 2 次才触发降级（单次失败先重试） |
| **失败类型** | HTTP 错误、超时（30s）、空响应、JSON 解析失败、内容明显异常 |
| **记录日志** | 每次降级记录：日期、AI、失败原因、降级到谁 |
| **下次重试** | 降级不是永久的——下一个新任务仍先尝试主用 AI |
| **评审不外包** | 评审验收步骤始终由规划层 AI 执行，不走降级链 |

### 终止条件

当所有 AI（含自身）都无法产出合理结果时：

- 终止当前迭代
- 向用户报告："所有 AI 执行层均无法满足要求"
- 列出各 AI 的失败原因
- 建议：调整需求 / 更换 API / 降低质量标准

---

## 三、场景-AI 对照表

| 任务类型 | 推荐模型类型 | 原因 |
|---------|------------|------|
| 长文写作 | GPT 系列（通用型） | 文本生成能力强 |
| 素材整理/摘要 | Gemini 系列 | 长上下文处理能力 |
| 快速草稿 | 轻量模型（如 GPT mini/flash） | 速度优先 |
| 翻译 | GPT 系列 | 多语言能力 |
| 创意发散 | GPT 系列 | 创意输出 |
| 代码生成 | 代码专用模型（如 Codex） | 代码质量 |
| 深度推理 | 思考链模型（如 thinking 系列） | 复杂推理 |
| 最高质量输出 | 旗舰模型（如 Opus/GPT-4） | 综合能力 |
| 素材搜集+事实核查 | 搜索增强模型 | 联网能力 |
| 结构化分析 | AI 自身 | 逻辑推理强，不需外部 |
| 评审验收 | AI 自身 | **必须自身执行，不可外包** |

**使用说明**：
- 根据你的实际 AI 服务配置，填入对应的模型名称
- 主用失败时先切备用同类模型，再降级到 AI 自身
- 评审验收是唯一不走外部 AI 的环节

---

## 四、统一调用模板

所有第三方 API 使用 OpenAI 兼容格式：

```bash
curl -s <你的API地址>/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <你的API密钥>" \
  -d '{
    "model": "<模型名称>",
    "messages": [
      {"role": "system", "content": "<系统提示>"},
      {"role": "user", "content": "<用户提示>"}
    ],
    "max_tokens": 4096,
    "temperature": 0.7
  }'
```

### 响应解析

```bash
# 1. 调用并存储响应
RESPONSE=$(curl -s -m 30 <你的API地址>/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <你的API密钥>" \
  -d "${REQUEST_BODY}")

# 2. 检查错误
# 如果响应包含 error 字段 或 没有 choices 字段 → 重试/降级

# 3. 提取内容
# 从 choices[0].message.content 获取 AI 输出
```

---

## 五、踩坑记录

> 每次降级和异常记录在此，方便追踪和优化。

| 日期 | 层级 | AI 服务 | 问题 | 降级到 | 备注 |
|------|------|---------|------|--------|------|
| - | - | - | （暂无记录） | - | - |

---

## 六、参考文档

- 技术库配置：[tech-library.md](tech-library.md)
- Skill Factory 本体：[SKILL.md](SKILL.md)


path: tech-library.md
content: # Skill Factory 技术库

> **配置模板**：请根据你自己的 AI 服务填写具体的密钥和地址。
> 此文件包含 API 密钥等敏感信息，请勿提交到公开仓库。

---

## 使用说明

skill-factory 运行时会读取此文件获取 AI 服务的 API 配置。

**配置规则**：
- 所有服务统一使用 OpenAI 兼容格式
- 不同密钥对应不同模型族，按密钥分组配置
- 调用时根据任务类型选择对应的密钥 + 模型组合
- 选择逻辑详见 `call-guide.md` 的场景-AI 对照表

---

## 统一入口

| 配置项 | 值 |
|--------|-----|
| 主力站 | `https://<你的主力API地址>` |
| 主力 endpoint | `https://<你的主力API地址>/v1/chat/completions` |
| 备用站 | `https://<你的备用API地址>`（可选） |
| 备用 endpoint | `https://<你的备用API地址>/v1/chat/completions` |
| 协议 | OpenAI 兼容格式 |

---

## 密钥与模型配置

### 1. GPT 系列

| 配置项 | 值 |
|--------|-----|
| api_key | `<你的GPT系列API密钥>` |
| max_tokens | `4096` |
| temperature | `0.7` |

**可用模型（示例）**：

| 模型 | 类型 | 适用场景 |
|------|------|---------|
| `gpt-4o` | 通用 | 长文写作、内容生成 |
| `gpt-4o-mini` | 轻量 | 快速草稿、翻译 |
| `codex` | 代码 | 代码生成、重构 |

---

### 2. Google Gemini

| 配置项 | 值 |
|--------|-----|
| api_key | `<你的Gemini API密钥>` |
| max_tokens | `4096` |
| temperature | `0.7` |

**可用模型（示例）**：

| 模型 | 类型 | 适用场景 |
|------|------|---------|
| `gemini-pro` | 深度 | 深度推理、素材分析 |
| `gemini-flash` | 快速 | 快速生成、摘要 |

---

### 3. Claude 系列

| 配置项 | 值 |
|--------|-----|
| api_key | `<你的Claude API密钥>` |
| max_tokens | `4096` |
| temperature | `0.7` |

**可用模型（示例）**：

| 模型 | 类型 | 适用场景 |
|------|------|---------|
| `claude-sonnet` | 通用 | 写作、分析 |
| `claude-opus` | 旗舰 | 最高质量输出 |
| `claude-sonnet-thinking` | 思考链 | 复杂推理 |

---

### 4. 降级保险（Fallback）

| 配置项 | 值 |
|--------|-----|
| 执行方式 | AI 自身（无需 API） |
| 备注 | 所有外部 AI 都不可用时，直接在上下文中完成任务 |

---

## 默认降级链

```
任务进来 → 根据 call-guide.md 场景表选择密钥+模型
│
├─ 首选组合调用成功 → 返回结果
└─ 首选失败（连续2次）→ 降级到同组备选模型
    └─ 仍失败 → 降级到其他密钥组的对应模型
        └─ 全部失败 → AI 自身执行
```

**降级路径示例**：
- 写作任务：主力 GPT → 备用 GPT → Gemini → AI 自身
- 素材整理：主力 Gemini → 备用 Gemini → AI 自身
- 代码任务：Codex → 备用代码模型 → AI 自身
- 高质量输出：Claude 首选 → Claude 备选 → AI 自身

---

## 配置状态总览

| 密钥组 | 角色 | 状态 | 最后验证时间 |
|--------|------|------|------------|
| GPT 系列 | 写作/代码主力 | 待配置 | - |
| Google Gemini | 深度研究/备用 | 待配置 | - |
| Claude 系列 | 高质量输出 | 待配置 | - |
| AI 自身 | Fallback | 始终可用 | - |

> 每次配置新 key 后，运行一次验证调用并更新此表。


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)