-–
name: requirement-organizer
description: 从杂乱的客户需求文档中提取、整理和分析需求,生成结构化、易理解的需求清单(支持 Markdown 和 Excel 两种输出格式)。Use when: (1) 客户需求文档混乱无序,(2) 需要从会议记录、邮件、聊天记录中提取需求,(3) 需求描述模糊需要澄清,(4) 需要识别重复/冲突需求,(5) 生成规范化需求文档或功能清单 Excel。Triggers: 用户提到"整理需求"、“分析需求”、“需求文档”、“需求清单”、“需求梳理”、“客户需求”、“功能清单”、"导出Excel"等关键词。
-–
# 需求整理分析器
将杂乱无序的客户需求转化为清晰、结构化的需求清单,支持 Markdown 和 Excel 两种输出格式。
## 输出格式选择
| 格式 | 适用场景 | 输出文件 |
|------|----------|----------|
| Markdown | 文档阅读、版本控制、PRD 编写 | `需求清单.md` |
| Excel | 功能清单管理、工作量估算、项目跟踪 | `功能清单.xlsx` |
## 工作流程
### 1. 需求提取
- 从各类文档中识别需求描述(会议记录、邮件、聊天记录、Word文档等)
- 提取显性需求和隐性需求
- 识别需求提出者和时间线
### 2. 需求分类
按以下维度分类:
- **功能需求**:系统需要实现的功能
- **非功能需求**:性能、安全、可用性等
- **业务需求**:业务目标、业务规则
- **约束条件**:技术限制、预算限制、时间限制
### 3. 需求分析
- **去重**:识别并合并重复需求
- **冲突检测**:发现相互矛盾的需求
- **模糊澄清**:标注需要进一步确认的模糊点
- **优先级推断**:根据描述推断需求重要程度
### 4. 需求结构化
输出标准化的需求清单格式。
### 5. Excel 输出(可选)
当用户需要 Excel 格式时,使用 `scripts/generate_excel.py` 脚本生成功能清单 Excel 文件。
## 输出格式
### Markdown 格式
```markdown
# 需求清单
## 一、需求概览
| 指标 | 数值 |
|------|------|
| 需求总数 | X个 |
| 功能需求 | X个 |
| 非功能需求 | X个 |
| 待确认需求 | X个 |
## 二、功能需求
### 2.1 [模块名称]
| ID | 需求描述 | 来源 | 优先级 | 状态 | 备注 |
|----|----------|------|--------|------|------|
| F-001 | … | 会议记录 | 高 | 待确认 | |
## 三、非功能需求
| ID | 需求描述 | 类型 | 指标要求 |
|----|----------|------|----------|
| NF-001 | … | 性能 | 响应时间<2s |
## 四、待确认事项
| ID | 问题描述 | 相关需求 | 建议询问对象 |
|----|----------|----------|--------------|
| Q-001 | … | F-001 | 产品经理 |
## 五、需求冲突/重复
| 类型 | 需求ID | 说明 | 建议 |
|------|--------|------|------|
| 冲突 | F-001/F-002 | … | 需确认优先级 |
```
### Excel 格式
Excel 文件包含 5 个 Sheet:
| Sheet 名称 | 内容说明 |
|------------|----------|
| 需求概览 | 需求统计汇总(总数、功能/非功能数量、模块数等) |
| 功能需求 | 功能需求详细列表(ID、模块、描述、来源、优先级、状态、备注) |
| 非功能需求 | 非功能需求列表(ID、描述、类型、指标要求、来源) |
| 待确认事项 | 待确认问题列表(ID、问题描述、相关需求、建议询问对象) |
| 需求依赖关系 | 需求间依赖关系(需求ID、依赖需求ID、关系类型、说明) |
#### Excel 格式化特性
- 表头加粗、蓝色背景、白色字体
- 优先级颜色标记:高(红色)、中(黄色)、低(绿色)
- 状态颜色标记:明确(绿色)、待确认(黄色)、推断(蓝色)
- 自动列宽适配
- 单元格边框
## Excel 生成方法
### 方法一:直接生成
完成需求整理后,直接调用脚本生成 Excel:
```python
from scripts.generate_excel import generate_requirement_excel, parse_markdown_to_requirements
# 从 Markdown 内容解析
requirements = parse_markdown_to_requirements(md_content)
# 生成 Excel
generate_requirement_excel(requirements, ‘功能清单.xlsx’)
```
### 方法二:命令行生成
先输出 Markdown 文件,再转换为 Excel:
```bash
python scripts/generate_excel.py 需求清单.md 功能清单.xlsx
```
## 分析技巧
### 识别模糊需求
- 包含"大概"、“可能”、"尽量"等词
- 缺少量化指标
- 描述过于笼统
### 推断优先级
- 明确提及"必须"、“核心”、“关键” → 高优先级
- 提及"最好"、“如果可以” → 中优先级
- 提及"以后考虑"、“可选” → 低优先级
### 发现隐性需求
- 从业务目标推导
- 从用户场景推导
- 从约束条件推导
## 最佳实践
1. **保留原始信息**:记录需求来源,便于追溯
2. **标注不确定项**:不要猜测,明确标注待确认
3. **使用统一术语**:消除同义词造成的混淆
4. **关联业务价值**:每个需求关联业务目标
5. **优先 Excel 输出**:功能清单推荐使用 Excel 格式,便于后续管理和跟踪
## 参考资源
- **示例模板**:参见 [templates.md](references/templates.md),包含完整的输入输出示例和关键词映射表
- **Excel 脚本**:参见 [scripts/generate_excel.py](scripts/generate_excel.py),用于生成功能清单 Excel 文件