pdlc-feature
全自动 PDLC 新功能开发(串联 PRD→设计→TDD→实现→评审→发布)
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
全自动 PDLC 新功能开发(串联 PRD→设计→TDD→实现→评审→发布)
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
全自动 Bug 修复(定位→复现→修复→测试→文档)
按设计文档和已有测试用例实现代码(带前置守卫、自检、handoff)
创建 PRD 文档(自动化生成 + 自检 + handoff)
质量闸门——跑真实 check、对照质量目标、出可核对报告,由人签字放行
代码评审 + 文档评审
发布工作流(跑测试 → bump VERSION → 更 CHANGELOG → tag → 触发 CI/CD)
| name | pdlc-feature |
| description | 全自动 PDLC 新功能开发(串联 PRD→设计→TDD→实现→评审→发布) |
| argument-hint | <功能描述 | 已有 PRD 路径> |
| allowed-tools | Read, Write, Edit, Glob, Grep, Bash, Task |
| layer | 1 |
| stage | feature |
| produces | ["docs/01_requirements/prd/<feature-id>-<feature-name>-prd.md","docs/02_design/**","<实现与测试代码 · 项目既有布局>"] |
| requires | [] |
| next_step | pdlc-ship |
| terminal_state | feature_done |
接收功能描述或已有需求文档,全自动走完 PDLC 所有阶段,直到产出可上线状态,中途不暂停、不询问用户。
从 $ARGUMENTS 中判断输入类型:
检测是否为文件路径:如果输入匹配以下模式之一,视为文件输入:
/、./、../、~ 开头的路径.md、.txt、.docx、.pdf、.doc 结尾docs/ 或 requirements/ 路径片段文件输入:读取文件内容,从中提取功能描述、用户故事、验收标准。阶段一基于文件内容结构化生成 PRD(保留原始意图,补充缺失部分),而非从零推断。在 PRD 中标注:<!-- 来源文档: <原始文件路径> -->
文本输入:按原有逻辑,从一句话描述自动推断
已有 PRD 路径:如果输入指向 docs/01_requirements/prd/ 下已有的 PRD 文件,则跳过阶段一,直接从阶段一-B(任务拆解)或阶段二(技术设计)开始
date +%Y%m%d、date +%H%M%SF<YYYYMMDD>-<HHMMSS>(示例形如 F20260717-122801;用执行时的真实值)docs/ 或 docs/.pdlc-state/ 下已有同名前缀),重新读取 date +%H%M%S 重取(生成本身有耗时、通常已跨秒;若仍同秒则 sleep 1 后再读一次,不手算时分秒,天然处理跨天边界)user-auth)用时分秒而非当日序号,是为了多人 / 多 AI 并行时零协调也不撞号、合并零冲突。旧
F<日期>-<NN>ID 仍可解析。
分配 ID 后,扫描 docs/.pdlc-state/*.json 列出已有 feature 名,结合用户描述判断本功能与既有 feature 的关系:
extends Xdepends_on Xsupersedes Xrelations 块写入。类型语义见 relations.mddocs/01_requirements/prd/ 下创建文件,命名格式:<功能ID>-<功能名>-prd.mdtemplates/prd-template.md 作为模板<!-- PDLC-TRACE -->
<!-- 功能ID: F20260326-090000 -->
<!-- 功能名称: user-auth -->
<!-- 阶段: 需求 -->
<!-- 前置文档: 无 -->
<!-- 创建时间: 2026-03-26T10:30:00 -->
PRD 创建后、任务拆解前,立即执行自审:
docs/06_tasks/ 目录,查找是否已存在该功能的任务文件pdlc-task plan 的逻辑自动执行任务拆解:
T<功能ID的日期-时分秒>-<NN>-<type>,前缀嵌入本功能ID的时分秒段,NN 为本功能内递增序号)docs/06_tasks/<功能ID>-<功能名>-tasks.mdpdlc-task plan 的输出规范(每条任务含 ID、标题、类型、状态 ⬜、前置依赖)/pdlc-review 的文档评审段落逻辑,对 PRD 执行正式文档评审(聚焦格式规范性、模板符合度、交叉引用)templates/prd-template.md 检查格式规范性docs/07_reviews/doc/ 下创建评审记录:<功能ID>-<功能名>-prd-doc-review.md根据 PRD 自动判断需要哪些设计文档,按需创建(不需要的跳过):
API 设计(如涉及接口变更):
docs/02_design/api/<功能ID>-<功能名>-api.mdtemplates/api-design-template.md数据库设计(如涉及数据存储):
docs/02_design/database/<功能ID>-<功能名>-db.mdtemplates/db-design-template.md架构设计(如涉及新服务或重大架构变更):
docs/02_design/architecture/<功能ID>-<功能名>-arch.mdtemplates/arch-design-template.md所有设计文档顶部必须包含 PDLC 追溯头:
<!-- PDLC-TRACE -->
<!-- 功能ID: F20260326-090000 -->
<!-- 功能名称: user-auth -->
<!-- 阶段: 设计 -->
<!-- 前置文档: docs/01_requirements/prd/F20260326-090000-user-auth-prd.md -->
每份设计文档创建后立即执行自审:
docs/07_reviews/doc/ 下创建设计评审记录:<功能ID>-<功能名>-design-doc-review.mddocs/04_testing/unit-tests/ 下创建测试计划:<功能ID>-<功能名>-test-plan.md
docs/00_standards/test-commands.yml 的 coverage 命令阈值参数(那才是强制点,退出码即判定),其次 quality-targets.yml;两者都没有时按 >= 80% 兜底。docs/04_testing/e2e-tests/<功能ID>-<功能名>-e2e.md测试代码编写完成、运行前执行自审:
docs/00_standards/coding/ 目录确认编码规范代码实现完成、测试全部通过后,执行快速自检:
按 /pdlc-review 增强版逻辑执行全面评审,发现问题直接修复:
pdlc-lint check 运行 lint 工具,存在问题则 pdlc-lint fix 自动修复docs/07_reviews/code/ 下创建评审记录:<功能ID>-<功能名>-review.md
CHANGELOG.md,在 [未发布] 下新增 feat 条目⚠️ 文件落盘验证:输出最终报告前,必须逐一确认以下文件均已作为实际文件创建到磁盘(不可仅在对话中显示):
| 产出物 | 路径 | 验证方式 |
|---|---|---|
| PRD 文档 | docs/01_requirements/prd/<功能ID>-*-prd.md | 确认文件存在 |
| 任务清单 | docs/06_tasks/<功能ID>-*-tasks.md | 确认文件存在 |
| PRD 评审记录 | docs/07_reviews/doc/<功能ID>-*-prd-doc-review.md | 确认文件存在 |
| 设计文档 | docs/02_design/ 下对应目录 | 确认文件存在 |
| 设计评审记录 | docs/07_reviews/doc/<功能ID>-*-design-doc-review.md | 确认文件存在 |
| 测试计划 | docs/04_testing/unit-tests/<功能ID>-*-test-plan.md | 确认文件存在 |
| 测试代码 | 对应服务测试目录 | 确认文件存在 |
| 代码评审记录 | docs/07_reviews/code/<功能ID>-*-review.md | 确认文件存在 |
如有文件缺失,立即补创建,不可跳过。
所有文件确认到位后,输出一份结构化的完成报告,格式如下:
## PDLC 完成报告:<功能名>(<功能ID>)
### 产出物清单
| 类型 | 文件路径 |
|------|----------|
| PRD | docs/01_requirements/prd/<功能ID>-... |
| API 设计 | docs/02_design/api/<功能ID>-... |
| 数据库设计 | docs/02_design/database/<功能ID>-... |
| 测试计划 | docs/04_testing/unit-tests/<功能ID>-... |
| 评审记录 | docs/07_reviews/code/<功能ID>-... |
### 测试结果
- 单元测试:X 个通过 / 0 个失败
- E2E 测试:X 个通过 / 0 个失败
- 覆盖率:XX%
### 任务完成情况
- 任务文件:`docs/06_tasks/<功能ID>-<功能名>-tasks.md`
- 总任务数:X 完成:X 进行中:X 未开始:X
### 验收标准确认
- [x] 验收标准 1
- [x] 验收标准 2
### 假设与决策说明
(记录执行过程中自行做出的关键假设)
### 上线前待办
(如有需要人工处理的事项,如数据库迁移、环境变量配置等)
user-login功能描述: $ARGUMENTS