AgentSkillsCN

generate-tdd

基于PRD自动生成TDD技术设计文档草稿。当用户需要从PRD生成TDD,或提到"生成技术设计"、"从PRD生成TDD"时使用此技能。

中文原作
SKILL.md
--- frontmatter
name: generate-tdd
description: 基于PRD自动生成TDD技术设计文档草稿。当用户需要从PRD生成TDD,或提到"生成技术设计"、"从PRD生成TDD"时使用此技能。

从PRD生成TDD技能

技能概述

基于已完成的PRD(产品需求文档),AI辅助生成TDD(技术设计文档)草稿,提升技术方案设计效率。


使用场景

何时使用

  • ✅ PRD评审通过,需要编写TDD
  • ✅ 需要快速生成技术方案草稿
  • ✅ 需要AI辅助设计架构和接口

何时不使用

  • ❌ PRD尚未完成或未评审
  • ❌ 需求变更频繁,PRD不稳定
  • ❌ 完全自定义的技术方案(无需AI辅助)

前置条件

必需条件

  1. PRD文档已完成并评审通过(状态:🟢 已批准)
  2. PRD包含完整的功能需求和数据需求
  3. PRD验收标准明确

可选条件

  • 技术栈已确定
  • 架构方向已明确
  • 性能指标已知

使用步骤

步骤1:定位PRD文档

bash
# AI会自动查找PRD文档路径
# 通常位于:docs/需求文档/{年月}-{需求名称}/product/PRD.md

AI操作

  1. 询问用户需求名称或PRD路径
  2. 验证PRD文档存在且可读
  3. 检查PRD状态是否为"已批准"

步骤2:分析PRD内容

AI分析要点

提取功能需求

  • 核心功能清单
  • 功能架构结构
  • 业务规则和逻辑
  • 数据流转关系

提取技术约束

  • 性能要求
  • 安全要求
  • 兼容性要求
  • 用户量和并发量

提取数据需求

  • 核心数据实体
  • 数据字段和类型
  • 数据来源和流转
  • 数据量级估算

提取交互设计

  • 页面清单
  • 页面路由
  • 前端组件结构

步骤3:确认技术栈

AI询问

code
基于PRD分析,我建议使用以下技术栈:

**前端**:
- 框架:Vue 3.4 / React 18.x
- 状态管理:Pinia / Redux Toolkit
- UI组件库:Element Plus / Ant Design

**后端**:
- 语言:Node.js 18.x / Python 3.11
- 框架:Express / FastAPI
- 数据库:MySQL 8.0 / PostgreSQL

**是否使用这些技术栈?或者您有其他选择?**

用户响应选项

  1. 确认使用建议的技术栈
  2. 指定其他技术栈
  3. 部分修改技术栈

步骤4:生成TDD草稿

模板使用说明

  • 模板位置:.cursor/skills/generate-tdd/templates/TDD_template.md
  • 模板变量替换:
    • {{需求名称}} → 实际需求名称
    • {{创建日期}} → 当前日期(YYYY-MM-DD)
  • AI应基于 TDD模板 结构生成内容,替换占位符并填充实际内容

AI生成内容

一、需求理解

  • 基于PRD概述重新梳理
  • 用技术语言描述需求

二、技术方案

  • 技术栈选型及理由
  • 系统架构设计(Mermaid图)
  • 模块划分和职责

三、详细设计

前端设计

  • 基于PRD页面清单生成路由设计
  • 基于功能架构生成组件结构
  • 基于交互设计生成状态管理方案

后端设计

  • 基于功能需求生成服务分层
  • 基于业务规则生成核心服务类

四、数据库设计

  • 基于PRD数据需求生成表结构
  • 自动添加常用字段(id, created_at, updated_at)
  • 自动设计索引(主键、唯一键、普通索引)
  • 生成ER图(Mermaid)

五、接口设计

  • 基于PRD功能需求生成RESTful API清单
  • 基于页面清单生成前端所需接口
  • 为每个接口生成完整示例(至少1个)
    • 请求参数
    • 请求示例
    • 响应数据
    • 错误码

六、安全设计

  • 基于PRD安全要求生成安全方案
  • 标准的认证授权方案(JWT)
  • 数据加密和传输安全

七、性能优化

  • 基于PRD性能要求生成优化方案
  • 前端优化(代码分割、懒加载、缓存)
  • 后端优化(数据库索引、Redis缓存、异步处理)

八、测试方案

  • 单元测试覆盖率要求
  • 集成测试策略
  • E2E测试方案

九、部署方案

  • 基于技术栈生成部署架构图
  • Docker容器化方案
  • CI/CD流程图

十、监控告警

  • 应用监控指标
  • 系统监控指标
  • 告警规则

其他章节

  • 风险与应对
  • 版本历史(初始化为v1.0)
  • 评审记录(空表格待填)

步骤5:人工审核和完善

AI提示

code
✅ TDD草稿已生成:docs/需求文档/{年月}-{需求名称}/develop/TDD.md

📋 请人工审核和完善以下内容:
1. 技术方案是否合理,是否有更优选择
2. 架构设计是否满足扩展性要求
3. 接口设计是否完整,是否有遗漏
4. 数据库设计是否符合业务需求
5. 性能方案是否可行
6. 安全设计是否充分

⚠️ 注意事项:
- AI生成的是草稿,核心技术决策需人工确认
- 复杂的业务逻辑需要详细设计
- 性能优化方案需要结合实际情况调整

✏️ 完善后请更新:
- 文档状态:🔵 草稿
- 技术负责人信息
- PRD版本号

步骤6:执行质量检查

AI自动检查

  • 所有必需章节已包含
  • 至少有2个Mermaid图(架构图+ER图)
  • 接口设计至少有1个完整示例
  • 数据库表设计包含索引
  • 技术栈有版本号
  • 与PRD版本对应

输出检查报告


生成规则

基于PRD的映射规则

功能需求 → 技术模块

code
PRD功能模块 → TDD模块划分
PRD功能点 → TDD服务类/组件
PRD业务规则 → TDD业务逻辑设计

数据需求 → 数据库设计

code
PRD数据实体 → 数据库表
PRD数据字段 → 表字段设计
PRD数据关系 → 外键和ER图

交互设计 → 前端设计

code
PRD页面清单 → 前端路由表
PRD交互流程 → 状态流转设计
PRD页面结构 → 组件层级

非功能需求 → 技术方案

code
PRD性能要求 → 性能优化方案
PRD安全要求 → 安全设计方案
PRD兼容性要求 → 技术选型约束

自动推断规则

接口设计推断

code
基于PRD功能点自动生成CRUD接口:
- 获取列表:GET /api/{resource}
- 获取详情:GET /api/{resource}/:id
- 创建资源:POST /api/{resource}
- 更新资源:PUT /api/{resource}/:id
- 删除资源:DELETE /api/{resource}/:id

数据库字段推断

code
所有表自动包含:
- id: BIGINT, 主键, 自增
- created_at: DATETIME, 创建时间
- updated_at: DATETIME, 更新时间

状态字段自动设计:
- status: TINYINT, 索引, 默认1

用户关联自动设计:
- user_id: BIGINT, 外键, 索引

索引设计推断

code
自动添加索引:
- 主键索引:id
- 状态索引:status
- 时间索引:created_at
- 外键索引:{table}_id
- 组合索引:常见查询条件组合

质量保证规则

完整性保证

  • ✅ 包含所有必需章节
  • ✅ 技术栈有版本号
  • ✅ 至少2个Mermaid图
  • ✅ 至少1个完整接口示例
  • ✅ 数据库设计包含索引

一致性保证

  • ✅ 需求名称与PRD一致
  • ✅ 功能覆盖PRD所有核心功能
  • ✅ 接口设计满足PRD页面需求
  • ✅ 数据库设计支持PRD数据需求

可执行性保证

  • ✅ 技术方案具体可实施
  • ✅ 接口定义明确无歧义
  • ✅ 数据库DDL可直接执行
  • ✅ 部署方案可操作

命令示例

基本用法

用户

code
基于PRD生成TDD

AI

code
正在查找PRD文档...
找到PRD:docs/需求文档/202602-移动端首页改版/product/PRD.md
PRD状态:🟢 已批准
PRD版本:v1.0

开始分析PRD并生成TDD...
[生成过程]
✅ TDD草稿已生成

指定需求

用户

code
为"202602-移动端首页改版"生成TDD

AI

code
定位需求:202602-移动端首页改版
读取PRD...
[继续生成流程]

指定技术栈

用户

code
基于PRD生成TDD,使用Vue3 + TypeScript + FastAPI + PostgreSQL

AI

code
确认技术栈:
- 前端:Vue 3 + TypeScript
- 后端:FastAPI
- 数据库:PostgreSQL

开始生成TDD...

高级选项

选项1:生成策略

简化版

  • 只生成核心章节
  • 接口设计只有清单
  • 快速生成,人工补充

完整版(推荐):

  • 生成所有必需章节
  • 至少1个完整接口示例
  • 详细的数据库设计

详尽版

  • 生成所有章节包括可选章节
  • 所有接口完整示例
  • 详细的部署和监控方案

选项2:架构风格

单体架构

  • 适合小型项目
  • 前后端分离
  • 单一数据库

微服务架构

  • 适合大型项目
  • 服务拆分
  • 分布式数据库

常见问题

Q1: TDD生成需要多长时间?

A: 通常1-3分钟,取决于PRD复杂度和所选技术栈。

Q2: 生成的TDD可以直接使用吗?

A: 不能。TDD草稿需要人工审核和完善,特别是架构设计、性能方案等核心部分。

Q3: 如果PRD有修改怎么办?

A: 使用"refine-requirement-docs"技能更新TDD,或重新生成。

Q4: 可以只生成部分章节吗?

A: 可以。明确指定需要生成的章节,如"只生成接口设计部分"。

Q5: 生成的接口设计合理吗?

A: AI会基于RESTful规范和PRD需求生成,但具体接口参数需要人工确认。


检查清单

使用此技能后,确认以下内容:

  • PRD已完成且评审通过
  • TDD草稿已生成
  • 技术栈版本号已明确
  • 架构图已生成并合理
  • ER图已生成并合理
  • 接口设计完整
  • 数据库设计包含索引
  • 已执行质量检查
  • 人工审核计划已安排

相关资源

规则

技能

模板


示例场景

场景:移动端首页改版

用户输入

code
帮我基于"202602-移动端首页改版"的PRD生成TDD

AI执行

  1. 读取PRD:docs/需求文档/202602-移动端首页改版/product/PRD.md
  2. 分析PRD:
    • 核心功能:首页布局、模块展示、数据刷新
    • 数据实体:用户、模块配置、内容数据
    • 性能要求:首屏加载<2秒
  3. 确认技术栈:Vue3 + Element Plus + Node.js + MySQL
  4. 生成TDD内容:
    • 技术方案:前后端分离架构
    • 前端设计:页面组件树、路由表
    • 后端设计:模块服务、配置服务
    • 数据库:users表、modules表、contents表
    • 接口设计:10个RESTful接口
    • ER图:3个表的关系图
  5. 输出质量检查报告
  6. 提示人工审核要点

生成结果

code
✅ TDD草稿已生成:docs/需求文档/202602-移动端首页改版/develop/TDD.md

📊 质量检查结果:
- 完整性: 95/100
- 准确性: 90/100
- 一致性: 100/100
- 可读性: 92/100
- 可执行性: 88/100
总分: 93/100 (优秀)

💡 改进建议:
1. 补充性能优化的具体实施方案
2. 完善监控告警的指标阈值
3. 添加灰度发布策略

📋 下一步:
1. 技术负责人审核架构设计
2. 完善核心业务逻辑设计
3. 补充性能测试方案
4. 提交技术评审

技能维护者: [填写]
最后更新: 2026-02-09
版本: v1.0