pdlc-tdd
스타10
포크2
업데이트2026년 8월 1일 22:29
TDD 测试先行(按设计文档生成失败的测试用例)
설치
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SKILL.md
readonly메뉴
TDD 测试先行(按设计文档生成失败的测试用例)
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
全自动 PDLC 新功能开发(串联 PRD→设计→TDD→实现→评审→发布)
全自动 Bug 修复(定位→复现→修复→测试→文档)
按设计文档和已有测试用例实现代码(带前置守卫、自检、handoff)
创建 PRD 文档(自动化生成 + 自检 + handoff)
质量闸门——跑真实 check、对照质量目标、出可核对报告,由人签字放行
代码评审 + 文档评审
| name | pdlc-tdd |
| description | TDD 测试先行(按设计文档生成失败的测试用例) |
| argument-hint | <功能ID | 功能描述> |
| allowed-tools | Read, Write, Edit, Glob, Grep, Bash |
| layer | 2 |
| stage | tdd |
| produces | ["<测试代码 · 项目既有布局>","docs/04_testing/unit-tests/**"] |
| requires | ["docs/02_design/"] |
| next_step | pdlc-implement |
| terminal_state | tdd_done |
| recommended_model | sonnet |
| recommended_effort | medium |
根据设计文档,先编写测试用例,再实现代码。严格遵循 TDD 工作流。
docs/02_design/ 的子目录(api/、architecture/、database/、ui-ux/)下搜索包含该关键词的设计文档
F<日期>-<编号>-*<关键词>*-<类型>.mdYYYYMMDD-*<关键词>*-<类型>.md⛔ PDLC 守卫:未找到与「<功能名>」相关的设计文档(API/架构/数据库/UI 任一)。
测试用例必须基于已有的设计文档。请先运行:
👉 /pdlc-design <设计目标>
F20260326-090000),读取设计文档内容,继续执行docs/00_standards/coding/ 目录了解编码规范(未命中 → 提示 consider /pdlc-standard add coding/<topic>)docs/04_testing/unit-tests/ 下创建测试计划文档
templates/test-plan-template.md<功能ID>-<功能名>-test-plan.md(如 F20260326-090000-user-auth-test-plan.md)<!-- PDLC-TRACE -->
<!-- 功能ID: F20260326-090000 -->
<!-- 功能名称: user-auth -->
<!-- 阶段: 测试 -->
<!-- 前置文档: docs/02_design/api/F20260326-090000-user-auth-api.md -->
测试计划自审与自动修复(编写完成后、运行前执行,不可跳过):
验收标准覆盖度:
场景完备性:
测试质量:
should_return_404_when_user_not_found)test1、abc123 等无意义数据)自动修复:
## 自审记录
- 审查时间:<ISO 8601>
- 对照 PRD 验收标准:X 条,已覆盖:X 条
- 对照 API 接口:X 个,已覆盖:X 个
- 发现问题:X 项
- 自动修复:X 项
- 修复明细:
- [已修复] <问题描述>
确认测试失败: 运行测试确认全部失败(红灯)。运行命令取自 docs/00_standards/test-commands.yml 的 unit(不存在则回退项目约定)。收尾写 last_phase_result.checks = { "red_verified": true }(红灯已由真跑退出码验证,非模型自评)
实现代码: 编写最少量的代码使测试通过
重构: 在测试通过的前提下优化代码
docs/00_standards/test-commands.yml 的 coverage 命令阈值参数(那才是强制点,退出码即判定),其次 quality-targets.yml;两者都没有时按 >= 80% 兜底。目标功能: $ARGUMENTS