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>
324 lines
12 KiB
Markdown
324 lines
12 KiB
Markdown
---
|
||
name: wd
|
||
description: 从上游文档生成 DevelopmentPlan.md,包含技术方案和开发排期。
|
||
---
|
||
|
||
# Write DevelopmentPlan
|
||
|
||
> **文档定位**:DevelopmentPlan 是「执行蓝图」文档,偏技术语言和时间约束。定义技术架构、实现方案、开发阶段、里程碑,是开发团队的行动指南。
|
||
|
||
当用户调用 `/wd` 时,执行以下步骤:
|
||
|
||
## 1. 读取源文档
|
||
|
||
读取以下文件:
|
||
|
||
1. `doc/RequirementsDoc.md` - 必须存在
|
||
2. `doc/PRD.md` - 必须存在
|
||
3. `doc/FeatureSummary.md` - 必须存在
|
||
|
||
如果文件不存在,提示用户:
|
||
> 缺少上游文档,请先确保 RequirementsDoc.md、PRD.md 和 FeatureSummary.md 存在。
|
||
|
||
如果已存在 `doc/DevelopmentPlan.md`,同时读取作为参考(保持风格一致)。
|
||
|
||
## 2. 分析开发需求
|
||
|
||
从上游文档中提取以下信息:
|
||
|
||
### 2.1 功能需求
|
||
|
||
- 从 FeatureSummary 获取功能清单和契约
|
||
- 从 PRD 获取功能详情和验收标准
|
||
|
||
### 2.2 技术约束
|
||
|
||
- 从 PRD 获取技术约束
|
||
- 从 RequirementsDoc 获取技术决策
|
||
|
||
### 2.3 优先级排序
|
||
|
||
- 按 P0 → P1 → P2 顺序规划开发
|
||
- 考虑功能依赖关系
|
||
|
||
## 3. 生成 DevelopmentPlan
|
||
|
||
按以下结构生成文档:
|
||
|
||
```markdown
|
||
# {产品名称} - 开发计划
|
||
|
||
## 文档信息
|
||
|
||
| 项目 | 内容 |
|
||
|------|------|
|
||
| 版本 | v1.0 |
|
||
| 创建日期 | {YYYY-MM-DD} |
|
||
| 来源文档 | FeatureSummary.md |
|
||
|
||
## 1. 项目概述
|
||
|
||
### 1.1 项目目标
|
||
|
||
{从 PRD 提取的项目目标}
|
||
|
||
### 1.2 技术栈
|
||
|
||
| 层级 | 技术选型 | 版本 | 说明 |
|
||
|------|----------|------|------|
|
||
| 前端 | {技术} | {版本} | {说明} |
|
||
| 后端 | {技术} | {版本} | {说明} |
|
||
| 数据库 | {技术} | {版本} | {说明} |
|
||
| 基础设施 | {技术} | {版本} | {说明} |
|
||
|
||
### 1.3 开发原则
|
||
|
||
{开发规范和原则}
|
||
|
||
## 2. 技术架构
|
||
|
||
### 2.1 系统架构图
|
||
|
||
**【必须】使用架构图展示系统整体结构:**
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────┐
|
||
│ 客户端层 │
|
||
│ ┌──────────────┐ ┌──────────────┐ │
|
||
│ │ Web App │ │ Mobile App │ │
|
||
│ └──────┬───────┘ └──────┬───────┘ │
|
||
└─────────┼─────────────────┼─────────────────────────────┘
|
||
│ │
|
||
▼ ▼
|
||
┌─────────────────────────────────────────────────────────┐
|
||
│ API 网关层 │
|
||
│ ┌──────────────────────────────────────────────────┐ │
|
||
│ │ API Gateway / Load Balancer │ │
|
||
│ └──────────────────────────────────────────────────┘ │
|
||
└─────────────────────────────────────────────────────────┘
|
||
│
|
||
▼
|
||
┌─────────────────────────────────────────────────────────┐
|
||
│ 服务层 │
|
||
│ ┌────────────┐ ┌────────────┐ ┌────────────┐ │
|
||
│ │ 服务 A │ │ 服务 B │ │ 服务 C │ │
|
||
│ └─────┬──────┘ └─────┬──────┘ └─────┬──────┘ │
|
||
└────────┼───────────────┼───────────────┼────────────────┘
|
||
│ │ │
|
||
▼ ▼ ▼
|
||
┌─────────────────────────────────────────────────────────┐
|
||
│ 数据层 │
|
||
│ ┌────────────┐ ┌────────────┐ ┌────────────┐ │
|
||
│ │ 数据库 │ │ 缓存 │ │ 消息队列 │ │
|
||
│ └────────────┘ └────────────┘ └────────────┘ │
|
||
└─────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
### 2.2 模块依赖图
|
||
|
||
**【必须】使用依赖图展示模块间关系:**
|
||
|
||
```
|
||
┌──────────────┐
|
||
│ 模块 A │
|
||
│ (核心模块) │
|
||
└──────┬───────┘
|
||
│
|
||
┌───┴───┐
|
||
▼ ▼
|
||
┌──────┐ ┌──────┐
|
||
│模块B │ │模块C │
|
||
└──┬───┘ └──┬───┘
|
||
│ │
|
||
▼ ▼
|
||
┌──────────────┐
|
||
│ 模块 D │
|
||
│ (基础设施) │
|
||
└──────────────┘
|
||
```
|
||
|
||
### 2.3 数据流图
|
||
|
||
**【必须】使用数据流图展示关键数据流转:**
|
||
|
||
```
|
||
用户请求 ──▶ API Gateway ──▶ 服务A ──▶ 数据库
|
||
│
|
||
▼
|
||
缓存层
|
||
│
|
||
▼
|
||
服务B ──▶ 外部API
|
||
```
|
||
|
||
## 3. 开发阶段
|
||
|
||
### 3.1 阶段时间线
|
||
|
||
**【必须】使用时间线展示开发阶段:**
|
||
|
||
```
|
||
Phase 1 Phase 2 Phase 3
|
||
│ │ │
|
||
{起止日期} {起止日期} {起止日期}
|
||
│ │ │
|
||
▼ ▼ ▼
|
||
┌─────────┐ ┌─────────┐ ┌─────────┐
|
||
│ 基础 │ ────▶ │ 核心 │ ────▶ │ 优化 │
|
||
│ 架构 │ │ 功能 │ │ 扩展 │
|
||
└─────────┘ └─────────┘ └─────────┘
|
||
|
||
交付物: 交付物: 交付物:
|
||
• {交付1} • {交付1} • {交付1}
|
||
• {交付2} • {交付2} • {交付2}
|
||
```
|
||
|
||
### 3.2 Phase 1: {阶段名称}
|
||
|
||
**目标**: {阶段目标}
|
||
|
||
**时间**: {起止日期}
|
||
|
||
| 任务ID | 任务 | 描述 | 依赖 | 优先级 | 关联功能 |
|
||
|--------|------|------|------|--------|----------|
|
||
| T-001 | {任务名} | {描述} | - | P0 | F-001 |
|
||
| T-002 | {任务名} | {描述} | T-001 | P0 | F-002 |
|
||
|
||
**阶段依赖图:**
|
||
|
||
```
|
||
T-001 ──▶ T-002 ──▶ T-003
|
||
│
|
||
└──▶ T-004
|
||
```
|
||
|
||
{重复以上结构覆盖所有阶段}
|
||
|
||
## 4. 技术方案
|
||
|
||
### 4.1 {模块名称}
|
||
|
||
**功能**: {功能描述}
|
||
|
||
**技术选型**:
|
||
|
||
| 组件 | 技术 | 选型理由 |
|
||
|------|------|----------|
|
||
| {组件} | {技术} | {理由} |
|
||
|
||
**架构设计**:
|
||
|
||
```
|
||
┌─────────────────────────────────────┐
|
||
│ {模块名称} │
|
||
├─────────────────────────────────────┤
|
||
│ ┌─────────┐ ┌─────────┐ │
|
||
│ │ 组件A │ ───▶ │ 组件B │ │
|
||
│ └─────────┘ └─────────┘ │
|
||
│ │ │ │
|
||
│ ▼ ▼ │
|
||
│ ┌─────────────────────────┐ │
|
||
│ │ 数据层 │ │
|
||
│ └─────────────────────────┘ │
|
||
└─────────────────────────────────────┘
|
||
```
|
||
|
||
**接口设计**:
|
||
|
||
| 接口 | 方法 | 路径 | 说明 |
|
||
|------|------|------|------|
|
||
| {接口名} | GET/POST | /api/xxx | {说明} |
|
||
|
||
**实现要点**:
|
||
|
||
- {技术要点1}
|
||
- {技术要点2}
|
||
|
||
{重复以上结构覆盖所有模块}
|
||
|
||
## 5. 风险管理
|
||
|
||
| 风险 | 可能性 | 影响 | 应对措施 | 负责人 |
|
||
|------|--------|------|----------|--------|
|
||
| {风险} | 高/中/低 | 高/中/低 | {措施} | {负责人} |
|
||
|
||
## 6. 里程碑
|
||
|
||
**【必须】使用里程碑图展示关键节点:**
|
||
|
||
```
|
||
M1 M2 M3 M4
|
||
│ │ │ │
|
||
▼ ▼ ▼ ▼
|
||
◆───────────────◆───────────────◆───────────────◆
|
||
│ │ │ │
|
||
{日期} {日期} {日期} {日期}
|
||
{里程碑名} {里程碑名} {里程碑名} {里程碑名}
|
||
```
|
||
|
||
| 里程碑 | 日期 | 目标 | 交付物 | 验收标准 |
|
||
|--------|------|------|--------|----------|
|
||
| M1 | {日期} | {目标} | {交付物} | {标准} |
|
||
|
||
## 7. 资源需求
|
||
|
||
| 角色 | 人数 | 职责 | 参与阶段 |
|
||
|------|------|------|----------|
|
||
| {角色} | {人数} | {职责} | Phase 1-2 |
|
||
```
|
||
|
||
## 4. 保存文档
|
||
|
||
将生成的 DevelopmentPlan 保存到 `doc/DevelopmentPlan.md`。
|
||
|
||
如果文件已存在,覆盖原文件(历史版本通过 git 追溯)。
|
||
|
||
## 5. 输出摘要
|
||
|
||
向用户展示生成摘要:
|
||
|
||
- DevelopmentPlan 文件路径
|
||
- 开发阶段数量
|
||
- 技术方案模块数量
|
||
- 建议的下一步操作(运行 `/rd` 评审)
|
||
|
||
---
|
||
|
||
## 可视化输出要求
|
||
|
||
DevelopmentPlan 作为「执行蓝图」文档,需要清晰传达技术方案和时间安排,**必须包含**:
|
||
|
||
| 章节 | 可视化形式 | 必要性 |
|
||
|------|------------|--------|
|
||
| 2.1 系统架构图 | 架构图(ASCII) | **必须** |
|
||
| 2.2 模块依赖图 | 依赖图(ASCII) | **必须** |
|
||
| 2.3 数据流图 | 数据流图(ASCII) | **必须** |
|
||
| 3.1 阶段时间线 | 时间线(ASCII) | **必须** |
|
||
| 3.x 阶段依赖图 | 任务依赖图 | **必须** |
|
||
| 4.x 模块架构 | 模块架构图 | 建议 |
|
||
| 6. 里程碑 | 里程碑图 | **必须** |
|
||
|
||
## 注意事项
|
||
|
||
- DevelopmentPlan 使用**技术语言**,面向开发团队
|
||
- 开发计划必须覆盖 FeatureSummary 所有功能
|
||
- 技术方案要具体可执行,避免过于抽象
|
||
- 阶段划分要合理,考虑依赖关系
|
||
- 时间安排要务实,预留缓冲
|
||
- 风险评估要全面,有应对措施
|
||
|
||
## 质量检查
|
||
|
||
生成 DevelopmentPlan 后,自查以下项目:
|
||
|
||
- [ ] 覆盖 FeatureSummary 所有功能
|
||
- [ ] **系统架构图清晰展示整体结构**
|
||
- [ ] **模块依赖图清晰展示依赖关系**
|
||
- [ ] **数据流图展示关键数据流转**
|
||
- [ ] **开发阶段有时间线图**
|
||
- [ ] **每个阶段有任务依赖图**
|
||
- [ ] **里程碑有里程碑图**
|
||
- [ ] 技术方案具体可执行
|
||
- [ ] 任务 ID 唯一(T-xxx)
|
||
- [ ] 任务与功能 ID 关联
|