ワンクリックで
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