在这里插入图片描述

需求澄清 Skill 详细方案设计

1. 设计目标

核心问题

PRD 面向人编写,包含大量隐含假设。AI 代码生成工具无法理解这些隐含信息,导致生成的代码与预期不符,需要反复修改。

设计目标

构建一个结构化的需求澄清流程,通过 5 个维度的系统性提问,将 PRD 中的隐含假设显式化,生成 AI 可直接消费的精确规格文档。

设计原则

  1. 维度覆盖完整性:5 个维度覆盖需求的所有关键方面,无遗漏
  2. 提问结构化:每个问题都是具体的、可回答的,避免开放式提问
  3. 用户决策优先:Agent 引导但不替用户做决定,所有答案来自用户
  4. 文档化输出:所有澄清结果写入结构化文档,不留存在聊天记录中
  5. 流程可控:逐维度推进,每个维度完成后确认再进入下一个

2. 整体架构

2.1 流程架构

┌─────────────────────────────────────────────────────────┐
│                    需求澄清流程                           │
└─────────────────────────────────────────────────────────┘
                          │
                          ▼
              ┌───────────────────────┐
              │  Step 1: 读取 PRD     │
              │  - 读取文档内容        │
              │  - 识别功能模块        │
              │  - 提取关键信息        │
              └───────────────────────┘
                          │
                          ▼
              ┌───────────────────────┐
              │  Step 2: 确认理解     │
              │  - 总结功能列表        │
              │  - 说明澄清流程        │
              │  - 等待用户确认        │
              └───────────────────────┘
                          │
                          ▼
         ┌────────────────────────────────┐
         │  Step 3: 逐维度澄清(5轮循环)  │
         │                                │
         │  ┌─────────────────────────┐   │
         │  │ 维度 1: 范围边界        │   │
         │  │ 维度 2: 交互流程        │   │
         │  │ 维度 3: 异常与边界      │   │
         │  │ 维度 4: 数据规则        │   │
         │  │ 维度 5: 非功能需求      │   │
         │  └─────────────────────────┘   │
         │                                │
         │  每个维度:                     │
         │  1. 宣布进入该维度              │
         │  2. 提出 2-4 个结构化问题       │
         │  3. 等待用户回答                │
         │  4. 总结并确认                  │
         └────────────────────────────────┘
                          │
                          ▼
              ┌───────────────────────┐
              │  Step 4: 编译文档     │
              │  - 整合所有维度答案    │
              │  - 生成结构化文档      │
              │  - 检查完整性          │
              └───────────────────────┘
                          │
                          ▼
              ┌───────────────────────┐
              │  Step 5: 用户确认     │
              │  - 展示完整文档        │
              │  - 询问是否需要修改    │
              │  - 确认后进入下一步    │
              └───────────────────────┘
                          │
                          ▼
              ┌───────────────────────┐
              │  交给 AI Coding       │
              └───────────────────────┘

2.2 数据流架构

┌──────────┐
│  PRD     │
│  文档    │
└────┬─────┘
     │ 读取
     ▼
┌──────────────────────────────────────────────┐
│  Agent 上下文                                │
│  ┌────────────────────────────────────────┐  │
│  │  PRD 内容(全文)                      │  │
│  │  + 识别的功能模块列表                  │  │
│  │  + 初步理解总结                        │  │
│  └────────────────────────────────────────┘  │
│                    │                         │
│                    ▼                         │
│  ┌────────────────────────────────────────┐  │
│  │  澄清对话记录                          │  │
│  │  维度 1: Q1, A1, Q2, A2, ...           │  │
│  │  维度 2: Q1, A1, Q2, A2, ...           │  │
│  │  ...                                   │  │
│  └────────────────────────────────────────┘  │
│                    │                         │
│                    ▼                         │
│  ┌────────────────────────────────────────┐  │
│  │  澄清文档(结构化)                    │  │
│  │  - 范围边界                            │  │
│  │  - 交互流程                            │  │
│  │  - 异常与边界                          │  │
│  │  - 数据规则                            │  │
│  │  - 非功能需求                          │  │
│  └────────────────────────────────────────┘  │
└──────────────────────────────────────────────┘
                    │
                    │ 传递给
                    ▼
         ┌────────────────────┐
         │  AI Coding Skill   │
         └────────────────────┘

3. 五大维度详细设计

3.1 维度 1:范围边界(Scope Boundary)

目标

明确本期实现的功能范围,显式排除不在本期的功能,避免范围蔓延。

检查清单
  • MVP 范围明确定义
  • "本期不做"列表已文档化
  • 功能间的依赖关系已识别
  • 分期实现计划(如有)已明确
提问模板

场景 A:PRD 列出了多个功能

Q1: PRD 提到了以下功能:[功能1]、[功能2]、[功能3]。本期是否全部实现,还是先做其中一部分?
Q2: [功能X] 和 [功能Y] 是否有依赖关系?是否必须同时实现?
Q3: 如果 [功能Z] 实现复杂度较高,是否可以放到二期?

场景 B:PRD 描述了复杂的业务流程

Q1: 这个业务流程包含 [步骤1→步骤2→步骤3→步骤4],本期是否实现完整流程,还是先做简化版?
Q2: [步骤3] 涉及审批流程,本期是否包含审批功能?
Q3: 简化版流程是否支持 [某个子场景]?还是这个子场景放到二期?

场景 C:PRD 提到了多种用户角色

Q1: PRD 提到了 [角色A]、[角色B]、[角色C] 三种用户角色。本期是否全部支持?
Q2: [角色B] 的权限范围是什么?与 [角色A] 的区别在哪里?
Q3: 如果本期只支持 [角色A],其他角色的功能是否完全隐藏?
示例对话

Agent:

现在进入第 1 个维度:范围边界,这个维度关注本期实现的功能范围。

PRD 提到了以下功能:

  1. 用户注册(手机号+验证码)
  2. 用户登录(密码登录、验证码登录)
  3. 密码找回
  4. 微信登录

我有 3 个问题:

  1. 这 4 个功能本期是否全部实现,还是先做其中一部分?
  2. 密码登录和验证码登录是否必须同时实现?
  3. 微信登录是否需要申请开发者账号?如果申请周期较长,是否可以放到二期?

用户:

  1. 本期先做用户注册、验证码登录、密码找回,微信登录放到二期
  2. 密码登录和验证码登录都要做
  3. 微信登录确实需要申请,放二期

Agent:

好的,范围边界已澄清:

  • 本期实现:用户注册(手机号+验证码)、用户登录(密码登录+验证码登录)、密码找回
  • 本期不做:微信登录(二期实现)

现在进入第 2 个维度…

3.2 维度 2:交互流程(Interaction Flow)

目标

定义每个功能的入口、操作路径、成功/失败反馈、空状态处理,确保用户操作流程完整清晰。

检查清单
  • 每个功能有明确的入口位置
  • 成功流程完整描述(每一步做什么)
  • 空状态已定义(列表为空、搜索无结果等)
  • 操作后的导航已定义(留在当前页/返回列表/跳转到详情页)
  • 加载状态已说明(loading 动画、骨架屏等)
提问模板

场景 A:列表页功能

Q1: [列表页] 的入口在哪里?导航菜单的哪个位置?
Q2: 列表为空时显示什么?空状态文案是什么?是否有"立即创建"按钮?
Q3: 搜索无结果时显示什么?文案是什么?
Q4: 列表加载时显示什么?loading 动画还是骨架屏?

场景 B:表单提交功能

Q1: [表单] 提交成功后,是留在当前页还是返回列表页?
Q2: 提交成功后的反馈形式是什么?toast 提示还是弹窗?提示文案是什么?
Q3: 表单中点击"取消"按钮,如果有未保存的内容,是否需要二次确认?
Q4: 表单提交失败时(如网络错误),如何提示用户?

场景 C:删除操作

Q1: 删除操作是否需要二次确认弹窗?
Q2: 确认弹窗的文案是什么?是否需要显示被删除项的名称?
Q3: 删除成功后,列表是否自动刷新?还是手动刷新?
Q4: 删除成功后是否需要 toast 提示?文案是什么?

场景 D:详情页/编辑页

Q1: 从列表进入详情页,是打开新标签页还是当前页跳转?
Q2: 详情页是否有"编辑"按钮?点击后是跳转到编辑页还是当前页变为编辑模式?
Q3: 编辑页的"保存"和"取消"按钮在哪里?页面顶部还是底部?
示例对话

Agent:

现在进入第 2 个维度:交互流程,这个维度关注用户的操作路径和反馈机制。

针对"用户列表"功能,我有 4 个问题:

  1. 用户列表的入口在哪里?导航菜单的哪个位置?
  2. 列表为空时显示什么?空状态文案是什么?是否有"立即添加"按钮?
  3. 搜索无结果时显示什么?文案是什么?
  4. 删除用户时是否需要二次确认弹窗?删除成功后列表是否自动刷新?

用户:

  1. 在左侧导航菜单的"用户管理"下
  2. 列表为空时显示空状态插画,文案"暂无用户数据",下方有"立即添加"按钮
  3. 搜索无结果时显示"未找到匹配的用户",没有按钮
  4. 删除需要二次确认,弹窗文案"确定要删除用户 {用户名} 吗?此操作不可恢复",删除成功后自动刷新列表并显示 toast"删除成功"

3.3 维度 3:异常与边界(Edge Cases & Exceptions)

目标

识别 PRD 没有提到但实际开发中必然遇到的异常场景,避免代码上线后出现未处理的边界情况。

检查清单
  • 每个输入字段的空值/空字符串处理
  • 输入长度限制(最大/最小)
  • 特殊字符处理
  • 网络请求失败的处理方式
  • 并发访问的处理策略
  • 权限不足时的行为
  • 超时处理
提问模板

场景 A:输入字段

Q1: [输入框X] 为空时,"提交"按钮是否可点击?还是置灰禁用?
Q2: [输入框X] 的最大长度是多少?超出时是截断还是提示错误?
Q3: [输入框X] 是否允许输入特殊字符(如 < > & ' ")?如果允许,是否需要转义?
Q4: [输入框X] 是否允许输入空格?前后空格是否需要 trim?

场景 B:网络请求

Q1: 网络请求失败时如何提示用户?toast 还是弹窗?
Q2: 请求失败后是否自动重试?重试几次?
Q3: 请求超时时间设置为多少?超时后如何处理?
Q4: 如果用户在请求过程中刷新页面,如何处理?

场景 C:并发场景

Q1: 如果两个用户同时编辑同一条数据,如何处理?是否需要加锁?
Q2: 如果用户 A 正在编辑数据,用户 B 删除了该数据,用户 A 提交时如何处理?
Q3: 批量操作时,如果部分操作失败,是整体回滚还是跳过失败项?

场景 D:权限控制

Q1: 用户权限不足时,[功能X] 是隐藏还是显示但点击时提示无权限?
Q2: 如果用户直接通过 URL 访问无权限的页面,如何处理?
Q3: 用户的角色权限变更后,是否需要立即生效?还是重新登录后生效?
示例对话

Agent:

现在进入第 3 个维度:异常与边界,这个维度关注 PRD 没有提到但实际开发中必然遇到的异常场景。

针对"用户注册"功能,我有 4 个问题:

  1. 手机号输入框为空时,"获取验证码"按钮是否可点击?
  2. 手机号的最大长度是多少?是否只允许 11 位数字?
  3. 手机号是否允许输入空格或其他字符?
  4. 如果网络请求失败(如发送验证码失败),如何提示用户?是否自动重试?

用户:

  1. 手机号为空时"获取验证码"按钮置灰,不可点击
  2. 手机号固定 11 位数字,输入第 11 位后自动停止输入
  3. 只允许输入数字,其他字符无法输入
  4. 发送失败时显示 toast"发送失败,请稍后重试",不自动重试,用户可以手动重新点击

3.4 维度 4:数据规则(Data Rules)

目标

定义每个字段的类型、长度、必填性、校验规则、默认值、错误提示,确保数据输入的完整性和正确性。

检查清单
  • 每个字段有:类型、是否必填、默认值
  • 校验规则及对应的错误提示信息
  • 枚举字段的选项列表
  • 日期/时间字段的格式
  • 数值字段的范围约束
提问模板

场景 A:文本字段

Q1: [字段X] 的类型是什么?纯文本还是支持富文本?
Q2: [字段X] 是否必填?为空时的校验提示是什么?
Q3: [字段X] 的最大长度是多少?超出时如何处理(截断/报错)?
Q4: [字段X] 是否需要唯一性校验?重复时的提示文案?

场景 B:数值字段

Q1: [字段X] 的数值范围是多少?最小值、最大值?
Q2: [字段X] 是否允许小数?允许几位小数?
Q3: [字段X] 是否允许负数?
Q4: [字段X] 为空时的默认值是多少?

场景 C:枚举字段

Q1: [下拉框X] 的选项从哪里来?固定配置还是接口获取?
Q2: [下拉框X] 的选项列表是什么?每个选项的显示文本和值分别是什么?
Q3: [下拉框X] 是否支持多选?
Q4: [下拉框X] 是否必填?未选择时的提示文案?

场景 D:日期时间字段

Q1: [日期字段X] 的格式是什么?YYYY-MM-DD 还是 YYYY-MM-DD HH:mm:ss?
Q2: [日期字段X] 是否可选过去的时间?还是只能选未来?
Q3: [日期字段X] 的时区是什么?本地时区还是 UTC?
Q4: [日期字段X] 是否必填?为空时的默认值?
输出格式

维度 4 的澄清结果应输出为表格形式:

| 字段名 | 类型 | 必填 | 默认值 | 校验规则 | 错误提示 |
|--------|------|------|--------|----------|----------|
| 手机号 | 字符串(11位数字) | 是 | - | 11位数字,唯一性校验 | "请输入11位手机号" / "该手机号已注册" |
| 验证码 | 字符串(6位数字) | 是 | - | 6位数字,5分钟有效 | "请输入6位验证码" / "验证码已过期" |
| 用户名 | 字符串(2-20字符) | 是 | - | 2-20字符,支持中英文和数字 | "用户名长度应在2-20个字符之间" |
| 密码 | 字符串(8-32字符) | 是 | - | 8-32字符,需包含字母和数字 | "密码需包含字母和数字,长度8-32位" |

3.5 维度 5:非功能需求(Non-Functional Requirements)

目标

定义性能、兼容性、安全性、可维护性等非功能性约束。

检查清单
  • 分页策略及每页条数
  • 性能目标(响应时间、并发量)
  • 浏览器/设备兼容性要求
  • 数据脱敏需求
  • 审计日志需求
  • 限流/防刷需求
提问模板

场景 A:列表页性能

Q1: [列表页] 预估数据量多少?是否需要分页?
Q2: 如果需要分页,每页显示多少条?是否支持用户调整每页条数?
Q3: [搜索/查询] 的响应时间要求是多少?是否需要加 loading?
Q4: 是否需要支持无限滚动加载?还是传统分页?

场景 B:兼容性

Q1: 是否需要支持移动端?还是仅 PC 端?
Q2: 最低兼容的浏览器版本是什么?IE11?Chrome 80?
Q3: 是否需要适配不同的屏幕分辨率?最小支持多少宽度?
Q4: 是否需要支持暗黑模式?

场景 C:安全性

Q1: [敏感数据字段] 是否需要脱敏展示?脱敏规则是什么?(如手机号显示为 138****1234)
Q2: [操作X] 是否需要记录审计日志?记录哪些信息?
Q3: [接口X] 是否需要限流?限制多少 QPS?
Q4: 是否需要防重复提交?(如用户快速点击"提交"按钮多次)

场景 D:可维护性

Q1: [配置项X] 是否需要做成可配置的?还是写死在代码中?
Q2: 如果做成可配置的,配置入口在哪里?管理后台还是配置文件?
Q3: 配置变更后是否需要立即生效?还是重启后生效?

4. 执行细节设计

4.1 问题生成策略

基于 PRD 内容动态生成

Agent 读取 PRD 后,根据 PRD 中提到的功能模块、字段、操作,动态生成针对性的问题。

示例:

  • PRD 提到"用户列表" → 生成列表页相关问题(空状态、分页、搜索无结果)
  • PRD 提到"手机号" → 生成字段相关问题(长度、格式、唯一性)
  • PRD 提到"删除" → 生成操作相关问题(二次确认、成功后刷新)
问题数量控制
  • 每个维度提问 2-4 个问题
  • 如果某个维度 PRD 已经描述得很清楚,可以跳过或只问 1-2 个问题
  • 如果某个维度与当前 PRD 无关(如纯后端接口无 UI),明确说明并跳过

4.2 对话管理策略

逐维度推进
维度 1 完成 → 总结确认 → 用户确认 → 进入维度 2
维度 2 完成 → 总结确认 → 用户确认 → 进入维度 3
...
维度内问题处理
提出问题 → 等待用户回答 → 
  如果用户回答不完整 → 追问补充
  如果用户回答清晰 → 记录并继续下一个问题
所有问题回答完 → 总结本维度 → 等待用户确认 → 进入下一维度
用户回答不完整时的追问

Agent:

您提到"删除需要二次确认",但没有说明确认弹窗的文案。请问确认弹窗的文案是什么?是否需要显示被删除项的名称?

Agent:

您提到"手机号固定 11 位",但没有说明是否需要唯一性校验。如果用户用已注册的手机号再次注册,如何处理?

4.3 文档生成策略

文档结构
# 需求澄清记录 — [项目名]

## 概述
- PRD 链接:[链接]
- 澄清时间:[日期]
- 参与人员:[人员]

## 1. 范围边界
### 本期实现
- [功能1]:[简述]
- [功能2]:[简述]

### 本期不做
- [功能X]:[原因](计划二期实现)

### 功能依赖
- [功能A] 依赖 [功能B],需先实现 [功能B]

### 分期计划
- 一期:[功能列表]
- 二期:[功能列表]

## 2. 交互流程

### 2.1 [功能A]
- **入口**:[位置描述]
- **操作流程**:
  1. 用户点击 [入口]
  2. 进入 [页面]
  3. 执行 [操作]
  4. 显示 [反馈]
- **成功反馈**:[toast/弹窗/跳转],文案"[文案]"
- **空状态**:[描述],文案"[文案]"
- **加载状态**:[loading/骨架屏]

### 2.2 [功能B]
- ...

## 3. 异常与边界

| 场景 | 处理方式 | 提示文案 |
|------|----------|----------|
| [场景1] | [处理方式] | [文案] |
| [场景2] | [处理方式] | [文案] |

## 4. 数据规则

| 字段名 | 类型 | 必填 | 默认值 | 校验规则 | 错误提示 |
|--------|------|------|--------|----------|----------|
| [字段1] | [类型] | Y/N | [默认值] | [规则] | [提示] |
| [字段2] | [类型] | Y/N | [默认值] | [规则] | [提示] |

## 5. 非功能需求

### 性能
- [列表页X]:预估 [N] 条数据,分页展示,每页 [M] 条
- [搜索功能]:响应时间 < [T] 秒

### 兼容性
- 浏览器:[浏览器列表及版本]
- 设备:[PC/移动端/平板]
- 屏幕分辨率:最小 [W]x[H]

### 安全性
- 数据脱敏:[字段列表] 需脱敏,规则 [规则]
- 审计日志:[操作列表] 需记录日志
- 限流:[接口列表] 限制 [N] QPS

### 可维护性
- 配置项:[配置列表] 需做成可配置,配置入口 [位置]
文档保存
  • 文档保存到项目目录:docs/requirement-clarification-[项目名]-[日期].md
  • 文件命名规范:requirement-clarification-{project-name}-{YYYY-MM-DD}.md
  • 保存后立即告知用户文件路径

4.4 与 AI Coding 的衔接

衔接方式

澄清文档完成后,Agent 询问:

需求澄清已完成,文档已保存到 [文件路径]。是否现在开始基于此文档进行 AI coding?

如果用户确认,Agent 读取澄清文档,将其作为 coding 的输入规格。

衔接示例
Agent: 需求澄清已完成,文档已保存到 docs/requirement-clarification-user-mgmt-2026-01-15.md。
       是否现在开始基于此文档进行 AI coding?

User: 是的,开始 coding

Agent: 好的,我将基于需求澄清文档开始实现。
       根据文档,本期需要实现:
       1. 用户注册(手机号+验证码)
       2. 用户登录(密码登录+验证码登录)
       3. 密码找回
       
       首先调用 writing-plans skill 创建实现计划...

5. 异常处理设计

5.1 用户回答"不确定"或"没想好"

处理方式:

  • 记录为"待确认",标注在文档中
  • 建议用户后续与产品经理/业务方确认
  • 不阻塞澄清流程,继续下一个问题

Agent 示例:

好的,我记录为"待确认"。建议后续与产品经理确认 [具体问题]。我们继续下一个问题…

5.2 用户回答与 PRD 矛盾

处理方式:

  • 指出矛盾,请用户确认
  • 以用户最新回答为准
  • 在文档中标注"与 PRD 不同"

Agent 示例:

您提到"删除不需要二次确认",但 PRD 中写的是"删除需要二次确认"。请确认:是删除不需要二次确认吗?这会覆盖 PRD 的描述。

5.3 某个维度完全没有问题可问

处理方式:

  • 明确说明该维度与当前 PRD 无关
  • 跳过该维度,进入下一个维度

Agent 示例:

维度 5"非功能需求"与当前 PRD 无关(这是一个纯后端接口,无 UI),跳过此维度。需求澄清完成。

5.4 用户中途要求修改已澄清的内容

处理方式:

  • 支持回退到任意维度进行修改
  • 修改后重新总结该维度
  • 更新澄清文档

Agent 示例:

好的,我们回到维度 2"交互流程"。您想修改哪个问题的答案?

6. 质量检查清单

在生成澄清文档前,Agent 应检查以下项目:

完整性检查

  • 5 个维度是否都已覆盖(或明确说明跳过原因)
  • 每个维度的检查清单是否都已完成
  • PRD 中提到的所有功能是否都有澄清

一致性检查

  • 用户的回答是否前后一致
  • 是否有矛盾的描述
  • 澄清结果是否与 PRD 冲突(如有,是否已标注)

可执行性检查

  • 每个问题是否都有明确的答案(不是"待定")
  • 答案是否足够具体,AI 可以直接使用
  • 是否遗漏了关键的边界场景

7. 实际使用示例

示例 PRD(简化版)

# 用户管理系统 PRD

## 功能列表
1. 用户列表:展示所有用户,支持搜索和分页
2. 添加用户:填写用户信息并保存
3. 编辑用户:修改用户信息
4. 删除用户:删除指定用户

## 用户信息字段
- 用户名
- 手机号
- 邮箱
- 角色
- 状态(启用/禁用)

澄清过程示例

Step 1: 读取 PRD

Agent:

我已阅读 PRD,识别到以下功能模块:

  1. 用户列表(搜索、分页)
  2. 添加用户
  3. 编辑用户
  4. 删除用户

用户信息字段:用户名、手机号、邮箱、角色、状态

接下来我会从 5 个维度逐一澄清细节,每个维度会问 2-4 个具体问题。

Step 2: 维度 1 - 范围边界

Agent:

现在进入第 1 个维度:范围边界,这个维度关注本期实现的功能范围。

我有 2 个问题:

  1. 这 4 个功能(列表、添加、编辑、删除)本期是否全部实现?
  2. "角色"字段是否本期实现?还是先用固定角色?

User:

  1. 4 个功能全部实现
  2. 角色本期实现,先支持"管理员"和"普通用户"两种

Agent:

好的,范围边界已澄清:

  • 本期实现:用户列表(搜索、分页)、添加用户、编辑用户、删除用户
  • 角色:本期实现,支持"管理员"和"普通用户"两种角色

现在进入第 2 个维度…

(后续维度省略…)

最终输出文档示例

# 需求澄清记录 — 用户管理系统

## 概述
- PRD 链接:https://xxx.com/prd/user-mgmt
- 澄清时间:2026-01-15
- 参与人员:张三(产品)、李四(开发)

## 1. 范围边界

### 本期实现
- 用户列表:展示所有用户,支持按用户名/手机号搜索,分页展示
- 添加用户:填写用户信息并保存
- 编辑用户:修改用户信息
- 删除用户:删除指定用户

### 本期不做
- 批量操作(批量删除、批量启用/禁用):计划二期实现
- 用户导入/导出:计划二期实现

### 功能依赖
- 无

## 2. 交互流程

### 2.1 用户列表
- **入口**:左侧导航菜单 → 用户管理 → 用户列表
- **操作流程**:
  1. 用户点击"用户列表"菜单
  2. 进入用户列表页,默认展示第 1 页
  3. 用户可在搜索框输入用户名或手机号,点击"搜索"按钮
  4. 列表刷新,展示搜索结果
- **成功反馈**:无(列表自动刷新)
- **空状态**:显示空状态插画,文案"暂无用户数据",下方有"添加用户"按钮
- **搜索无结果**:显示"未找到匹配的用户",无按钮
- **加载状态**:表格区域显示 loading 动画

### 2.2 添加用户
- **入口**:用户列表页右上角"添加用户"按钮
- **操作流程**:
  1. 用户点击"添加用户"按钮
  2. 弹出添加用户弹窗
  3. 用户填写表单
  4. 点击"确定"按钮提交
- **成功反馈**:toast 提示"添加成功",弹窗关闭,列表自动刷新
- **失败反馈**:toast 提示"添加失败,请稍后重试",弹窗保持打开

### 2.3 删除用户
- **入口**:用户列表每行右侧"删除"按钮
- **操作流程**:
  1. 用户点击"删除"按钮
  2. 弹出确认弹窗,文案"确定要删除用户 {用户名} 吗?此操作不可恢复"
  3. 用户点击"确定"
  4. 删除用户,列表自动刷新
- **成功反馈**:toast 提示"删除成功"
- **取消操作**:点击"取消"或关闭弹窗,不执行删除

## 3. 异常与边界

| 场景 | 处理方式 | 提示文案 |
|------|----------|----------|
| 搜索框为空时点击搜索 | 显示全部用户(相当于清空搜索条件) | - |
| 手机号输入非数字 | 只允许输入数字,其他字符无法输入 | - |
| 手机号不是 11 位 | 提交时校验 | "请输入11位手机号" |
| 手机号已存在 | 提交时校验 | "该手机号已注册" |
| 网络请求失败 | toast 提示,不自动重试 | "请求失败,请稍后重试" |
| 删除用户时该用户有关联数据 | 提示无法删除 | "该用户有关联数据,无法删除" |
| 用户权限不足(非管理员) | 隐藏"添加"、"编辑"、"删除"按钮 | - |

## 4. 数据规则

| 字段名 | 类型 | 必填 | 默认值 | 校验规则 | 错误提示 |
|--------|------|------|--------|----------|----------|
| 用户名 | 字符串(2-20字符) | 是 | - | 2-20字符,支持中英文和数字,不能重复 | "用户名长度应在2-20个字符之间" / "用户名已存在" |
| 手机号 | 字符串(11位数字) | 是 | - | 11位数字,不能重复 | "请输入11位手机号" / "该手机号已注册" |
| 邮箱 | 字符串(5-50字符) | 否 | - | 邮箱格式校验 | "请输入正确的邮箱格式" |
| 角色 | 枚举 | 是 | 普通用户 | 可选值:管理员、普通用户 | "请选择角色" |
| 状态 | 枚举 | 是 | 启用 | 可选值:启用、禁用 | - |

## 5. 非功能需求

### 性能
- 用户列表:预估 1000 条数据,分页展示,每页 20 条
- 搜索功能:响应时间 < 2 秒

### 兼容性
- 浏览器:Chrome 80+、Firefox 75+、Safari 13+、Edge 80+
- 设备:仅 PC 端
- 屏幕分辨率:最小 1280x720

### 安全性
- 数据脱敏:无
- 审计日志:记录"添加用户"、"编辑用户"、"删除用户"操作,记录操作人、操作时间、操作内容
- 限流:无特殊要求

### 可维护性
- 配置项:每页条数做成可配置,配置入口:系统设置 → 通用设置 → 列表默认每页条数

8. 总结

需求澄清 Skill 的核心设计思想:

  1. 结构化流程:5 个维度 × 每个维度 2-4 个问题 = 系统性覆盖,无遗漏
  2. 交互式执行:一问一答,用户决策,Agent 引导
  3. 模板化输出:结构化文档,AI 可直接消费
  4. 无缝衔接:澄清完直接进 coding,无需手动传递

通过这套设计,PRD 中的隐含假设被显式化,AI 代码生成的准确性和完整性大幅提升,返工率显著降低。

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐