需求分析与文档生成工具
概述
本skill用于快速收集项目需求信息,智能推断填充内容,生成标准化文档。
核心原则
- 最少必要问题 - 只问关键问题,其余智能推断
- 批量输入支持 - 用户可一次性提供所有信息
- 渐进式深入 - 根据文档类型按需收集详细信息
- 实时预览 - 展示推断内容供用户确认或修改
工作流程
第一步:快速启动
首先询问用户:
请提供项目的基本信息(可一次性提供,也可以逐项回答):
1. **项目名称**:如"在线图书管理系统"
2. **项目背景**:为什么需要这个系统?
3. **核心目标**:系统要解决什么问题?
您也可以直接说"帮我分析XXX系统",我会智能推断并生成建议内容。
第二步:智能推断
根据用户提供的信息,自动推断以下内容并展示给用户确认:
| 推断项 | 推断依据 |
|---|---|
| 目标用户 | 项目背景 + 核心目标 |
| 功能模块列表 | 项目名称 + 行业特征 |
| 技术栈建议 | 系统规模 + 性能要求 |
| 术语定义 | 领域关键词 |
| 风险点 | 项目类型特征 |
推断示例:
根据"在线图书管理系统",我推断以下内容:
**目标用户**:图书馆管理员、读者
**核心功能**:
- 图书管理(增删改查)
- 借阅管理(借书、还书、续借)
- 用户管理(注册、权限)
- 统计报表
**技术栈建议**:Web应用,B/S架构
请确认以上推断是否正确,或告诉我需要修改的地方。
第三步:选择文档类型
收集基本信息后,询问文档类型:
请选择要生成的文档类型:
1. 需求分析文档 - 分析用户需求,明确项目目标
2. 需求设计文档 - 设计如何满足需求(需先有需求分析)
3. 概要设计文档 - 系统架构层面的设计(需先有需求设计)
4. 详细设计文档 - 具体实现细节(需先有概要设计)
5. 全部文档 - 按顺序生成所有文档
请输入数字或文档名称:
第四步:按需深入收集
根据选择的文档类型,只收集该文档需要的信息:
需求分析文档 - 核心问题(5项)
- 用户痛点是什么?(可跳过,自动推断)
- 有哪些非功能需求?(性能、安全、可用性)
- 有哪些约束条件?(技术、时间、资源)
- 验收标准是什么?
- 主要风险有哪些?
需求设计文档 - 核心问题(4项)
- 业务流程是什么?(可提供流程描述)
- 数据实体有哪些?
- 接口需求是什么?
- 安全要求是什么?
概要设计文档 - 核心问题(5项)
- 系统架构偏好?(单体/微服务/Serverless)
- 部署环境?(云平台/本地/混合)
- 技术选型?(前端/后端/数据库)
- 模块划分建议?
- 数据表设计?
详细设计文档 - 核心问题(4项)
- 核心算法/逻辑?
- 接口详细设计?
- 异常处理策略?
- 性能优化方案?
第五步:生成文档
读取模板,填充内容,保存到指定位置。
第六步:后续引导
文档已生成:{文件路径}
如需生成Word文档(.docx)格式,请使用 /docx skill。
如需继续生成下一阶段文档,请告诉我。
文档依赖关系
需求分析文档 → 需求设计文档 → 概要设计文档 → 详细设计文档
后续文档自动继承前置文档内容,只需补充新信息。
批量输入模式
用户可一次性提供完整信息,格式如下:
项目名称:XXX
项目背景:XXX
核心目标:XXX
目标用户:XXX
功能列表:功能1、功能2、功能3
技术约束:XXX
...
或直接提供现有需求文档、产品文档,我会提取关键信息。
模板变量规范
所有模板使用统一的变量命名:
基本信息
{{project_name}}- 项目名称{{current_date}}- 当前日期{{author}}- 作者
需求分析
{{project_background}}- 项目背景{{project_goal}}- 项目目标{{project_scope}}- 项目范围{{target_users}}- 目标用户{{stakeholders}}- 主要干系人{{pain_points}}- 用户痛点{{functional_requirements_table}}- 功能需求表格{{functional_requirements}}- 功能详细说明{{performance_requirements}}- 性能需求{{security_requirements}}- 安全需求{{availability_requirements}}- 可用性需求{{compatibility_requirements}}- 兼容性需求{{technical_constraints}}- 技术约束{{time_constraints}}- 时间约束{{resource_constraints}}- 资源约束{{business_constraints}}- 业务约束{{acceptance_criteria}}- 验收标准{{risk_analysis_table}}- 风险分析表格{{glossary_table}}- 术语表
需求设计
{{project_overview}}- 项目概述{{requirement_mapping_table}}- 需求映射表{{non_functional_mapping_table}}- 非功能需求映射表{{core_business_process}}- 核心业务流程{{process_diagram}}- 流程图{{module_division}}- 模块划分{{module_detailed_design}}- 模块详细设计{{data_entities}}- 数据实体{{data_relationships}}- 数据关系{{data_dictionary_table}}- 数据字典表{{external_interfaces}}- 外部接口{{internal_interfaces}}- 内部接口{{interface_specification_table}}- 接口规范表{{interaction_principles}}- 交互设计原则{{ui_layout_design}}- 界面布局设计{{operation_flow_design}}- 操作流程设计{{authentication_authorization}}- 认证与授权{{data_security}}- 数据安全{{security_policy}}- 安全策略{{performance_metrics_table}}- 性能指标表{{performance_optimization}}- 性能优化策略{{extension_points}}- 扩展点{{extension_strategy}}- 扩展策略
智能推断规则
功能模块推断
根据项目关键词匹配常见功能:
| 关键词 | 推断功能 |
|---|---|
| 管理 | 增删改查、列表查询、权限控制 |
| 电商 | 商品管理、订单管理、支付、购物车 |
| 社交 | 用户系统、消息、动态、评论 |
| 内容 | 文章管理、分类、标签、搜索 |
| 数据 | 数据采集、清洗、分析、可视化 |
技术栈推断
| 项目类型 | 推荐技术栈 |
|---|---|
| Web应用 | 前端: Vue/React, 后端: FastAPI/Django, 数据库: PostgreSQL/MySQL |
| 移动应用 | Flutter/React Native, 后端: FastAPI, 数据库: PostgreSQL |
| 数据平台 | Python, Spark, Airflow, PostgreSQL/ClickHouse |
| 微服务 | Go/Java, Kubernetes, Redis, RabbitMQ |
术语推断
根据领域自动提取专业术语:
- 识别英文缩写(API, SDK, MVC等)
- 识别技术名词(数据库、缓存、消息队列等)
- 识别业务名词(根据项目类型)
前置文档识别与遗漏检测
当用户分次生成不同阶段的文档时,支持自动识别已有文档内容,检测遗漏点。
识别流程
用户请求:生成概要设计文档
↓ 检测前置文档
1. 检查是否已有需求分析文档
- 搜索当前目录及 docs/ 目录
- 匹配文件名模式:*需求分析*.md, *requirement*analysis*.md
2. 如找到前置文档:
- 读取并解析内容
- 提取关键信息(项目名称、功能列表、约束条件等)
- 跳过已收集的问题,直接进入下一阶段
3. 如未找到前置文档:
- 提示用户:是否需要提供现有文档路径?
- 或引导用户先回答核心问题
遗漏检测规则
根据文档类型,定义必填项和可选项。生成前检测遗漏内容:
需求分析文档 - 必填项检测
| 检测项 | 必要性 | 检测方式 |
|---|---|---|
| 项目名称 | 必须 | 非空检测 |
| 项目背景 | 必须 | 非空检测 |
| 目标用户 | 必须 | 非空检测 |
| 功能列表 | 必须 | 表格行数 ≥ 1 |
| 性能需求 | 建议 | 非空检测,为空则提示 |
| 安全需求 | 建议 | 非空检测,为空则提示 |
| 验收标准 | 建议 | 非空检测,为空则提示 |
| 风险分析 | 建议 | 表格行数 ≥ 1,为空则提示 |
需求设计文档 - 必填项检测
| 检测项 | 必要性 | 检测方式 |
|---|---|---|
| 需求映射表 | 必须 | 表格行数 ≥ 1 |
| 业务流程 | 必须 | 非空检测 |
| 模块划分 | 必须 | 非空检测 |
| 数据实体 | 必须 | 非空检测 |
| 接口规范 | 建议 | 表格行数 ≥ 1,为空则提示 |
| 安全设计 | 建议 | 非空检测,为空则提示 |
概要设计文档 - 必填项检测
| 检测项 | 必要性 | 检测方式 |
|---|---|---|
| 系统架构图 | 必须 | 非空检测 |
| 技术选型 | 必须 | 表格行数 ≥ 1 |
| 模块划分 | 必须 | 表格行数 ≥ 1 |
| 数据表设计 | 必须 | 非空检测 |
| 接口设计 | 建议 | 表格行数 ≥ 1,为空则提示 |
| 异常设计 | 建议 | 表格行数 ≥ 1,为空则提示 |
详细设计文档 - 必填项检测
| 检测项 | 必要性 | 检测方式 |
|---|---|---|
| 模块详细设计 | 必须 | 非空检测 |
| 数据库表结构 | 必须 | 表格行数 ≥ 1 |
| 接口详细设计 | 必须 | 表格行数 ≥ 1 |
| 异常处理 | 建议 | 表格行数 ≥ 1,为空则提示 |
| 测试用例 | 建议 | 表格行数 ≥ 1,为空则提示 |
遗漏报告格式
生成文档前,如检测到遗漏项,输出报告:
📋 内容完整性检测报告
✅ 已完成项(8项):
- 项目名称、项目背景、目标用户、功能列表
- 性能需求、安全需求、约束条件、术语表
⚠️ 建议补充项(3项):
- 验收标准:明确验收标准有助于后续测试验收
- 风险分析:识别风险可提前制定应对策略
- 兼容性需求:说明系统兼容性要求
是否补充以上内容?
1. 全部补充 - 逐一回答问题
2. 选择性补充 - 告诉我要补充哪些
3. 暂不补充 - 使用智能推断填充
4. 查看推断内容 - 先看推断结果再决定
从已有文档提取信息
当用户提供已有文档路径时:
用户: 根据已有的需求分析文档生成概要设计,文档在 ./docs/需求分析.md
Claude: 正在读取并解析文档...
✅ 从文档中提取到以下信息:
- 项目名称:在线图书管理系统
- 项目背景:为学校图书馆设计的数字化管理系统
- 核心功能:图书管理、借阅管理、用户管理、统计报表(共4项)
- 技术约束:B/S架构、支持移动端访问
- 性能要求:支持500并发用户
📋 基于已有信息,概要设计需要补充:
- 系统架构偏好?(单体/微服务)
- 技术选型?(前端/后端/数据库具体方案)
- 部署环境?(云平台/本地)
请回答以上问题,或说"用默认"使用推断值。
文档内容解析规则
解析项目名称
- 查找"项目名称"后的表格或段落
- 匹配模式:
项目名称[::]\s*(.+) - 或从文档标题提取:
# (.+)文档
解析功能列表
- 查找"功能需求"或"功能列表"章节
- 提取表格内容(编号、功能名称、描述)
- 或提取列表项(
-或1.开头的行)
解析约束条件
- 查找"约束条件"或"设计约束"章节
- 分类提取:技术约束、时间约束、资源约束
解析非功能需求
- 查找"非功能需求"章节
- 分类提取:性能、安全、可用性、兼容性
交互原则
- 一次一问 - 避免信息过载
- 允许跳过 - 用户可说"跳过"、"不确定"、"用默认"
- 智能推断优先 - 先展示推断结果,让用户确认或修改
- 进度透明 - 长流程显示进度(如"2/5")
- 随时可补充 - 用户可随时添加新信息
示例对话
快速模式
用户: 帮我分析一个在线图书管理系统
Claude: 根据您的描述,我推断以下内容:
**项目名称**:在线图书管理系统
**目标用户**:图书馆管理员、读者
**核心功能**:
1. 图书管理 - 图书的增删改查
2. 借阅管理 - 借书、还书、续借
3. 用户管理 - 注册、登录、权限
4. 统计报表 - 借阅统计、图书统计
**推荐技术栈**:B/S架构,Vue + FastAPI + MySQL
请确认以上推断,或告诉我需要修改的地方。
用户: 功能基本对,再加上预约和罚款功能
Claude: 好的,已添加:
- 预约管理 - 图书预约、取消预约
- 罚款管理 - 逾期罚款计算、缴费记录
请选择要生成的文档类型:
1. 需求分析文档
2. 需求设计文档
3. 概要设计文档
4. 详细设计文档
5. 全部文档
用户: 1
Claude: 正在生成需求分析文档...
文档已生成:./需求分析文档_在线图书管理系统.md
如需生成Word格式,请使用 /docx skill。
如需继续生成需求设计文档,请告诉我。
批量输入模式
用户: 项目名称:校园二手交易平台
项目背景:解决大学生闲置物品交易需求
核心目标:构建安全便捷的校园二手交易生态
目标用户:在校大学生
功能:商品发布、浏览搜索、在线沟通、交易评价、举报管理
技术约束:需支持微信小程序
Claude: 收到完整信息,正在智能补充...
**推断补充**:
- 非功能需求:高并发(开学季)、数据安全(交易记录)
- 主要风险:交易纠纷、虚假信息、支付安全
请选择文档类型:
用户: 5
Claude: 将按顺序生成全部文档(共4份)...
[1/4] 需求分析文档 ✓
[2/4] 需求设计文档 ✓
[3/4] 概要设计文档 ✓
[4/4] 详细设计文档 ✓
全部文档已生成到 ./docs/ 目录。
分次生成模式
用户: 帮我生成概要设计文档
Claude: 正在检测前置文档...
🔍 在 ./docs/ 目录找到:
- 需求分析文档_在线图书管理系统.md
- 需求设计文档_在线图书管理系统.md
✅ 从前置文档提取到:
- 项目名称:在线图书管理系统
- 核心功能:图书管理、借阅管理、用户管理、统计报表
- 业务流程:已定义借书、还书流程
- 数据实体:图书、用户、借阅记录(共3个)
- 技术约束:B/S架构
📋 概要设计需要补充以下信息:
[必须项]
1. 系统架构偏好?(单体/微服务/Serverless)
2. 技术选型?(前端/后端/数据库)
3. 部署环境?(云平台/本地/混合)
[建议项 - 可跳过]
4. 模块划分建议?
5. 数据表设计?
请逐一回答,或说"全部用默认"使用推断值。
用户: 1. 单体应用 2. Vue3 + FastAPI + MySQL 3. 阿里云
Claude: 收到。正在生成概要设计文档...
📋 内容完整性检测:
✅ 必填项全部完成
⚠️ 建议补充:异常设计、运行环境配置
是否补充?(补充/跳过/查看推断)
用户: 跳过
Claude: 文档已生成:./docs/概要设计文档_在线图书管理系统.md
如需生成详细设计文档,请告诉我。