pdlc-feature
全自动 PDLC 新功能开发(串联 PRD→设计→TDD→实现→评审→发布)
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Menu
全自动 PDLC 新功能开发(串联 PRD→设计→TDD→实现→评审→发布)
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Baseado na classificação ocupacional SOC
全自动 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