一套 Skills,搞定需求评审 + 用例生成全流程

📅 2026/7/19 2:34:50
一套 Skills,搞定需求评审 + 用例生成全流程
整体架构四个 Skill 如何协作这套工具由 4 个 Skill 组成按 3 个阶段 协作完成从需求到用例的全流程┌─────────────────────────┐ │ 用户输入需求描述 │ └────────────┬────────────┘ │ ▼┌──────────────────────────────────────────────────────────────┐│ 阶段一需求评审 ││ ││ ┌──────────────────────────────────────────────────────┐ ││ │ ① req-review主协调器 │ ││ │ Step 1: 解析需求 → 识别模块/类型 │ ││ │ Step 2: 委托 ② associator 做关联分析 │ ││ │ Step 3: 委托 ③ challenger 做逐条审查 → 输出评审报告 │ ││ └────────────┬───────────────────┬─────────────────────┘ ││ │ │ ││ ▼ ▼ ││ ┌────────────────────┐ ┌────────────────────────────┐ ││ │ ② associator │ │ ③ challenger │ ││ │ · 语义搜索受影响 │ │ · 加载审查清单15条通用 │ ││ │ 模块和用例 │ │ 按类型加载专项清单 │ ││ │ · 输出关联分析 │ │ · 逐条命中→检查→分级 │ ││ └────────────────────┘ │ · 输出分级问题清单 │ ││ └────────────────────────────┘ ││ │ ││ ▼ ││ 评审报告输出 ││ docs/req-review/-review.md │└──────────────────────────────────────────────────────────────┘││ 评审报告包含│ · 阻塞问题 × N│ · ⚠️ 严重问题 × N│ · 建议改进 × N│ · ℹ️ 信息确认 × N│▼┌──────────────────────────────────────────────────────────────┐│ 阶段二需求澄清与补充用户参与 ││ ││ 用户PM/测试针对评审报告中的问题逐条回复 ││ ││ 例 ││ B-01. 追加时字段名称不匹配的处理策略未定义 ││ → 用户回复报错阻止大小写敏感提示具体文案 ││ ││ M-02. 追加时数据结构不允许修改的交互范围未明确 ││ → 用户回复全部置灰不可编辑但能看到原表结构 ││ ││ …逐条回复所有问题… ││ ││ │ ││ ▼ ││ AI 自动处理所有回复 ││ ① 将澄清结论同步补充到需求文档 ││ ② 更新评审报告标记 ✅ 已解决 ││ ③ 对建议改进Minor给出设计方案 ││ ④ 生成新的衍生待澄清问题如有 ││ ││ ⚠️ 关键这个阶段可能反复多轮 ││ 直到所有阻塞和严重问题清零 │└──────────────────────────────────────────────────────────────┘││ 所有 Blocker 和 Major 清零│ 需求文档已补充完整│▼┌──────────────────────────────────────────────────────────────┐│ 阶段三用例生成 ││ ││ ┌──────────────────────────────────────────────────────┐ ││ │ ④ req-test-cases用例生成器 │ ││ │ Phase 1: 生成测试点清单 → 等待用户确认 │ ││ │ Phase 2: 展开完整手工用例 │ ││ └──────────────────────────────────────────────────────┘ ││ │ ││ ▼ ││ 测试用例输出 ││ docs/req-review/-test-cases.md │└──────────────────────────────────────────────────────────────┘四个 Skill 的分工Skill 角色 输入 输出 所属阶段req-review 主协调器 需求文档路径或描述 评审报告文件 阶段一req-review-associator 关联分析 需求描述 模块/类型 受影响模块和用例列表 阶段一req-review-challenger 审查挑战 需求描述 类型 关联分析 分级问题清单 阶段一用户参与 需求澄清 评审报告中的问题清单 逐条回复AI 同步更新需求和报告 阶段二req-test-cases 用例生成 已澄清的完整需求 结构化测试用例 阶段三准备工作创建目录结构在你的项目根目录下创建以下文件夹结构.codex/└── skills/├── req-review/│ └── references/│ └── review_checklist_by_type/├── req-review-associator/├── req-review-challenger/└── req-test-cases/└── references/打开终端在项目根目录执行mkdir -p .codex/skills/req-review/references/review_checklist_by_typemkdir -p .codex/skills/req-review-associatormkdir -p .codex/skills/req-review-challengermkdir -p .codex/skills/req-test-cases/references第一步搭建审查清单整个体系的知识基础为什么先做这个 审查清单是 AI 评审时逐条对照的检查表。没有清单AI 只会泛泛而谈有了清单AI 才能不遗漏地逐条扫描。所有 Skill 都依赖它。1.1 创建通用审查清单创建文件 .codex/skills/req-review/references/review_checklist_common.md写入以下完整内容通用审查清单review_checklist_common.md与具体业务无关的测试方法论放之四海皆准的审查规则。每条规则结构统一id / 类别 / 默认严重度 / 适用范围 / 检查问题 / 命中条件 / 建议追问一、输入字段类CHK-INCHK-IN-001 字符串字段的长度边界类别: boundary默认严重度: blocker适用范围: 任何用户输入的字符串字段名称、描述、备注、标签等检查问题:是否明确了最小字符数是否明确了最大字符数空字符串、纯空格如何处理拒绝/默认值/允许超长输入是截断、报错还是拒绝命中条件: 需求中提到输入/名称/描述/备注/标签等字段但未给出长度范围建议追问: 请明确 字段名 的字符数范围含上下界、空值/纯空格的处理、超长输入的处理策略CHK-IN-002 字符串字段的字符集限制类别: boundary默认严重度: major适用范围: 任何用户输入的字符串字段检查问题:是否明确了允许的字符集中文/英文/数字/特殊符号/emoji是否明确了禁止的字符特殊符号如 如何处理转义/过滤/拒绝命中条件: 需求中提到字符串输入字段但未说明字符集限制建议追问: 请明确 字段名 支持的字符集以及特殊符号的处理策略CHK-IN-003 数字字段的取值范围类别: boundary默认严重度: blocker适用范围: 任何用户输入的数字字段数量、大小、时长等检查问题:是否明确了最小值是否明确了最大值是否支持小数支持几位小数负数是否允许超出范围如何处理截断/报错/拒绝命中条件: 需求中提到数字输入但未给出取值范围建议追问: 请明确 字段名 的取值范围含上下界、小数位支持、超范围处理策略CHK-IN-004 URL/路径字段的格式校验类别: validation默认严重度: blocker适用范围: 任何 URL、文件路径、网络地址输入字段检查问题:是否明确了合法格式协议、域名格式、端口范围是否禁止内网地址SSRF 防护是否禁止 localhost/127.0.0.1非法格式如何提示是否限制 URL 最大长度命中条件: 需求中提到 URL/地址/路径输入但未说明格式校验规则建议追问: 请明确 字段名 的合法格式、内网地址/本地地址的防护策略、非法格式的错误提示CHK-IN-005 枚举/下拉字段的选项完整性类别: completeness默认严重度: major适用范围: 任何枚举类型字段、下拉选择、单选/多选检查问题:是否列出了所有可选值是否有默认值是否允许不选空值选项文案是否已确认选项之间是否互斥命中条件: 需求中提到选择/下拉/枚举/类型但未列出完整选项建议追问: 请列出 字段名 的所有可选值确认默认值和是否允许空选二、异常处理类CHK-EXCHK-EX-001 网络异常处理类别: exception默认严重度: major适用范围: 涉及外部服务调用、网络请求的功能检查问题:外部服务超时如何处理超时时间、重试次数、降级策略外部服务返回错误4xx/5xx如何处理网络不可达时用户看到什么提示命中条件: 需求涉及外部调用/API/连接/请求但未说明异常处理建议追问: 请明确超时时间、重试策略、各异常状态码的处理方式和用户提示文案CHK-EX-002 并发/重复操作处理类别: exception默认严重度: major适用范围: 任何涉及创建、提交、删除的操作检查问题:重复提交如何处理幂等性同名资源是否允许创建并发操作同一资源如何处理命中条件: 需求涉及创建/提交/删除操作但未说明重复/并发处理建议追问: 请明确重复提交的防重策略、同名资源的处理规则CHK-EX-003 资源引用/依赖处理类别: exception默认严重度: major适用范围: 资源之间存在引用关系的功能检查问题:被其他资源引用的资源能否删除删除后引用方如何处理级联删除/阻止删除/置空删除前是否需要二次确认命中条件: 需求涉及删除操作且该资源可能被其他模块引用建议追问: 请明确 资源名 被引用时的删除策略和引用方的处理方式CHK-EX-004 数据为空/不存在处理类别: exception默认严重度: minor适用范围: 任何涉及列表/查询/展示的功能检查问题:数据为空时展示什么空状态文案/图示资源不存在时如访问已删除资源如何提示加载中状态是否有展示命中条件: 需求涉及列表/查询/展示但未说明空状态和加载状态建议追问: 请确认空状态、加载中、资源不存在时的 UI 展示三、权限与安全类CHK-SECCHK-SEC-001 权限点定义类别: security默认严重度: blocker适用范围: 任何新增功能/页面检查问题:是否定义了访问权限点谁能访问是否定义了操作权限点谁能操作无权限用户看到什么隐藏入口/禁用按钮/提示无权限是否涉及数据权限只看自己的/看全部命中条件: 需求涉及新功能/页面/操作但未说明权限建议追问: 请明确 功能 的访问权限和操作权限点以及无权限时的 UI 表现CHK-SEC-002 敏感数据处理类别: security默认严重度: major适用范围: 涉及密码、Token、密钥、个人信息的功能检查问题:敏感数据是否加密存储敏感数据是否脱敏展示传输过程是否加密日志中是否会记录敏感信息命中条件: 需求涉及密钥/密码/Token/个人信息建议追问: 请确认敏感数据的存储加密、展示脱敏、传输加密策略四、兼容性与环境类CHK-ENVCHK-ENV-001 多环境适配类别: compatibility默认严重度: minor适用范围: 任何新增功能检查问题:Private 环境内网/私有化是否可用International 环境国际化是否可用不同环境下行为是否有差异命中条件: 产品支持多环境部署但需求未提及环境差异建议追问: 请确认 功能 在 Private/International 环境下的行为差异CHK-ENV-002 浏览器兼容性类别: compatibility默认严重度: minor适用范围: Web 前端功能检查问题:是否明确了支持的浏览器及版本是否涉及特殊浏览器 API可能不兼容命中条件: Web 前端功能但未说明浏览器兼容建议追问: 请确认支持的浏览器及最低版本五、数据与状态类CHK-DTCHK-DT-001 数据持久化与生命周期类别: data默认严重度: major适用范围: 任何涉及数据创建/修改的功能检查问题:数据存储在哪里数据库表/文件数据是否有过期/删除机制数据量上限是多少数据是否需要备份/恢复命中条件: 需求涉及数据创建/存储但未说明生命周期建议追问: 请明确数据的存储方式、数量上限、过期策略CHK-DT-002 状态流转类别: data默认严重度: major适用范围: 资源有状态变化的功能检查问题:是否定义了所有可能的状态状态之间如何流转哪些是合法流转各状态下允许哪些操作非法状态流转如何处理命中条件: 需求涉及资源状态变化但未给出完整状态机建议追问: 请给出 资源名 的完整状态流转图和各状态下的可用操作六、审计与日志类CHK-LOGCHK-LOG-001 操作审计日志类别: audit默认严重度: major适用范围: 任何涉及创建/编辑/删除的功能检查问题:是否需要记录审计日志日志记录哪些字段操作人/时间/操作类型/操作对象/操作详情日志 Content 格式是什么命中条件: 需求涉及增删改操作但未提及审计日志建议追问: 请确认是否需要记录审计日志以及日志的 Content 格式CHK-LOG-002 统计/计费口径类别: audit默认严重度: major适用范围: 涉及资源消耗/调用的功能检查问题:是否纳入用量统计统计颗粒度是什么次数/Token/流量/时长是否计费命中条件: 需求涉及资源调用/消耗但未说明统计口径建议追问: 请确认是否纳入资源看板统计以及统计颗粒度和计费规则七、交互与体验类CHK-UXCHK-UX-001 操作反馈与提示类别: ux默认严重度: minor适用范围: 任何用户操作检查问题:操作成功是否有反馈Toast/提示/跳转操作失败是否有明确错误提示耗时操作是否有进度提示是否需要操作确认如删除二次确认命中条件: 需求涉及用户操作但未说明反馈方式建议追问: 请确认操作成功/失败的提示方式和文案CHK-UX-002 列表/表格功能类别: ux默认严重度: minor适用范围: 涉及列表/表格展示的功能检查问题:是否支持分页每页默认条数是否支持排序支持哪些字段排序是否支持筛选/搜索搜索范围是什么列表为空时展示什么命中条件: 需求涉及列表/表格但未说明分页/排序/筛选建议追问: 请确认列表的分页、排序、筛选需求维护说明每条规则的 id 格式CHK-类别缩写-序号确保唯一可追溯修改审查行为只需编辑此文件SKILL.md 无需改动知识与流程解耦随着测试经验积累可持续补充新规则1.2 创建需求类型识别表创建文件 .codex/skills/req-review/references/requirement_types.md需求类型识别表用于 req-review-challenger 判断需求类型按命中类型加载专项审查清单。type_id需求类型关键词/特征对应 checklistTYPE-001新增功能新增、新建、增加、创建、添加review_checklist_by_type/new_feature.mdTYPE-002功能优化优化、改进、调整、修改review_checklist_by_type/optimization.mdTYPE-003缺陷修复修复、bug、问题、异常review_checklist_by_type/bugfix.mdTYPE-004交互变更交互、UI、页面、展示、样式review_checklist_by_type/ui_change.mdTYPE-005权限变更权限、角色、访问控制、可见性review_checklist_by_type/permission.md维护说明随着产品迭代可新增更多类型每个类型对应review_checklist_by_type/下一个 md 文件类型表为空或未命中时challenger 仅使用通用清单1.3 创建 5 个专项审查清单创建 review_checklist_by_type/new_feature.md新增功能专项