# Function Extraction

> 从项目代码中提取特定功能的完整实现链路，生成含业务逻辑、数据流、异常处理等要素的技术开发文档，附 Mermaid 流程图/时序图。

- Skill: `addxing/function-extraction` (Agent Skill, multi-file: 9 files)
- Install (CLI): `npx skillmds@latest add addxing/function-extraction`
- Raw SKILL.md: https://api.skillmd.com/api/skills/addxing/function-extraction/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: addxing (https://skillmd.com/u/addxing)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/addxing/function-extraction

---


# 功能文档提取

从项目代码中提取特定功能的完整实现流程，生成可供其他开发人员独立实现相同功能的技术开发文档。

## 核心指令

1. **确认目标功能** → 用户提供功能名称
2. **定位入口点** → 用户提供直接使用；未提供则搜索后展示结果，由用户确认或手动指定
3. **追踪完整链路** → 从入口到流程结束
4. **生成文档** → 使用 [template.md](template.md) 模板
5. **输出 Mermaid 图表** → 流程图 + 时序图

---

## 第一步：需求确认

**必须获取**：
- 目标功能名称
- 入口位置：
  - 用户已提供 → 直接使用
  - 用户未提供 → 搜索定位后展示结果，等待用户选择：
    - ✅ 确认 AI 找到的入口，开始执行
    - 🔄 不满意，让 AI 重新搜索
    - ✏️ 不满意，用户手动指定入口后再执行


---

## 第二步：代码分析

**分析深度标准**：
- 入口点：触发功能的第一行代码
- 调用链：追踪到功能执行流程结束为止
- 关键代码：影响功能逻辑走向或数据状态的代码


**遇到问题时的处理**：

| 问题 | 处理方式 |
|------|----------|
| 找不到入口 | 询问用户提供更多线索（页面名、按钮文字等） |
| 代码过于复杂 | 默认展开分支，输出完整流程 |
| 代码缺少注释 | 基于代码行为推断，标注"推断"字样 |

---

## 第三步：生成文档

使用 [template.md](template.md) 模板，根据功能实际情况选择适用章节。

---

## 输出要求

**核心原则**：
1. **完整性**：覆盖功能执行的完整链路
2. **准确性**：代码路径和行号必须准确，可直接定位
3. **可操作性**：包含足够细节，使不熟悉项目的开发人员能独立实现
4. **闭环性**：形成完整的功能闭环，确保从触发入口→处理链路→最终输出（含正常结果和异常分支）的每条路径都有始有终，无遗漏节点

**Mermaid 图表（默认必须输出）**：

| 内容 | 图表类型 |
|------|----------|
| 业务逻辑流程 | `flowchart` |
| 数据/调用流程 | `sequenceDiagram` |
| 模块依赖关系 | `graph` |

**以下情况先询问用户再决定是否输出**：
- 功能仅有单一线性流程（无分支），图表可能冗余
- 流程超过 15 个节点，可能需要拆分为多图
- 用户明确表示不需要图表




