110-requirement-planning

star 1

软件需求规划技能,通过启发式访谈将用户想法转化为PRD。当用户需要:(1)规划新产品或梳理功能范围, (2)编写PRD文档, (3)设计业务流程和站点地图时触发。

axeon By axeon schedule Updated 6/14/2026

name: 110-requirement-planning description: 软件需求规划技能,通过启发式访谈将用户想法转化为PRD。当用户需要:(1)规划新产品或梳理功能范围, (2)编写PRD文档, (3)设计业务流程和站点地图时触发。 alwaysApply: false author: "axeon(23231269@qq.com)" version: "2.0.0"

需求规划

项目环境检测

从当前目录向上查找 project-info.md,最多 3 层,找到后记为 PROJECT_ROOT。详见 检测方法与前置检查未找到 → 提示用户先执行 0-init

核心原则

原则 说明
不假设,只验证 每一个需求点都必须经过用户确认,从不凭空推测
深入背景 通过 5 层 Why 挖掘真实业务痛点,而非表面需求
启发式引导 使用类比、场景推演、反向思考激发用户思考
反复澄清 功能模块至少经过概念→边界→细节 3 轮确认
用户中心 每个功能必须映射到具体用户故事和使用场景

需求三层模型

需求存在三个层次,各司其职:

层次 领域模块 前端M(一级菜单) 前端P(页面组)
关注点 系统做什么 用户在哪里找到功能 用户看到和操作什么
内容 业务逻辑、规则、跨端交互、状态流转 导航结构、菜单分组 线框图、交互流程、页面状态
指导 后端开发+数据库设计 前端导航架构 前端页面开发
编号 domains/M01 M01-{name}/ M01P01-{name}.md

三层之间的关系

关系 说明
多个前端M可能对应同一个领域M guest的"M01-社区"和saas的"M02-社区管理"都对应领域M的"M06-社区与内容"
一个前端M下包含多个P saas的"M03-POI管理"下有M03P01-POI管理、M03P02-目的地管理
前端P文档的数据需求引用领域M 前端P只描述"要什么数据",领域M描述"业务规则和数据约束"
领域M整合所有前端对同一业务领域的需求 后端开发者只看domains/即可理解完整业务

前后端编号独立:前端M按导航结构编号,领域M按业务领域编号,通过映射表关联。

触发检查

检查 PROJECT_ROOT/project-info.md 是否存在

条件 操作
PROJECT_ROOT/project-info.md 存在 读取文件内容,执行 Phase 1 需求访谈与澄清
PROJECT_ROOT/project-info.md 不存在 跳转执行 0-init,初始化完成后自动回到 110-requirement-planning 继续执行

跳转 0-init 时的信息传递: 告知 0-init 当前是从 110-requirement-planning 跳转而来,0-init 完成初始化后应自动触发回到 110-requirement-planning

角色职责

角色 职责 智能体
主导 需求规划 product-manager
协作 技术可行性 system-architect
协作 验收标准 test-engineer
协作 工期评估 project-manager

规划流程

Phase 1: 需求访谈与澄清(必须首先完成)

在编写任何文档之前,必须通过多轮启发式访谈与用户充分澄清需求细节。访谈执行原则:逐轮推进、确认理解、启发式追问、记录决策、用户确认。详见 访谈原则

各阶段详细执行方法:1.1-1.6 每个阶段的详细提问清单、话术示例、检查清单见 访谈指南

访谈执行原则(全局要求)

原则 执行方式
逐题提问 每次只问一个问题,等待用户回答后再问下一个,禁止一次性列出所有问题
使用选择框 必须使用 AskUserQuestion 工具呈现可点击的选择框,禁止纯文本列出选项让用户手工录入
逐轮推进 每轮聚焦1个层次,完成当前阶段后再进入下一阶段
一步一确认 每个步骤、每个模块、每个问题都需单独确认,禁止批量确认

重要:以上原则是全局要求,适用于所有阶段(1.1-1.6)。详细的访谈原则、追问策略和执行方式见 访谈指南

提问方式规范

所有访谈问题必须使用 AskUserQuestion 工具,参数要求:question(问题内容)、header(≤12字符)、options(3-5个可点击选项)、multiSelect(true/false)。工具自带"Other"选项供自由录入。

访谈框架(6个阶段)

1.1 项目背景访谈(Discovery)

目标:理解业务上下文、成功标准和约束条件。6个核心问题逐个提出。

1.2 需求探索与头脑风暴(Brainstorming)

目标:在理解背景后、锁定需求前,主动探索产品可能性。

环节 产出
用户场景扩展 典型+边缘场景清单
竞品功能映射 竞品功能对比表
SCAMPER 发散 3-8个创新功能创意
技术赋能探索 技术驱动功能清单
架构能力识别 UniWeb/SaaS 已支持能力清单(标注无需设计)
功能汇总归类 Must/Should/Could 功能清单

架构能力识别:基于 UniWeb + SaaS 技术栈,识别需求中已被架构覆盖的功能。展示格式和完整清单见 访谈指南

1.3 产品架构规划(Architecture)

用户角色和终端平台是 N:N 关系。先确定角色,再为每个角色选择平台。详见 role-platform-matrix.md

步骤 确认项
第一步 用户角色
第二步 终端平台
第三步 项目清单(含后端 {project-name}
第四步 模块划分与优先级(含依赖确认)
第五步 非功能需求

1.4 站点地图与页面规划(Sitemap & Pages)

目标:将模块功能映射为用户可见的页面结构,确定完整的站点地图、页面层级和导航关系。

仅对前端项目执行,后端项目不参与本阶段。

步骤 确认项 产出
第一步 导航结构 全局导航图
第二步 站点地图(完整页面层级树) 页面清单+层级关系
第三步 前端M→领域M映射 映射表
第四步 页面间跳转关系 页面流转图
第五步 用户确认 确认的站点地图

门控规则:站点地图未确认前,禁止进入1.5需求澄清阶段。

详细执行步骤、展示格式和检查清单见 访谈指南

1.5 需求澄清与验证(Clarification & Verification)

从按模块澄清改为按页面澄清,每个页面的澄清覆盖其包含的所有模块功能。仅对前端项目执行。

执行规则 说明
执行顺序 P0前端项目 → P1前端项目
执行粒度 一次聚焦一个页面,按1.4确认的页面清单逐一澄清
页面覆盖 每个页面的澄清必须覆盖其包含的所有模块功能
同角色复用 同一角色的用户故事仅澄清一次,后续项目复用

每个页面7步法:页面定位 → 页面元素 → 交互流程 → 异常路径 → 状态设计 → 线框图(强制) → 复述验证。

详细执行步骤、提问模板和检查清单见 访谈指南

流程裁剪规则

根据项目复杂度自动简化访谈流程。详见 流程裁剪规则

1.6 汇总确认(Final Confirmation)

将所有访谈信息整合为完整汇总文档,向用户提出最终确认三问,全部通过后才允许进入文档编写。

访谈检查清单(1.6最终门控)

所有访谈结束后,对照以下清单确认是否可以进入文档编写:

基础检查(1.1-1.3):

  • 项目背景和触发因素已明确
  • 成功指标已量化
  • 目标用户和角色已定义(含用户故事)
  • 用户角色和终端平台已确认
  • 项目清单已确认
  • 模块划分与优先级已确认
  • 架构已支持能力已识别

站点地图检查(1.4):

  • 全局导航结构已确认(Tab/侧边栏/浮动按钮)
  • 完整页面清单已列出(含Tab主页、子页面、弹窗/浮层)
  • 前端M→领域M映射表已完成
  • 页面间跳转关系已描述
  • 用户已确认完整站点地图

需求澄清检查(1.5):

  • 每个页面的定位和核心使命已明确
  • 每个页面的元素和布局已描述
  • 每个页面的交互流程已说明
  • 每个页面的异常路径已覆盖(操作失败、超时、冲突)
  • 每个页面的状态设计已完成
  • 每个页面有线框图(强制)
  • 页面间导航和用户体验连贯性已验证
  • 用户已复述确认所有页面需求

任一项未完成,不得进入文档编写阶段。

完整清单、追问策略和示例对话见 访谈指南

访谈记录保存

Phase 1全部完成后(1.6汇总确认通过)统一保存一份完整的访谈记录

保存路径、命名规则和模板详见 访谈记录模板

Phase 2: PRD文档编写

访谈完成且用户确认后,进入文档编写阶段。

输出范围限制(重要)

需求阶段只输出产品需求文档(PRD),不输出技术设计文档

禁止输出 说明 正确阶段
❌ 数据模型文档 data-model.md 设计阶段 (200-database-design)
❌ 数据库设计 database-schema.md 设计阶段 (200-database-design)
❌ API可行性评估 api-feasibility.md 开发阶段 (210-java-uniweb-dev)
❌ 性能架构方案 performance-architecture.md 开发阶段 (210-java-uniweb-dev)
❌ 技术选型文档 tech-stack.md 开发阶段 (210-java-uniweb-dev)

PRD文档结构(三层)

文档职责边界

文档类型 职责范围 不包含
前端P文档 展示什么、怎么交互、什么状态、需要什么数据 不描述业务规则(引用领域M文档)
领域M文档 业务规则、跨端交互、状态流转、权限、并发约束 不描述页面布局和交互细节;不定义字段、表结构、API
根README 项目总览,唯一汇总文档,包含所有项目信息 不重复各子文档细节

产出结构

prds/
├── README.md                # 项目总览(唯一汇总文档,包含所有项目信息)
├── domains/                 # 业务领域(整合多端共享的业务对象和规则)
│   └── M{seq}-{name}.md    # 领域模块文档
├── {role}-{platform}/            # 前端项目
│   └── M{seq}-{name}/       # 一级菜单/功能组
│       └── M{seq}P{seq}-{name}.md  # 页面组文档
└── reviews/

文档内容要求

前端页面组文档(M{seq}P{seq}-{name}.md) 必须包含:

章节 说明 强制
页面定位 所属菜单、页面类型、核心使命
页面元素 按视图自包含组织的ASCII线框图 + 区域说明
交互说明 用户操作→系统响应的完整表格
异常路径 操作失败、超时、冲突等异常场景
页面状态 空状态/加载/正常/异常
数据需求 页面需要的数据,引用领域M文档
前置条件 进入页面的前提
响应式说明 多端适配差异(仅多端项目) 条件

领域模块文档(domains/M{seq}-{name}.md) 必须包含:

章节 说明 强制
模块概述 核心职责和业务边界
需求来源 该模块的需求来自哪些前端页面
核心业务对象 业务概念、归属关系、量级、唯一性、生命周期
对象关系 对象间的1:1/1:N/N:M关系,含跨模块引用
功能列表 整合多端的同类功能
业务规则 核心规则、边界条件
跨端交互 多端之间的联动行为 条件(有多端联动时)
状态流转 状态机或状态变更 条件(有状态时)
并发约束 并发控制要求(只描述业务约束) 条件(有并发场景时)
权限规则 各角色的操作权限
依赖模块 与其他模块的依赖关系

重要:领域模块文档描述"业务上存在什么概念及其关系",不定义字段、类型、表结构、API路径、技术选型。这些属于技术设计阶段的工作。

根目录 README.md 必须包含以下章节,按顺序排列:

章节 层级 说明
概述 ## 项目名称、核心价值、核心能力
项目背景 ## 触发因素、现有方案、核心痛点
成功指标 ## 量化指标表
目标用户 ## 角色-用户-平台表
核心价值 ## 各角色一句话价值
用户故事 ## 按角色分组
业务领域 ## 下含 ### 领域模块(模块清单表)+ ### 交互流程(Mermaid时序图,participant使用具体模块名)
{角色名}{平台名}端 ## 每个端包含三个 ### 子节:### 功能模块(页面表格按一级菜单分组)、### 领域映射(前端M→领域M映射表)、### 验收标准(验收项表)
功能模块 ## Must/Should/Could/Won't 功能范围表
非功能需求 ## 性能、兼容性、安全要求
架构已支持能力 ## UniWeb+SaaS 已有能力清单
业务约束 ## 外部依赖等约束

重要### 领域模块 必须在 ### 交互流程 上面。交互流程的时序图中 participant 必须使用具体模块名(如 M01-用户与认证),禁止使用模糊的"业务领域"。

交互流程设计规范

规则 说明
核心领域必须有流程图 涉及用户核心价值链的领域(如行程管理、订单支付)必须有交互流程图,无论是否跨端
跨端联动必须有流程图 多端之间存在数据同步、状态联动、审批流转等行为时必须有流程图
单端核心流程也要覆盖 即使只有单端参与,只要涉及多步骤状态流转(如行程的创建→预订→执行→完成),也需要流程图
流程图需完整覆盖业务链路 流程图应覆盖从触发到完成的完整业务链路,不截断。如行程流程应包含创建→预订→执行→分享
participant 使用具体模块名 时序图中 participant 必须写具体模块名(如 M02-行程管理),涉及跨模块协作时列出所有相关模块

PRD模板 编写。

⚠️ 完成验证(强制,全自动执行)

开发工作完成后,立即按以下顺序自动执行

  1. 强制调用 111-requirement-review
  2. 如果评审不通过(< 95),自动修复问题,然后回到步骤 1(最多 5 轮)
  3. 直到评审通过(≥ 95),才向用户报告最终结果

此流程全自动执行:中间不暂停、不询问、不汇报。 未收到通过确认前,禁止结束本技能任务。

输出要求

语言要求: 所有输出文档必须使用中文编写(包括PRD、访谈记录、评审报告等)

输出位置: PROJECT_ROOT/requirement/prds/

目录结构: 详见 目录结构

参考

  • 访谈指南 - 启发式提问策略、苏格拉底式追问和示例对话
  • PRD模板 - 需求文档模板(含页面文档模板和模块文档模板)
  • 需求评审技能 - REVIEW评审技能
Install via CLI
npx skills add https://github.com/axeon/uw-spec --skill 110-requirement-planning
Repository Details
star Stars 1
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator