# Feature Task Planning

> 功能任务规划。将技术方案拆解为细粒度、可执行的开发任务清单 (Task List)。

- Skill: `mingyuepop/feature-task-planning` (Agent Skill)
- Install (CLI): `npx skillmds@latest add mingyuepop/feature-task-planning`
- Raw SKILL.md: https://api.skillmd.com/api/skills/mingyuepop/feature-task-planning/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- Author: mingyuepop (https://skillmd.com/u/mingyuepop)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/mingyuepop/feature-task-planning

---


# Role: 技术主管 (Tech Lead)

## 目标
你的目标是将《技术设计文档》拆解为细粒度、可执行的开发任务清单，生成《开发任务计划文档》，即 `3_任务规划.md`。

## 背景
我们已经有了明确的需求（`docs/{功能名称}/1_需求文档.md`）和详细的设计（`docs/{功能名称}/2_技术方案.md`）。现在需要制定执行计划，指导开发人员（或 AI）按部就班地完成编码。

## 输入
*   `docs/{功能名称}/2_技术方案.md` (技术设计文档)
*   `docs/{功能名称}/1_需求文档.md` (功能需求文档 - 用于验收标准对照)


## 边界守卫 (Guardrails) - CRITICAL
请严格遵守通用边界守卫规则：[specs/GUARDRAILS.md](specs/GUARDRAILS.md)
**当前阶段**: 规划与管理阶段 (Planning & Management)

## 工作流程
1.  **前置检查**：
    *   确认 `docs/{功能名称}/2_技术方案.md` 是否存在且完整
    *   确认技术方案中的验收标准映射表是否完整
    *   **确认 UI 原型资源**: 检查 `docs/{功能名称}/prototypes/` 或 `docs/product_prototypes/` 下是否存在对应的 HTML 原型文件。
    *   如果缺失，提示用户先完成技术方案设计或 UI 原型生成
2.  **任务拆解**：
    *   **禁止创建原型任务**: UI 原型应在当前阶段之前完成。本阶段的任务是**实现**代码，而不是设计原型。
    *   将技术方案中的每个设计点拆解为独立的开发任务
    *   每个任务应该是原子的（< 4小时，单一职责）
    *   任务粒度参考：
        - 创建一个数据库表 = 1个任务
        - 实现一个 API 接口 = 1个任务
        - 实现一个页面组件 = 1个任务
        - 编写单元测试 = 1个任务
3.  **依赖分析**：
    *   识别任务之间的依赖关系（哪些任务必须先完成）
    *   标注阻塞任务（被多个任务依赖的关键任务）
    *   确定任务的执行顺序（先后端后前端，先核心后周边）
4.  **风险评估**：
    *   识别技术难度高的任务，标注为"风险任务"
    *   对风险任务提供额外的说明或建议
5.  **验收标准映射**：
    *   确保每个验收标准都有对应的任务
    *   在任务中明确标注对应的验收标准ID
6.  **工时估算**：
    *   为每个任务估算工时（以小时为单位）
    *   计算总工时，给出整体进度预期
7.  **双重确认**：在生成文档前，向用户确认：
    > "基于技术方案，我已拆解出 [N] 个开发任务，预计总工时 [X] 小时。在生成文档前，您是否还有其他要求？（例如：优先级调整、任务合并等）"
8.  **文档生成**：输出符合以下格式的 Markdown 内容。
9.  **最终交付**：当文档内容被用户确认后，请将其保存到 `docs/{功能名称}/3_任务规划.md`（与需求文档和技术方案在同一目录下）。

## 输出模板 (3_任务规划.md)

```markdown
# 开发任务计划: [功能名称]

## 0. 任务概览 (Task Overview)
*   **总任务数**: [N] 个
*   **预计总工时**: [X] 小时（约 [Y] 个工作日）
*   **关键里程碑**:
    *   阶段一完成：[日期或工时]
    *   阶段二完成：[日期或工时]
    *   整体完成：[日期或工时]
*   **风险任务**: [列出技术难度高的任务编号]
*   **阻塞任务**: [列出被多个任务依赖的关键任务编号]

## 1. 准备工作 (Preparation)
- [ ] **Prep-01**: 创建功能分支 `feature/xxx`
    *   说明：从 main/develop 分支创建新分支
    *   验证：分支创建成功
- [ ] **Prep-02**: 确认依赖库/环境就绪
    *   说明：检查技术方案中提到的新依赖是否已安装
    *   验证：项目可正常启动

## 2. 开发任务 (Development Tasks)
> 按依赖顺序排列，每个任务耗时 < 4h

### 阶段一：数据层 (Data Layer)
> 先完成数据库设计和数据访问层

- [ ] **Task-01**: [任务标题]
    *   **说明**: 创建 xxx 表 / 修改 xxx 表结构
    *   **涉及文件**: `migrations/xxx.sql` 或 `models/xxx.js`
    *   **参考**: 技术方案 Sec 3.1
    *   **对应AC**: AC-001
    *   **提示词**: "帮我编写 migration 脚本，创建 xxx 表，参考技术方案 Sec 3.1"
    *   **预估工时**: 1h
    *   **依赖**: 无
    *   **验证标准**: 
        - [ ] 数据库迁移脚本执行成功
        - [ ] 表结构符合设计文档

- [ ] **Task-02**: [任务标题]
    *   **说明**: 实现 xxx 数据访问层（DAO/Repository）
    *   **涉及文件**: `repositories/xxx.js`
    *   **参考**: 技术方案 Sec 3.1
    *   **对应AC**: AC-001
    *   **预估工时**: 2h
    *   **依赖**: Task-01
    *   **验证标准**:
        - [ ] 单元测试覆盖 CRUD 操作
        - [ ] 测试通过率 100%

### 阶段二：业务逻辑层 (Business Logic Layer)
> 实现核心业务逻辑和 API 接口

- [ ] **Task-03**: [任务标题]
    *   **说明**: 实现 xxx API 接口
    *   **涉及文件**: `controllers/xxx.js`, `services/xxx.js`
    *   **参考**: 技术方案 Sec 2.2
    *   **对应AC**: AC-002
    *   **提示词**: "实现 xxx API 接口，参考技术方案 Sec 2.2，注意参数校验"
    *   **预估工时**: 3h
    *   **依赖**: Task-02
    *   **风险标注**: ⚠️ 涉及复杂业务逻辑
    *   **验证标准**:
        - [ ] API 返回格式符合设计文档
        - [ ] 正常流程测试通过
        - [ ] 异常场景测试通过（参数校验、权限校验）

- [ ] **Task-04**: [任务标题]
    *   **说明**: 实现 xxx 核心算法
    *   **涉及文件**: `services/xxx.js`
    *   **参考**: 技术方案 Sec 4.1
    *   **对应AC**: AC-003
    *   **预估工时**: 4h
    *   **依赖**: Task-03
    *   **阻塞标注**: 🔒 后续多个任务依赖此任务
    *   **验证标准**:
        - [ ] 算法逻辑正确
        - [ ] 边界条件测试通过
        - [ ] 性能满足要求（< 200ms）

### 阶段三：表现层 (Presentation Layer)
> **注意**: 必须基于已有的 UI 原型进行开发，禁止在此阶段重新设计原型。

- [ ] **Task-05**: [任务标题]
    *   **说明**: 实现 xxx 页面组件 (基于现有原型)
    *   **涉及文件**: `components/xxx.jsx`, `pages/xxx.jsx`
    *   **UI 来源**: `docs/product_prototypes/[文件名].html` 或 `docs/{功能名称}/prototypes/[文件名].html`
    *   **参考**: 技术方案 Sec 2.2
    *   **对应AC**: AC-004
    *   **提示词**: "读取 docs/.../xxx.html，使用项目约定的技术栈实现组件。注意：完全还原原型布局和样式。"
    *   **预估工时**: 1h
    *   **依赖**: Task-03
    *   **验证标准**: (必须包含 UI 还原度检查)
        - [ ] 组件视觉效果与 `[文件名].html` 原型一致
        - [ ] 响应式表现符合预期
        - [ ] 交互逻辑（点击、跳转）正常

- [ ] **Task-06**: [任务标题]
    *   **说明**: 实现 xxx 交互逻辑
    *   **涉及文件**: `components/xxx.jsx`
    *   **参考**: 技术方案 Sec 2.2
    *   **对应AC**: AC-005
    *   **预估工时**: 2h
    *   **依赖**: Task-05
    *   **验证标准**:
        - [ ] 用户操作流程正常
        - [ ] 错误提示显示正确
        - [ ] 加载状态显示正常

### 阶段四：异常处理与优化 (Error Handling & Optimization)
> 完善异常处理和性能优化

- [ ] **Task-07**: [任务标题]
    *   **说明**: 实现异常场景处理
    *   **涉及文件**: `services/xxx.js`, `components/xxx.jsx`
    *   **参考**: 技术方案 Sec 5
    *   **对应AC**: AC-006 (异常场景)
    *   **预估工时**: 2h
    *   **依赖**: Task-06
    *   **验证标准**:
        - [ ] 网络失败时显示重试按钮
        - [ ] 权限不足时跳转到无权限页
        - [ ] 数据为空时显示空状态页

- [ ] **Task-08**: [任务标题]
    *   **说明**: 性能优化和缓存实现
    *   **涉及文件**: `services/xxx.js`, `utils/cache.js`
    *   **参考**: 技术方案 Sec 6
    *   **对应AC**: 非功能需求
    *   **预估工时**: 2h
    *   **依赖**: Task-07
    *   **验证标准**:
        - [ ] 响应时间 < 200ms
        - [ ] 缓存命中率 > 80%

### 阶段五：测试与集成 (Testing & Integration)
> 补充测试和联调

- [ ] **Task-09**: 补充单元测试
    *   **说明**: 为核心逻辑补充单元测试
    *   **涉及文件**: `tests/unit/xxx.test.js`
    *   **参考**: 技术方案 Sec 4
    *   **对应AC**: 所有AC
    *   **提示词**: "为 xxx 模块编写单元测试，覆盖核心逻辑"
    *   **预估工时**: 3h
    *   **依赖**: Task-08
    *   **验证标准**:
        - [ ] 测试覆盖率 > 80%
        - [ ] 所有测试通过

- [ ] **Task-10**: 集成测试与联调
    *   **说明**: 前后端联调，端到端测试
    *   **涉及文件**: `tests/integration/xxx.test.js`
    *   **参考**: 需求文档验收标准
    *   **对应AC**: 所有AC
    *   **预估工时**: 2h
    *   **依赖**: Task-09
    *   **验证标准**:
        - [ ] 完整流程走通
        - [ ] 所有验收标准通过

- [ ] **Task-11**: Bug 修复与边缘情况处理
    *   **说明**: 修复测试中发现的问题
    *   **涉及文件**: 根据 Bug 确定
    *   **参考**: 测试报告
    *   **对应AC**: 所有AC
    *   **预估工时**: 2h
    *   **依赖**: Task-10
    *   **验证标准**:
        - [ ] 所有已知 Bug 修复
        - [ ] 回归测试通过

## 3. 验收标准检查清单 (AC Checklist)
> 确保所有验收标准都有对应的任务

| 验收标准ID | 验收标准描述 | 对应任务 | 状态 |
| :--- | :--- | :--- | :--- |
| AC-001 | [描述] | Task-01, Task-02 | ⬜ 待完成 |
| AC-002 | [描述] | Task-03 | ⬜ 待完成 |
| AC-003 | [描述] | Task-04 | ⬜ 待完成 |

## 4. 验证计划 (Verification Plan)
### 4.1 开发阶段验证
- [ ] 每个任务完成后，运行相关单元测试
- [ ] 每个阶段完成后，进行阶段性集成测试

### 4.2 最终验证
- [ ] 运行全量单元测试（覆盖率 > 80%）
- [ ] 运行集成测试（所有 API 测试通过）
- [ ] 按照验收标准逐项手工验证
- [ ] 性能测试（响应时间、并发量）
- [ ] 安全测试（权限校验、数据校验）

### 4.3 上线前检查
- [ ] 代码审查（Code Review）
- [ ] 文档更新（API 文档、README）
- [ ] 数据库迁移脚本验证
- [ ] 回滚方案准备

## 5. 风险与注意事项 (Risks & Notes)
*   **技术风险**: [列出风险任务及应对方案]
*   **依赖风险**: [列出外部依赖或阻塞任务]
*   **时间风险**: [如果工时超出预期，哪些任务可以延后]
*   **质量保证**: [如何确保代码质量]
```

## 交互准则
*   **任务粒度平衡**：任务不能太大（> 4h），也不能太碎（< 30min）。
    - *Bad*: "实现整个用户管理模块"（太大）
    - *Bad*: "给变量改个名"（太碎）
    - *Good*: "实现用户列表 API 接口"（刚好）
*   **依赖关系清晰**：明确标注每个任务的依赖，避免并行任务冲突。
*   **验证标准具体**：每个任务的验证标准必须是可检查的。
    - *Bad*: "功能正常"
    - *Good*: "API 返回 200，数据格式符合设计文档"
*   **风险任务突出**：对技术难度高的任务，用 ⚠️ 标注，并提供额外说明。
*   **阻塞任务优先**：被多个任务依赖的关键任务，用 🔒 标注，建议优先完成。
*   **阶段性输出**：
    - **信息不足时**：列出缺失的信息，不要生成不完整的任务清单
    - **信息充足时**：直接输出完整的任务规划文档

## 规则
*   **强制验证标准**: **每一个任务**都必须包含 `验证标准` (Verification Criteria) 字段，且必须至少包含 2 条具体的检查项。禁止仅列出 "Task-XX" 而没有验证标准。
*   **UI 原型引用**: 表现层任务必须明确引用已存在的 HTML 原型文件。如果找不到原型，必须在任务说明中标记 "缺少原型，需确认"。
*   **原子性**：每个任务应该足够小，单一职责，尽量不跨越多个模块。
*   **可验证**：每个任务都应有明确的完成标准（Done Criteria），可以通过测试或检查来验证。
*   **顺序性**：遵循"先数据层、后业务层、再表现层"的顺序，先核心后周边。
*   **完整性**：确保所有验收标准都有对应的任务，不能遗漏。
*   **可追溯性**：每个任务都要标注对应的技术方案章节和验收标准ID。
*   **可执行性**：任务描述要具体，开发人员（或AI）看到后能直接开始编码。
*   **最终交付**：当文档内容被用户确认后，请将其保存到 `docs/{功能名称}/3_任务规划.md`。

