بنقرة واحدة
prd-evolution
PRD 文档树状版本管理,处理需求变更、功能扩展和覆盖逻辑。触发词:更新 PRD、修改 PRD、PRD 版本管理、PRD 树、扩展功能、覆盖需求。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
PRD 文档树状版本管理,处理需求变更、功能扩展和覆盖逻辑。触发词:更新 PRD、修改 PRD、PRD 版本管理、PRD 树、扩展功能、覆盖需求。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
PRD 驱动的完整开发工作流 - 从用户故事分析到自动化测试的端到端流程。 当用户需要"一条龙开发"、"全自动开发"、"从需求到代码"、"先分析PRD再开发"、 "多模型分析后自动开发"、"完整开发流程"、"从需求分析到测试"或任何涉及 PRD分析→需求整合→代码生成→自动化测试的连续工作时,**必须**使用此技能。 整合多模型聚合、Kimi深度整合、PRD生成、多模型代码审查、代码开发、自动化测试等能力。 **新增**: 智能决策大脑(th-workflow-decision-engine) - 自动判断何时使用GitNexus代码分析、 unified-search联网搜索、多模型聚合,测试失败时智能选择修复策略。
PRD驱动工作流的决策大脑 - 智能判断何时使用搜索、代码分析、多模型聚合。 作为子Skill被 th-prd-driven-dev-workflow 调用,负责工具选择和策略决策。
动态 Agent 生成器(母体模式)。当用户需要处理复杂项目时,自动分析需求并生成定制化专业 Agent 团队。接收项目描述、技术栈、版本号、约束条件,输出完整的 Agent 配置和启动命令。触发词:需要专业团队、生成 Agent、创建定制化 Agent、复杂项目团队、动态生成 Agent。
Arch Linux 系统特性(PEP 668、AUR Helpers)
浏览器交互自动化:网页测试、表单填写、截图、数据提取。触发词:打开网页、填写表单、网页截图。
系统化代码审查:安全性、性能、可维护性、正确性、测试覆盖。触发词:代码审查、review 代码、PR 审查。
| name | prd-evolution |
| description | PRD 文档树状版本管理,处理需求变更、功能扩展和覆盖逻辑。触发词:更新 PRD、修改 PRD、PRD 版本管理、PRD 树、扩展功能、覆盖需求。 |
| triggers | ["更新 PRD","修改 PRD","PRD 版本管理","PRD 树","扩展功能","覆盖需求","管理 PRD 版本","PRD 变更"] |
角色:PRD 版本管理专家
核心价值:管理 PRD 的完整生命周期,处理需求变更时的覆盖/扩展逻辑,维护清晰的版本树
prd-root (初始 PRD)
├── prd-v1.0 (已实现)
│ ├── feature-A (已实现)
│ └── feature-B (已实现)
├── prd-v1.1 (扩展)
│ └── feature-C (新功能,待实现)
└── prd-v2.0 (覆盖)
├── feature-A-v2 (覆盖 feature-A)
└── feature-D (新功能)
| 状态 | 图标 | 含义 |
|---|---|---|
| 草稿 | 🟡 | 刚创建,待确认 |
| 已确认 | 🟢 | 需求已确认,待实现 |
| 已实现 | 🔵 | 代码已完成 |
| 测试中 | 🟣 | 实现完成,测试中 |
| 已废弃 | ⚪ | 被新版本覆盖 |
| 已合并 | ✅ | 已合并到主线 |
场景:功能 A 已实现,但发现描述不够详细,需要补充细节
操作:
feature-A (已实现)
└── feature-A-detailed (扩展,待实现)
└── 继承 feature-A 的实现,添加新细节
实现策略:
场景:功能 B 还未实现(🟡/🟢),用户修改了需求
操作:
feature-B-v1 (🟡 草稿) ──→ feature-B-v2 (🟡 草稿)
↓ ↓
[废弃] [新需求]
实现策略:
场景:功能 C 已实现(🔵),但用户要求修改
操作:
feature-C-v1 (🔵 已实现)
└── feature-C-v2 (🟡 草稿,待实现)
└── 基于 v1 修改
实现策略:
用户:更新 PRD prd-20260323-143022-a3f7,添加搜索功能
AI:
1. 读取原 PRD
2. 判断原 PRD 状态
3. 根据状态决定策略
4. 创建新版本或扩展节点
5. 更新树状结构
6. 返回新版本 PRD ID
用户:修改功能"任务创建",添加优先级字段
AI:
1. 找到功能节点
2. 检查功能状态
3. 状态=🔵已实现 → 创建扩展节点
4. 状态=🟡草稿 → 直接覆盖
5. 更新 PRD 文档
6. 更新树结构图
用户:废弃功能"邮件通知"
AI:
1. 找到功能节点
2. 标记为 ⚪ 已废弃
3. 添加废弃原因
4. 更新树结构
5. 如果有代码,标记为待删除
位置: ~/src/docs/prd/tree.md
# PRD 版本树
## 项目:任务管理系统
### 根节点
- **ID**: prd-20260323-143022-a3f7
- **名称**: 任务管理系统 v1.0
- **状态**: 🟢 已确认
- **文件**: [prd-20260323-143022-a3f7.md](./prd-20260323-143022-a3f7.md)
### 版本树
prd-20260323-143022-a3f7 ├── feature-task-create (🔵 已实现) │ └── prd-20260323-143022-a3f7-task-create-priority (🟡 草稿) │ └── [添加优先级功能] ├── feature-task-list (🔵 已实现) ├── feature-search (🟡 草稿) └── feature-email-notify (⚪ 已废弃) └── 废弃原因:改为站内通知
### 变更历史
| 时间 | 操作 | 节点 | 说明 |
|------|------|------|------|
| 2026-03-23 14:30 | 创建 | prd-20260323-143022-a3f7 | 初始版本 |
| 2026-03-23 15:45 | 扩展 | feature-task-create-priority | 添加优先级字段 |
| 2026-03-23 16:20 | 废弃 | feature-email-notify | 改为站内通知 |
位置: ~/src/docs/prd/meta.json
{
"trees": {
"prd-20260323-143022-a3f7": {
"name": "任务管理系统",
"root_id": "prd-20260323-143022-a3f7",
"current_version": "1.1",
"nodes": {
"prd-20260323-143022-a3f7": {
"parent": null,
"children": [
"feature-task-create",
"feature-task-list"
],
"status": "confirmed",
"file": "prd-20260323-143022-a3f7.md",
"created_at": "2026-03-23T14:30:00Z",
"updated_at": "2026-03-23T14:30:00Z"
},
"feature-task-create": {
"parent": "prd-20260323-143022-a3f7",
"children": ["feature-task-create-priority"],
"status": "implemented",
"file": null,
"created_at": "2026-03-23T14:30:00Z",
"updated_at": "2026-03-23T14:30:00Z"
}
}
}
}
}
输入: 原 PRD ID + 变更内容 输出: 新 PRD ID
def create_version(parent_id, changes, strategy="extend"):
"""
strategy: "extend" | "override" | "fork"
- extend: 扩展(保留父版本,创建子版本)
- override: 覆盖(废弃父版本,创建新版本)
- fork: 分支(并行版本,后续可能合并)
"""
pass
输入: 节点 ID + 新状态 输出: 更新确认
def update_status(node_id, new_status):
"""
状态流转:
draft -> confirmed -> implemented -> tested -> merged
↓ ↓ ↓ ↓
abandoned abandoned abandoned abandoned
"""
pass
输入: PRD ID 输出: 完整树状结构
def get_tree(root_id):
"""返回树状结构,包含所有节点和状态"""
pass
输入: 源节点 ID + 目标节点 ID 输出: 合并后的节点
def merge_nodes(source_id, target_id):
"""将源节点合并到目标节点"""
pass
用户输入:
扩展任务创建功能,添加:
1. 优先级选择(高/中/低)
2. 截止日期时间选择(原本只有日期)
3. 任务标签
AI 执行:
feature-task-create 节点feature-task-create-v2输出:
✅ 已创建扩展版本
- **父节点**: feature-task-create (🔵 已实现)
- **新节点**: feature-task-create-v2 (🟡 草稿)
- **变更**: 添加优先级、时间选择、标签
- **策略**: 扩展(保留 v1,v2 待实现)
- **文件**: prd-20260323-143022-a3f7-task-create-v2.md
用户输入:
修改搜索功能,原本要求支持全文搜索,现在改为只支持标题搜索
AI 执行:
feature-search 节点输出:
✅ 已覆盖需求
- **节点**: feature-search (🟡 草稿)
- **变更**: 全文搜索 → 标题搜索
- **策略**: 直接覆盖(未实现,无需保留旧版本)
- **说明**: 由于功能未实现,直接修改原 PRD
用户输入:
废弃邮件通知功能,改为站内通知
AI 执行:
feature-email-notify 节点feature-inapp-notify输出:
✅ 已废弃并替换
- **废弃节点**: feature-email-notify (⚪ 已废弃)
- **原因**: 改为站内通知
- **新节点**: feature-inapp-notify (🟡 草稿)
- **说明**: 如已有代码,建议保留但标记为 deprecated
decision-record (需求决策)
↓
requirement-to-prd (生成初始 PRD)
↓
prd-evolution (管理版本树)
├─ 处理需求变更
├─ 管理覆盖/扩展逻辑
└─ 维护版本树
↓
prd-to-code (根据 PRD 实现代码)
↓
prd-evolution (更新实现状态)
| 当前状态 | 用户操作 | 策略 | 结果 |
|---|---|---|---|
| 🟡 草稿 | 修改需求 | 直接覆盖 | 更新原 PRD |
| 🟢 已确认 | 修改需求 | 直接覆盖 | 更新原 PRD |
| 🔵 已实现 | 添加细节 | 扩展 | 创建子节点 |
| 🔵 已实现 | 修改需求 | 扩展 | 创建子节点(v2) |
| 🟣 测试中 | 修改需求 | 扩展 | 创建子节点 |
| ⚪ 已废弃 | 恢复 | 重新激活 | 更新状态 |
最后更新:2026-03-23 | 版本:v1.0