Planning - 实施规划与步骤分解
前置协议
强制触发规则
触发时机:prompt-enhancer 完成需求细化后(强制)
触发条件:
- ✅ 已有明确的需求和方案
- ✅ 需要实施规划和步骤分解
- ✅ 复杂任务(需要多个步骤完成)
例外情况:
依赖检查
前置依赖:prompt-enhancer
检查内容:
- 检查工件文件:
memory/artifacts/prompt-enhancer/ - 确认已有明确的需求和选定方案
- 如果无前置工件,需先执行 prompt-enhancer
与 goal-oriented 的协作
触发来源:goal-oriented skill 强制调用
触发流程:
goal-oriented 创建目标
↓
调用 prompt-enhancer(需求细化)
↓
生成需求方案工件
↓
调用 planning(实施规划)
↓
读取需求方案工件 → 生成实施计划 → plan-review
↓
生成实施计划工件
↓
传递给 execution 阶段
↓
任务完成后 → experience-manager 经验沉淀
工件接收:
- goal-oriented 会写入工件到
memory/artifacts/prompt-enhancer/ - planning 自动检测并读取最新工件
工件传递机制
输入工件(来自 prompt-enhancer)
工件路径: memory/artifacts/prompt-enhancer/result-{timestamp}.json
工件格式:
json
{
"skill": "prompt-enhancer",
"version": "2.0.0",
"requirement": {
"original": "用户原始需求",
"refined": {
"type": "功能开发|重构|优化",
"core_features": ["功能1", "功能2"],
"target_users": "目标用户",
"platform": "平台",
"tech_stack": ["技术1", "技术2"],
"success_criteria": ["标准1", "标准2"],
"timeline": "时间线"
}
},
"solution": {
"selected": "选定方案",
"reasons": ["理由1", "理由2"],
"alternatives": [
{
"name": "备选方案1",
"pros": ["优势"],
"cons": ["劣势"]
}
]
}
}
读取方式:
bash
# 自动检测最新的 prompt-enhancer 工件
PROMPT_ENHANCER_ARTIFACT=$(ls -t memory/artifacts/prompt-enhancer/*.json | grep -v latest.json | head -1)
if [ -n "$PROMPT_ENHANCER_ARTIFACT" ]; then
echo "✅ Found prompt-enhancer artifact: $PROMPT_ENHANCER_ARTIFACT"
# Read artifact content using Read tool
else
echo "❌ No prompt-enhancer artifact found"
echo "⚠️ Must execute prompt-enhancer before planning"
fi
输出工件(传递给后续技能)
工件路径: memory/artifacts/planning/result-{timestamp}.json
工件格式: 见 "步骤8:生成工件"
传递机制:
- 创建工件文件
- 创建 latest.json 符号链接
- 后续技能可自动检测 latest.json
Overview
planning 是强制前置技能,负责实施规划和步骤分解。将明确的需求和方案转化为可执行的实施计划,通过 plan-review 确保计划可行,降低执行风险。
核心能力:
- 步骤分解:将需求分解为可执行步骤
- 依赖识别:识别步骤间的依赖关系
- 资源规划:明确所需资源和时间
- 风险评估:识别潜在风险和应对措施
- plan-review:用户确认实施计划
核心原则:谋定后动,规划先行。好的计划是成功的一半。
关键价值:
- 明确执行路径,避免盲目行动
- 识别依赖关系,合理安排顺序
- 提前评估风险,准备应对措施
- 用户确认计划,确保理解一致
When to Use
强制使用场景:
- prompt-enhancer 完成后
- 需求已明确,方案已选定
- 任务需要多个步骤完成
不使用场景:
- 简单任务(单步即可完成)
- 用户明确表示"直接开始"
- 已有详细的实施计划
The Process
dot
digraph planning_process {
rankdir=TB;
"接收需求方案工件" [shape=box, style=filled, fillcolor="#c8e6c9"];
"步骤分解" [shape=box, style=filled, fillcolor="#bbdefb"];
"依赖识别" [shape=box, style=filled, fillcolor="#fff9c4"];
"资源规划" [shape=box, style=filled, fillcolor="#ff9800"];
"风险评估" [shape=box, style=filled, fillcolor="#ff9800"];
"生成实施计划" [shape=box, style=filled, fillcolor="#f8bbd0"];
"plan-review" [shape=diamond, style=filled, fillcolor="#e1bee7"];
"用户确认" [shape=diamond, style=filled, fillcolor="#e1bee7"];
"调整计划" [shape=box, style=filled, fillcolor="#f8bbd0"];
"生成工件" [shape=box, style=filled, fillcolor="#81c784"];
"传递给执行技能" [shape=doublecircle, style=filled, fillcolor="#81c784"];
"接收需求方案工件" -> "步骤分解";
"步骤分解" -> "依赖识别";
"依赖识别" -> "资源规划";
"资源规划" -> "风险评估";
"风险评估" -> "生成实施计划";
"生成实施计划" -> "plan-review";
"plan-review" -> "用户确认";
"用户确认" -> "调整计划" [label="需调整"];
"用户确认" -> "生成工件" [label="确认"];
"调整计划" -> "生成实施计划";
"生成工件" -> "传递给执行技能";
}
步骤1:接收需求方案工件
从前置技能 prompt-enhancer 读取工件:
json
// memory/artifacts/prompt-enhancer/result-{timestamp}.json
{
"requirement": {
"original": "做一个用户认证功能",
"refined": { ... }
},
"solution": {
"selected": "方案2:微信云开发",
"reasons": [ ... ]
}
}
步骤2:步骤分解
将需求分解为可执行的实施步骤
分解原则
MECE原则:相互独立,完全穷尽
粒度控制:
- 每个步骤可在 0.5-2 天内完成
- 步骤不过细(避免过度规划)
- 步骤不过粗(避免模糊不清)
分解方法
方法1:按功能模块分解
用户认证功能
├─ 注册模块
│ ├─ 步骤1:实现手机验证码发送
│ └─ 步骤2:实现注册流程
├─ 登录模块
│ ├─ 步骤3:实现手机验证码登录
│ └─ 步骤4:实现微信OAuth
└─ 找回密码模块
└─ 步骤5:实现找回密码流程
方法2:按时间顺序分解
Week 1: 基础功能
├─ Day 1-2:环境配置 + 验证码发送
├─ Day 3-4:注册登录流程
└─ Day 5:找回密码
Week 2: 优化测试
├─ Day 1-2:测试与Bug修复
├─ Day 3-4:性能优化
└─ Day 5:上线准备
方法3:按技术层次分解
前端
├─ 步骤1:登录UI组件
├─ 步骤2:表单验证
└─ 步骤3:API对接
后端
├─ 步骤4:云函数开发
├─ 步骤5:数据库设计
└─ 步骤6:第三方集成
步骤3:依赖识别
识别步骤间的依赖关系
依赖类型
| 依赖类型 | 说明 | 示例 | |
|---|
| 强依赖 | 必须先完成前置步骤 | 注册 → 登录 | |
| 弱依赖 | 最好先完成,但可并行 | UI设计 ↔ API设计 | |
| 无依赖 | 可独立执行 | 文档编写 | |
依赖图示例
步骤1:环境配置
↓
步骤2:验证码发送
↓
┌─────────┴─────────┐
↓ ↓
步骤3:注册流程 步骤4:登录流程
↓ ↓
└─────────┬─────────┘
↓
步骤5:找回密码
↓
步骤6:测试上线
步骤4:资源规划
明确每个步骤所需的资源
资源维度
人力资源:
- 谁来执行?(前端、后端、测试)
- 需要多少人?
- 是否需要协作?
时间资源:
技术资源:
- 需要什么技术栈?
- 是否需要第三方服务?
- 是否需要新工具?
资金资源:
资源规划表
| 步骤 | 人员 | 时间 | 技术 | 成本 | |
|---|
| 环境配置 | 1人 | 0.5天 | 微信开发者工具 | 无 | |
| 验证码发送 | 1人 | 1天 | 阿里云短信服务 | ~¥0.05/条 | |
| 注册流程 | 1人 | 2天 | 云开发、云函数 | 无 | |
| 登录流程 | 1人 | 2天 | OAuth、JWT | 无 | |
| 找回密码 | 1人 | 1天 | - | 无 | |
| 测试上线 | 1人 | 1.5天 | - | 无 | |
步骤5:风险评估
识别潜在风险和应对措施
风险类型
| 风险类型 | 风险描述 | 概率 | 影响 | 应对措施 | |
|---|
| 技术风险 | 微信OAuth集成复杂度 | 中 | 高 | 提前研究文档,预留buffer | |
| 时间风险 | 短信服务审核时间 | 高 | 中 | 提前申请,准备备选方案 | |
| 成本风险 | 短信费用超预算 | 低 | 低 | 设置发送频率限制 | |
| 集成风险 | 现有系统对接困难 | 中 | 高 | 优先调研现有系统接口 | |
风险矩阵
影响 ↑
高 │ [OAuth集成] [系统对接]
│ 中风险 高风险
中 │ [审核时间] [成本超支]
│ 中风险 低风险
低 │
└──────────────────────→ 概率
低 中 高
步骤6:生成实施计划
整合所有内容,生成完整的实施计划
实施计划模板
markdown
# 实施计划
## 基本信息
-**项目名称**: 用户认证系统
-**目标**: 实现注册、登录、找回密码功能
-**时间线**: 2周(10个工作日)
-**团队**: 1人(全栈)
---
## 实施步骤
### Phase 1: 环境准备(Day 1)
#### 步骤1:环境配置
**目标**: 搭建开发环境
**任务**:
-[ ] 创建微信小程序项目
-[ ] 配置云开发环境
-[ ] 初始化云数据库
-[ ] 配置项目目录结构
**产出**:
-可运行的云开发项目框架
-数据库表结构
**依赖**: 无
**风险**: 无
---
### Phase 2: 核心功能(Day 2-6)
#### 步骤2:验证码发送(Day 2)
**目标**: 实现手机验证码发送功能
**任务**:
-[ ] 申请阿里云短信服务
-[ ] 开发云函数:send-code
-[ ] 前端调用接口
-[ ] 测试验证码发送
**产出**:
-send-code 云函数
-前端调用封装
**依赖**: 步骤1
**风险**: 短信服务审核(应对:提前申请)
---
#### 步骤3:注册流程(Day 3-4)
**目标**: 实现用户注册功能
**任务**:
-[ ] 设计注册UI(手机号、验证码、密码)
-[ ] 开发云函数:register
-[ ] 表单验证逻辑
-[ ] 数据存储
-[ ] 测试注册流程
**产出**:
-注册页面
-register 云函数
-用户数据表
**依赖**: 步骤2
**风险**: 无
---
#### 步骤4:登录流程(Day 5-6)
**目标**: 实现手机验证码和微信OAuth登录
**任务**:
-[ ] 设计登录UI
-[ ] 开发云函数:login(验证码登录)
-[ ] 开发云函数:wechat-login(OAuth)
-[ ] Token生成与存储
-[ ] 测试登录流程
**产出**:
-登录页面
-login 和 wechat-login 云函数
-Token管理
**依赖**: 步骤3
**风险**: 微信OAuth集成复杂度(应对:预留buffer)
---
### Phase 3: 补充功能(Day 7-8)
#### 步骤5:找回密码(Day 7-8)
**目标**: 实现找回密码功能
**任务**:
-[ ] 设计找回密码UI
-[ ] 开发云函数:reset-password
-[ ] 验证码验证
-[ ] 密码重置逻辑
-[ ] 测试找回密码流程
**产出**:
-找回密码页面
-reset-password 云函数
**依赖**: 步骤2
**风险**: 无
---
### Phase 4: 测试上线(Day 9-10)
#### 步骤6:测试与优化(Day 9)
**目标**: 全面测试,修复Bug
**任务**:
-[ ] 功能测试(注册、登录、找回密码)
-[ ] 边界测试(验证码过期、错误处理)
-[ ] 性能测试(响应时间、并发)
-[ ] Bug修复
**产出**:
-测试报告
-Bug修复清单
**依赖**: 步骤5
**风险**: 发现重大Bug(应对:预留1天buffer)
---
#### 步骤7:上线准备(Day 10)
**目标**: 准备上线,文档完善
**任务**:
-[ ] 代码审查
-[ ] 性能优化
-[ ] 文档编写
-[ ] 提交审核
**产出**:
-完整代码
-技术文档
-用户手册
**依赖**: 步骤6
**风险**: 审核不通过(应对:提前了解审核规范)
---
## 依赖关系图
步骤1: 环境配置 ↓ 步骤2: 验证码发送 ↓ ┌─────────┴─────────┐ ↓ ↓ 步骤3: 注册流程 步骤4: 登录流程 ↓ ↓ └─────────┬─────────┘ ↓ 步骤5: 找回密码 ↓ 步骤6: 测试 ↓ 步骤7: 上线
---
## 资源规划
| 步骤 | 人员 | 时间 | 关键技术 |
|------|------|------|---------|
| 环境配置 | 1人 | 0.5天 | 微信开发者工具 |
| 验证码发送 | 1人 | 1天 | 阿里云短信 |
| 注册流程 | 1人 | 2天 | 云开发 |
| 登录流程 | 1人 | 2天 | OAuth、JWT |
| 找回密码 | 1人 | 1天 | - |
| 测试 | 1人 | 1天 | - |
| 上线 | 1人 | 0.5天 | - |
**总计**: 1人 × 10天
---
## 风险与应对
| 风险 | 概率 | 影响 | 应对措施 |
|------|------|------|---------|
| 短信服务审核 | 高 | 中 | 提前申请,准备备选方案 |
| OAuth集成复杂 | 中 | 高 | 提前研究文档,预留buffer |
| 系统对接困难 | 中 | 高 | 优先调研现有系统 |
| 发现重大Bug | 低 | 高 | 预留1天buffer |
---
## 关键里程碑
- **Day 1**: 环境准备完成
- **Day 4**: 注册功能完成
- **Day 6**: 登录功能完成
- **Day 8**: 所有功能开发完成
- **Day 10**: 测试通过,提交审核
---
## 成功标准
- ✅ 注册、登录、找回密码功能完整
- ✅ 登录响应时间 < 2秒
- ✅ 无P0/P1级Bug
- ✅ 通过微信审核
步骤7:plan-review(强制)
plan-review 是强制步骤,确保实施计划经过用户确认
plan-review 流程
展示计划:
markdown
## 📋 实施计划已完成
### 核心内容
-**总时长**: 10个工作日
-**步骤数**: 7个步骤
-**关键里程碑**: 4个
-**风险点**: 4个
### 关键步骤
1.环境配置(Day 1)
2.验证码发送(Day 2)
3.注册流程(Day 3-4)
4.登录流程(Day 5-6)
5.找回密码(Day 7-8)
6.测试(Day 9)
7.上线(Day 10)
### 潜在风险
⚠️ 短信服务审核时间
⚠️ 微信OAuth集成复杂度
---
**请确认实施计划:**
-A) ✅ 确认,开始执行
-B) 需要调整(请说明具体问题)
-C) 需要重新规划
用户确认后:
- ✅ 用户确认 → 生成工件,传递给后续技能
- ❌ 用户要求调整 → 根据反馈调整计划
- ❌ 用户要求重规划 → 重新执行 planning
plan-review 工具调用(AskUserQuestion)
使用 AskUserQuestion 工具展示计划并获取用户确认:
python
AskUserQuestion(
questions=[
{
"question": "实施计划已完成,请确认是否开始执行?",
"header": "计划确认",
"options": [
{
"label": "✅ 确认,开始执行",
"description": "同意实施计划,生成工件并传递给后续技能"
},
{
"label": "需要调整",
"description": "对部分步骤有疑问,需要修改计划(请说明具体问题)"
},
{
"label": "重新规划",
"description": "对整体方案不满意,需要重新分解步骤"
}
],
"multiSelect": false
}
]
)
用户响应处理:
- 用户选择 "✅ 确认" → 生成工件,传递给后续技能
- 用户选择 "需要调整" → 根据用户反馈修改计划
- 用户选择 "重新规划" → 重新执行 planning 流程
步骤8:生成工件
创建工件文件,传递给后续技能:
json
{
"skill": "planning",
"version": "1.0.0",
"timestamp": "2026-03-25T10:30:00Z",
"project": {
"name": "用户认证系统",
"goal": "实现注册、登录、找回密码功能",
"timeline": "2周(10个工作日)",
"team": "1人(全栈)"
},
"implementation_plan": {
"phases": [
{
"name": "Phase 1: 环境准备",
"steps": [
{
"id": 1,
"name": "环境配置",
"duration": "0.5天",
"tasks": ["创建小程序项目", "配置云开发", "初始化数据库"],
"dependencies": [],
"risks": []
}
]
},
{
"name": "Phase 2: 核心功能",
"steps": [
{
"id": 2,
"name": "验证码发送",
"duration": "1天",
"tasks": ["申请短信服务", "开发send-code云函数", "前端调用"],
"dependencies": [1],
"risks": ["短信服务审核"]
},
{
"id": 3,
"name": "注册流程",
"duration": "2天",
"tasks": ["设计UI", "开发register云函数", "表单验证"],
"dependencies": [2],
"risks": []
}
]
}
],
"dependencies_graph": {
"1": [],
"2": [1],
"3": [2],
"4": [2, 3],
"5": [2],
"6": [5],
"7": [6]
},
"total_steps": 7,
"total_duration": "10天"
},
"resource_plan": {
"human": {
"team_size": 1,
"roles": ["全栈开发"]
},
"time": {
"total_days": 10,
"start_date": "2026-03-25",
"end_date": "2026-04-07"
},
"technology": [
"微信小程序",
"云开发",
"阿里云短信",
"OAuth",
"JWT"
],
"cost": {
"短信服务": "~¥0.05/条",
"云开发": "免费额度"
}
},
"risk_assessment": [
{
"risk": "短信服务审核时间",
"probability": "high",
"impact": "medium",
"mitigation": "提前申请,准备备选方案"
},
{
"risk": "微信OAuth集成复杂度",
"probability": "medium",
"impact": "high",
"mitigation": "提前研究文档,预留buffer"
}
],
"milestones": [
{"day": 1, "name": "环境准备完成"},
{"day": 4, "name": "注册功能完成"},
{"day": 6, "name": "登录功能完成"},
{"day": 8, "name": "所有功能开发完成"},
{"day": 10, "name": "测试通过,提交审核"}
],
"review_status": "confirmed",
"next_skills": ["experience-manager"]
}
规划方法论
WBS工作分解结构