Preamble (run first)
bash "$(dirname "${BASH_SOURCE[0]}")"/check-update.sh 2>/dev/null || true
mkdir -p docs/02-方案设计
echo "📊 正在检查前置文档..."
if [ -f "docs/02-方案设计/PRD产品需求文档.md" ]; then
echo "✅ PRD文档 - 已找到"
else
echo "⏳ PRD文档 - 未找到"
fi
if [ -f "docs/02-方案设计/原型设计方案.md" ]; then
echo "✅ 原型设计方案 - 已找到"
else
echo "⏳ 原型设计方案 - 未找到"
fi
执行流程
digraph pm_feature {
rankdir=TB;
node [shape=box, style=filled, fillcolor="#e3f2fd"];
"选择拆解功能" [shape=diamond];
"读取PRD文档" [shape=box];
"功能拆解分析" [shape=box, fillcolor="#c8e6c9"];
"场景描述编写" [shape=box, fillcolor="#bbdefb"];
"业务流程设计" [shape=box, fillcolor="#fff9c4"];
"界面交互说明" [shape=box, fillcolor="#ffe0b2"];
"数据逻辑定义" [shape=box, fillcolor="#f8bbd0"];
"输出功能拆解文档" [shape=box, fillcolor="#ffccbc"];
"选择拆解功能" -> "读取PRD文档";
"读取PRD文档" -> "功能拆解分析";
"功能拆解分析" -> "场景描述编写";
"场景描述编写" -> "业务流程设计";
"业务流程设计" -> "界面交互说明";
"界面交互说明" -> "数据逻辑定义";
"数据逻辑定义" -> "输出功能拆解文档";
}
步骤 1: 选择需要拆解的功能
您希望拆解哪个功能?
A) 拆解所有核心功能(基于PRD功能列表) B) 拆解单个功能(请指定功能名称) C) 拆解某个模块的所有功能 D) 其他(请手动输入)
💡 提示:开发准备→拆解所有,技术评审→拆解单个复杂功能,项目排期→拆解某模块
记录到变量 FEATURE_SCOPE
步骤 2: 读取前置数据
必需文档:PRD产品需求文档、原型设计方案(需其一) 可选文档:技术对接方案、MVP方案
如果 PRD 不存在:
⚠️ 未找到 PRD 文档
A) 执行 /pm-docs 生成 PRD B) 使用 MVP 方案作为输入 C) 手动输入功能需求(快速模式)
步骤 3: 功能列表提取
从 PRD 提取功能模块划分、功能需求列表、优先级。 从原型设计提取页面功能、交互功能、状态功能。
📋 基于PRD识别出以下功能列表:
用户模块:用户注册、登录、个人信息管理 业务模块:商品浏览、搜索、购物车、订单管理
是否拆解所有功能?
A) 是的,拆解所有 B) 只拆解部分 C) 需要调整功能列表
步骤 4: 功能拆解(逐个功能)
对每个功能使用拆解模板:
4.1 功能基本信息
📝 {功能名称} 功能描述:{从PRD提取} 优先级:P0/P1/P2 用户价值:{解决什么用户问题}
4.2 用户场景分析
🎯 使用动机: A) 完成核心任务 B) 解决具体问题 C) 满足情感需求 使用场景: A) 日常高频 B) 低频但重要 C) 偶发场景
4.3 功能流程拆解
主流程:前置条件→操作步骤序列(6-12步)→后置操作 分支流程:对每个异常场景:触发条件→系统处理→用户反馈→后续操作
4.4 界面元素拆解
🎨 页面结构:顶部/主体/底部元素 交互元素:输入框(校验规则)、按钮(状态)、列表(分页) 状态展示:加载状态/空状态/错误状态
4.5 数据逻辑拆解
💾 输入数据:字段名/类型/必填/校验规则 数据处理:存储位置/更新逻辑/删除策略 数据校验:格式校验/业务校验/权限校验
4.6 异常处理
前端异常(网络/校验/超时)和后端异常(参数/业务/系统)的处理方案 + 边界条件
4.7 技术实现要点
🔧 前端实现:组件选择、状态管理、性能优化 后端实现:API设计、数据库操作、缓存策略 第三方依赖:{服务名称} - {用途}
4.8 测试要点
功能测试(正常/异常/边界)、性能测试、安全测试、兼容性测试
步骤 5: 输出功能拆解文档
使用 Write 工具创建 docs/02-方案设计/功能细节拆解.md。
参考 references/output-template.md 模板,文档结构:
- 功能列表总览 - 模块划分、依赖关系
- 各模块功能拆解 - 每个功能的完整拆解(基本信息/场景/流程/界面/数据/异常/技术/测试/排期)
- 附录 - 开发任务清单、技术风险识别
Subagent 并行拆解(可选)
如果有大量功能(>5个),可使用 Agent 工具并行拆解:
Agent 1: 拆解用户模块的所有功能
Agent 2: 拆解业务模块的所有功能
Agent 3: 拆解订单模块的所有功能
每个 subagent 按拆解模板输出到文档对应章节
主 agent 等待所有完成,整合输出最终文档
兜底机制
场景: 无前置文档
提供快速模式,用户手动输入功能名称和描述,AI 按模板自动拆解。
注意事项
- 核心拆解模板包含8个维度:基本信息→场景→流程→界面→数据→异常→技术→测试
- 每个功能拆解完成后记录开发排期(前端/后端/第三方/测试)
- 完整输出模板详见
references/output-template.md - 大量功能可使用 subagent 并行拆解提升效率
输出质量对比
✅ Good 示例:
- 有数据引用:「根据 Q4 数据,留存率从 35% 降至 28%」
- 有验证来源:「数据来源:Google Analytics, 2025-12-01」
- 有明确建议:「建议将新手引导步骤从 5 步减少至 3 步」
❌ Bad 示例:
- 模糊结论:「数据表明留存率有所下降」
- 无来源:「根据经验,这个功能很重要」
- 没有行动建议:「留存是个问题」
常见误区 / Red Flags — STOP
出现以下情况立即停止并回溯:
| 误区 | 正确做法 |
|---|---|
| 使用"应该"、"大概"、"看起来"做结论 | 必须基于实际数据和验证 |
| 未运行检查就声称已完成 | 先验证,再陈述 |
| 因时间紧迫跳过关键步骤 | 没有例外,时间紧更要严格 |
| "这次应该没问题"的想法 | 每次都要重新验证 |
产出质量检查 / Verification Checklist
- 前置依赖已满足(输入文档/数据已收集)
- 核心步骤已全部执行
- 输出文档已生成到
docs/目录 - 每个判断都有数据/证据支撑
- 已推荐 2-3 个后续 skill
⚠️ 任何一项未通过 → 补全后再标记完成。