Files
ai-proj-helper/skills-req/req-prd-plugin/skills/SKILL.md
John Qiu 22107fa7b8 feat(req): 集成 Stitch 原型设计到需求工作流
新建 req-prototype 技能,支持基于 PRD 自动生成 Stitch UI 原型。
同步 req-review、req-workflow 技能到仓库,并更新 req、req-prd 中的
原型相关引用。

REQ-20260320-0005

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-20 23:42:24 +10:30

665 lines
14 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: req-prd
description: 产品设计与需求管理。用于 PRD 文档编写、需求分析、用户故事创建、功能设计和原型规划。当用户提到产品设计、PRD、需求文档、功能规划、用户故事相关任务时自动激活。
---
# 产品需求设计 Skill (req-prd)
## 概述
本技能用于辅助产品设计和需求管理工作,包括:
- PRD 文档编写与管理
- **参考对象对比式 PRD 编写**(核心能力)
- 需求分析与优先级排序
- 用户故事创建
- 功能设计与规划
- 与 ai-proj 任务系统集成
---
## 参考对象对比式 PRD 编写
当进行**系统平移、功能迁移、竞品借鉴**时,应采用对比分析法编写 PRD确保新系统功能完整且有所改进。
### 适用场景
| 场景 | 说明 | 示例 |
|------|------|------|
| 系统平移 | 旧系统迁移到新技术栈 | 酷采2.0 → 酷采3.0 |
| 功能借鉴 | 参考竞品功能设计 | 参考飞书设计协作功能 |
| 版本升级 | 基于当前版本优化 | V1.0 → V2.0 重构 |
### 对比分析工作流
```
1. 确定参考对象
├── 识别参考系统(可以是多个)
├── 获取访问权限(测试环境、源代码)
└── 明确对比目标
2. 参考对象分析
├── 功能调研(前端页面操作)
├── 数据模型分析(数据库表结构)
├── 业务逻辑分析(后端代码)
└── API 接口分析
3. 对比分析
├── 功能对比表(保留/优化/新增/废弃)
├── 数据模型对比(字段映射、新增字段)
├── 技术架构对比
└── 用户体验对比
4. PRD 编写
├── 背景说明(明确参考来源)
├── 功能需求(标注来源与变更)
├── 数据设计(标注字段来源)
└── 实现建议
```
### 对比式 PRD 模板
```markdown
# [功能模块名称] PRD
## 1. 文档概述
### 1.1 文档信息
| 项目 | 内容 |
|------|------|
| 文档名称 | [模块名称] 需求文档 |
| 版本 | V1.0 |
| 创建日期 | [日期] |
| **需求来源** | **[参考系统名称] 平移/借鉴** |
| **参考系统** | **[参考系统访问地址]** |
### 1.2 背景说明
本需求文档基于 **[参考系统]** 的 [模块名称] 功能分析,将其平移至 [目标系统]。
**参考系统信息**
- 系统地址:[URL]
- 技术栈:[技术栈描述]
- 源码位置:[源码路径](如有)
---
## 2. 参考系统分析
### 2.1 功能截图
[插入参考系统功能截图]
### 2.2 数据模型(参考系统)
```sql
-- 参考系统表结构
CREATE TABLE [表名] (
-- 从源代码/数据库提取
);
```
### 2.3 API 接口(参考系统)
| 接口 | 方法 | 说明 |
|------|------|------|
| /api/xxx | GET/POST | [描述] |
### 2.4 业务逻辑(参考系统)
- 核心业务规则摘要
- 数据校验规则
- 状态流转逻辑
---
## 3. 功能对比分析
### 3.1 功能对比表
| 序号 | 功能 | 参考系统 | 目标系统 | 变更类型 | 说明 |
|------|------|----------|----------|----------|------|
| 1 | [功能1] | ✅ | ✅ | 保留 | 直接平移 |
| 2 | [功能2] | ✅ | ✅+ | 优化 | [优化内容] |
| 3 | [功能3] | ❌ | ✅ | 新增 | [新增原因] |
| 4 | [功能4] | ✅ | ❌ | 废弃 | [废弃原因] |
### 3.2 数据模型对比
| 参考系统字段 | 目标系统字段 | 类型 | 变更 | 说明 |
|--------------|--------------|------|------|------|
| id (varchar) | id (bigint) | PK | 优化 | 改用自增ID |
| company_id | tenant_id | FK | 重命名 | 统一租户字段 |
| -- | created_by | bigint | 新增 | 审计字段 |
### 3.3 技术架构对比
| 层次 | 参考系统 | 目标系统 |
|------|----------|----------|
| 后端框架 | [如: Spring Boot] | [如: Go Gin] |
| 前端框架 | [如: Vue 2] | [如: React 18] |
| 数据库 | [如: MySQL] | [如: PostgreSQL] |
---
## 4. 目标系统设计
### 4.1 功能清单
| 序号 | 功能 | 优先级 | 来源 | 说明 |
|------|------|--------|------|------|
| 1 | [功能] | P0 | 平移 | 从参考系统平移 |
### 4.2 数据模型(目标系统)
```sql
-- 目标系统表结构(基于对比分析设计)
CREATE TABLE [] (
id BIGINT PRIMARY KEY,
-- 字段设计...
);
```
### 4.3 API 设计(目标系统)
| 接口 | 方法 | 说明 | 参考接口 |
|------|------|------|----------|
| /api/v1/xxx | GET | [描述] | 参考 /api/xxx |
### 4.4 业务规则
- [ ] 规则1沿用参考系统
- [ ] 规则2优化调整
---
## 5. 实现建议
### 5.1 开发顺序
1. 数据模型迁移
2. 后端 API 实现
3. 前端页面开发
4. 数据迁移脚本
### 5.2 注意事项
- 参考系统中 [xxx] 逻辑需要特别注意
- 新系统中需改进 [xxx] 问题
```
---
### 参考对象分析工具
#### 1. 前端分析
```bash
# 启动浏览器调试模式macOS
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome \
--remote-debugging-port=9222 \
--user-data-dir=/tmp/chrome-debug
# 访问参考系统,截图、分析交互
```
#### 2. 后端代码分析
```bash
# 搜索相关模型
grep -r "class.*Model" --include="*.java" /path/to/legacy/
# 搜索相关控制器
grep -r "@Controller\|@RestController" --include="*.java" /path/to/legacy/
```
#### 3. 数据库分析
```sql
-- 查看表结构
SHOW CREATE TABLE table_name;
-- 查看字段注释
SELECT COLUMN_NAME, COLUMN_COMMENT
FROM information_schema.COLUMNS
WHERE TABLE_NAME = 'table_name';
```
---
### 示例酷采3.0标签管理模块
以下是基于酷采2.0平移的标签管理模块对比分析示例:
#### 参考系统酷采2.0
**数据模型**
```sql
-- 酷采2.0 prd_product_label 表
CREATE TABLE `prd_product_label` (
`id` varchar(64) NOT NULL,
`label_name` varchar(256) DEFAULT NULL,
`company_id` varchar(64) DEFAULT NULL,
`input_user_id` varchar(64) DEFAULT NULL,
`input_user_name` varchar(64) DEFAULT NULL,
`input_time` datetime DEFAULT NULL,
`update_user_id` varchar(64) DEFAULT NULL,
`update_user_name` varchar(64) DEFAULT NULL,
`update_time` datetime DEFAULT NULL,
`version` bigint(20) DEFAULT 0,
`is_delete` tinyint(1) DEFAULT 0,
`status` tinyint(1) DEFAULT 1,
`remark` varchar(512) DEFAULT NULL,
`sort_no` int(11) DEFAULT 0,
PRIMARY KEY (`id`)
);
```
**代码位置**
- 后端: `cool_lining/module-provider/.../dao/model/prd/PrdProductLabel.java`
- 前端: `ln_admin/src/views/module/prd/product_label/`
#### 目标系统酷采3.0)设计
**数据模型对比**
| 酷采2.0 | 酷采3.0 | 变更 |
|---------|---------|------|
| id (varchar) | id (bigint) | 改用自增ID |
| company_id | tenant_id | 统一租户标识 |
| input_user_id | created_by | 简化字段命名 |
| input_time | created_at | 统一时间字段 |
| is_delete | deleted_at | 改用软删除时间戳 |
---
## PRD 文档模板
### 标准 PRD 结构
```markdown
# [产品/功能名称] PRD
## 1. 概述
### 1.1 背景
[为什么需要这个功能?解决什么问题?]
### 1.2 目标
- 业务目标:[量化的业务指标]
- 用户目标:[用户能获得什么价值]
- 技术目标:[技术层面要达成什么]
### 1.3 成功指标
| 指标 | 当前值 | 目标值 | 衡量方式 |
|------|--------|--------|----------|
| ... | ... | ... | ... |
## 2. 用户分析
### 2.1 目标用户
[用户画像描述]
### 2.2 用户痛点
1. [痛点1]
2. [痛点2]
### 2.3 用户场景
[场景描述]
## 3. 功能需求
### 3.1 功能清单
| 功能 | 优先级 | 描述 | 验收标准 |
|------|--------|------|----------|
| ... | P0/P1/P2 | ... | ... |
### 3.2 功能详细说明
#### [功能1]
- 功能描述:
- 触发条件:
- 业务规则:
- 异常处理:
## 4. 交互设计
### 4.1 用户流程
[流程图或步骤描述]
### 4.2 界面原型
> 使用 `/req prototype [REQ-ID]` 基于 PRD 自动生成 Stitch 原型。
> 生成后截图将自动回填到此章节。
[执行 `/req prototype` 后自动填充]
## 5. 技术要求
### 5.1 性能要求
- 响应时间:
- 并发量:
- 数据量:
### 5.2 安全要求
- 权限控制:
- 数据安全:
### 5.3 兼容性要求
- 浏览器:
- 设备:
## 6. 上线计划
### 6.1 里程碑
| 阶段 | 内容 | 完成标准 |
|------|------|----------|
| ... | ... | ... |
### 6.2 灰度策略
[灰度发布计划]
## 7. 风险评估
| 风险 | 影响 | 概率 | 应对措施 |
|------|------|------|----------|
| ... | 高/中/低 | 高/中/低 | ... |
## 8. 附录
- 相关文档链接
- 参考资料
```
---
## 需求优先级框架
### RICE 评分法
| 维度 | 说明 | 评分范围 |
|------|------|----------|
| Reach (触达) | 影响多少用户 | 1-10 |
| Impact (影响) | 对用户的影响程度 | 0.25-3 |
| Confidence (信心) | 估算的置信度 | 0-100% |
| Effort (工作量) | 需要的人天数 | 实际工作量 |
**计算公式**: `RICE = (Reach × Impact × Confidence) / Effort`
### 优先级定义
| 优先级 | 含义 | 处理方式 |
|--------|------|----------|
| P0 | 阻塞性需求 | 必须立即处理 |
| P1 | 核心需求 | 本迭代必须完成 |
| P2 | 重要需求 | 尽量本迭代完成 |
| P3 | 优化需求 | 有余力时处理 |
---
## 用户故事编写
### 标准格式
```
作为 [用户角色]
我想要 [功能/目标]
以便 [获得的价值/原因]。
验收标准:
- Given [前置条件]
- When [用户行为]
- Then [预期结果]
```
### 示例
```
作为 仓库管理员,
我想要 扫码快速入库,
以便 提高入库效率、减少手动输入错误。
验收标准:
- Given 已有采购单且货物到达
- When 扫描货物条码
- Then 自动匹配采购单并显示入库确认界面
```
### INVEST 原则检查
| 原则 | 含义 | 检查点 |
|------|------|--------|
| I - Independent | 独立的 | 故事间无依赖 |
| N - Negotiable | 可协商 | 非固定规格 |
| V - Valuable | 有价值 | 交付业务价值 |
| E - Estimable | 可估算 | 能估算工作量 |
| S - Small | 足够小 | 可在迭代内完成 |
| T - Testable | 可测试 | 有明确验收标准 |
---
## 与 ai-proj 集成
### 需求管理工具
使用 ai-proj MCP 工具管理需求:
```bash
# 创建需求
mcp__ai-proj__create_requirement
- title: "需求标题"
- description: "需求描述"
- category: feature/bug/improvement/documentation/other
- priority: low/medium/high
- projectId: 项目ID
# 查看需求列表
mcp__ai-proj__list_requirements
- status: draft/pending/reviewing/approved/rejected/archived
- priority: low/medium/high
# 需求与任务关联
mcp__ai-proj__link_tasks_to_requirement
- requirementId: 需求ID
- taskIds: [任务ID列表]
```
### 任务分解流程
1. **创建需求**`create_requirement`
2. **需求评审**`submit_requirement``approve/reject_requirement`
3. **分解任务**`create_task` / `create_subtask`
4. **关联任务**`link_tasks_to_requirement`
5. **跟踪进度**`get_requirement_tasks` / `get_requirement_statistics`
### 文档管理
```bash
# 创建 PRD 文档并关联任务
mcp__ai-proj__create-and-attach
- taskId: 任务ID
- content: PRD 文档内容 (Markdown)
- title: 文档标题 (可选)
# 更新 PRD 文档
mcp__ai-proj__update_task_document
- taskId: 任务ID
- content: 更新后的内容
# 导出 PRD 到文件
mcp__ai-proj__export_task_document_to_file
- taskId: 任务ID
```
---
## 功能设计流程
### 1. 需求收集
```
输入:
- 用户反馈
- 业务需求
- 数据分析
- 竞品分析
输出:
- 需求池ai-proj 需求列表)
```
### 2. 需求分析
```
方法:
- 5W1H 分析法
- 用户访谈
- 数据验证
输出:
- 需求文档
- 优先级排序
```
### 3. 方案设计
```
内容:
- 功能架构
- 交互流程
- 界面原型
- 技术方案
输出:
- PRD 文档
- 原型设计
```
### 4. 评审验证
```
评审维度:
- 业务价值
- 技术可行性
- 资源评估
- 风险评估
输出:
- 评审结论
- 修改意见
```
---
## 竞品分析模板
### 分析框架
```markdown
# [竞品名称] 分析
## 1. 产品概述
- 定位:
- 核心功能:
- 目标用户:
## 2. 功能对比
| 功能 | 我们 | 竞品A | 竞品B |
|------|------|-------|-------|
| 功能1 | ✅/❌/部分 | ... | ... |
## 3. 优劣势分析
### 优势
1. ...
### 劣势
1. ...
## 4. 可借鉴点
- ...
## 5. 差异化策略
- ...
```
---
## 产品指标体系
### 北极星指标选择
| 产品类型 | 典型北极星指标 |
|----------|----------------|
| 电商 | GMV / 订单量 |
| SaaS | MRR / 活跃用户数 |
| 社交 | DAU / 消息数 |
| 工具 | 完成任务数 / 使用时长 |
### 指标分层
```
北极星指标
├── 一级指标(核心业务指标)
│ ├── 二级指标(过程指标)
│ │ └── 三级指标(功能指标)
```
### 常用指标
| 类型 | 指标 | 计算方式 |
|------|------|----------|
| 获客 | 新用户数、获客成本 | 注册数 / 推广费用 |
| 激活 | 激活率、首日留存 | 完成核心动作 / 注册数 |
| 留存 | 次日/7日/30日留存 | 回访用户 / 新增用户 |
| 收入 | ARPU、付费率 | 收入 / 用户数 |
| 传播 | 推荐率、K因子 | 邀请数 / 用户数 |
---
## 设计检查清单
### PRD 完整性检查
- [ ] 背景与目标明确
- [ ] 用户群体定义清晰
- [ ] 功能需求完整
- [ ] 验收标准可测试
- [ ] 异常情况已考虑
- [ ] 性能要求已定义
- [ ] 上线计划合理
- [ ] 风险已评估
### 交互设计检查
- [ ] 用户流程完整
- [ ] 边界情况处理
- [ ] 错误提示友好
- [ ] 反馈及时
- [ ] 操作可撤销
- [ ] 符合用户习惯
### 技术方案检查
- [ ] 技术可行性验证
- [ ] 性能影响评估
- [ ] 扩展性考虑
- [ ] 安全性审查
- [ ] 兼容性测试
---
## 常用工具
### 原型设计
- **Stitch** (Google AI) — 集成在 `/req prototype`,自动从 PRD 生成原型
- Figma — 手动精细设计
- Sketch
- Axure
### 流程图
- draw.io
- ProcessOn
- Mermaid (Markdown)
### 数据分析
- Metabase
- Google Analytics
- Mixpanel
### 项目管理
- ai-proj (内部)
- JIRA
- Linear
---
## 最佳实践
1. **需求先行** - 先理解问题,再设计方案
2. **用户视角** - 始终从用户角度思考
3. **数据驱动** - 用数据验证假设
4. **迭代优化** - 小步快跑,持续改进
5. **跨团队协作** - 早期与技术、设计团队对齐
6. **文档沉淀** - 及时记录决策和变更
---
## 安全与合规
- 用户隐私保护 (GDPR/个人信息保护法)
- 数据安全分级
- 敏感操作审计
- 权限最小化原则