pdlc-task
阶段内任务跟踪(创建/更新任务列表,附在工作流上)
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
阶段内任务跟踪(创建/更新任务列表,附在工作流上)
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
全自动 PDLC 新功能开发(串联 PRD→设计→TDD→实现→评审→发布)
全自动 Bug 修复(定位→复现→修复→测试→文档)
按设计文档和已有测试用例实现代码(带前置守卫、自检、handoff)
创建 PRD 文档(自动化生成 + 自检 + handoff)
质量闸门——跑真实 check、对照质量目标、出可核对报告,由人签字放行
代码评审 + 文档评审
| name | pdlc-task |
| description | 阶段内任务跟踪(创建/更新任务列表,附在工作流上) |
| argument-hint | <功能ID | 任务描述> |
| allowed-tools | Read, Write, Edit, Glob, Grep, Bash |
| layer | 2 |
| stage | task |
| produces | ["docs/06_tasks/<feature-id>-tasks.md"] |
| requires | [] |
| next_step | null |
| terminal_state | null |
管理功能开发任务的拆解、分配与进度追踪。支持从 PRD 自动拆解任务、标记任务状态。
从 $ARGUMENTS 中解析子命令和参数:
| 子命令 | 格式 | 说明 |
|---|---|---|
plan <功能名或功能ID> | 从 PRD 自动拆解任务列表 | |
list [功能名或功能ID] | 查看任务状态(不传则查看全部未完成任务) | |
start <任务ID> | 标记任务为进行中 | |
done <任务ID> | 标记任务为已完成 | |
blocked <任务ID> <原因> | 标记任务为阻塞,记录阻塞原因 | |
reopen <任务ID> | 重新打开任务(撤销 done/blocked) |
如果未提供子命令或子命令无法识别,输出以上帮助信息后停止。
T<功能ID的日期-时分秒>-<NN>-<类型>
<功能ID的日期-时分秒>:所属功能ID去掉 F 前缀的部分(功能 F20260718-094301 → 前缀 20260718-094301)。嵌入 feature 的唯一时分秒,使任务号全局唯一且自带归属(一眼看出属哪个 feature)NN:本功能内两位递增序号(每 feature 从 01 起)feat — 功能代码实现test — 测试编写doc — 文档输出infra — 基础设施/脚手架design — 设计产出示例:功能 F20260718-094301 的任务 → T20260718-094301-01-feat、T20260718-094301-02-test
为什么 T 用「功能ID时分秒前缀 + 本地序号」而非每个任务自取时分秒:任务在拆解时成批同秒创建,若各自取独立时分秒会互相撞号。改用「所属功能的时分秒前缀 + 本功能内序号」后:既全局唯一(继承功能ID的唯一性)、又自带归属(看得出属哪个 feature)、还并行安全(不同 feature 前缀不同,同批任务靠序号区分)。任务号收敛在唯一命名的 feature 任务文件内,不跨 feature 冲突。
docs/06_tasks/<功能ID>-<功能名>-tasks.md
示例:docs/06_tasks/F20260406-093000-user-auth-tasks.md
若功能ID未知(如独立任务),使用:docs/06_tasks/YYYYMMDD-<关键词>-tasks.md
<!-- PDLC-TASKS -->
<!-- 功能ID: F20260406-093000 -->
<!-- 功能名称: user-auth -->
<!-- 关联PRD: docs/01_requirements/prd/F20260406-093000-user-auth-prd.md -->
<!-- 最后更新: 2026-04-06 -->
# 任务清单:user-auth(F20260406-093000)
## 总览
- 总任务数:N
- 待开始:N | 进行中:N | 已完成:N | 阻塞:N
## 任务列表
> 下例为功能 `F20260406-093000`(user-auth)的任务清单——任务ID 前缀 `20260406-093000` 即该功能ID的时分秒段,`NN` 在本功能内递增。
| 任务ID | 类型 | 描述 | 状态 | 估时 | 截止日期 | 关联文档 | 备注 |
|--------|------|------|------|------|---------|---------|------|
| T20260406-093000-01-design | design | 创建 API 设计文档 | ⬜ 待开始 | 2h | 2026-04-07 | - | - |
| T20260406-093000-02-design | design | 创建数据库设计文档 | ⬜ 待开始 | 1h | 2026-04-07 | - | - |
| T20260406-093000-03-infra | infra | 生成代码脚手架 | ⬜ 待开始 | 0.5h | 2026-04-07 | - | - |
| T20260406-093000-04-test | test | 编写单元测试 | ⬜ 待开始 | 3h | 2026-04-08 | - | - |
| T20260406-093000-05-feat | feat | 实现注册接口 | ⬜ 待开始 | 4h | 2026-04-09 | - | - |
| T20260406-093000-06-feat | feat | 实现登录接口 | ⬜ 待开始 | 2h | 2026-04-09 | - | - |
| T20260406-093000-07-test | test | 运行测试确认绿灯 | ⬜ 待开始 | 1h | 2026-04-10 | - | - |
| T20260406-093000-08-doc | doc | 创建评审记录 | ⬜ 待开始 | 1h | 2026-04-10 | - | - |
## 阻塞记录
| 任务ID | 阻塞原因 | 记录时间 | 解除时间 |
|--------|---------|---------|---------|
| (暂无) | - | - | - |
状态图标约定:
⬜ 待开始🔄 进行中✅ 已完成🚫 阻塞前置检查:
docs/01_requirements/prd/ 目录下搜索对应 PRD 文档⛔ PDLC 守卫:未找到与「<功能名>」相关的 PRD 文档。
任务拆解必须基于已有的 PRD。请先运行:
👉 /pdlc-prd <需求描述>
执行流程:
docs/02_design/ 下是否存在相关设计文档,有则一并读取docs/06_tasks/<功能ID>-*-tasks.md),取其中已有任务的最大序号 +1(不跨 feature 扫描)——每 feature 独立编号,并行开发不同 feature 时任务号互不干扰、合并零冲突docs/06_tasks/ 下创建任务清单文档docs/06_tasks/ 下查找对应功能的任务文件,输出该功能任务详情docs/06_tasks/ 下所有任务文件,汇总非已完成任务,按状态分组输出:
完成率: X/N (XX%)⚠️ 有 N 个任务已逾期,请及时处理docs/06_tasks/ 下扫描所有任务文件,找到包含该任务ID的文件⬜ 待开始 / 🚫 阻塞 更新为 🔄 进行中最后更新 时间✓ 任务 <任务ID> 已标记为进行中docs/06_tasks/ 下扫描所有任务文件,找到包含该任务ID的文件✅ 已完成,在备注列填入完成时间最后更新 时间✓ 任务 <任务ID> 已完成🎉 功能 <功能ID> 全部任务已完成!docs/06_tasks/ 下找到包含该任务ID的文件🚫 阻塞,在备注列填入原因摘要最后更新 时间⚠️ 任务 <任务ID> 已标记为阻塞:<原因>⬜ 待开始,清空备注列最后更新 时间✓ 任务 <任务ID> 已重新打开运行 pdlc-status 时,若 docs/06_tasks/ 目录存在,自动在输出末尾追加:
## 任务进度
| 功能 | 总计 | 完成 | 进行中 | 阻塞 | 完成率 |
|------|------|------|--------|------|--------|
| F20260406-093000 user-auth | 8 | 5 | 1 | 0 | 62% |
$ARGUMENTS