| name | prd-to-xmind-testcases |
| description | 将 Markdown PRD 按复杂度自适应解析为可导入 XMind 的测试用例树,并输出 Markdown、JSON、CSV 与 pipeline-output.json。适用于读取当前 PRD,按需触发 test-knowledge-retrieval,消费 context package,执行 analysis-lite 或完整系统建模,经过 testpoint 与 testcase-expansion 矩阵展开后生成测试用例。 |
PRD 转 XMind 测试用例
目标
将当前 PRD 转换为可导入 XMind 的测试用例树,并同步输出 JSON、CSV、pipeline-output.json,供 UI DSL、Playwright、API 自动化和 Traceability 后续链路使用。
本 skill 采用复杂度自适应 pipeline:
- simple:
analysis-lite -> testcase
- normal:
analysis -> testpoint -> testcase-expansion -> testcase
- complex:
assets -> plantuml -> analysis -> testpoint -> testcase-expansion -> testcase
所有 pipeline 前置执行:
Phase 0: complexity-analysis
Phase 0.3: context-retrieval
Phase 0.5: context-consumption
职责边界
负责:
- 读取当前 Markdown PRD
- 判断复杂度并选择 pipeline
- 在需要历史上下文时触发
test-knowledge-retrieval
- 消费
context-retrieval.md 与 context-package.json
- 生成
context-reference.md
- 执行轻量分析或完整结构化分析
- 将测试点展开为 testcase expansion matrix
- 生成 Markdown / JSON / CSV / pipeline-output.json
不负责:
- 扫描知识库
- 直接调用
test-knowledge-mcp
- 直接读取知识库根目录
- 自己做 metadata 提取、召回、rerank
- 解析
.xmind
- 生成自动化脚本
- 执行测试
Capability 强约束
必须读取 references/capability-abstraction.md。
文件系统操作必须通过 filesystem capability:
mkdir
write_file
read_file
list_dir
图片处理必须通过 image capability:
download_image
classify_image
ocr_image
extract_flow_elements
禁止:
- 直接写文件、创建目录、读取目录
- 直接下载图片、直接 OCR、直接图片分类
- 在 capability 不可用时自行兜底
Knowledge Retrieval 依赖
必须读取:
调用链路只能是:
prd-to-xmind-testcases
-> test-knowledge-retrieval
-> test-knowledge-mcp
-> context-package.json
-> context-consumption / analysis / testpoint / testcase
禁止:
prd-to-xmind-testcases -> test-knowledge-mcp
.md 是 AI source。.xmind 只能作为 human preview / traceability 路径。
输出路径规则
所有运行产物必须写入项目根目录下、与 .codex 同级的 ./<delivery-name>/,禁止写入 .codex/ 或 skill 目录。
./<delivery-name>/assets/
./<delivery-name>/plantuml/
./<delivery-name>/analysis/complexity-analysis.md
./<delivery-name>/analysis/context-retrieval.md
./<delivery-name>/analysis/context-package.json
./<delivery-name>/analysis/context-reference.md
./<delivery-name>/analysis/analysis-lite.md
./<delivery-name>/analysis/structured-analysis.md
./<delivery-name>/analysis/testpoint-model.md
./<delivery-name>/analysis/testcase-expansion.md
./<delivery-name>/testcase/xmind-testcases.md
./<delivery-name>/testcase/xmind-testcases.json
./<delivery-name>/testcase/xmind-import.csv
./<delivery-name>/pipeline-output.json
Pipeline Overview
所有 phase 必须遵守 references/loading-strategy.md,只读取当前 phase 允许的 references。
必须先执行 Phase 0 -> Phase 0.3 -> Phase 0.5,再按复杂度执行核心阶段:
- simple:2 phase
- normal:4 phase
analysis
testpoint
testcase-expansion
testcase
- complex:6 phase
assets
plantuml
analysis
testpoint
testcase-expansion
testcase
testpoint 不是最终 testcase。normal / complex 禁止跳过 testcase-expansion。
Phase 0: complexity-analysis
当前 phase 必须遵守 references/loading-strategy.md 中 complexity-analysis 的 loading strategy。
读取 references/complexity-analysis.md。
目标:
- 读取 PRD
- 判断复杂度:
simple / normal / complex
- 选择 pipeline
- 记录跳过阶段和原因
输出:
./<delivery-name>/analysis/complexity-analysis.md
必须包含:
- PRD 名称
- system / module 推断
- 图片数量
- 流程图 / 时序图可能性
- 状态、角色、依赖、异步、事务、补偿、复杂规则判断
- complexity
- selected_pipeline
- skipped_phases
- skip_reason
Phase 0.3: context-retrieval
当前 phase 必须遵守 references/loading-strategy.md 中 context-retrieval 的 loading strategy。
读取 references/retrieval-trigger-strategy.md 与 references/workflow-modeling.md。
目标:
- 基于当前 PRD 和
complexity-analysis.md 构建 retrieval query
- 调用/切换
test-knowledge-retrieval
- 校验
context-retrieval.md 与 context-package.json 是否存在
retrieval query 至少包含:system、module、business_objects、interfaces、states、roles、upstream/downstream_dependencies、workflow / journey、keywords、risk_keywords。
如果 context-package.json 不存在、非法、过期,或当前 PRD 与 context package 不匹配,必须重新执行 test-knowledge-retrieval。
执行 retrieval 时至少传递:当前 PRD、complexity-analysis.md、delivery-name、输出目录、retrieval query。
输出:
./<delivery-name>/analysis/context-retrieval.md
./<delivery-name>/analysis/context-package.json
Phase 0.3 只负责构建 query、调用 retrieval skill、校验 retrieval 输出。
Phase 0.3 不负责 search_context、read_context_documents、metadata extraction、rerank、knowledge indexing;这些必须由 test-knowledge-retrieval 和 test-knowledge-mcp 负责。
禁止 prd-to-xmind-testcases 自行伪造 retrieval 结果。
Phase 0.5: context-consumption
当前 phase 必须遵守 references/loading-strategy.md 中 context-consumption 的 loading strategy。
读取:
目标:
- 校验 context package
- 压缩历史上下文
- 识别影响范围、冲突、回归候选、风险候选、上下游影响
- 生成当前 skill 使用的压缩上下文
输出:
./<delivery-name>/analysis/context-reference.md
context package 缺失、非法、retrieval 不可用时,进入 degraded context mode,但继续后续 pipeline。
Phase analysis-lite
当前 phase 必须遵守 references/loading-strategy.md 中 analysis-lite 的 loading strategy。
读取 references/analysis-lite.md。
适用:simple。
目标:
- 不做完整 6 大建模
- 抽取 testcase 所需最小 expansion model
- 检查 context 中的 regression / risk / workflow / upstream / downstream impact
输出:
./<delivery-name>/analysis/analysis-lite.md
simple 不生成 testcase-expansion.md,但 analysis-lite.md 必须内置 lightweight expansion matrix。
analysis-lite 不是功能点摘要,而是 simple testcase generation 的最小 expansion model。
即使是 simple,也必须展开:主流程、分支流程、异常流程、regression hits、workflow hits、risk hits。
simple expansion 优先覆盖:主流程、高频 workflow、regression candidates、历史风险、边界值。
禁止 simple pipeline 一个功能点只生成一条 case。
如果存在 regression/risk/workflow 命中,最终 testcase 必须落地对应用例或写入 skip reason。
Phase 1: assets
当前 phase 必须遵守 references/loading-strategy.md 中 assets 的 loading strategy。
适用:complex。
目标:
输出:
./<delivery-name>/assets/
./<delivery-name>/assets/image-index.md
只处理当前 PRD 中的图片。simple / normal 禁止强制走图片 pipeline。
Phase 2: plantuml
当前 phase 必须遵守 references/loading-strategy.md 中 plantuml 的 loading strategy。
适用:complex。
目标:
- 分类图片
- 对流程图 / 时序图提取结构化元素
- 生成 PlantUML 中间产物
输出:
./<delivery-name>/plantuml/*.puml
./<delivery-name>/plantuml/index.md
原型图、截图、页面图默认不转 PlantUML。
Phase 3: analysis
当前 phase 必须遵守 references/loading-strategy.md 中 analysis 的 loading strategy。
读取 references/prd-structured-analysis.md。
适用:normal / complex。
目标:
- 基于当前 PRD、context-reference、context-package 和必要中间产物进行完整建模
- 完成 6 大建模维度
- 回答 8 个强制建模问题
- 做完整性检查
输出:
./<delivery-name>/analysis/structured-analysis.md
历史上下文必须参与需求点拆分、影响范围、规则复用、冲突识别和回归候选判断,但不能覆盖当前 PRD。
Phase 4: testpoint
当前 phase 必须遵守 references/loading-strategy.md 中 testpoint 的 loading strategy。
读取 references/testpoint-modeling.md。
适用:normal / complex。
目标:
- 将 structured-analysis 压缩为测试点模型
- 动态输出测试点分类
- 将历史命中的 reused/regression/risk/workflow 转成测试点或待确认项
输出:
./<delivery-name>/analysis/testpoint-model.md
禁止把完整分析复制进 testpoint。禁止把全部历史用例无脑转为回归测试点。
Phase 4.5: testcase-expansion
当前 phase 必须遵守 references/loading-strategy.md 中 testcase-expansion 的 loading strategy。
在加载 domain profiles 前,必须执行 references/profile-selection-heuristic.md。
selected_domain_profiles 必须来源于 references/profile-selection-heuristic.md 的 rule-based selection output。
读取:
适用:normal / complex。
目标:
- 将 testpoint 展开为 expansion matrix
- 将测试点按业务维度、状态、数据、角色、配置、异常、workflow、历史回归等维度组合
- 生成可执行 testcase groups
- 生成
expected_case_count
domain profile 必须按 system、module、workflow、business objects、terminology 推断。
domain profiles 必须包含结构化 Markdown frontmatter metadata,用于后续 profile routing 与 heuristic selection。
如果无法明确判断领域,只允许读取 references/domain-expansion/generic.md。
禁止无法判断领域时同时加载多个无关 profile。
testcase-expansion.md 必须记录 selected_domain_profiles 与 selection_reason。
domain profiles 与 examples 必须遵守 references/loading-strategy.md。
输出:
./<delivery-name>/analysis/testcase-expansion.md
禁止:
testpoint -> testcase 直接生成
- 一个测试点只生成一条代表性 case
- 把具体业务组合硬编码进主流程
Phase 5: testcase
当前 phase 必须遵守 references/loading-strategy.md 中 testcase 的 loading strategy。
读取:
输入:
- simple:
analysis-lite.md
- normal / complex:
testpoint-model.md + testcase-expansion.md
- 所有复杂度:当前 PRD、
context-reference.md、context-package.json(如存在)
输出:
./<delivery-name>/testcase/xmind-testcases.md
./<delivery-name>/testcase/xmind-testcases.json
./<delivery-name>/testcase/xmind-import.csv
./<delivery-name>/pipeline-output.json
Markdown 必须对齐知识库历史用例格式,只承载 XMind 树。traceability、context_source、source_reason、ai_source_path、xmind_path 必须进入 JSON / CSV / pipeline-output.json。
必须统计 actual_case_count。
如果 actual_case_count 明显低于 expected_case_count,必须输出 case_count_warning,写入 pipeline-output.json,并给出 case_count_reason:
{
"case_count_warning": true,
"expected_case_count": 80,
"actual_case_count": 32,
"case_count_reason": "workflow branches not fully expanded"
}
case 数量不是唯一目标,但 expansion coverage 必须满足 workflow / regression / risk 覆盖。
关键禁止项
禁止:
- 删除 degraded context mode
- 删除 workflow awareness
- 删除 context validation
- 删除 filesystem / image capability 强约束
- 删除
.md / .xmind 边界
- 删除 pipeline-output.json
- 删除 traceability
- 删除 retrieval dependency
- 删除 context package
- 跳过 testcase-expansion
- 在主流程硬编码具体业务规则
- 将 references 内容重新塞回
SKILL.md
- 因历史上下文缺失而终止整个 testcase pipeline
资源引用
必须遵守 references/loading-strategy.md。
SKILL.md 只定义 phase orchestration contract;详细 required / optional / forbidden reference rules 由 references/loading-strategy.md 统一定义。
必须按阶段读取对应 reference。不要一次性加载全部 references。
domain profiles 按需读取。默认只读取 references/domain-expansion/generic.md;只有明确命中领域语义时,才允许加载额外 profile。
domain profiles 必须包含 profile_id / profile_type / display_name / description / match_systems / match_modules / match_keywords / match_workflows / match_business_objects / priority / related_profiles / fallback_priority frontmatter。
examples 仅用于 few-shot,不得当作主规则。
完成状态
每个阶段完成后只输出简短状态:
[✓] complexity-analysis 完成
[✓] context-retrieval 完成
[✓] context-consumption 完成
[✓] assets 完成
[✓] plantuml 完成
[✓] analysis-lite 完成
[✓] analysis 完成
[✓] testpoint 完成
[✓] testcase-expansion 完成
[✓] testcase 完成