Skip to main content

test-knowledge-retrieval

基于当前 PRD 和业务上下文,通过 test-knowledge-mcp 检索并组织测试知识库资料。适用于需要为 prd-to-xmind-testcases、UI 自动化、API 自动化、Traceability、回归分析、影响面分析提供历史 PRD、历史测试用例、历史缺陷、接口文档、上下游说明、发布说明、shared 规则等结构化上下文的场景。

Zur Installation springen

Quellinformationen

Repository
Fhui/AI-TEST
Letzte Quellaktivität
4. Juni 2026 um 10:10
Erkannte Sprache von SKILL.md
Chinesisch
Sterne
1
Forks
0

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
9 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
test-knowledge-retrieval
description
基于当前 PRD 和业务上下文,通过 test-knowledge-mcp 检索并组织测试知识库资料。适用于需要为 prd-to-xmind-testcases、UI 自动化、API 自动化、Traceability、回归分析、影响面分析提供历史 PRD、历史测试用例、历史缺陷、接口文档、上下游说明、发布说明、shared 规则等结构化上下文的场景。
# Test Knowledge Retrieval ## 职责边界 本 skill 只负责“检索与上下文组织”。 必须执行: - 基于当前 PRD 和用户补充信息规划检索条件。 - 通过 `test-knowledge-mcp` 检索和读取测试知识库资料。 - 将检索结果分为强相关、中相关、弱相关。 - 识别可复用测试用例、回归候选、风险候选、上下游依赖、shared 规则、冲突和待确认问题。 - 输出 `context-retrieval.md` 和 `context-package.json`。 禁止执行: - 生成测试用例、XMind、Playwright spec、API 自动化脚本或完整 PRD 分析。 - 修改测试知识库。 - 绕过 `test-knowledge-mcp` 直接扫描或读取知识库目录。 - 读取或解析 `.xmind` 文件。 - 臆造缺失的业务规则。 ## 必需能力 知识库相关操作必须通过 `test-knowledge-mcp` 完成: - `validate_knowledge_base` - `search_context` - `read_context_documents` - `list_module_assets` 如果 `test-knowledge-mcp` 不可用,必须停止并提示用户。禁止自行扫描知识库兜底。 ## Knowledge Roots 执行检索前必须确认知识库根目录来源,并在 `context-retrieval.md` 的 `Knowledge Roots` 或 `Retrieval Summary` 中记录结论。 MCP 的知识库来源包括: - 项目默认知识库:`knowledge-base` - 环境变量:`TEST_KNOWLEDGE_ROOTS` 必须注意: - `search_context` 会在 MCP 允许的 knowledge roots 中检索,skill 不得自行读取 `TEST_KNOWLEDGE_ROOTS` 指向目录。 - `validate_knowledge_base`、`scan_knowledge_base`、`refresh_knowledge_index` 如果传入 `root_path`,必须传 knowledge root 本身,禁止传项目根目录。 - 如果默认 `knowledge-base` 为空,不能直接判定 `knowledge_not_found`,必须继续执行同 system 和全库关键词降级检索,让 MCP 覆盖环境变量中的 roots。 - 如果 MCP 返回所有 roots 均无结果,才允许进入空结果处理。 ## 输出目录 写文件前必须确认项目根目录是包含 `.codex` 的目录。 所有产物写入: ```text ./<delivery-name>/analysis/ ``` 必需产物: ```text ./<delivery-name>/analysis/context-retrieval.md ./<delivery-name>/analysis/context-package.json ``` 禁止把执行产物写入 `.codex/`、`.codex/skills/` 或 skill 目录。 ## 执行流程 ### 1. 生成检索计划 从当前 PRD 和用户补充上下文中提取或谨慎推断: - `system` - `module` - `version` - `business_objects` - `interfaces` - `states` - `roles` - `upstream_dependencies` - `downstream_dependencies` - `keywords` - `risk_keywords` - `diff` 或 release note 线索 无法推断的字段保持为空,并写入 `open_questions`。禁止臆造。 在 `context-retrieval.md` 中输出 `Retrieval Plan`,至少包含: - System - Module - Business Objects - Interfaces - States - Roles - Upstream Dependencies - Downstream Dependencies - Keywords - Risk Keywords - Search Strategy - Open Questions ### 2. 校验并检索 当知识库状态不明确时,先调用 `validate_knowledge_base`。 必须按以下降级链路调用 `search_context`,禁止跳过中间步骤后直接标记 `knowledge_not_found`。 #### 2.1 精确 Module 检索 使用最可靠的精确字段检索: - `system` - `module` - `business_objects` - `interfaces` - `states` - `roles` - `upstream_dependencies` - `downstream_dependencies` - `keywords` 如果命中有效结果,进入相关性分级和读取阶段。 #### 2.2 同 System 降级检索 如果精确 module 无有效结果,必须将 `module` 置空或省略,保留 `system` 和业务检索条件,再次调用 `search_context`: - `system=<当前 system>` - `module=""` - 保留业务对象、接口、状态、角色、依赖、关键词 命中后按实际匹配信号重新分级。不能因为不是精确 module 就全部丢弃。 #### 2.3 全库 Keywords 降级检索 如果同 system 仍无有效结果,必须执行全库关键词检索: - `system=""` - `module=""` - 使用核心业务关键词、版本号、模块别名、业务对象、接口、状态、风险关键词 全库关键词命中的结果默认最多作为中相关或弱相关;只有同时命中业务对象、接口、状态、流程或历史版本关系时,才允许升级为强相关。 #### 2.4 空结果判定 只有精确 module、同 system、全库 keywords 三层检索均无有效结果,才允许设置: ```json "knowledge_not_found": true ``` 每一层检索都必须记录到 `context-package.json.retrieval_summary.search_attempts`,并写入 `context-retrieval.md` 的 `Search Attempts`。 检索覆盖范围必须包括: - 同 system、同 module。 - 同 system 下的相关模块。 - 上游依赖和下游依赖。 - shared 规则、发布说明和上下文关键词。 优先使用多次精准检索,避免一次性全库宽泛检索。禁止读取整个知识库。 ### 2.5 模块别名策略 当 PRD 中 module 可能是版本化组合名时,必须生成模块别名并纳入全库 keywords 降级检索。 示例: - 当前 module:`V5.6.1(在线看片自助裁剪)` - 可推断别名:`自助裁剪`、`在线看片自助裁剪`、`小程序自助裁剪`、`取片服务小程序 / 自助裁剪`、`V5.6.0(小程序自助裁剪)` 模块别名只能作为检索关键词或候选 module 说明,不能当作已确认事实写入最终业务结论。 ### 3. 相关性分级 读取正文前先分级: - `strong_related`:同 module,并命中业务对象、接口、流程、状态、角色、风险关键词或 diff。 - `medium_related`:上下游依赖、shared 规则、同 system 不同 module。 - `weak_related`:只有关键词相似,或表述相似但业务对象不同。 弱相关默认只记录摘要,不把正文写入 `context-package.json`。 ### 4. 读取候选资料 必须调用 `read_context_documents`。 - 强相关:允许在 `max_chars_per_doc` 限制内读取较完整正文。 - 中相关:优先摘要读取或使用较小字符上限。 - 弱相关:默认不读取正文。 历史测试用例规则: - `.md` 是 AI source,优先读取 `.md`。 - 如果存在关联 `.xmind`,只返回 `xmind_path` 和 `xmind_exists`。 - 禁止读取或解析 `.xmind`。 ### 5. 生成 Context Package 按 `references/context-package-schema.md` 生成合法 JSON。 字段填充规则: - `reused_testcases` 只放入与当前范围实质匹配的历史测试用例。 - `regression_candidates` 只有在命中当前模块、接口、状态流转、业务对象、风险关键词或 diff 时才能写入。 - `risk_candidates` 必须关注历史线上缺陷、高频缺陷、幂等、并发、状态错乱、通知重复、异步延迟、回滚失败、接口兼容、权限绕过。 - `upstream_dependencies` 和 `downstream_dependencies` 来源于相关资产或当前 PRD 显式描述。 - `shared_rules` 只写入与当前范围相关的 shared 规则。 - `conflicts` 记录当前 PRD 与历史 PRD、历史测试用例、缺陷、接口文档、发布说明、shared 规则之间的冲突。 - `open_questions` 记录缺失字段、归属不清、冲突待确认等问题。 选择回归候选时读取 `references/regression-selection.md`。记录冲突时读取 `references/conflict-detection.md`。 ### 6. 生成人类可读摘要 写入 `context-retrieval.md`,必须包含: ```markdown # Context Retrieval ## Knowledge Roots ## Retrieval Plan ## Search Attempts ### Exact Module Search ### System-Level Fallback Search ### Global Keyword Fallback Search ### Final Decision ## Retrieval Summary ## Strong Related Assets ## Medium Related Assets ## Weak Related Assets ## Reused Testcases ## Regression Candidates ## Risk Candidates ## Upstream Dependencies ## Downstream Dependencies ## Shared Rules ## Conflicts ## Open Questions ``` 内容必须简洁、可追溯。禁止粘贴完整大文档、完整历史 PRD 或完整历史测试用例集。 ## 空结果处理 如果 `search_context` 没有返回有效结果: - 仍然输出两个产物。 - 设置 `retrieval_summary.knowledge_not_found` 为 `true`。 - 相关数组保持为空。 - 在 `open_questions` 中记录缺失知识或需要补充的元数据。 - 必须说明三层检索均失败,以及失败发生在哪些 query 条件下。 禁止臆造历史上下文。 ## 参考资料 - `references/context-retrieval.md`:检索计划、查询策略和相关性分级。 - `references/regression-selection.md`:回归候选和风险候选选择规则。 - `references/conflict-detection.md`:冲突识别和记录格式。 - `references/context-package-schema.md`:`context-package.json` 结构规范。 ## 示例 - `examples/context-retrieval.sample.md` - `examples/context-package.sample.json` - `examples/regression-candidates.sample.json`
Auf GitHub ansehen