一键导入
req-doc
生成或细化需求说明书文档。支持完整文档生成和局部细化两种模式。适用场景:(1) 将需求概述转换为完整的需求说明书,(2) 对已有文档的特定章节进行详细补充和细化,(3) 只生成某个功能模块的详细说明,(4) 需要标准化的需求文档格式,支持多端系统(Web管理后台、Web学员端、移动App等)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
生成或细化需求说明书文档。支持完整文档生成和局部细化两种模式。适用场景:(1) 将需求概述转换为完整的需求说明书,(2) 对已有文档的特定章节进行详细补充和细化,(3) 只生成某个功能模块的详细说明,(4) 需要标准化的需求文档格式,支持多端系统(Web管理后台、Web学员端、移动App等)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
移动端应用框架生成器。采用 Vue3 + Vant + Vite + TypeScript + Mock.js。用于快速创建完整的移动端 H5 应用。使用场景:(1) 需要创建新的移动端项目,(2) 用户描述了底部导航结构、页面类型(列表/表单/详情)、主题颜色等需求,(3) 用户提供移动端设计稿,通过分析图片中的 Tabbar 结构、配色方案、页面布局来生成应用,(4) 需要一个带 Mock 数据的移动端前端项目(无需后端),(5) 快速搭建移动端应用原型。
管理后台框架生成器。采用Vue3 + Element Plus + Vite + TypeScript + Mock.js 。用于快速创建完整的 Web 管理后台系统。使用场景:(1) 需要创建新的管理后台项目,(2) 用户描述了登录页样式、布局方式(左右布局/顶部导航等)、菜单结构、主题颜色等需求,(3) 用户提供参考图或手稿图,通过分析图片中的布局结构、配色方案、菜单结构来生成后台系统,(4) 需要一个带 Mock 数据的前端项目(无需后端),(5) 快速搭建管理系统原型。
官网前台框架生成器。采用 Vue3 + Element Plus + Vite + TypeScript + Mock.js。用于快速创建完整的企业官网、产品官网等用户前台系统。使用场景:(1) 需要创建新的官网项目,(2) 用户描述了导航结构、页面类型(首页/产品/关于我们/新闻/联系我们等)、主题颜色等需求,(3) 用户提供官网设计稿,通过分析图片中的导航结构、配色方案、页面布局来生成官网,(4) 需要一个带 Mock 数据的前端项目(无需后端),(5) 快速搭建官网原型。
生成或细化需求说明书文档。支持完整文档生成和局部细化两种模式。适用场景:(1) 将需求概述转换为完整的需求说明书,(2) 对已有文档的特定章节进行详细补充和细化,(3) 只生成某个功能模块的详细说明,(4) 需要标准化的需求文档格式,支持多端系统(Web管理后台、Web学员端、移动App等)
管理后台框架生成器。采用Vue3 + Element Plus + Vite + TypeScript + Mock.js 。用于快速创建完整的 Web 管理后台系统。使用场景:(1) 需要创建新的管理后台项目,(2) 用户描述了登录页样式、布局方式(左右布局/顶部导航等)、菜单结构、主题颜色等需求,(3) 用户提供参考图或手稿图,通过分析图片中的布局结构、配色方案、菜单结构来生成后台系统,(4) 需要一个带 Mock 数据的前端项目(无需后端),(5) 快速搭建管理系统原型。
在长对话中创建检查点,保存任务状态和关键信息,帮助在新对话中快速恢复工作进度。触发场景:用户说「创建检查点」「保存进度」「对话太长了」「上下文快满了」,或长时间对话后需要开始新会话。
| name | req-doc |
| description | 生成或细化需求说明书文档。支持完整文档生成和局部细化两种模式。适用场景:(1) 将需求概述转换为完整的需求说明书,(2) 对已有文档的特定章节进行详细补充和细化,(3) 只生成某个功能模块的详细说明,(4) 需要标准化的需求文档格式,支持多端系统(Web管理后台、Web学员端、移动App等) |
根据用户提供的需求概述,生成符合标准格式的详细需求说明书。
每份需求说明书必须在文件最顶部加 YAML frontmatter,用于生成封面页:
---
title: '需求说明书'
subtitle: "[项目名称]\n\n[客户名称]"
author: '编制单位:[编制单位名称]'
date: '[年月]'
lang: zh-CN
toc: true
toc-depth: 3
numbersections: false
geometry: 'left=3.17cm,right=3.17cm,top=2.54cm,bottom=2.54cm'
---
字段说明:
title: 文档标题(固定为"需求说明书")subtitle: 项目名称和客户名称(使用 \n\n 分隔两行)author: 编制单位信息date: 编制日期(如"二零二五年三月")在 YAML frontmatter 之后,必须添加文档信息表格,用于展示项目的基本信息:
## 文档信息
| 项目编号 | [项目编号] |
| -------- | --------------------------- |
| 项目名称 | [项目名称] |
| 文档名称 | 需求说明书 |
| 文档版本 | V1.0 |
| 编制日期 | [YYYY-MM-DD] |
| 编制人 | [编制人] |
| 审核人 | [审核人] |
| 批准人 | [批准人] |
| 客户单位 | [客户单位名称] |
| 编制单位 | [编制单位名称] |
| 适用范围 | [适用范围描述] |
| 核心目标 | [核心目标描述] |
| 文档状态 | [草稿/评审中/已批准/修订稿] |
字段说明:
项目编号: 项目的唯一标识编号项目名称: 项目的完整名称文档名称: 固定为"需求说明书"文档版本: 版本号(如 V1.0, V1.1, V2.0)编制日期: 文档编制日期(YYYY-MM-DD 格式)编制人: 文档编制人员姓名或团队审核人: 文档审核人员姓名(未审核填"-")批准人: 文档批准人员姓名(未批准填"-")客户单位: 项目客户单位名称编制单位: 编制需求说明书的单位名称适用范围: 文档适用的范围描述核心目标: 项目的核心目标简述文档状态: 文档当前状态(草稿/评审中/已批准/修订稿)双目录策略:Markdown 保留手动目录,Word 使用自动生成目录
在文档信息表格之前,必须添加手动目录,用于 Markdown 文件的阅读导航:
---
title: '需求说明书'
toc: true
---
## 目录
- [一、文档信息](#一文档信息)
- [二、项目概述](#二项目概述)
- [2.1 项目背景](#21-项目背景)
- [2.2 项目建设目标](#22-项目建设目标)
- [三、项目建设内容](#三项目建设内容) ...
---
## 一、文档信息
手动目录规范:
[章节名称](#anchor-link)--- 分隔线导出 Word 文档时,导出脚本会自动:
remove_manual_toc() 函数删除 Markdown 中的手动目录章节toc: true 自动生成 Word 目录replace_toc_title() 函数将 "Table of Contents" 替换为 "目录"为什么使用双目录策略?
重要说明:
需求说明书使用公共文档导出工具,与测试用例、操作手册等文档共享相同的样式配置。
一键导出命令:
# 使用公共导出工具
bash .claude/skills/common/doc-export/scripts/export-word.sh 需求说明书.md [输出.docx]
# 示例
bash .claude/skills/common/doc-export/scripts/export-word.sh 安全监督风险智能分析项目需求说明书.md
文档标题自动识别:
title 字段title 应设置为 "需求说明书"导出 Word 需要以下依赖(公共导出工具会自动检测并提示安装):
必需软件:
安装方法:
macOS:
brew install python3 pandoc
pip3 install python-docx
Windows:
choco install python3 pandoc
pip3 install python-docx
Linux:
sudo apt install python3 python3-pip pandoc
pip3 install python-docx
样式配置由公共导出工具统一管理(.claude/skills/common/doc-export/config/style_config.py),包括:
详细配置和自定义方法请参考:.claude/skills/common/doc-export/README.md
生成的需求说明书包含以下标准结构:
^ 符号表示与上一行单元格合并| 功能模块 | 子功能 | 需求描述 |
| -------- | ------------ | ---------------- |
| 库站管理 | 库站信息维护 | 维护库站基础信息 |
| ^ | 业态设置 | 设置库站业态类型 |
| ^ | 销量统计 | 维护月度销量数据 |
| ^ | 员工查看 | 查看库站用户列表 |
images/[功能名]-activity.pngimages/[功能名]-sequence.png章节编号规则:
重要提示:
功能架构图生成规范:
使用 diagram-generator 技能生成业务流程图,包括:
生成步骤:
images/ 目录(不使用 alt 文本,避免在 Word 导出时显示图片标题)首先必须自动识别项目类型,不要询问用户。
识别规范:
识别方法:
通过用户描述中的关键词判断:
通过菜单结构特征判断:
以下是项目类型参考(仅供识别参考,不要列出给用户):
管理后台项目(Web Admin)
Web 用户前台项目(Website)
移动端项目(Mobile App)
混合项目(Multi-Platform)
询问用户以下关键信息:
基于用户提供的信息:
按照标准结构生成需求说明书:
项目概述部分:
| 功能模块 | 子功能 | 需求描述 |
| ------------ | ---------------- | -------------------------------------------- |
| 风险规则设置 | 固有风险规则 | 设置加能站的业态风险值和销量风险值的配置 |
| 风险规则设置 | 检查问题风险规则 | 设置检查问题的严重程度、频次、修正系数等参数 |
| 库站管理 | 库站信息维护 | 维护库站基础信息、业态设置、销量统计 |
项目建设内容部分:
技术方案部分(新增):
非功能需求部分(新增):
数据需求部分(新增,按实际情况):
接口需求部分(新增,按实际情况):
项目实施与验收部分(新增):
附录部分(新增,按实际情况):
当需求文档内容较多时,必须使用 TaskCreate 工具创建任务清单,以便跟踪进度和组织工作。
触发条件(满足任一即需要创建任务清单):
重要:任务必须细化到功能模块级别,不能使用粗粒度的端作为任务。
每个功能模块作为一个独立任务:
// 示例:在线考试系统
TaskCreate({
subject: '用户管理功能模块',
description: '编写 Web 管理后台的用户管理功能模块需求,包括功能概述、操作流程、功能设计',
activeForm: '编写用户管理功能模块'
})
TaskCreate({
subject: '题库管理功能模块',
description: '编写 Web 管理后台的题库管理功能模块需求,包括功能概述、操作流程、功能设计',
activeForm: '编写题库管理功能模块'
})
TaskCreate({
subject: '考试管理功能模块',
description: '编写 Web 管理后台的考试管理功能模块需求,包括功能概述、操作流程、功能设计',
activeForm: '编写考试管理功能模块'
})
不要使用端作为任务(太粗粒度):
// ❌ 错误示例:任务太粗,难以跟踪进度
TaskCreate({
subject: 'Web 管理后台',
description: '编写 Web 管理后台的所有功能需求',
activeForm: '编写 Web 管理后台需求'
})
按照功能模块创建任务:
// 1. 创建项目概述任务(如果需要)
TaskCreate({
subject: '项目概述章节',
description: '编写项目背景、建设目标、建设范围、业务流程图、用户角色定义',
activeForm: '编写项目概述'
})
// 2. 为每个功能模块创建任务
TaskCreate({
subject: '用户管理功能模块',
description:
'编写用户管理功能的完整需求,包括:\n- 功能需求概述\n- 用户操作流程\n- 功能设计(核心功能、数据字段、业务规则)',
activeForm: '编写用户管理功能模块'
})
TaskCreate({
subject: '角色权限管理功能模块',
description:
'编写角色权限管理功能的完整需求,包括:\n- 功能需求概述\n- 用户操作流程\n- 功能设计(核心功能、数据字段、业务规则)',
activeForm: '编写角色权限管理功能模块'
})
// ... 其他功能模块
in_progresscompleted任务 subject 格式:
[功能模块名称] + "功能模块"任务 description 格式:
编写 [端名称] 的 [功能模块名称] 功能需求,包括:
- 功能需求概述
- 用户操作流程
- 功能设计(核心功能、数据字段、业务规则)
任务 activeForm 格式:
"编写" + [功能模块名称] + "功能模块"对于涉及多个端的项目,按端和功能模块组织任务:
// Web 管理后台的功能模块
TaskCreate({
subject: 'Web管理后台-用户管理功能模块',
description: '编写 Web 管理后台的用户管理功能需求...',
activeForm: '编写 Web 管理后台用户管理功能'
})
TaskCreate({
subject: 'Web管理后台-题库管理功能模块',
description: '编写 Web 管理后台的题库管理功能需求...',
activeForm: '编写 Web 管理后台题库管理功能'
})
// Web 学员端的功能模块
TaskCreate({
subject: 'Web学员端-在线考试功能模块',
description: '编写 Web 学员端的在线考试功能需求...',
activeForm: '编写 Web 学员端在线考试功能'
})
TaskCreate({
subject: 'Web学员端-成绩查询功能模块',
description: '编写 Web 学员端的成绩查询功能需求...',
activeForm: '编写 Web 学员端成绩查询功能'
})
当用户需要对已有需求文档进行局部细化时使用,包括:
用户直接提供需要细化的文档片段,说明需要细化的部分:
示例:
用户:请帮我细化这个功能模块:
2.1.3 题库管理
- 功能需求概述:管理员可以管理题库
请补充详细的用户操作流程和功能设计。
用户说明文档的章节路径和需要细化的内容:
示例:
用户:我有一个在线考试系统的需求文档,需要细化"2.1.3 题库管理"这个模块,
包括添加题目、编辑题目、删除题目、导入导出等功能的详细说明。
用户提供完整文档或相关章节,指出需要细化的部分:
示例:
用户:这是我的需求文档的功能模块列表:
- 用户管理
- 题库管理(需要细化)
- 考试管理
- 成绩管理
请详细补充"题库管理"模块的所有内容。
询问用户需要细化的具体内容:
重要:使用 Edit 工具直接在原需求说明书文件上进行修改,不要创建新的临时文件。
操作步骤:
示例:
// 读取原文件
Read({ file_path: '/path/to/需求说明书.md' })
// 直接修改原文件中的章节
Edit({
file_path: '/path/to/需求说明书.md',
old_string: '#### 2.1.3 题库管理\n\n- 功能需求概述:管理员可以管理题库',
new_string:
'#### 2.1.3 题库管理\n\n##### 2.1.3.1 功能需求概述\n\n题库管理模块为管理员提供题目的全生命周期管理功能...'
})
按照标准格式生成细化内容:
用户输入:
请细化这个功能:
2.1.3 题库管理
- 功能需求概述:管理员可以管理题库
生成的细化内容:
#### 2.1.3 题库管理
##### 2.1.3.1 功能需求概述
题库管理模块为管理员提供题目的全生命周期管理功能,包括题目的创建、编辑、删除、分类、导入导出等操作。支持多种题型(单选题、多选题、判断题、填空题、简答题),确保考试题目的规范化管理和高效复用。
##### 2.1.3.2 用户操作流程
**添加题目流程:**
1. 管理员进入题库管理页面
2. 点击【+ 添加题目】按钮
3. 系统打开添加题目弹窗
4. 管理员选择题目类型(单选/多选/判断/填空/简答)
5. 管理员填写题目信息:
- 题目内容(必填)
- 题目分类(必填)
- 难度等级(必填)
- 分值(必填)
- 选项内容(选择题必填)
- 正确答案(必填)
- 答案解析(选填)
6. 管理员点击【保存】按钮
7. 系统验证数据:
- 验证通过:保存题目,显示成功提示,关闭弹窗,刷新列表
- 验证失败:显示错误提示,停留在弹窗
**编辑题目流程:**
1. 管理员在题库列表中找到目标题目
2. 点击操作列的【编辑】按钮
3. 系统打开编辑弹窗,回显题目信息
4. 管理员修改题目信息
5. 点击【保存】按钮
6. 系统验证并保存,刷新列表
**删除题目流程:**
1. 管理员在题库列表中找到目标题目
2. 点击操作列的【删除】按钮
3. 系统弹出二次确认对话框:"确定要删除该题目吗?"
4. 管理员点击【确定】
5. 系统执行软删除,显示成功提示,刷新列表
##### 2.1.3.3 功能设计
**核心功能:**
- 题目列表展示:分页展示题目,支持按题型、分类、难度筛选
- 多条件筛选:支持按关键词、题型、分类、难度、创建时间筛选
- 添加题目:打开添加弹窗,支持多种题型
- 编辑题目:打开编辑弹窗,回显题目信息
- 删除题目:软删除,需二次确认
- 批量删除:选中多个题目批量删除
- 导入题目:支持 Excel 批量导入
- 导出题目:支持导出为 Excel 文件
- 题目预览:查看题目详细信息
**数据字段:**
| 字段名称 | 字段类型 | 长度限制 | 是否必填 | 默认值 | 验证规则 | 说明 |
| --- | --- | --- | --- | --- | --- | --- |
| 题目ID | number | - | 自动生成 | - | - | 唯一标识 |
| 题目类型 | number | - | 是 | 1 | 1-5 | 1-单选,2-多选,3-判断,4-填空,5-简答 |
| 题目内容 | string | 500 | 是 | - | 非空 | 题目描述 |
| 题目分类 | number | - | 是 | - | 非空 | 关联分类表 |
| 难度等级 | number | - | 是 | 1 | 1-3 | 1-简单,2-中等,3-困难 |
| 分值 | number | - | 是 | 1 | >0 | 题目分值 |
| 选项内容 | array | - | 条件必填 | - | - | 选择题必填,JSON格式 |
| 正确答案 | string | 200 | 是 | - | 非空 | 正确答案 |
| 答案解析 | string | 500 | 否 | - | - | 答案解析说明 |
| 创建时间 | datetime | - | 自动生成 | - | - | 创建时间 |
| 更新时间 | datetime | - | 自动更新 | - | - | 最后更新时间 |
| 状态 | number | - | 是 | 1 | 0或1 | 1-启用,0-停用 |
**业务规则:**
- 题目内容不能为空,最多500字
- 选择题必须至少有2个选项,最多6个选项
- 单选题只能有1个正确答案,多选题可以有多个正确答案
- 题目分值必须大于0
- 删除题目为软删除,不物理删除数据
- 已被使用的题目(在试卷中)不允许删除,只能停用
**业务逻辑关联:**
- **题目分类数据来源**:题目分类来源于【分类管理】模块,只能选择状态为"启用"的分类
- **试卷引用关系**:题目被【试卷管理】模块引用,用于组卷
- **考试使用关系**:题目通过试卷被【考试管理】模块使用,用于生成考试
- **数据流向**:题库管理 → 试卷管理 → 考试管理 → 成绩管理
- **删除限制**:如果题目已被试卷引用,则不允许删除,只能停用;系统会检查题目的引用关系
适用于:管理后台项目
ElTable 使用规范:
height="100%" 属性flex: 1; overflow: auto;row-key="id" 和 :tree-props="{ children: 'children' }"列宽建议:
图标类名:
iconfont-sys 类显示图标(不使用 iconfont 类))v-html 渲染:<i class="iconfont-sys" v-html="icon"></i>图标样式:
使用编号清晰标注步骤:
用户添加功能流程:
1. 用户点击【添加】按钮
2. 系统打开添加弹窗
3. 用户填写必填字段
4. 用户点击【保存】按钮
5. 系统验证数据
- 验证通过:保存数据,显示成功提示,关闭弹窗,刷新列表
- 验证失败:显示错误提示,停留在弹窗
使用列表或表格清晰展示:
列表形式:
核心功能:
- 数据列表展示:分页展示数据,支持排序
- 多条件筛选:支持按状态、时间范围筛选
- 添加功能:打开添加弹窗
- 编辑功能:打开编辑弹窗
- 删除功能:软删除,需二次确认
表格形式(用于字段说明):
| 字段名称 | 字段类型 | 长度限制 | 是否必填 | 默认值 | 验证规则 | 说明 |
| -------- | -------- | -------- | -------- | ------ | -------- | -------------- |
| 名称 | string | 50 | 是 | - | 非空 | 功能名称 |
| 状态 | number | - | 是 | 1 | 0或1 | 1-启用,0-停用 |
查看 references/template.md 获取完整的文档模板和示例。
在编写需求文档时,需要考虑以下技术实现规范:
API 请求方法:
request.get()、request.post()、request.put()、request.del() 方法request() 直接调用或使用 method 参数Mock 数据处理:
USE_MOCK 环境变量类型定义:
src/types/ 目录下,按模块分文件number | string | null 类型示例:
/**
* 列表查询参数
*/
export interface ListParams {
name?: string
status?: number | string | null // 支持 number | string | null
type?: number | string | null // 支持 number | string | null
page: number
pageSize: number
}
API 函数命名:
batchDeleteItems)清理脚本:
表格边框:
border 属性,表格只有横向分隔线,没有竖边框<el-table :data="tableData" height="100%"><el-table :data="tableData" height="100%" border>border 属性其他规范:
height="100%" 属性flex: 1; overflow: hidden;粗体标题后接列表时,标题行与列表项之间必须有一个空行
✅ 正确格式:
**标题**:
- 列表项1
- 列表项2
❌ 错误格式:
**标题**:
- 列表项1
- 列表项2
原因:Pandoc 需要空行来正确解析列表,否则在 Word 中列表会挤在一起
当用户需要将生成的 Markdown 格式需求说明书转换为其他格式时使用。
前提条件:
brew install pandoc 或从官网下载)转换命令:
# 转换为 Word 文档
pandoc 需求说明书.md -o 需求说明书.docx
# 转换为 PDF 文档(需要安装 LaTeX)
pandoc 需求说明书.md -o 需求说明书.pdf --pdf-engine=xelatex -V CJKmainfont="PingFang SC"
# 转换为 HTML 文档
pandoc 需求说明书.md -o 需求说明书.html --standalone --toc
转换步骤:
示例:
# 用户请求:请把需求说明书转换成 Word 文档
cd /path/to/document
pandoc 在线考试系统需求说明书.md -o 在线考试系统需求说明书.docx
如果系统未安装 Pandoc,可以建议用户使用在线转换工具:
--toc 参数可以自动生成目录--reference-doc 参数指定 Word 模板用户请求:
请把我的需求说明书转换成 Word 文档
处理流程:
which pandoc 命令)用户请求:
请把需求说明书转换成 PDF,并生成目录
处理流程: