Skills included: - Review (6): rr, rp, rf, rd, ru, rt - Write (5): wp, wf, wd, wu, wt - Modify (6): mr, mp, mf, md, mu, mt - Utils (2): iter, up Supports complete document lifecycle: RequirementsDoc → PRD → FeatureSummary → DevelopmentPlan → UIDesign → tasks Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
235 lines
7.0 KiB
Markdown
235 lines
7.0 KiB
Markdown
---
|
||
name: wf
|
||
description: 从 RequirementsDoc.md 和 PRD.md 生成 FeatureSummary.md,提供功能全貌概览。
|
||
---
|
||
|
||
# Write FeatureSummary
|
||
|
||
> **文档定位**:FeatureSummary 是「功能契约」文档,是产品与开发的桥梁。精确定义功能边界、输入输出、依赖关系,确保双方对"做什么"达成共识。
|
||
|
||
当用户调用 `/wf` 时,执行以下步骤:
|
||
|
||
## 1. 读取源文档
|
||
|
||
读取以下文件:
|
||
|
||
1. `doc/RequirementsDoc.md` - 必须存在
|
||
2. `doc/PRD.md` - 必须存在
|
||
|
||
如果文件不存在,提示用户:
|
||
> 缺少上游文档,请先确保 RequirementsDoc.md 和 PRD.md 存在。
|
||
|
||
如果已存在 `doc/FeatureSummary.md`,同时读取作为参考(保持风格一致)。
|
||
|
||
## 2. 分析功能需求
|
||
|
||
从 PRD 中提取以下信息:
|
||
|
||
### 2.1 功能模块
|
||
|
||
- 从 PRD 3.1 功能架构提取模块结构
|
||
- 从 PRD 3.2 功能详情提取各模块功能点
|
||
|
||
### 2.2 功能分类
|
||
|
||
按以下维度整理功能:
|
||
|
||
- 按模块分组
|
||
- 按优先级标注(P0/P1/P2)
|
||
- 按用户角色关联
|
||
|
||
### 2.3 功能边界
|
||
|
||
明确每个功能的:
|
||
|
||
- 输入:触发条件、输入数据
|
||
- 输出:预期结果、输出数据
|
||
- 边界:不包含什么、异常情况
|
||
|
||
## 3. 生成 FeatureSummary
|
||
|
||
按以下结构生成文档:
|
||
|
||
```markdown
|
||
# {产品名称} - 功能摘要
|
||
|
||
## 文档信息
|
||
|
||
| 项目 | 内容 |
|
||
|------|------|
|
||
| 版本 | v1.0 |
|
||
| 创建日期 | {YYYY-MM-DD} |
|
||
| 来源文档 | PRD.md |
|
||
|
||
## 1. 功能总览
|
||
|
||
### 1.1 功能统计
|
||
|
||
| 类别 | 数量 |
|
||
|------|------|
|
||
| 功能模块 | X 个 |
|
||
| P0 功能 | X 个 |
|
||
| P1 功能 | X 个 |
|
||
| P2 功能 | X 个 |
|
||
|
||
### 1.2 功能架构图
|
||
|
||
**【必须】使用模块图展示功能架构和模块关系:**
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────┐
|
||
│ {产品名称} │
|
||
├─────────────────────────────────────────────────┤
|
||
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
|
||
│ │ 模块A │ │ 模块B │ │ 模块C │ │
|
||
│ │ ──────── │ │ ──────── │ │ ──────── │ │
|
||
│ │ • 功能1 │ │ • 功能1 │ │ • 功能1 │ │
|
||
│ │ • 功能2 │ │ • 功能2 │ │ │ │
|
||
│ └──────────┘ └──────────┘ └──────────┘ │
|
||
└─────────────────────────────────────────────────┘
|
||
```
|
||
|
||
### 1.3 模块依赖关系
|
||
|
||
**【必须】使用依赖图展示模块间关系:**
|
||
|
||
```
|
||
┌──────────┐
|
||
│ 模块A │
|
||
└────┬─────┘
|
||
│ 依赖
|
||
▼
|
||
┌──────────┐ ┌──────────┐
|
||
│ 模块B │ ◀── │ 模块C │
|
||
└──────────┘ └──────────┘
|
||
```
|
||
|
||
## 2. 功能清单
|
||
|
||
### 2.1 {模块名称}
|
||
|
||
**模块职责**: {一句话描述模块职责}
|
||
|
||
#### 功能列表
|
||
|
||
| ID | 功能 | 描述 | 优先级 | 关联用户故事 |
|
||
|----|------|------|--------|--------------|
|
||
| F-001 | {功能名} | {简要描述} | P0 | US-xxx |
|
||
|
||
#### 功能契约详情
|
||
|
||
**F-001: {功能名}**
|
||
|
||
| 契约项 | 说明 |
|
||
|--------|------|
|
||
| **触发条件** | {什么情况下触发此功能} |
|
||
| **输入** | {输入数据/参数} |
|
||
| **处理逻辑** | {核心处理步骤} |
|
||
| **输出** | {输出结果/返回值} |
|
||
| **异常情况** | {可能的错误及处理} |
|
||
| **边界说明** | {不包含什么、限制条件} |
|
||
|
||
{重复以上结构覆盖所有功能}
|
||
|
||
{重复以上结构覆盖所有模块}
|
||
|
||
## 3. 功能依赖矩阵
|
||
|
||
**【必须】使用矩阵表格展示功能间依赖:**
|
||
|
||
| 功能 | 依赖 F-001 | 依赖 F-002 | 依赖 F-003 |
|
||
|------|------------|------------|------------|
|
||
| F-001 | - | | |
|
||
| F-002 | ✓ | - | |
|
||
| F-003 | | ✓ | - |
|
||
|
||
说明:
|
||
- ✓ 表示行功能依赖列功能
|
||
- 空白表示无依赖
|
||
|
||
## 4. 功能流程图
|
||
|
||
**【必须】使用流程图展示核心功能流程:**
|
||
|
||
### 4.1 {核心流程名称}
|
||
|
||
```
|
||
┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐
|
||
│ F-001 │ ──▶ │ F-002 │ ──▶ │ F-003 │ ──▶ │ 完成 │
|
||
│ {功能} │ │ {功能} │ │ {功能} │ │ │
|
||
└─────────┘ └─────────┘ └─────────┘ └─────────┘
|
||
│
|
||
▼ 异常
|
||
┌─────────┐
|
||
│ 错误处理 │
|
||
└─────────┘
|
||
```
|
||
|
||
## 5. 版本规划
|
||
|
||
| 版本 | 包含功能 | 功能ID | 目标 |
|
||
|------|----------|--------|------|
|
||
| MVP | {功能列表} | F-001, F-002 | {目标} |
|
||
| v1.1 | {功能列表} | F-003, F-004 | {目标} |
|
||
| v2.0 | {功能列表} | F-005+ | {目标} |
|
||
|
||
## 6. 接口契约预览
|
||
|
||
> 详细接口定义在 DevelopmentPlan 中,此处仅列出关键接口
|
||
|
||
| 功能 | 接口类型 | 简要说明 |
|
||
|------|----------|----------|
|
||
| F-001 | API | {说明} |
|
||
| F-002 | Event | {说明} |
|
||
```
|
||
|
||
## 4. 保存文档
|
||
|
||
将生成的 FeatureSummary 保存到 `doc/FeatureSummary.md`。
|
||
|
||
如果文件已存在,覆盖原文件(历史版本通过 git 追溯)。
|
||
|
||
## 5. 输出摘要
|
||
|
||
向用户展示生成摘要:
|
||
|
||
- FeatureSummary 文件路径
|
||
- 功能模块数量
|
||
- 各优先级功能数量
|
||
- 建议的下一步操作(运行 `/rf` 评审)
|
||
|
||
---
|
||
|
||
## 可视化输出要求
|
||
|
||
FeatureSummary 作为「功能契约」文档,需要精确传达功能定义,**必须包含**:
|
||
|
||
| 章节 | 可视化形式 | 必要性 |
|
||
|------|------------|--------|
|
||
| 1.2 功能架构图 | 模块图(ASCII) | **必须** |
|
||
| 1.3 模块依赖关系 | 依赖图(ASCII) | **必须** |
|
||
| 3. 功能依赖矩阵 | 矩阵表格 | **必须** |
|
||
| 4. 功能流程图 | 流程图(ASCII) | **必须** |
|
||
|
||
## 注意事项
|
||
|
||
- FeatureSummary 是产品与开发的**桥梁**,语言要精确、无歧义
|
||
- 功能摘要必须完全来源于 PRD,不要臆造功能
|
||
- 每个功能必须有明确的**输入、输出、边界**
|
||
- 功能 ID 必须唯一(F-xxx 格式)
|
||
- 优先级必须与 PRD 一致
|
||
- 功能依赖关系必须明确,避免循环依赖
|
||
|
||
## 质量检查
|
||
|
||
生成 FeatureSummary 后,自查以下项目:
|
||
|
||
- [ ] 所有功能都有唯一 ID(F-xxx)
|
||
- [ ] 所有功能都有契约详情(输入/输出/边界)
|
||
- [ ] **功能架构图清晰展示模块结构**
|
||
- [ ] **模块依赖图清晰展示依赖关系**
|
||
- [ ] **功能依赖矩阵完整**
|
||
- [ ] **核心流程有流程图**
|
||
- [ ] 优先级与 PRD 一致
|
||
- [ ] 无遗漏 PRD 中的功能
|