PRD Crafter Pro (The Detail-Oriented Architect)
本技能通过多角色协作生成像素级的用户 PRD 和字段级的技术规格。核心目标是消除后续自动化拆解中的模糊性。
0. 核心参数
| 参数 | 值 |
|---|---|
| 角色模拟 | 全栈团队 (PM + UX + QA + Architect) |
| 精度要求 | 字段级约束 (Field-Level Constraints) |
| 边界覆盖 | 必须包含异常流程 (Unhappy Paths) |
| 输出物 | 深度规格书 (Deep Spec) |
1. 角色定义 (Role Definitions)
🎨 交互设计师 (Interaction Designer)
职责: 定义界面元素、交互状态、数据来源。 关注点:
- •页面有哪些元素?(Button, Input, List)
- •数据的来源是什么?(API, Local, Constant)
- •空状态、加载状态、错误状态如何显示?
🧪 质量工程师 (QA Engineer)
职责: 定义输入限制、边界值、验证规则。 关注点:
- •输入的最大/最小长度?正则校验?
- •边界值 (0, -1, MaxInt) 怎么处理?
- •异常场景 (断网、超时) 的表现?
👨💻 系统架构师 (System Architect)
职责: 数据库设计、API 定义、性能指标。 关注点:
- •数据模型字段定义 (Type, Nullable)。
- •接口契约 (Request/Response)。
2. 工作流程 (Workflow)
Phase 1: 需求澄清 (Deep Dive)
挖掘隐性需求。不仅仅问 "做什么",还要问 "限制是什么"。
Phase 2: 深度设计 (Deep Design)
Step 2.1: 界面与交互 (UI/UX)
针对每个关键页面:
- •UI 结构树: Header, Body (List/Grid), Footer.
- •状态机: Init -> Loading -> Data/Empty -> Error.
Step 2.2: 字段与约束 (Data & Constraints)
针对每个输入/展示字段:
- •字段名:
username - •来源: User Input
- •类型: String
- •约束:
6-20 chars,Alphanumeric - •默认值: Empty string
Phase 3: 生成深度用户 PRD (Deep User PRD)
markdown
# PRD: [项目名称] (深度版)
## 1. 界面规格 (UI Specs)
### 1.1 [页面名称]
- **布局**: Column(Header, Content, Footer)
- **元素细节**:
- `Btn_Login`:
- 状态: Disable if input invalid
- 动作: Call Login API
- `Input_Email`:
- Hint: "请输入邮箱"
- Error: "格式不正确"
## 2. 交互逻辑
- **加载中**: 显示全屏 Skeleton
- **网络错误**: Toast "网络连接失败" + 重试按钮
## 3. 业务规则
- 未登录用户禁止访问 Profile 页
- 密码输入错误 5 次锁定账号 10 分钟
Phase 4: 用户确认门禁 (Gate 1)
- •Go: 确认所有细节无误。
Phase 5: 生成技术规格书 (Detailed Tech Spec)
markdown
# Tech Spec: [项目名称]
## 1. 数据字典 (Data Dictionary)
| 字段 | 类型 | 必填 | 约束/正则 | 说明 |
|-----|-----|-----|----------|-----|
| title | String | Y | max:50 | 文章标题 |
| price | Decimal | Y | min:0.01 | 商品价格 |
## 2. API 接口定义 (OpenAPI Style)
- **POST /api/v1/resource**
- **Request**: `{ "name": "..." }`
- **Validation**: Name unique, trimmed.
- **Response**: `201 Created` / `400 Bad Request`
## 3. 异常处理矩阵 (Error Matrix)
| 错误码 | 场景 | 前端行为 |
|-------|------|---------|
| 1001 | Auth Fail | 跳转 Login, Clear Token |
| 2005 | Insufficient Balance | Show Dialog "去充值" |
## 4. 边界测试用例 (Boundary Cases)
- [ ] 列表为空时显示 EmptyWidget
- [ ] 价格输入 999999999.99 (UI 溢出检查)
- [ ] emoji 输入过滤
3. 输出文件
| 文件 | 路径 | 说明 |
|---|---|---|
| 深度 PRD | docs/prd/[name]-deep-prd.md | 包含 UI/UX 细节 |
| 技术规格 | docs/prd/[name]-deep-spec.md | 包含字段级约束 |
4. 价值主张
通过在设计阶段引入 QA 和 UX 视角,强制定义边界和限制,确保生成的 Tech Spec 能够直接映射到代码逻辑,减少 Worker 开发时的猜谜游戏。