name: 任务分解 description: 当将架构计划转换为实现阶段时使用。创建独立的、可单独执行的阶段性文件。
任务分解技能
概述
将架构计划转换为独立的实现阶段。每个阶段是一个单独的文件,可以在不等待其他阶段的情况下执行。
核心原则: 独立阶段优先,依赖阶段最后。
何时使用
- 架构计划批准后
- 将设计转换为可执行的阶段
- 规划增量实现
- 启用并行工作流
基于阶段的输出结构
plans/sessions/{session}/plans/
├── implementation.md # 主索引(轻量级)
├── phases/
│ ├── phase-01-基础.md # 独立 - 首先实现
│ ├── phase-02-核心模型.md # 独立 - 首先实现
│ ├── phase-03-API路由.md # 独立 - 首先实现
│ ├── phase-04-UI组件.md # 依赖于模型
│ └── phase-05-集成.md # 依赖于以上所有
铁律:独立性排序
独立阶段 → 顶部(首先实现)
依赖阶段 → 底部(最后实现)
为什么? 独立阶段可以:
- 由多个代理并行实现
- 在不等待其他阶段的情况下验证
- 回滚而不破坏其他阶段
快速参考:阶段类型
| 类型 | 描述 | 位置 |
|---|---|---|
| 基础 | 配置、工具、类型 | 顶部(第一) |
| 核心 | 模型、服务 | 顶部 |
| 功能 | 特定功能 | 中间 |
| 集成 | 连接组件 | 底部 |
| 优化 | 测试、文档、清理 | 底部(最后) |
Implementation.md 格式
主文件是轻量级的——仅索引:
# 实现计划:[功能]
**会话:** {session-id}
**状态:** 提议 | 进行中 | 完成
## 阶段摘要
| 阶段 | 名称 | 状态 | 依赖 |
|-------|------|--------|--------------|
| 1 | 基础 | 待处理 | 无 |
| 2 | 核心模型 | 待处理 | 无 |
| 3 | API路由 | 待处理 | 无 |
| 4 | UI组件 | 待处理 | 阶段2 |
| 5 | 集成 | 待处理 | 阶段1-4 |
## 执行顺序
**可并行实现:**
- 阶段1, 2, 3(无依赖)
**必须等待:**
- 阶段4 → 阶段2之后
- 阶段5 → 所有阶段之后
## 阶段文件
- [阶段1: 基础](phases/phase-01-基础.md)
- [阶段2: 核心模型](phases/phase-02-核心模型.md)
- [阶段3: API路由](phases/phase-03-API路由.md)
- [阶段4: UI组件](phases/phase-04-UI组件.md)
- [阶段5: 集成](phases/phase-05-集成.md)
单个阶段文件格式
每个阶段文件自包含:
# 阶段 [N]: [阶段名称]
**依赖:** 无 | 阶段 [X], [Y]
**可开始:** 立即 | 阶段 [X] 之后
**估计任务:** [N]
## 目标
[一句话:此阶段独立完成什么]
## 入口标准
- [ ] [开始前必须满足的条件]
## 任务
### 任务 [N.1]: [任务名称]
**大小:** XS | S | M | L
**文件:** `路径/到/文件.ts`
[任务详情使用 task-template.md 格式]
---
### 任务 [N.2]: [任务名称]
...
## 出口标准
- [ ] 所有任务完成
- [ ] 验证通过
- [ ] 不影响其他阶段
## 验证
```bash
# 阶段特定验证
[命令]
## 依赖排序算法
**步骤1:** 列出架构中的所有组件
**步骤2:** 对于每个组件,识别其导入/使用的内容
**步骤3:** 按依赖计数评分:
- 0 依赖 = 阶段1(顶部)
- 1-2 依赖 = 阶段2-3(中间)
- 3+ 依赖 = 最后阶段(底部)
**步骤4:** 在相同依赖计数内,按以下顺序排序:
1. 配置/类型优先(基础)
2. 服务/模型次之
3. 控制器/UI第三
4. 集成/E2E最后
## 任务标准(不变)
阶段内的任务必须:
| 标准 | 描述 |
|-----------|-------------|
| **单一关注点** | 一个逻辑变更 |
| **可验证** | 明确成功标准 |
| **有界** | 定义开始/结束 |
| **大小合适** | XS, S, M, L(无XL) |
**规则:** XL任务必须进一步拆分。
## 文件操作
| 操作 | 格式 |
|--------|--------|
| 创建 | `路径/到/新/文件` + 遵循模式 |
| 修改 | `路径/到/文件` + 行范围 + 前/后 |
| 删除 | `路径/到/文件` + 原因 + 依赖检查 |
| 移动 | `从` → `到` + 导入更新 |
## 每个任务的验证
| 类型 | 命令 | 使用案例 |
|------|---------|----------|
| 类型检查 | `npm run typecheck` | TypeScript |
| 代码检查 | `npm run lint` | 风格 |
| 单元测试 | `npm test -- [模式]` | 逻辑 |
| 构建 | `npm run build` | 编译 |
## 常见错误
| 错误 | 修复 |
|---------|-----|
| 一个巨大的 implementation.md | 拆分为阶段文件 |
| 依赖阶段在顶部 | 重新排序:独立优先 |
| 阶段依赖多个其他阶段 | 移至底部 |
| XL任务 | 拆分为 S/M 任务 |
| 模糊验证 | 具体命令 |
## 输出检查清单
呈现计划前:
- [ ] Implementation.md 仅索引(< 50行)
- [ ] 每个阶段有单独文件
- [ ] 独立阶段列在首位
- [ ] 依赖阶段在底部
- [ ] 每个阶段自包含
- [ ] 任务大小合适
- [ ] 提供验证命令