---
name: skill-mining
description: 从流程文件（Word/PDF/图片/文字描述）中自动挖掘 Skill 建设机会，生成可视化 HTML 分析报告并自动预览，识别哪些流程节点最适合封装为 Skill，评估优先级，并可进一步一键封装生成 Skill 文件。当用户说"帮我挖掘 skill"、"从流程中找 skill 机会"、"这个流程哪里可以做 skill"、"skill 挖掘"、"流程里有哪些 skill 可以做"时触发此 skill。
---

# Skill 挖掘专家

从流程文件中识别 Skill 建设机会，输出可视化报告，并支持一键封装 Skill。

## 触发词
用户说"帮我挖掘 skill"、"这个流程哪些地方能做 skill"、"skill 挖掘"时立即启动。

## 鲁棒性保障规则（最高优先级）

| 异常情况 | 处理策略 |
|----------|----------|
| `parse_doc.py` 脚本不存在或运行失败 | 跳过脚本解析，直接请求用户粘贴文字内容；告知"文件解析工具不可用，请直接粘贴流程内容" |
| `generate_report.py` 运行失败 | 降级为在对话窗口输出 Markdown 格式分析报告；告知"HTML报告生成失败，以下是文字版分析" |
| `build_skill.py` 运行失败 | 直接在对话窗口输出完整 SKILL.md 内容，用户可手动保存 |
| 流程文件为图片 | 基于图片描述内容分析（如有视觉能力），否则请求用户提供文字版本 |
| 分析结果 JSON 格式异常 | 忽略 JSON 序列化，直接用结构化文字传参到报告生成步骤 |
| D盘写入失败/无权限 | 尝试写入当前工作目录；仍失败则在对话中输出报告内容，提示用户手动保存 |
| 浏览器打开失败 | 输出绝对路径，提示用户手动打开 |

---

## 完整执行流程

### 阶段一：获取流程内容

用户可通过以下方式提供流程：
1. **直接粘贴文字** → 直接使用
2. **提供文件路径**（Word/PDF/图片）→ 调用 `scripts/parse_doc.py` 解析；失败则告知用户粘贴内容
3. **描述流程场景** → 基于描述分析

```bash
# 解析 Word/PDF/图片文件（失败时跳过，改为请求文字输入）
python scripts/parse_doc.py "文件路径"
```

解析后获得纯文本流程内容，进入阶段二。

---

### 阶段二：分析流程，识别 Skill 机会

对流程内容进行逐节点分析，识别符合以下特征的节点：

**Skill 适合度判断标准（必须满足至少3项）：**
- ✅ 有明确的输入 → 处理 → 输出结构
- ✅ 可在线上完整执行，无需线下人工干预
- ✅ 重复性高，有规律可循
- ✅ 单一职责，边界清晰
- ✅ 可用 AI 显著提升效率或质量
- ✅ 当前依赖人工、耗时、易出错

**优先级评估维度：**
| 维度 | 权重 |
|------|------|
| 重复频率 | 30% |
| AI 可执行度 | 30% |
| 价值释放空间 | 25% |
| 实现难度（取反） | 15% |

综合评分 = 各维度评分 × 权重，满分 100 分。

---

### 阶段三：生成可视化 HTML 报告

分析完成后，调用报告生成脚本，输出 HTML 文件到 `D:\skill_mining_report_{时间戳}.html`：

```bash
python scripts/generate_report.py "流程名称" "分析结果JSON"
```

**脚本失败时降级方案**：若脚本运行出错，直接在对话窗口输出以下 Markdown 格式报告（不中断流程）：

```markdown
## Skill 挖掘分析报告 - [流程名称]

### 流程概览
- 节点总数：XX
- 识别 Skill 机会：X 个

### Skill 机会详细分析
...（按优先级列出）

### 优先实施建议（Top 3）
...
```

报告包含：
1. **流程概览卡片** - 流程名称、节点总数、识别到的 Skill 机会数
2. **节点分析列表** - 每个节点的 Skill 适合度评分与理由
3. **优先级排行榜** - 最推荐优先实施的 Top 3
4. **实施建议矩阵** - 立即可做 / 需更多信息 / 复杂需拆分

生成后**立即用浏览器打开预览**：
```bash
Start-Process "D:\skill_mining_report_{时间戳}.html"
```
若打开失败，输出绝对路径提示用户手动打开，不影响报告已生成。

---

### 阶段四：对话跟进

报告展示后，在对话窗口告知用户：

```
报告已生成并打开预览！

🏆 最有机会的 Skill 候选：
  第1位：[节点名称]（评分：XX分）- [一句话理由]
  第2位：[节点名称]（评分：XX分）- [一句话理由]
  第3位：[节点名称]（评分：XX分）- [一句话理由]

如果您想立即动手做某个 Skill，请告诉我：
  1. 您选择哪个节点？
  2. 这个节点的具体触发场景是什么？
  3. 期望的输出格式是什么？

提供后我会帮您完整封装 Skill 文件。
```

---

### 阶段五：封装 Skill（用户确认后执行）

用户提供补充信息后，调用封装脚本：

```bash
python scripts/build_skill.py "skill名称" "节点描述" "触发场景" "输出格式"
```

封装完成后：
1. 在 `~/.qoder/skills/` 下创建新 Skill 目录
2. 生成 `SKILL.md` 文件
3. 在对话窗口展示 Skill 内容预览
4. 提示用户："Skill 已封装完成，可在 Qoder 中直接使用！"

---

## 关键规则

- 报告必须保存到 D 盘，文件名含时间戳
- 报告生成后必须立即自动打开浏览器预览
- 优先识别「最小可执行单元」的 Skill，而非大而全的流程
- 每个 Skill 候选必须给出具体理由，不能泛泛而谈
- 若流程文件无法解析，直接告知用户并请求文字输入

## 附加资源

- 文件解析脚本说明：见 [scripts/parse_doc.py](scripts/parse_doc.py)
- 报告生成脚本说明：见 [scripts/generate_report.py](scripts/generate_report.py)
- Skill 封装脚本说明：见 [scripts/build_skill.py](scripts/build_skill.py)
