{"id":"2dde6c79-ca90-4c05-b08e-5c046bf3de3e","entityType":"agent","slug":"clawhub-kokxi-qa-scenario-tree","name":"qa-scenario-tree","canonicalUrl":"https://www.xpersona.co/agent/clawhub-kokxi-qa-scenario-tree","canonicalPath":"/agent/clawhub-kokxi-qa-scenario-tree","generatedAt":"2026-10-11T08:42:06.450Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-11T06:25:16.565Z","emptyReason":null},"description":"将需求解构的结果系统化转化为主路径、备选路径、异常路径、业务规则四类测试场景。当业务流程复杂、涉及多个页面跳转或状态变化、需要确保关键路径和异常路径都有覆盖时，应当使用此技能。不要只测\"正常流程\"——场景树的核心价值是暴露那些\"用户可能不会按你预期操作\"的分支和异常路径。每个场景带唯一 ID（SC-{模块缩写}-{序号}）并关联回需求 ID（REQ-）。 触发场景：构建场景、测试场景、场景树、场景设计、测试路径、场景覆盖、业务流程复杂需要系统化梳理时。 Use when the user asks about: building a test scenario tree — main path, alternate path, exception path, and data flow scenarios with traceable SC-/REQ- IDs. Skill: qa-scenario-tree Owner: kokxi Summary: 将需求解构的结果系统化转化为主路径、备选路径、异常路径、业务规则四类测试场景。当业务流程复杂、涉及多个页面跳转或状态变化、需要确保关键路径和异常路径都有覆盖时，应当使用此技能。不要只测\"正常流程\"——场景树的核心价值是暴露那些\"用户可能不会按你预期操作\"的分支和异常路径。每个场景带唯一 ID（SC-{模块缩写}-{序号}）并关联回需求 ID（REQ-）。 触发场景：构建场景、测试场景、场景树、场景设计、测试路径、场景覆盖、业务流程复杂需要系统化梳理时。 Use when the user asks about: building a test scenario tree — main path, alternate path, exception path, and data flow scenarios with traceable S","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.1K downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s170jw3s1atcj5jwhqb4r7v7eh8912kp:qa-scenario-tree","sourceUrl":"https://clawhub.ai/kokxi/qa-scenario-tree","homepage":"https://clawhub.ai/kokxi/skills/qa-scenario-tree","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/kokxi/qa-scenario-tree","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/kokxi/skills/qa-scenario-tree","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":61,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"将需求解构的结果系统化转化为主路径、备选路径、异常路径、业务规则四类测试场景。当业务流程复杂、涉及多个页面跳转或状态变化、需要确保关键路径和异常路径都有覆盖时，应当使用此技能。不要只测\"正常流程\"——场景树的核心价值是暴露那些\"用户可能不会按你预期操作\"的分支和异常路径。每个场景带唯一 ID（SC-{模块缩写}-{序号"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T06:25:16.565Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T06:25:16.565Z","emptyReason":null},"stars":null,"forks":null,"downloads":1134,"packageName":null,"latestVersion":"1.8.0","tractionLabel":"1.1K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T06:25:16.329Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T06:25:16.565Z","lastCrawledAt":"2026-10-11T06:25:16.329Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T06:25:16.329Z","lastVerifiedAt":null,"highlights":[{"version":"1.8.0","createdAt":"2026-09-29T04:28:06.222Z","changelog":"## qa-scenario-tree v1.8.0 Changelog - Added: New reference files for scenario templates and types (`assets/scenario-template.md`, `references/scenario-types.md`) - Changed: Major rewrite and restructuring of SKILL.md - Clarified and standardized scenario/requirement ID formats (`SC-` and `REQ-`, no longer `TC_` in this skill) - Scenario tree output no longer includes 9-column test case table; that is now produced by the `qa-test-case-design` skill - Expanded guidance and traceability instructions for scenario construction, ID usage, and category coverage - Removed: Deprecated skill card markdown file (`skill-card.md`) - Documentation is now more concise, with better reference separation and self-check instructions for scenario trees","fileCount":5,"zipByteSize":10264},{"version":"1.7.7","createdAt":"2026-09-27T14:40:09.025Z","changelog":"1.7.7","fileCount":3,"zipByteSize":5813},{"version":"1.7.6","createdAt":"2026-09-01T12:44:35.565Z","changelog":"显示名改中文","fileCount":3,"zipByteSize":6067},{"version":"1.7.5","createdAt":"2026-08-30T15:17:51.046Z","changelog":"1.7.5: 版本号升级","fileCount":3,"zipByteSize":5860},{"version":"1.7.0","createdAt":"2026-08-16T14:32:26.445Z","changelog":"Version 1.7.0 of qa-scenario-tree - Removed skill-card.md from the project. - SKILL.md updated for the new version (1.7.0); documentation improvements or adjustments may be present. - No changes to core logic or usage noted in the changelog inputs.","fileCount":3,"zipByteSize":5535},{"version":"1.6.3","createdAt":"2026-08-12T15:26:59.540Z","changelog":"**qa-scenario-tree v1.6.3 Changelog** - Added `slug` and `displayName` fields in SKILL.md for improved metadata and display. - Removed the obsolete skill-card.md file for better file organization. - No changes to core scenario tree methodology or functional logic. - Minor formatting and metadata improvements for skill documentation clarity.","fileCount":3,"zipByteSize":5581},{"version":"1.6.0","createdAt":"2026-07-06T17:17:09.519Z","changelog":"- Added new related downstream skills for broader scenario tree integration, including ai-context, critique, and modeling. - Added categories and error recovery guidance fields to skills metadata for better classification and operational clarity. - Included a security warning regarding handling of sensitive/mock data to promote safe test practices. - Removed the separate skill-card.md file; all documentation now consolidated in SKILL.md.","fileCount":3,"zipByteSize":5729},{"version":"1.5.0","createdAt":"2026-06-29T12:35:01.067Z","changelog":"qa-scenario-tree 1.5.0 - 增加 version 字段提升元数据规范性并加入场景深度量化说明 - 精炼 description，强化业务场景复杂性及异常路径覆盖强调 - 移除 skill-card.md，文档合并统一到 SKILL.md - 细化输出示例、type 说明、检查清单与使用价值 - 明确场景独立性和可溯源性（唯一ID与需求ID关联）","fileCount":3,"zipByteSize":5198}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s170jw3s1atcj5jwhqb4r7v7eh8912kp:qa-scenario-tree","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-kokxi-qa-scenario-tree/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-kokxi-qa-scenario-tree/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-kokxi-qa-scenario-tree/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-kokxi-qa-scenario-tree/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-kokxi-qa-scenario-tree/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-kokxi-qa-scenario-tree/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-11T08:42:06.449Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-kokxi-qa-scenario-tree/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-kokxi-qa-scenario-tree/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-kokxi-qa-scenario-tree/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-kokxi-qa-scenario-tree/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-11T06:25:16.565Z","emptyReason":null},"readme":"Skill: qa-scenario-tree\n\nOwner: kokxi\n\nSummary: 将需求解构的结果系统化转化为主路径、备选路径、异常路径、业务规则四类测试场景。当业务流程复杂、涉及多个页面跳转或状态变化、需要确保关键路径和异常路径都有覆盖时，应当使用此技能。不要只测\"正常流程\"——场景树的核心价值是暴露那些\"用户可能不会按你预期操作\"的分支和异常路径。每个场景带唯一 ID（SC-{模块缩写}-{序号}）并关联回需求 ID（REQ-）。 触发场景：构建场景、测试场景、场景树、场景设计、测试路径、场景覆盖、业务流程复杂需要系统化梳理时。 Use when the user asks about: building a test scenario tree — main path, alternate path, exception path, and data flow scenarios with traceable SC-/REQ- IDs.\n\nTags: latest:1.8.0\n\nVersion history:\n\nv1.8.0 | 2026-09-29T04:28:06.222Z | auto\n\n## qa-scenario-tree v1.8.0 Changelog\n\n- Added: New reference files for scenario templates and types (`assets/scenario-template.md`, `references/scenario-types.md`)\n- Changed: Major rewrite and restructuring of SKILL.md\n  - Clarified and standardized scenario/requirement ID formats (`SC-` and `REQ-`, no longer `TC_` in this skill)\n  - Scenario tree output no longer includes 9-column test case table; that is now produced by the `qa-test-case-design` skill\n  - Expanded guidance and traceability instructions for scenario construction, ID usage, and category coverage\n- Removed: Deprecated skill card markdown file (`skill-card.md`)\n- Documentation is now more concise, with better reference separation and self-check instructions for scenario trees\n\nv1.7.7 | 2026-09-27T14:40:09.025Z | user\n\n1.7.7\n\nv1.7.6 | 2026-09-01T12:44:35.565Z | user\n\n显示名改中文\n\nv1.7.5 | 2026-08-30T15:17:51.046Z | user\n\n1.7.5: 版本号升级\n\nv1.7.0 | 2026-08-16T14:32:26.445Z | auto\n\nVersion 1.7.0 of qa-scenario-tree\n\n- Removed skill-card.md from the project.\n- SKILL.md updated for the new version (1.7.0); documentation improvements or adjustments may be present.\n- No changes to core logic or usage noted in the changelog inputs.\n\nv1.6.3 | 2026-08-12T15:26:59.540Z | auto\n\n**qa-scenario-tree v1.6.3 Changelog**\n\n- Added `slug` and `displayName` fields in SKILL.md for improved metadata and display.\n- Removed the obsolete skill-card.md file for better file organization.\n- No changes to core scenario tree methodology or functional logic.\n- Minor formatting and metadata improvements for skill documentation clarity.\n\nv1.6.0 | 2026-07-06T17:17:09.519Z | auto\n\n- Added new related downstream skills for broader scenario tree integration, including ai-context, critique, and modeling.\n- Added categories and error recovery guidance fields to skills metadata for better classification and operational clarity.\n- Included a security warning regarding handling of sensitive/mock data to promote safe test practices.\n- Removed the separate skill-card.md file; all documentation now consolidated in SKILL.md.\n\nv1.5.0 | 2026-06-29T12:35:01.067Z | auto\n\nqa-scenario-tree 1.5.0\n\n- 增加 version 字段提升元数据规范性并加入场景深度量化说明\n- 精炼 description，强化业务场景复杂性及异常路径覆盖强调\n- 移除 skill-card.md，文档合并统一到 SKILL.md\n- 细化输出示例、type 说明、检查清单与使用价值\n- 明确场景独立性和可溯源性（唯一ID与需求ID关联）\n\nv1.4.1 | 2026-06-25T16:56:16.459Z | auto\n\n- Description streamlined to focus on main tree branches; scenario category “业务规则”/business rules wording aligned.\n- Minor language and format optimizations in the introduction and skill context.\n- No logic or structural changes to functionality or required/optional input/output formats.\n- Removed outdated file: skill-card.md.\n\nv1.4.0 | 2026-06-24T05:11:04.599Z | auto\n\nVersion 1.4.0\n\n- Improved and expanded SKILL.md: scenario类型定义、使用场景和关键词表述更详细，增加实际覆盖范围说明。\n- 更详细的场景树方法与结构说明，补充常见示例与类型速查表。\n- 新增“场景漂移与处理”小节，列举常见问题及应对方法。\n- 场景描述模板、验收清单更标准化，流程更清晰。\n- 移除 skill-card.md 文件，精简内容结构。\n\nv1.3.0 | 2026-06-22T16:10:07.715Z | auto\n\n- Major documentation update: Added a comprehensive SKILL.md detailing usage scenarios, input/output formats, tree structure methodology, scene coverage checklists, construction steps, scene description templates, and acceptance criteria.\n- Clarified when and how to activate the skill, with explicit mapping to upstream and downstream skills.\n- Introduced complexity-based guidance for scene quantity estimation.\n- Provided detailed structural and traceability requirements for scene outputs.\n- Included step-by-step methodology and abundant practical examples for constructing scenario trees.\n\nArchive index:\n\nArchive v1.8.0: 5 files, 10264 bytes\n\nFiles: assets/scenario-template.md (3552b), references/scenario-types.md (5745b), skill-card.md (1810b), SKILL.md (8762b), _meta.json (135b)\n\nFile v1.8.0:SKILL.md\n\n---\nname: qa-scenario-tree\ndescription: >-\n  将需求解构的结果系统化转化为主路径、备选路径、异常路径、业务规则四类测试场景。当业务流程复杂、涉及多个页面跳转或状态变化、需要确保关键路径和异常路径都有覆盖时，应当使用此技能。不要只测\"正常流程\"——场景树的核心价值是暴露那些\"用户可能不会按你预期操作\"的分支和异常路径。每个场景带唯一 ID（SC-{模块缩写}-{序号}）并关联回需求 ID（REQ-）。\n  触发场景：构建场景、测试场景、场景树、场景设计、测试路径、场景覆盖、业务流程复杂需要系统化梳理时。 Use when the user asks about: building a test scenario tree — main path, alternate path, exception path, and data flow scenarios with traceable SC-/REQ- IDs.\nlicense: MIT\nallowed-tools: Read Grep Glob\nmetadata:\n  display-name: \"Scenario Tree\"\n  version: \"1.8.0\"\n  when-to-use: \"用户说\\\"构建场景\\\"、\\\"测试场景\\\"、\\\"场景树\\\"、\\\"场景设计\\\"、\\\"测试路径\\\"、\\\"场景覆盖\\\"、完成需求解构后需要设计测试、业务流程复杂需要系统化梳理时\"\n  related-skills: \"{\\\"upstream\\\":[\\\"qa-req-deconstruction\\\"],\\\"downstream\\\":[\\\"qa-boundary-deep-dive\\\",\\\"qa-combination-strategy\\\",\\\"qa-state-transition\\\",\\\"qa-ai-context-engineering\\\",\\\"qa-ai-output-critique\\\",\\\"qa-domain-modeling\\\",\\\"qa-execution-observation\\\",\\\"qa-exploratory-testing\\\",\\\"qa-test-case-design\\\"]}\"\n  references: \"[\\\"assets/scenario-template.md\\\",\\\"references/scenario-types.md\\\"]\"\n  input-format: \"{\\\"required\\\":[{\\\"name\\\":\\\"需求解构表\\\",\\\"type\\\":\\\"object\\\",\\\"description\\\":\\\"来自qa-req-deconstruction的输出，包含需求ID、显性/隐性/衍生需求\\\"}],\\\"optional\\\":[{\\\"name\\\":\\\"风险评估\\\",\\\"type\\\":\\\"object\\\",\\\"description\\\":\\\"来自qa-risk-intuition的输出，包含高风险区域\\\"}]}\"\n  output-format: \"{\\\"traceability\\\":[\\\"每个场景带唯一ID：SC-{模块缩写}-{序号}（如 SC-LOGIN-001）\\\",\\\"关联需求ID：REQ-{需求模块缩写}-{序号}（REQ- 才是需求前缀，SC- 是场景前缀，TC_ 是用例前缀——三者不可混用）\\\"],\\\"structure\\\":[{\\\"scenario_tree\\\":\\\"场景树：按 主路径/分支路径/异常路径/数据流 四类组织，场景ID树内连续\\\"},{\\\"scenario_block\\\":\\\"单场景描述块：路径类型|关联需求|前置条件|触发条件|操作步骤|预期结果|数据变化|风险等级\\\"},\\\"数量：需求数 ×3（简单）/ ×5（中等）/ ×7（复杂）；分支=需求×2、异常=需求×1.5、数据流=需求×0.5，非整数时向下取整\\\",\\\"本技能不产出 9 列用例表 —— 用例由 qa-test-case-design 分配 TC_ 编号并生成\\\",\\\"覆盖率：标注口径（基于现有需求解构表），禁止\\\\\\\"全覆盖/100%\\\\\\\"绝对化表述；未覆盖路径标注\\\\\\\"未覆盖+原因\\\\\\\"\\\"],\\\"happy_path\\\":\\\"主路径场景\\\",\\\"alternative_path\\\":\\\"分支路径场景\\\",\\\"exception_path\\\":\\\"异常路径场景\\\",\\\"data_flow\\\":\\\"数据流场景\\\"}\"\n  error-recovery-guidance: \"{\\\"on_failure\\\":\\\"场景树遗漏异常路径时回退到需求解构补充\\\",\\\"retry_behavior\\\":\\\"补全异常需求后重新构建场景树\\\"}\"\n  categories: \"[\\\"Development\\\",\\\"Requirements\\\"]\"\n  depth-requirement: \"{\\\"reference_value\\\":\\\"见正文「场景数量要求」表：以需求数为基准，简单=需求数×3 / 中等=×5 / 复杂=×7（绝对倍数）\\\",\\\"minimum\\\":\\\"四类路径（主路径/分支路径/异常路径/数据流）至少覆盖3类；未覆盖的类必须标注原因\\\"}\"\n---\n\n> ⚠️ 本技能单独使用效果有限，建议配合完整技能集（12 步工作流）使用。安装：npx skills add Kokxi/qa-test-skills\n\n> **⚠️ 安全警告**：本技能的示例可能涉及订单号、支付金额、截图、身份证、手机号等敏感数据。\n> 实际使用时请勿粘贴真实生产数据、客户信息或财务凭证；测试前应脱敏/掩码处理。\n> 本技能仅在 workspace/ 输出评估文件，不持久化、不外传、不跨会话复用。\n\n# 场景树构建\n\n## 核心原则\n\n用树结构组织测试场景，确保覆盖完整、层次清晰。\n\n**不要只测正常流程**——场景树的核心价值是暴露那些\"用户可能不会按你预期操作\"的分支和异常路径。\n\n## 1. 四类路径速查\n\n| 路径类型 | 覆盖目标 | 数量 | 最容易漏 |\n|---------|---------|------|---------|\n| **主路径** | 核心业务流程完整性 | 需求数 ×1 | 多角色主路径不同 |\n| **分支路径** | 条件分支、用户选择 | 需求数 ×2 | 配置项组合、权限分支 |\n| **异常路径** | 各类异常处理 | 需求数 ×1.5 | 第三方超时后的**恢复能力** |\n| **数据流** | 数据 CRUD + 跨模块一致性 | 需求数 ×0.5 | 跨模块数据同步断链 |\n\n> 非整数时**向下取整**（5 条需求 → 异常 7 条、数据流 2 条），不要为凑数造半条场景。\n> 四类至少覆盖 3 类，未覆盖的类必须写明原因——四类全上的场景树在真实项目里很少。\n\n## 2. 场景数量要求\n\n**关键指标**：以需求数为基准，按项目复杂度放大。\n\n| 复杂度 | 倍数 | 示例（需求 5 条） | 复杂度判断标准 |\n|--------|------|-----------------|--------------|\n| 简单项目 | ×3 | 场景 15 个 | 单模块、低风险、无并发 |\n| 中等项目 | ×5 | 场景 25 个 | 多模块、中风险、少量并发 |\n| 复杂项目 | ×7 | 场景 35 个 | 跨模块、高风险、高并发 |\n\n## 3. 编号规则\n\n| 对象 | 格式 | 示例 | 说明 |\n|------|------|------|------|\n| **场景 ID** | `SC-{模块缩写}-{序号}` | `SC-LOGIN-001` | 树内连续，不按类别分段 |\n| **需求 ID** | `REQ-{需求模块缩写}-{序号}` | `REQ-AUTH-001` | 每个场景**必填**关联 |\n| ~~用例 ID~~ | ~~`TC_{模块}_{功能}_{序号}`~~ | — | **本技能不用**，用例由 `qa-test-case-design` 分配 |\n\n> 三者不可混用。历史版本本技能的 traceability 把\"关联需求ID\"写成了 `TC_` 前缀，\n> 已修正为 `REQ-`。\n\n## 4. 加载时机\n\n**需要时才读，不要一上来全读**：\n\n| 什么时候读 | 读哪个 |\n|-----------|--------|\n| 展开某一类场景的完整覆盖清单，或按四步法逐类构建 | [`references/scenario-types.md`](references/scenario-types.md)（四类详解 + 构建方法 + 漂移处理） |\n| 写场景树或场景描述块 | [`assets/scenario-template.md`](assets/scenario-template.md)（树骨架 + 描述块 + 填写要求 + 自检） |\n\n## 5. 产出\n\n**场景树骨架**：\n\n```text\n登录功能\n├─ 主路径\n│   ├─ SC-LOGIN-001：用户名密码登录成功\n│   └─ SC-LOGIN-002：手机号验证码登录成功\n├─ 分支路径\n│   ├─ SC-LOGIN-003：记住我\n│   ├─ SC-LOGIN-004：第三方登录\n│   └─ SC-LOGIN-005：多因素认证\n├─ 异常路径\n│   ├─ SC-LOGIN-006：用户名不存在\n│   ├─ SC-LOGIN-007：密码错误\n│   ├─ SC-LOGIN-008：验证码过期\n│   ├─ SC-LOGIN-009：账号被锁定\n│   └─ SC-LOGIN-010：网络中断\n└─ 数据流\n    ├─ SC-LOGIN-011：登录状态存储\n    ├─ SC-LOGIN-012：Token 生成与刷新\n    └─ SC-LOGIN-013：登录日志记录\n```\n\n**单场景描述块**：\n\n```markdown\n### SC-LOGIN-014 — 支付回调超时后的订单状态\n\n- **路径类型**：异常路径\n- **关联需求**：REQ-PAY-003\n- **前置条件**：订单处于\"支付中\"已 30 分钟；回调地址注入 3 秒延迟\n- **触发条件**：用户点击支付，网关响应超时\n- **操作步骤**：1) 发起支付注入延迟 2) 等待超时 3) 查订单状态 4) 手动补发回调\n- **预期结果**：超时后订单进入\"支付中\"而非判失败；补发后转\"已支付\"不二次扣款；\n  30 分钟无回调则自动关单并释放库存\n- **数据变化**：订单 支付中→已支付；支付单唯一无重复；库存净扣减 1\n- **风险等级**：高（资损）\n```\n\n> 完整模板与填写要求见 `assets/scenario-template.md`。\n\n**本技能不产出 9 列用例表**——场景到用例的转换由 `qa-test-case-design` 完成。\n\n## 6. 交付前自检\n\n- [ ] 四类路径都有场景；某类不适用时写\"不适用 + 原因\"\n- [ ] 场景 ID 唯一、树内连续、格式 `SC-{模块}-{序号}`，无 `TC_` 混用\n- [ ] 每个场景关联到 `REQ-` 需求 ID，无孤儿场景\n- [ ] 场景数达到数量要求；小数维度已向下取整\n- [ ] **异常路径均验证了恢复能力**（报错后状态、能否重试、重试有无重复副作用）\n- [ ] 数据流场景逐个数据对象写了前后状态\n- [ ] 无主路径/异常路径混排\n- [ ] 覆盖率已标注口径，无\"全覆盖/100%\"绝对化表述\n\nFile v1.8.0:_meta.json\n\n{\n  \"ownerId\": \"kn71y9b23csfx0ykgm55d5m9x5891zt8\",\n  \"slug\": \"qa-scenario-tree\",\n  \"version\": \"1.8.0\",\n  \"publishedAt\": 1790656086222\n}\n\nFile v1.8.0:references/scenario-types.md\n\n# 四类场景详解与构建方法\n\n> 本文是 `qa-scenario-tree` 的**方法详图**。需要展开某一类场景的完整覆盖清单、或按四步法逐类构建时读本文；\n> 只想确认四类各占多少、重点看哪类时读 `SKILL.md` 的速查表即可。\n\n## 编号规则\n\n| 对象 | 格式 | 示例 |\n|------|------|------|\n| 场景 ID | `SC-{模块缩写}-{序号}` | `SC-LOGIN-001` |\n| 需求 ID | `REQ-{需求模块缩写}-{序号}` | `REQ-AUTH-001` |\n\n> `TC_` 是**用例** ID 前缀，由 `qa-test-case-design` 分配。本技能产出场景不产用例，\n> 不要用 `TC_` 编场景号。`SC-` 与 `REQ-` 均为 `docs/standards.md` 已定义前缀。\n\n---\n\n## 1. 主路径场景（Happy Path）\n\n**目标**：核心业务流程完整性。每个角色一条——多角色系统里各角色主路径不同。\n\n```text\n覆盖清单：\n├─ 核心业务流程是否覆盖？\n├─ 正常用户操作路径是否覆盖？\n├─ 主要功能点是否覆盖？\n└─ 每个角色是否各有一条主路径？（多租户/多权限系统）\n```\n\n**识别方法**：用户从开始到结束，最正常的操作路径是什么？\n\n```text\n1. 用户起点：用户从哪里开始？\n2. 核心步骤：必须执行的步骤有哪些？\n3. 用户终点：用户在哪里结束？\n4. 成功标志：怎么算完成？\n```\n\n**示例（电商下单）**：\n```text\n用户浏览商品 → 加入购物车 → 选择地址 → 选择支付 → 确认支付 → 支付成功 → 生成订单\n```\n\n---\n\n## 2. 分支路径场景（Alternative Path）\n\n**目标**：条件分支与用户选择。**数量最多**（需求数 ×2），也是最容易漏的。\n\n```text\n覆盖清单：\n├─ 不同用户角色是否覆盖？      ← 最容易漏\n├─ 不同业务规则是否覆盖？\n├─ 不同配置选项是否覆盖？\n├─ 不同数据状态是否覆盖？\n└─ 不同环境条件是否覆盖？\n```\n\n**识别方法**：在主路径的每一步，有什么条件分支？\n\n```text\n1. 条件判断：if-else 条件是什么？\n2. 用户选择：用户有哪些选择？\n3. 状态分支：不同状态走不同路径？\n4. 配置分支：不同配置走不同路径？\n```\n\n**示例（电商下单）**：\n```text\n- 选择地址：有地址 / 无地址 / 新增地址\n- 选择支付：微信 / 支付宝 / 银行卡\n- 使用优惠券：有 / 无 / 过期\n```\n\n> **典型遗漏**：配置项的组合。单个配置项都测了，\"A 配置 + B 配置同时开启\"没测 ——\n> 这类交叉要交给 `qa-combination-strategy`。\n\n---\n\n## 3. 异常路径场景（Exception Path）\n\n**目标**：各类异常处理。**数量取整后按需求数 ×1.5 向下取整**（如 5 条需求 → 7 条，不是 7.5 条）。\n\n```text\n覆盖清单：\n├─ 输入异常：空值 / 超长 / 格式错误\n├─ 状态异常：非法状态转换        ← 交给 qa-state-transition 深化\n├─ 网络异常：断网 / 超时 / 延迟\n├─ 依赖异常：第三方服务故障      ← 资损重灾区\n├─ 并发异常：数据冲突 / 资源竞争\n└─ 资源异常：内存不足 / 磁盘满\n```\n\n**识别方法**：在每个步骤，可能出什么问题？怎么恢复？\n\n```text\n1. 输入异常：用户输入错误\n2. 系统异常：系统故障\n3. 网络异常：网络问题\n4. 依赖异常：第三方服务问题\n5. 并发异常：并发操作问题\n```\n\n**示例（电商下单）**：\n```text\n- 加入购物车：库存不足\n- 选择地址：地址不存在\n- 支付：支付失败\n- 支付：网络中断\n```\n\n> **别只测\"报错了\"**。异常路径必须验证**恢复能力**：报错后系统处于什么状态、\n> 用户能不能重试、重试会不会产生重复副作用。资损场景（支付/退款）尤其如此。\n\n---\n\n## 4. 数据流场景（Data Flow）\n\n**目标**：数据 CRUD + 跨模块一致性。数量最少（需求数 ×0.5），但**最容易被整个漏掉**。\n\n```text\n覆盖清单：\n├─ 数据创建是否覆盖？\n├─ 数据读取是否覆盖？\n├─ 数据更新是否覆盖？\n├─ 数据删除是否覆盖？\n├─ 数据同步是否覆盖？      ← 跨模块，最容易漏\n└─ 数据一致性是否覆盖？    ← 多个模块读写同一份数据\n```\n\n**识别方法**：数据在模块间怎么流转？在哪创建/更新/删除？\n\n```text\n1. 数据创建：在哪里创建数据？\n2. 数据读取：在哪里读取数据？\n3. 数据更新：在哪里更新数据？\n4. 数据删除：在哪里删除数据？\n5. 数据一致性：数据在各模块间是否一致？\n```\n\n**示例（电商下单）**：\n```text\n- 订单数据：创建订单 → 更新库存 → 生成支付单\n- 用户数据：读取地址 → 使用优惠券 → 更新积分\n```\n\n> **一致性断链是真实事故来源**：下单成功但库存没扣（超卖）、\n> 支付成功但订单还是待支付。这类问题在功能测试里看不出来，只有顺着数据流才查得到。\n\n---\n\n## 场景漂移与处理\n\n场景树最常见的失控形态：\n\n| 漂移类型 | 表现 | 处理方式 |\n|---------|------|---------|\n| **场景爆炸** | 分支路径衍生过多，树过于庞大 | 按优先级裁剪，只保留 P0-P1 分支；低优分支合并到父节点 |\n| **路径遗漏** | 某条分支的关键场景被跳过 | 用需求解构表**逐一对照**，每条需求至少挂 1 个场景 |\n| **深度失衡** | 某条分支挖很深，其他分支太浅 | 设定每条分支最大深度 = 主路径深度 ×1.5 |\n| **层次混乱** | 主路径里混进了异常路径的节点 | 强制按四类重新归类，不允许混排 |\n| **无关联需求** | 场景没挂到任何需求上 | 无需求来源的场景要么补需求关联，要么删除 |\n\nFile v1.8.0:assets/scenario-template.md\n\n# 场景树与场景描述模板\n\n> 复制下面任一块板填写。四类场景的覆盖清单与构建方法见 [`scenario-types.md`](scenario-types.md)。\n\n## A. 场景树骨架\n\n```text\n{功能模块名}\n├─ 主路径（SC-{模块}-001 起）\n│   ├─ SC-{模块}-001：{正常流程1}\n│   └─ SC-{模块}-002：{正常流程2}\n├─ 分支路径\n│   ├─ SC-{模块}-003：{分支条件1}\n│   ├─ SC-{模块}-004：{分支条件2}\n│   └─ SC-{模块}-005：{配置组合 / 权限分支}\n├─ 异常路径\n│   ├─ SC-{模块}-006：{输入异常}\n│   ├─ SC-{模块}-007：{依赖异常 + 恢复验证}\n│   ├─ SC-{模块}-008：{并发冲突}\n│   └─ SC-{模块}-009：{网络异常}\n└─ 数据流\n    ├─ SC-{模块}-010：{数据创建与关联}\n    └─ SC-{模块}-011：{跨模块一致性}\n```\n\n> 序号在**整棵树内连续**，不按类别分段 —— 便于按 `SC-{模块}-0xx` 直接查。\n\n## B. 单场景描述块\n\n```markdown\n### SC-LOGIN-007 — 支付回调超时后的订单状态\n\n- **路径类型**：异常路径\n- **关联需求**：REQ-PAY-003（支付回调处理）\n- **前置条件**：\n  - 订单处于\"支付中\"状态已 30 分钟\n  - 支付网关回调地址可达但本环境注入 3 秒延迟\n- **触发条件**：用户点击\"支付\"，网关响应超时\n- **操作步骤**：\n  1. 发起支付，模拟网关 3 秒延迟\n  2. 等待超时返回\n  3. 查询订单状态\n  4. 手动补发一次回调\n- **预期结果**：\n  - 超时后订单进入\"支付中\"而非直接判失败\n  - 补发回调后订单转为\"已支付\"，**不产生二次扣款**\n  - 30 分钟后仍未收到回调的订单被自动关闭并释放库存\n- **数据变化**：\n  - 订单：`支付中` → `已支付`\n  - 支付单：保持唯一，无重复记录\n  - 库存：超时释放后重新扣减，最终净扣减 1\n- **风险等级**：高（资损）\n```\n\n## 填写要求\n\n| 字段 | 要求 | 常见错误 |\n|------|------|---------|\n| 场景 ID | `SC-{模块缩写}-{序号}`，三位序号、树内连续 | 用 `TC_` 编场景号（那是用例前缀） |\n| 关联需求 | `REQ-{需求模块缩写}-{序号}`，**必填** | 留空（场景树无法回溯到需求） |\n| 路径类型 | 四选一：主路径 / 分支路径 / 异常路径 / 数据流 | 写\"正常用例\"\"异常用例\" |\n| 前置条件 | 环境 + 数据 + 状态 + 依赖可控性，具体到可复现 | 只写\"环境正常\" |\n| 触发条件 | 用户操作或系统事件，单句 | 写\"各种情况\" |\n| 操作步骤 | 一步一验证，含具体操作与等待时长 | 写\"模拟超时\" |\n| 预期结果 | 可观测：状态、返回值、数据变化 | 写\"正确处理\" |\n| 数据变化 | 逐个数据对象写清前后状态 | 留空（数据流场景的核心信息） |\n| 风险等级 | 高（资损/越权/数据错误）/ 中（体验与稳定性）/ 低 | 全标高 |\n\n## 交付前自检\n\n- [ ] 四类路径都有场景；某一类确实不适用时写\"不适用 + 原因\"\n- [ ] 每个场景 ID 唯一且连续，格式为 `SC-{模块}-{序号}`\n- [ ] 每个场景关联到 `REQ-` 需求 ID，无孤儿场景\n- [ ] 场景数达到数量要求（×3/×5/×7，按需求数 ×1.5 向下取整的维度已处理小数）\n- [ ] 异常路径均验证了**恢复能力**（报错后状态、能否重试、重试有无重复副作用）\n- [ ] 数据流场景逐个数据对象写了前后状态\n- [ ] 无主路径/异常路径混排\n- [ ] 覆盖率已标注口径，无\"全覆盖/100%\"绝对化表述\n\nFile v1.8.0:skill-card.md\n\n## Description:\n\nTurns decomposed requirements into traceable main, alternate, exception, and data-flow test scenarios.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[kokxi](https://clawhub.ai/user/kokxi)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nQA practitioners use this skill to turn a requirements breakdown into a scenario tree covering normal, alternate, exception, and data-flow paths, with each scenario linked to its requirement.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Scenario examples may expose customer, identity, payment, or production data.\n\nMitigation: Use synthetic or masked data rather than real customer information or financial records.\n\nRisk: The optional command to install the broader skill set uses an unpinned package source.\n\nMitigation: Review the source and use a pinned version or trusted release before installing.\n\n## Reference(s):\n\n- [Scenario tree and description template](assets/scenario-template.md)\n- [Scenario types and construction guidance](references/scenario-types.md)\n- [ClawHub skill release](https://clawhub.ai/kokxi/skills/qa-scenario-tree)\n\n## Skill Output:\n\n**Output Type(s):** [Markdown, Guidance]\n\n**Output Format:** [Markdown scenario tree and scenario descriptions]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Unique SC- IDs linked to REQ- IDs; notes uncovered paths and reasons; does not produce detailed test cases.]\n\n## Skill Version(s):\n\n1.8.0 (source: frontmatter, server release)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.7.7: 3 files, 5813 bytes\n\nFiles: skill-card.md (1770b), SKILL.md (10530b), _meta.json (135b)\n\nFile v1.7.7:SKILL.md\n\n---\nname: qa-scenario-tree\nslug: qa-scenario-tree\ndisplayName: Scenario Tree\nversion: 1.7.7\ndescription: >-\n  将需求解构的结果系统化转化为主路径、备选路径、异常路径、业务规则四类测试场景。当业务流程复杂、涉及多个页面跳转或状态变化、需要确保关键路径和异常路径都有覆盖时，应当使用此技能。不要只测\"正常流程\"——场景树的核心价值是暴露那些\"用户可能不会按你预期操作\"的分支和异常路径。每个场景都应有唯一ID（TC_{场景模块缩写}_{功能缩写}_{序号}）并关联回具体需求。\n\nwhen_to_use: 用户说\"构建场景\"、\"测试场景\"、\"场景树\"、\"场景设计\"、\"测试路径\"、\"场景覆盖\"、完成需求解构后需要设计测试、业务流程复杂需要系统化梳理时\nallowed-tools: Read Grep Glob\nrelated_skills:\n  upstream:\n    - qa-req-deconstruction      # 输入：需求解构表\n  downstream:\n    - qa-boundary-deep-dive      # 输出：场景树传递给边界分析\n    - qa-combination-strategy    # 输出：场景树传递给组合策略\n    - qa-state-transition        # 输出：场景树传递给状态转换\n    - qa-ai-context-engineering\n    - qa-ai-output-critique\n    - qa-domain-modeling\n    - qa-execution-observation\n    - qa-exploratory-testing\n    - qa-test-case-design\ninput_format:\n  required:\n    - name: 需求解构表\n      type: object\n      description: 来自qa-req-deconstruction的输出，包含需求ID、显性/隐性/衍生需求\n  optional:\n    - name: 风险评估\n      type: object\n      description: 来自qa-risk-intuition的输出，包含高风险区域\noutput_format:\n  structure:\n    - 测试用例表格：固定 9 列（用例编号|测试类型|功能模块|测试标题|用例级别|预置条件|测试步骤|预期结果|风险等级）\n    - 用例级别：P0≤20%（核心流程）/ P1≤40%（主要功能）/ P2≤30%（次要功能）/ P3≤10%（边缘场景）\n    - 覆盖率：标注口径（基于现有需求/输入文档），禁止\"全覆盖/100%\"绝对化表述；缺失模块标注\"未覆盖+原因\"\n    - scenario_id: \"SC-XXXX\"\n    - requirement_ids: [\"REQ-XXXX\"]\n    - happy_path: \"主路径场景\"\n    - alternative_path: \"分支路径场景\"\n    - exception_path: \"异常路径场景\"\n    - data_flow: \"数据流场景\"\n  traceability:\n    - 每个场景带唯一ID（TC_{场景模块缩写}_{功能缩写}_{序号}）\n    - 关联需求ID（TC_{需求模块缩写}_{功能缩写}_{序号}）\ndepth_requirement_quantification:\n  reference_value: \"根据需求复杂度调整场景深度：简单×3/中等×5/复杂×7\"\n  minimum: \"至少构建3层场景树（主路径+分支+异常）\"\ncategories: ['Development','Requirements']\nerror_recovery_guidance:\n  on_failure: \"场景树遗漏异常路径时回退到需求解构补充\"\n  retry_behavior: \"补全异常需求后重新构建场景树\"\n---\n> **⚠️ 安全警告**：本技能的示例可能涉及订单号、支付金额、截图、身份证、手机号等敏感数据。\n> 实际使用时请勿粘贴真实生产数据、客户信息或财务凭证；测试前应脱敏/掩码处理。\n> 本技能仅在 workspace/ 输出评估文件，不持久化、不外传、不跨会话复用。\n\n# 场景树构建\n\n## 核心原则\n\n用树结构组织测试场景，确保覆盖完整、层次清晰。\n\n## 场景数量要求（参考值）\n\n**关键指标**：根据项目复杂度调整\n\n| 复杂度 | 倍数 | 示例（显性5条） |\n|--------|------|----------------|\n| 简单项目 | ×3 | 场景15个 |\n| 中等项目 | ×5 | 场景25个 |\n| 复杂项目 | ×7 | 场景35个 |\n\n**复杂度判断标准**：\n- 简单：单模块、低风险、无并发\n- 中等：多模块、中风险、少量并发\n- 复杂：跨模块、高风险、高并发\n\n## 场景树结构\n\n```text\n根节点：功能模块\n├─ 主路径（Happy Path）          → 数量：需求数量 × 1\n│   ├─ 场景1：正常流程1\n│   ├─ 场景2：正常流程2\n│   └─ ...\n├─ 分支路径（Alternative Path）   → 数量：需求数量 × 2\n│   ├─ 场景A：分支条件1\n│   ├─ 场景B：分支条件2\n│   └─ ...\n├─ 异常路径（Exception Path）     → 数量：需求数量 × 1.5\n│   ├─ 场景X：异常情况1\n│   ├─ 场景Y：异常情况2\n│   └─ ...\n└─ 数据流（Data Flow）           → 数量：需求数量 × 0.5\n    ├─ 场景α：数据创建\n    ├─ 场景β：数据流转\n    └─ ...\n```\n\n## 场景类型覆盖清单\n\n### 主路径场景\n- [ ] 核心业务流程是否覆盖？\n- [ ] 正常用户操作路径是否覆盖？\n- [ ] 主要功能点是否覆盖？\n\n### 分支路径场景\n- [ ] 不同用户角色是否覆盖？\n- [ ] 不同业务规则是否覆盖？\n- [ ] 不同配置选项是否覆盖？\n- [ ] 不同数据状态是否覆盖？\n- [ ] 不同环境条件是否覆盖？\n\n### 异常路径场景\n- [ ] 输入异常是否覆盖？（空值/超长/格式错误）\n- [ ] 状态异常是否覆盖？（非法状态转换）\n- [ ] 网络异常是否覆盖？（断网/超时/延迟）\n- [ ] 依赖异常是否覆盖？（第三方服务故障）\n- [ ] 并发异常是否覆盖？（数据冲突/资源竞争）\n- [ ] 资源异常是否覆盖？（内存不足/磁盘满）\n\n### 数据流场景\n- [ ] 数据创建是否覆盖？\n- [ ] 数据读取是否覆盖？\n- [ ] 数据更新是否覆盖？\n- [ ] 数据删除是否覆盖？\n- [ ] 数据同步是否覆盖？\n- [ ] 数据一致性是否覆盖？\n```text\n\n## 构建方法\n\n### 第1步：识别主路径\n**问**：用户从开始到结束，最正常的操作路径是什么？\n\n```\n主路径识别：\n1. 用户起点：用户从哪里开始？\n2. 核心步骤：必须执行的步骤有哪些？\n3. 用户终点：用户在哪里结束？\n4. 成功标志：怎么算完成？\n\n示例（电商下单）：\n用户浏览商品 → 加入购物车 → 选择地址 → 选择支付 → 确认支付 → 支付成功 → 生成订单\n```text\n\n### 第2步：识别分支路径\n**问**：在主路径的每一步，有什么条件分支？\n\n```\n分支识别方法：\n1. 条件判断：if-else条件是什么？\n2. 用户选择：用户有哪些选择？\n3. 状态分支：不同状态走不同路径？\n4. 配置分支：不同配置走不同路径？\n\n示例（电商下单）：\n- 选择地址：有地址/无地址/新增地址\n- 选择支付：微信支付/支付宝/银行卡\n- 使用优惠券：有/无/过期\n```text\n\n### 第3步：识别异常路径\n**问**：在每个步骤，可能出什么问题？怎么恢复？\n\n```\n异常识别方法：\n1. 输入异常：用户输入错误\n2. 系统异常：系统故障\n3. 网络异常：网络问题\n4. 依赖异常：第三方服务问题\n5. 并发异常：并发操作问题\n\n示例（电商下单）：\n- 加入购物车：库存不足\n- 选择地址：地址不存在\n- 支付：支付失败\n- 支付：网络中断\n```text\n\n### 第4步：识别数据流\n**问**：数据在模块间怎么流转？在哪创建/更新/删除？\n\n```\n数据流识别：\n1. 数据创建：在哪里创建数据？\n2. 数据读取：在哪里读取数据？\n3. 数据更新：在哪里更新数据？\n4. 数据删除：在哪里删除数据？\n5. 数据一致性：数据在各模块间是否一致？\n\n示例（电商下单）：\n- 订单数据：创建订单 → 更新库存 → 生成支付单\n- 用户数据：读取地址 → 使用优惠券 → 更新积分\n```text\n\n## 场景描述模板\n\n每个场景应包含：\n\n```markdown\n### 场景SC-001：[场景名称]\n\n**路径类型**：主路径/分支路径/异常路径/数据流\n\n**前置条件**：\n- 条件1\n- 条件2\n\n**触发条件**：\n- 用户操作/系统事件\n\n**操作步骤**：\n1. 步骤1\n2. 步骤2\n3. 步骤3\n\n**预期结果**：\n- 结果1\n- 结果2\n\n**数据变化**：\n- 数据A：[变化描述]\n- 数据B：[变化描述]\n\n**风险等级**：高/中/低\n```text\n\n## 场景树示例（登录功能）\n\n```\n登录功能\n├─ 主路径\n│   ├─ SC-001：用户名密码登录成功\n│   └─ SC-002：手机号验证码登录成功\n├─ 分支路径\n│   ├─ SC-003：记住我功能\n│   ├─ SC-004：第三方登录\n│   └─ SC-005：多因素认证\n├─ 异常路径\n│   ├─ SC-006：用户名不存在\n│   ├─ SC-007：密码错误\n│   ├─ SC-008：验证码过期\n│   ├─ SC-009：账号被锁定\n│   └─ SC-010：网络异常\n└─ 数据流\n    ├─ SC-011：登录状态存储\n    ├─ SC-012：Token生成与刷新\n    └─ SC-013：登录日志记录\n```text\n\n## 场景类型速查表\n\n| 场景类型 | 覆盖目标 | 数量参考 | 典型遗漏 |\n|---------|---------|---------|---------|\n| 主路径 | 核心业务流程完整性 | 需求数 ×1 | 多角色主路径不同 |\n| 分支路径 | 条件分支、用户选择 | 需求数 ×2 | 配置项组合、权限分支 |\n| 异常路径 | 各类异常处理 | 需求数 ×1.5 | 第三方超时、并发冲突 |\n| 数据流 | 数据CRUD + 一致性 | 需求数 ×0.5 | 跨模块数据同步 |\n\n## 输出示例\n\n**场景：测试电商下单流程**\n→ 主路径：浏览→加入购物车→下单→支付→完成\n→ 分支路径：未登录下单→跳转登录→继续支付\n→ 异常路径：下单时库存不足、支付超时、并发下单\n→ 数据流：商品信息→订单数据→支付记录→物流信息\n\n**场景：测试用户注册**\n→ 主路径：填写信息→验证手机→注册成功\n→ 分支路径：手机号已注册→提示已有账号\n→ 异常路径：验证码错误、手机号格式不对、网络中断\n\n## 检查清单\n\n场景树构建完成后检查：\n- [ ] 主路径是否完整？\n- [ ] 分支路径是否覆盖所有条件？\n- [ ] 异常路径是否考虑全面？\n- [ ] 数据流是否清晰？\n- [ ] 场景间是否有重叠？\n- [ ] 场景优先级是否标注？\n\n## 场景漂移与处理\n\n场景树常见失控现象及对策：\n\n| 漂移类型 | 表现 | 处理方式 |\n|---------|------|---------|\n| 场景爆炸 | 分支路径衍生过多，树过于庞大 | 按优先级裁剪，只保留P0-P1分支 |\n| 路径遗漏 | 某条分支的关键场景被跳过 | 用需求解构表逐一对照检查 |\n| 深度失衡 | 某条分支挖很深，其他分支太浅 | 设定每条分支最大深度 = 主路径深度 ×1.5 |\n| 层次混乱 | 主路径里混了异常路径的节点 | 强制按四类重新归类，不允许混排 |\n\nFile v1.7.7:_meta.json\n\n{\n  \"ownerId\": \"kn71y9b23csfx0ykgm55d5m9x5891zt8\",\n  \"slug\": \"qa-scenario-tree\",\n  \"version\": \"1.7.7\",\n  \"publishedAt\": 1790520009025\n}\n\nFile v1.7.7:skill-card.md\n\n## Description:\n\nTurns decomposed requirements into traceable test scenarios covering main flows, alternative paths, exceptions, and data flows.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[kokxi](https://clawhub.ai/user/kokxi)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nQA testers and developers use this skill to turn decomposed requirements into prioritized, requirement-linked test scenarios for complex workflows, including branches and failure paths.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Test examples may expose customer, payment, identity, or other production information.\n\nMitigation: Use masked or synthetic test data; do not paste real customer records or production evidence into prompts.\n\nRisk: Broad testing trigger phrases may invoke scenario-tree planning when it is not intended.\n\nMitigation: Invoke the skill explicitly for scenario-tree test design and review the resulting scenarios against the source requirements.\n\n## Reference(s):\n\n- [Scenario Tree skill release](https://clawhub.ai/kokxi/skills/qa-scenario-tree)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Guidance]\n\n**Output Format:** [Markdown scenario tree and nine-column test-case table]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Scenario IDs and requirement links; priority and risk labels; coverage qualified by the supplied requirements.]\n\n## Skill Version(s):\n\n1.7.7 (source: frontmatter and server release)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.7.6: 3 files, 6067 bytes\n\nFiles: skill-card.md (1913b), SKILL.md (11122b), _meta.json (135b)\n\nFile v1.7.6:SKILL.md\n\n---\r\nname: qa-scenario-tree\r\nslug: qa-scenario-tree\r\ndisplayName: 测试场景树\r\nversion: 1.7.5\r\ndescription: >-\r\n  将需求解构的结果系统化转化为主路径、备选路径、异常路径、业务规则四类测试场景。当业务流程复杂、涉及多个页面跳转或状态变化、需要确保关键路径和异常路径都有覆盖时，应当使用此技能。不要只测\"正常流程\"——场景树的核心价值是暴露那些\"用户可能不会按你预期操作\"的分支和异常路径。每个场景都应有唯一ID（TC_{场景模块缩写}_{功能缩写}_{序号}）并关联回具体需求。\r\n  本技能属于 QA Test Skills 技能集（49 个技能之一），完整工作流体验需安装全套：npx skills add Kokxi/qa-test-skills\r\n\r\nwhen_to_use: 用户说\"构建场景\"、\"测试场景\"、\"场景树\"、\"场景设计\"、\"测试路径\"、\"场景覆盖\"、完成需求解构后需要设计测试、业务流程复杂需要系统化梳理时\r\nallowed-tools: Read Grep Glob\r\nrelated_skills:\r\n  upstream:\r\n    - qa-req-deconstruction      # 输入：需求解构表\r\n  downstream:\r\n    - qa-boundary-deep-dive      # 输出：场景树传递给边界分析\r\n    - qa-combination-strategy    # 输出：场景树传递给组合策略\r\n    - qa-state-transition        # 输出：场景树传递给状态转换\r\n    - qa-ai-context-engineering\r\n    - qa-ai-output-critique\r\n    - qa-domain-modeling\r\n    - qa-execution-observation\r\n    - qa-exploratory-testing\r\n    - qa-test-case-design\r\ninput_format:\r\n  required:\r\n    - name: 需求解构表\r\n      type: object\r\n      description: 来自qa-req-deconstruction的输出，包含需求ID、显性/隐性/衍生需求\r\n  optional:\r\n    - name: 风险评估\r\n      type: object\r\n      description: 来自qa-risk-intuition的输出，包含高风险区域\r\noutput_format:\r\n  structure:\r\n    - 测试用例表格：固定 9 列（用例编号|测试类型|功能模块|测试标题|用例级别|预置条件|测试步骤|预期结果|风险等级）\r\n    - 用例级别：P0≤20%（核心流程）/ P1≤40%（主要功能）/ P2≤30%（次要功能）/ P3≤10%（边缘场景）\r\n    - 覆盖率：标注口径（基于现有需求/输入文档），禁止\"全覆盖/100%\"绝对化表述；缺失模块标注\"未覆盖+原因\"\r\n    - scenario_id: \"SC-XXXX\"\r\n    - requirement_ids: [\"REQ-XXXX\"]\r\n    - happy_path: \"主路径场景\"\r\n    - alternative_path: \"分支路径场景\"\r\n    - exception_path: \"异常路径场景\"\r\n    - data_flow: \"数据流场景\"\r\n  traceability:\r\n    - 每个场景带唯一ID（TC_{场景模块缩写}_{功能缩写}_{序号}）\r\n    - 关联需求ID（TC_{需求模块缩写}_{功能缩写}_{序号}）\r\ndepth_requirement_quantification:\r\n  reference_value: \"根据需求复杂度调整场景深度：简单×3/中等×5/复杂×7\"\r\n  minimum: \"至少构建3层场景树（主路径+分支+异常）\"\r\ncategories: ['Development','Requirements']\r\nerror_recovery_guidance:\r\n  on_failure: \"场景树遗漏异常路径时回退到需求解构补充\"\r\n  retry_behavior: \"补全异常需求后重新构建场景树\"\r\n---\r\n> ⚠️ 本技能单独使用效果有限，建议配合完整技能集（12 步工作流）使用。安装：npx skills add Kokxi/qa-test-skills\r\n\r\n> **⚠️ 安全警告**：本技能的示例可能涉及订单号、支付金额、截图、身份证、手机号等敏感数据。\r\n> 实际使用时请勿粘贴真实生产数据、客户信息或财务凭证；测试前应脱敏/掩码处理。\r\n> 本技能仅在 workspace/ 输出评估文件，不持久化、不外传、不跨会话复用。\r\n\r\n# 场景树构建\r\n\r\n## 核心原则\r\n\r\n用树结构组织测试场景，确保覆盖完整、层次清晰。\r\n\r\n## 场景数量要求（参考值）\r\n\r\n**关键指标**：根据项目复杂度调整\r\n\r\n| 复杂度 | 倍数 | 示例（显性5条） |\r\n|--------|------|----------------|\r\n| 简单项目 | ×3 | 场景15个 |\r\n| 中等项目 | ×5 | 场景25个 |\r\n| 复杂项目 | ×7 | 场景35个 |\r\n\r\n**复杂度判断标准**：\r\n- 简单：单模块、低风险、无并发\r\n- 中等：多模块、中风险、少量并发\r\n- 复杂：跨模块、高风险、高并发\r\n\r\n## 场景树结构\r\n\r\n```text\r\n根节点：功能模块\r\n├─ 主路径（Happy Path）          → 数量：需求数量 × 1\r\n│   ├─ 场景1：正常流程1\r\n│   ├─ 场景2：正常流程2\r\n│   └─ ...\r\n├─ 分支路径（Alternative Path）   → 数量：需求数量 × 2\r\n│   ├─ 场景A：分支条件1\r\n│   ├─ 场景B：分支条件2\r\n│   └─ ...\r\n├─ 异常路径（Exception Path）     → 数量：需求数量 × 1.5\r\n│   ├─ 场景X：异常情况1\r\n│   ├─ 场景Y：异常情况2\r\n│   └─ ...\r\n└─ 数据流（Data Flow）           → 数量：需求数量 × 0.5\r\n    ├─ 场景α：数据创建\r\n    ├─ 场景β：数据流转\r\n    └─ ...\r\n```\r\n\r\n## 场景类型覆盖清单\r\n\r\n### 主路径场景\r\n- [ ] 核心业务流程是否覆盖？\r\n- [ ] 正常用户操作路径是否覆盖？\r\n- [ ] 主要功能点是否覆盖？\r\n\r\n### 分支路径场景\r\n- [ ] 不同用户角色是否覆盖？\r\n- [ ] 不同业务规则是否覆盖？\r\n- [ ] 不同配置选项是否覆盖？\r\n- [ ] 不同数据状态是否覆盖？\r\n- [ ] 不同环境条件是否覆盖？\r\n\r\n### 异常路径场景\r\n- [ ] 输入异常是否覆盖？（空值/超长/格式错误）\r\n- [ ] 状态异常是否覆盖？（非法状态转换）\r\n- [ ] 网络异常是否覆盖？（断网/超时/延迟）\r\n- [ ] 依赖异常是否覆盖？（第三方服务故障）\r\n- [ ] 并发异常是否覆盖？（数据冲突/资源竞争）\r\n- [ ] 资源异常是否覆盖？（内存不足/磁盘满）\r\n\r\n### 数据流场景\r\n- [ ] 数据创建是否覆盖？\r\n- [ ] 数据读取是否覆盖？\r\n- [ ] 数据更新是否覆盖？\r\n- [ ] 数据删除是否覆盖？\r\n- [ ] 数据同步是否覆盖？\r\n- [ ] 数据一致性是否覆盖？\r\n```text\r\n\r\n## 构建方法\r\n\r\n### 第1步：识别主路径\r\n**问**：用户从开始到结束，最正常的操作路径是什么？\r\n\r\n```\r\n主路径识别：\r\n1. 用户起点：用户从哪里开始？\r\n2. 核心步骤：必须执行的步骤有哪些？\r\n3. 用户终点：用户在哪里结束？\r\n4. 成功标志：怎么算完成？\r\n\r\n示例（电商下单）：\r\n用户浏览商品 → 加入购物车 → 选择地址 → 选择支付 → 确认支付 → 支付成功 → 生成订单\r\n```text\r\n\r\n### 第2步：识别分支路径\r\n**问**：在主路径的每一步，有什么条件分支？\r\n\r\n```\r\n分支识别方法：\r\n1. 条件判断：if-else条件是什么？\r\n2. 用户选择：用户有哪些选择？\r\n3. 状态分支：不同状态走不同路径？\r\n4. 配置分支：不同配置走不同路径？\r\n\r\n示例（电商下单）：\r\n- 选择地址：有地址/无地址/新增地址\r\n- 选择支付：微信支付/支付宝/银行卡\r\n- 使用优惠券：有/无/过期\r\n```text\r\n\r\n### 第3步：识别异常路径\r\n**问**：在每个步骤，可能出什么问题？怎么恢复？\r\n\r\n```\r\n异常识别方法：\r\n1. 输入异常：用户输入错误\r\n2. 系统异常：系统故障\r\n3. 网络异常：网络问题\r\n4. 依赖异常：第三方服务问题\r\n5. 并发异常：并发操作问题\r\n\r\n示例（电商下单）：\r\n- 加入购物车：库存不足\r\n- 选择地址：地址不存在\r\n- 支付：支付失败\r\n- 支付：网络中断\r\n```text\r\n\r\n### 第4步：识别数据流\r\n**问**：数据在模块间怎么流转？在哪创建/更新/删除？\r\n\r\n```\r\n数据流识别：\r\n1. 数据创建：在哪里创建数据？\r\n2. 数据读取：在哪里读取数据？\r\n3. 数据更新：在哪里更新数据？\r\n4. 数据删除：在哪里删除数据？\r\n5. 数据一致性：数据在各模块间是否一致？\r\n\r\n示例（电商下单）：\r\n- 订单数据：创建订单 → 更新库存 → 生成支付单\r\n- 用户数据：读取地址 → 使用优惠券 → 更新积分\r\n```text\r\n\r\n## 场景描述模板\r\n\r\n每个场景应包含：\r\n\r\n```markdown\r\n### 场景SC-001：[场景名称]\r\n\r\n**路径类型**：主路径/分支路径/异常路径/数据流\r\n\r\n**前置条件**：\r\n- 条件1\r\n- 条件2\r\n\r\n**触发条件**：\r\n- 用户操作/系统事件\r\n\r\n**操作步骤**：\r\n1. 步骤1\r\n2. 步骤2\r\n3. 步骤3\r\n\r\n**预期结果**：\r\n- 结果1\r\n- 结果2\r\n\r\n**数据变化**：\r\n- 数据A：[变化描述]\r\n- 数据B：[变化描述]\r\n\r\n**风险等级**：高/中/低\r\n```text\r\n\r\n## 场景树示例（登录功能）\r\n\r\n```\r\n登录功能\r\n├─ 主路径\r\n│   ├─ SC-001：用户名密码登录成功\r\n│   └─ SC-002：手机号验证码登录成功\r\n├─ 分支路径\r\n│   ├─ SC-003：记住我功能\r\n│   ├─ SC-004：第三方登录\r\n│   └─ SC-005：多因素认证\r\n├─ 异常路径\r\n│   ├─ SC-006：用户名不存在\r\n│   ├─ SC-007：密码错误\r\n│   ├─ SC-008：验证码过期\r\n│   ├─ SC-009：账号被锁定\r\n│   └─ SC-010：网络异常\r\n└─ 数据流\r\n    ├─ SC-011：登录状态存储\r\n    ├─ SC-012：Token生成与刷新\r\n    └─ SC-013：登录日志记录\r\n```text\r\n\r\n## 场景类型速查表\r\n\r\n| 场景类型 | 覆盖目标 | 数量参考 | 典型遗漏 |\r\n|---------|---------|---------|---------|\r\n| 主路径 | 核心业务流程完整性 | 需求数 ×1 | 多角色主路径不同 |\r\n| 分支路径 | 条件分支、用户选择 | 需求数 ×2 | 配置项组合、权限分支 |\r\n| 异常路径 | 各类异常处理 | 需求数 ×1.5 | 第三方超时、并发冲突 |\r\n| 数据流 | 数据CRUD + 一致性 | 需求数 ×0.5 | 跨模块数据同步 |\r\n\r\n## 输出示例\r\n\r\n**场景：测试电商下单流程**\r\n→ 主路径：浏览→加入购物车→下单→支付→完成\r\n→ 分支路径：未登录下单→跳转登录→继续支付\r\n→ 异常路径：下单时库存不足、支付超时、并发下单\r\n→ 数据流：商品信息→订单数据→支付记录→物流信息\r\n\r\n**场景：测试用户注册**\r\n→ 主路径：填写信息→验证手机→注册成功\r\n→ 分支路径：手机号已注册→提示已有账号\r\n→ 异常路径：验证码错误、手机号格式不对、网络中断\r\n\r\n## 检查清单\r\n\r\n场景树构建完成后检查：\r\n- [ ] 主路径是否完整？\r\n- [ ] 分支路径是否覆盖所有条件？\r\n- [ ] 异常路径是否考虑全面？\r\n- [ ] 数据流是否清晰？\r\n- [ ] 场景间是否有重叠？\r\n- [ ] 场景优先级是否标注？\r\n\r\n## 场景漂移与处理\r\n\r\n场景树常见失控现象及对策：\r\n\r\n| 漂移类型 | 表现 | 处理方式 |\r\n|---------|------|---------|\r\n| 场景爆炸 | 分支路径衍生过多，树过于庞大 | 按优先级裁剪，只保留P0-P1分支 |\r\n| 路径遗漏 | 某条分支的关键场景被跳过 | 用需求解构表逐一对照检查 |\r\n| 深度失衡 | 某条分支挖很深，其他分支太浅 | 设定每条分支最大深度 = 主路径深度 ×1.5 |\r\n| 层次混乱 | 主路径里混了异常路径的节点 | 强制按四类重新归类，不允许混排 |\n\nFile v1.7.6:_meta.json\n\n{\n  \"ownerId\": \"kn71y9b23csfx0ykgm55d5m9x5891zt8\",\n  \"slug\": \"qa-scenario-tree\",\n  \"version\": \"1.7.6\",\n  \"publishedAt\": 1788266675565\n}\n\nFile v1.7.6:skill-card.md\n\n## Description:\n\nTransforms requirement-decomposition results into structured QA scenario trees covering happy paths, alternative paths, exception paths, business rules, and traceable test cases.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[kokxi](https://clawhub.ai/user/kokxi)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nQA engineers and developers use this skill after requirement decomposition to design scenario coverage for complex workflows, page transitions, state changes, and exception paths.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill points to an unpinned external installer that may add mutable or unreviewed skills outside this artifact.\n\nMitigation: Review the package source and repository revision before installation, prefer a pinned version or reviewed commit, and do not run the installer unless the source is trusted.\n\nRisk: QA prompts and examples may include sensitive customer, identity, payment, financial, or production data.\n\nMitigation: Use sanitized or masked test data and avoid pasting real production, customer, identity, payment, or financial information into prompts.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/kokxi/skills/qa-scenario-tree)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, guidance]\n\n**Output Format:** [Markdown scenario trees and test case tables]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Includes scenario IDs, requirement traceability, priority guidance, coverage notes, and risk levels.]\n\n## Skill Version(s):\n\n1.7.6 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.7.5: 3 files, 5860 bytes\n\nFiles: skill-card.md (1854b), SKILL.md (10530b), _meta.json (135b)\n\nFile v1.7.5:SKILL.md\n\n---\nname: qa-scenario-tree\nslug: qa-scenario-tree\ndisplayName: Scenario Tree\nversion: 1.7.5\ndescription: >-\n  将需求解构的结果系统化转化为主路径、备选路径、异常路径、业务规则四类测试场景。当业务流程复杂、涉及多个页面跳转或状态变化、需要确保关键路径和异常路径都有覆盖时，应当使用此技能。不要只测\"正常流程\"——场景树的核心价值是暴露那些\"用户可能不会按你预期操作\"的分支和异常路径。每个场景都应有唯一ID（TC_{场景模块缩写}_{功能缩写}_{序号}）并关联回具体需求。\n\nwhen_to_use: 用户说\"构建场景\"、\"测试场景\"、\"场景树\"、\"场景设计\"、\"测试路径\"、\"场景覆盖\"、完成需求解构后需要设计测试、业务流程复杂需要系统化梳理时\nallowed-tools: Read Grep Glob\nrelated_skills:\n  upstream:\n    - qa-req-deconstruction      # 输入：需求解构表\n  downstream:\n    - qa-boundary-deep-dive      # 输出：场景树传递给边界分析\n    - qa-combination-strategy    # 输出：场景树传递给组合策略\n    - qa-state-transition        # 输出：场景树传递给状态转换\n    - qa-ai-context-engineering\n    - qa-ai-output-critique\n    - qa-domain-modeling\n    - qa-execution-observation\n    - qa-exploratory-testing\n    - qa-test-case-design\ninput_format:\n  required:\n    - name: 需求解构表\n      type: object\n      description: 来自qa-req-deconstruction的输出，包含需求ID、显性/隐性/衍生需求\n  optional:\n    - name: 风险评估\n      type: object\n      description: 来自qa-risk-intuition的输出，包含高风险区域\noutput_format:\n  structure:\n    - 测试用例表格：固定 9 列（用例编号|测试类型|功能模块|测试标题|用例级别|预置条件|测试步骤|预期结果|风险等级）\n    - 用例级别：P0≤20%（核心流程）/ P1≤40%（主要功能）/ P2≤30%（次要功能）/ P3≤10%（边缘场景）\n    - 覆盖率：标注口径（基于现有需求/输入文档），禁止\"全覆盖/100%\"绝对化表述；缺失模块标注\"未覆盖+原因\"\n    - scenario_id: \"SC-XXXX\"\n    - requirement_ids: [\"REQ-XXXX\"]\n    - happy_path: \"主路径场景\"\n    - alternative_path: \"分支路径场景\"\n    - exception_path: \"异常路径场景\"\n    - data_flow: \"数据流场景\"\n  traceability:\n    - 每个场景带唯一ID（TC_{场景模块缩写}_{功能缩写}_{序号}）\n    - 关联需求ID（TC_{需求模块缩写}_{功能缩写}_{序号}）\ndepth_requirement_quantification:\n  reference_value: \"根据需求复杂度调整场景深度：简单×3/中等×5/复杂×7\"\n  minimum: \"至少构建3层场景树（主路径+分支+异常）\"\ncategories: ['Development','Requirements']\nerror_recovery_guidance:\n  on_failure: \"场景树遗漏异常路径时回退到需求解构补充\"\n  retry_behavior: \"补全异常需求后重新构建场景树\"\n---\n> **⚠️ 安全警告**：本技能的示例可能涉及订单号、支付金额、截图、身份证、手机号等敏感数据。\n> 实际使用时请勿粘贴真实生产数据、客户信息或财务凭证；测试前应脱敏/掩码处理。\n> 本技能仅在 workspace/ 输出评估文件，不持久化、不外传、不跨会话复用。\n\n# 场景树构建\n\n## 核心原则\n\n用树结构组织测试场景，确保覆盖完整、层次清晰。\n\n## 场景数量要求（参考值）\n\n**关键指标**：根据项目复杂度调整\n\n| 复杂度 | 倍数 | 示例（显性5条） |\n|--------|------|----------------|\n| 简单项目 | ×3 | 场景15个 |\n| 中等项目 | ×5 | 场景25个 |\n| 复杂项目 | ×7 | 场景35个 |\n\n**复杂度判断标准**：\n- 简单：单模块、低风险、无并发\n- 中等：多模块、中风险、少量并发\n- 复杂：跨模块、高风险、高并发\n\n## 场景树结构\n\n```text\n根节点：功能模块\n├─ 主路径（Happy Path）          → 数量：需求数量 × 1\n│   ├─ 场景1：正常流程1\n│   ├─ 场景2：正常流程2\n│   └─ ...\n├─ 分支路径（Alternative Path）   → 数量：需求数量 × 2\n│   ├─ 场景A：分支条件1\n│   ├─ 场景B：分支条件2\n│   └─ ...\n├─ 异常路径（Exception Path）     → 数量：需求数量 × 1.5\n│   ├─ 场景X：异常情况1\n│   ├─ 场景Y：异常情况2\n│   └─ ...\n└─ 数据流（Data Flow）           → 数量：需求数量 × 0.5\n    ├─ 场景α：数据创建\n    ├─ 场景β：数据流转\n    └─ ...\n```\n\n## 场景类型覆盖清单\n\n### 主路径场景\n- [ ] 核心业务流程是否覆盖？\n- [ ] 正常用户操作路径是否覆盖？\n- [ ] 主要功能点是否覆盖？\n\n### 分支路径场景\n- [ ] 不同用户角色是否覆盖？\n- [ ] 不同业务规则是否覆盖？\n- [ ] 不同配置选项是否覆盖？\n- [ ] 不同数据状态是否覆盖？\n- [ ] 不同环境条件是否覆盖？\n\n### 异常路径场景\n- [ ] 输入异常是否覆盖？（空值/超长/格式错误）\n- [ ] 状态异常是否覆盖？（非法状态转换）\n- [ ] 网络异常是否覆盖？（断网/超时/延迟）\n- [ ] 依赖异常是否覆盖？（第三方服务故障）\n- [ ] 并发异常是否覆盖？（数据冲突/资源竞争）\n- [ ] 资源异常是否覆盖？（内存不足/磁盘满）\n\n### 数据流场景\n- [ ] 数据创建是否覆盖？\n- [ ] 数据读取是否覆盖？\n- [ ] 数据更新是否覆盖？\n- [ ] 数据删除是否覆盖？\n- [ ] 数据同步是否覆盖？\n- [ ] 数据一致性是否覆盖？\n```text\n\n## 构建方法\n\n### 第1步：识别主路径\n**问**：用户从开始到结束，最正常的操作路径是什么？\n\n```\n主路径识别：\n1. 用户起点：用户从哪里开始？\n2. 核心步骤：必须执行的步骤有哪些？\n3. 用户终点：用户在哪里结束？\n4. 成功标志：怎么算完成？\n\n示例（电商下单）：\n用户浏览商品 → 加入购物车 → 选择地址 → 选择支付 → 确认支付 → 支付成功 → 生成订单\n```text\n\n### 第2步：识别分支路径\n**问**：在主路径的每一步，有什么条件分支？\n\n```\n分支识别方法：\n1. 条件判断：if-else条件是什么？\n2. 用户选择：用户有哪些选择？\n3. 状态分支：不同状态走不同路径？\n4. 配置分支：不同配置走不同路径？\n\n示例（电商下单）：\n- 选择地址：有地址/无地址/新增地址\n- 选择支付：微信支付/支付宝/银行卡\n- 使用优惠券：有/无/过期\n```text\n\n### 第3步：识别异常路径\n**问**：在每个步骤，可能出什么问题？怎么恢复？\n\n```\n异常识别方法：\n1. 输入异常：用户输入错误\n2. 系统异常：系统故障\n3. 网络异常：网络问题\n4. 依赖异常：第三方服务问题\n5. 并发异常：并发操作问题\n\n示例（电商下单）：\n- 加入购物车：库存不足\n- 选择地址：地址不存在\n- 支付：支付失败\n- 支付：网络中断\n```text\n\n### 第4步：识别数据流\n**问**：数据在模块间怎么流转？在哪创建/更新/删除？\n\n```\n数据流识别：\n1. 数据创建：在哪里创建数据？\n2. 数据读取：在哪里读取数据？\n3. 数据更新：在哪里更新数据？\n4. 数据删除：在哪里删除数据？\n5. 数据一致性：数据在各模块间是否一致？\n\n示例（电商下单）：\n- 订单数据：创建订单 → 更新库存 → 生成支付单\n- 用户数据：读取地址 → 使用优惠券 → 更新积分\n```text\n\n## 场景描述模板\n\n每个场景应包含：\n\n```markdown\n### 场景SC-001：[场景名称]\n\n**路径类型**：主路径/分支路径/异常路径/数据流\n\n**前置条件**：\n- 条件1\n- 条件2\n\n**触发条件**：\n- 用户操作/系统事件\n\n**操作步骤**：\n1. 步骤1\n2. 步骤2\n3. 步骤3\n\n**预期结果**：\n- 结果1\n- 结果2\n\n**数据变化**：\n- 数据A：[变化描述]\n- 数据B：[变化描述]\n\n**风险等级**：高/中/低\n```text\n\n## 场景树示例（登录功能）\n\n```\n登录功能\n├─ 主路径\n│   ├─ SC-001：用户名密码登录成功\n│   └─ SC-002：手机号验证码登录成功\n├─ 分支路径\n│   ├─ SC-003：记住我功能\n│   ├─ SC-004：第三方登录\n│   └─ SC-005：多因素认证\n├─ 异常路径\n│   ├─ SC-006：用户名不存在\n│   ├─ SC-007：密码错误\n│   ├─ SC-008：验证码过期\n│   ├─ SC-009：账号被锁定\n│   └─ SC-010：网络异常\n└─ 数据流\n    ├─ SC-011：登录状态存储\n    ├─ SC-012：Token生成与刷新\n    └─ SC-013：登录日志记录\n```text\n\n## 场景类型速查表\n\n| 场景类型 | 覆盖目标 | 数量参考 | 典型遗漏 |\n|---------|---------|---------|---------|\n| 主路径 | 核心业务流程完整性 | 需求数 ×1 | 多角色主路径不同 |\n| 分支路径 | 条件分支、用户选择 | 需求数 ×2 | 配置项组合、权限分支 |\n| 异常路径 | 各类异常处理 | 需求数 ×1.5 | 第三方超时、并发冲突 |\n| 数据流 | 数据CRUD + 一致性 | 需求数 ×0.5 | 跨模块数据同步 |\n\n## 输出示例\n\n**场景：测试电商下单流程**\n→ 主路径：浏览→加入购物车→下单→支付→完成\n→ 分支路径：未登录下单→跳转登录→继续支付\n→ 异常路径：下单时库存不足、支付超时、并发下单\n→ 数据流：商品信息→订单数据→支付记录→物流信息\n\n**场景：测试用户注册**\n→ 主路径：填写信息→验证手机→注册成功\n→ 分支路径：手机号已注册→提示已有账号\n→ 异常路径：验证码错误、手机号格式不对、网络中断\n\n## 检查清单\n\n场景树构建完成后检查：\n- [ ] 主路径是否完整？\n- [ ] 分支路径是否覆盖所有条件？\n- [ ] 异常路径是否考虑全面？\n- [ ] 数据流是否清晰？\n- [ ] 场景间是否有重叠？\n- [ ] 场景优先级是否标注？\n\n## 场景漂移与处理\n\n场景树常见失控现象及对策：\n\n| 漂移类型 | 表现 | 处理方式 |\n|---------|------|---------|\n| 场景爆炸 | 分支路径衍生过多，树过于庞大 | 按优先级裁剪，只保留P0-P1分支 |\n| 路径遗漏 | 某条分支的关键场景被跳过 | 用需求解构表逐一对照检查 |\n| 深度失衡 | 某条分支挖很深，其他分支太浅 | 设定每条分支最大深度 = 主路径深度 ×1.5 |\n| 层次混乱 | 主路径里混了异常路径的节点 | 强制按四类重新归类，不允许混排 |\n\nFile v1.7.5:_meta.json\n\n{\n  \"ownerId\": \"kn71y9b23csfx0ykgm55d5m9x5891zt8\",\n  \"slug\": \"qa-scenario-tree\",\n  \"version\": \"1.7.5\",\n  \"publishedAt\": 1788103071046\n}\n\nFile v1.7.5:skill-card.md\n\n## Description:\n\nHelps QA practitioners turn decomposed requirements into scenario trees covering happy paths, alternative paths, exception paths, and business/data-flow rules.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[kokxi](https://clawhub.ai/user/kokxi)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nQA engineers, testers, and product teams use this skill after requirement decomposition to design traceable test scenarios for complex workflows, page transitions, state changes, and abnormal paths.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: QA examples or source requirements may contain customer, payment, identity, or financial data.\n\nMitigation: Use masked or synthetic requirements and avoid pasting real production data into prompts or examples.\n\nRisk: Generated scenario coverage may be mistaken for complete coverage when input requirements are incomplete.\n\nMitigation: Label the coverage basis, avoid absolute 100% coverage claims, and mark missing modules with the reason they are not covered.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/kokxi/skills/qa-scenario-tree)\n\n## Skill Output:\n\n**Output Type(s):** [Markdown, Guidance]\n\n**Output Format:** [Markdown tables and structured scenario descriptions]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Produces traceable test cases with scenario IDs, requirement IDs, path categories, priority guidance, coverage notes, and risk levels.]\n\n## Skill Version(s):\n\n1.7.5 (source: frontmatter and release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.7.0: 3 files, 5535 bytes\n\nFiles: skill-card.md (1701b), SKILL.md (9970b), _meta.json (135b)\n\nFile v1.7.0:SKILL.md\n\n---\nname: qa-scenario-tree\nslug: qa-scenario-tree\ndisplayName: Scenario Tree\nversion: 1.7.0\ndescription: >-\n  将需求解构的结果系统化转化为主路径、备选路径、异常路径、业务规则四类测试场景。当业务流程复杂、涉及多个页面跳转或状态变化、需要确保关键路径和异常路径都有覆盖时，应当使用此技能。不要只测\"正常流程\"——场景树的核心价值是暴露那些\"用户可能不会按你预期操作\"的分支和异常路径。每个场景都应有唯一ID（SC-XXXX）并关联回具体需求。\n\nwhen_to_use: 用户说\"构建场景\"、\"测试场景\"、\"场景树\"、\"场景设计\"、\"测试路径\"、\"场景覆盖\"、完成需求解构后需要设计测试、业务流程复杂需要系统化梳理时\nallowed-tools: Read Grep Glob\nrelated_skills:\n  upstream:\n    - qa-req-deconstruction      # 输入：需求解构表\n  downstream:\n    - qa-boundary-deep-dive      # 输出：场景树传递给边界分析\n    - qa-combination-strategy    # 输出：场景树传递给组合策略\n    - qa-state-transition        # 输出：场景树传递给状态转换\n    - qa-ai-context-engineering\n    - qa-ai-output-critique\n    - qa-domain-modeling\n    - qa-execution-observation\n    - qa-exploratory-testing\n    - qa-test-case-design\ninput_format:\n  required:\n    - name: 需求解构表\n      type: object\n      description: 来自qa-req-deconstruction的输出，包含需求ID、显性/隐性/衍生需求\n  optional:\n    - name: 风险评估\n      type: object\n      description: 来自qa-risk-intuition的输出，包含高风险区域\noutput_format:\n  structure:\n    - scenario_id: \"SC-XXXX\"\n    - requirement_ids: [\"REQ-XXXX\"]\n    - happy_path: \"主路径场景\"\n    - alternative_path: \"分支路径场景\"\n    - exception_path: \"异常路径场景\"\n    - data_flow: \"数据流场景\"\n  traceability:\n    - 每个场景带唯一ID（SC-XXXX）\n    - 关联需求ID（REQ-XXXX）\ndepth_requirement_quantification:\n  reference_value: \"根据需求复杂度调整场景深度：简单×3/中等×5/复杂×7\"\n  minimum: \"至少构建3层场景树（主路径+分支+异常）\"\ncategories: ['Development','Requirements']\nerror_recovery_guidance:\n  on_failure: \"场景树遗漏异常路径时回退到需求解构补充\"\n  retry_behavior: \"补全异常需求后重新构建场景树\"\n---\n> **⚠️ 安全警告**：本技能的示例可能涉及订单号、支付金额、截图、身份证、手机号等敏感数据。\n> 实际使用时请勿粘贴真实生产数据、客户信息或财务凭证；测试前应脱敏/掩码处理。\n> 本技能仅在 workspace/ 输出评估文件，不持久化、不外传、不跨会话复用。\n\n# 场景树构建\n\n## 核心原则\n\n用树结构组织测试场景，确保覆盖完整、层次清晰。\n\n## 场景数量要求（参考值）\n\n**关键指标**：根据项目复杂度调整\n\n| 复杂度 | 倍数 | 示例（显性5条） |\n|--------|------|----------------|\n| 简单项目 | ×3 | 场景15个 |\n| 中等项目 | ×5 | 场景25个 |\n| 复杂项目 | ×7 | 场景35个 |\n\n**复杂度判断标准**：\n- 简单：单模块、低风险、无并发\n- 中等：多模块、中风险、少量并发\n- 复杂：跨模块、高风险、高并发\n\n## 场景树结构\n\n```text\n根节点：功能模块\n├─ 主路径（Happy Path）          → 数量：需求数量 × 1\n│   ├─ 场景1：正常流程1\n│   ├─ 场景2：正常流程2\n│   └─ ...\n├─ 分支路径（Alternative Path）   → 数量：需求数量 × 2\n│   ├─ 场景A：分支条件1\n│   ├─ 场景B：分支条件2\n│   └─ ...\n├─ 异常路径（Exception Path）     → 数量：需求数量 × 1.5\n│   ├─ 场景X：异常情况1\n│   ├─ 场景Y：异常情况2\n│   └─ ...\n└─ 数据流（Data Flow）           → 数量：需求数量 × 0.5\n    ├─ 场景α：数据创建\n    ├─ 场景β：数据流转\n    └─ ...\n```\n\n## 场景类型覆盖清单\n\n### 主路径场景\n- [ ] 核心业务流程是否覆盖？\n- [ ] 正常用户操作路径是否覆盖？\n- [ ] 主要功能点是否覆盖？\n\n### 分支路径场景\n- [ ] 不同用户角色是否覆盖？\n- [ ] 不同业务规则是否覆盖？\n- [ ] 不同配置选项是否覆盖？\n- [ ] 不同数据状态是否覆盖？\n- [ ] 不同环境条件是否覆盖？\n\n### 异常路径场景\n- [ ] 输入异常是否覆盖？（空值/超长/格式错误）\n- [ ] 状态异常是否覆盖？（非法状态转换）\n- [ ] 网络异常是否覆盖？（断网/超时/延迟）\n- [ ] 依赖异常是否覆盖？（第三方服务故障）\n- [ ] 并发异常是否覆盖？（数据冲突/资源竞争）\n- [ ] 资源异常是否覆盖？（内存不足/磁盘满）\n\n### 数据流场景\n- [ ] 数据创建是否覆盖？\n- [ ] 数据读取是否覆盖？\n- [ ] 数据更新是否覆盖？\n- [ ] 数据删除是否覆盖？\n- [ ] 数据同步是否覆盖？\n- [ ] 数据一致性是否覆盖？\n```text\n\n## 构建方法\n\n### 第1步：识别主路径\n**问**：用户从开始到结束，最正常的操作路径是什么？\n\n```\n主路径识别：\n1. 用户起点：用户从哪里开始？\n2. 核心步骤：必须执行的步骤有哪些？\n3. 用户终点：用户在哪里结束？\n4. 成功标志：怎么算完成？\n\n示例（电商下单）：\n用户浏览商品 → 加入购物车 → 选择地址 → 选择支付 → 确认支付 → 支付成功 → 生成订单\n```text\n\n### 第2步：识别分支路径\n**问**：在主路径的每一步，有什么条件分支？\n\n```\n分支识别方法：\n1. 条件判断：if-else条件是什么？\n2. 用户选择：用户有哪些选择？\n3. 状态分支：不同状态走不同路径？\n4. 配置分支：不同配置走不同路径？\n\n示例（电商下单）：\n- 选择地址：有地址/无地址/新增地址\n- 选择支付：微信支付/支付宝/银行卡\n- 使用优惠券：有/无/过期\n```text\n\n### 第3步：识别异常路径\n**问**：在每个步骤，可能出什么问题？怎么恢复？\n\n```\n异常识别方法：\n1. 输入异常：用户输入错误\n2. 系统异常：系统故障\n3. 网络异常：网络问题\n4. 依赖异常：第三方服务问题\n5. 并发异常：并发操作问题\n\n示例（电商下单）：\n- 加入购物车：库存不足\n- 选择地址：地址不存在\n- 支付：支付失败\n- 支付：网络中断\n```text\n\n### 第4步：识别数据流\n**问**：数据在模块间怎么流转？在哪创建/更新/删除？\n\n```\n数据流识别：\n1. 数据创建：在哪里创建数据？\n2. 数据读取：在哪里读取数据？\n3. 数据更新：在哪里更新数据？\n4. 数据删除：在哪里删除数据？\n5. 数据一致性：数据在各模块间是否一致？\n\n示例（电商下单）：\n- 订单数据：创建订单 → 更新库存 → 生成支付单\n- 用户数据：读取地址 → 使用优惠券 → 更新积分\n```text\n\n## 场景描述模板\n\n每个场景应包含：\n\n```markdown\n### 场景SC-001：[场景名称]\n\n**路径类型**：主路径/分支路径/异常路径/数据流\n\n**前置条件**：\n- 条件1\n- 条件2\n\n**触发条件**：\n- 用户操作/系统事件\n\n**操作步骤**：\n1. 步骤1\n2. 步骤2\n3. 步骤3\n\n**预期结果**：\n- 结果1\n- 结果2\n\n**数据变化**：\n- 数据A：[变化描述]\n- 数据B：[变化描述]\n\n**风险等级**：高/中/低\n```text\n\n## 场景树示例（登录功能）\n\n```\n登录功能\n├─ 主路径\n│   ├─ SC-001：用户名密码登录成功\n│   └─ SC-002：手机号验证码登录成功\n├─ 分支路径\n│   ├─ SC-003：记住我功能\n│   ├─ SC-004：第三方登录\n│   └─ SC-005：多因素认证\n├─ 异常路径\n│   ├─ SC-006：用户名不存在\n│   ├─ SC-007：密码错误\n│   ├─ SC-008：验证码过期\n│   ├─ SC-009：账号被锁定\n│   └─ SC-010：网络异常\n└─ 数据流\n    ├─ SC-011：登录状态存储\n    ├─ SC-012：Token生成与刷新\n    └─ SC-013：登录日志记录\n```text\n\n## 场景类型速查表\n\n| 场景类型 | 覆盖目标 | 数量参考 | 典型遗漏 |\n|---------|---------|---------|---------|\n| 主路径 | 核心业务流程完整性 | 需求数 ×1 | 多角色主路径不同 |\n| 分支路径 | 条件分支、用户选择 | 需求数 ×2 | 配置项组合、权限分支 |\n| 异常路径 | 各类异常处理 | 需求数 ×1.5 | 第三方超时、并发冲突 |\n| 数据流 | 数据CRUD + 一致性 | 需求数 ×0.5 | 跨模块数据同步 |\n\n## 输出示例\n\n**场景：测试电商下单流程**\n→ 主路径：浏览→加入购物车→下单→支付→完成\n→ 分支路径：未登录下单→跳转登录→继续支付\n→ 异常路径：下单时库存不足、支付超时、并发下单\n→ 数据流：商品信息→订单数据→支付记录→物流信息\n\n**场景：测试用户注册**\n→ 主路径：填写信息→验证手机→注册成功\n→ 分支路径：手机号已注册→提示已有账号\n→ 异常路径：验证码错误、手机号格式不对、网络中断\n\n## 检查清单\n\n场景树构建完成后检查：\n- [ ] 主路径是否完整？\n- [ ] 分支路径是否覆盖所有条件？\n- [ ] 异常路径是否考虑全面？\n- [ ] 数据流是否清晰？\n- [ ] 场景间是否有重叠？\n- [ ] 场景优先级是否标注？\n\n## 场景漂移与处理\n\n场景树常见失控现象及对策：\n\n| 漂移类型 | 表现 | 处理方式 |\n|---------|------|---------|\n| 场景爆炸 | 分支路径衍生过多，树过于庞大 | 按优先级裁剪，只保留P0-P1分支 |\n| 路径遗漏 | 某条分支的关键场景被跳过 | 用需求解构表逐一对照检查 |\n| 深度失衡 | 某条分支挖很深，其他分支太浅 | 设定每条分支最大深度 = 主路径深度 ×1.5 |\n| 层次混乱 | 主路径里混了异常路径的节点 | 强制按四类重新归类，不允许混排 |\n\nFile v1.7.0:_meta.json\n\n{\n  \"ownerId\": \"kn71y9b23csfx0ykgm55d5m9x5891zt8\",\n  \"slug\": \"qa-scenario-tree\",\n  \"version\": \"1.7.0\",\n  \"publishedAt\": 1786890746445\n}\n\nFile v1.7.0:skill-card.md\n\n## Description:\n\nTransforms decomposed requirements into structured QA scenario trees covering happy paths, alternative paths, exception paths, and data-flow scenarios with traceable scenario IDs.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[kokxi](https://clawhub.ai/user/kokxi)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nQA engineers, test designers, and developers use this skill after requirement decomposition to build scenario trees for complex business workflows, page transitions, state changes, branch coverage, exception handling, and data-flow validation.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Requirement examples may include production, customer, financial, or identity data.\n\nMitigation: Mask or remove sensitive data before using the skill, and review generated scenario trees before downstream test design.\n\n## Reference(s):\n\n\n## Skill Output:\n\n**Output Type(s):** [Markdown, Guidance]\n\n**Output Format:** [Markdown scenario-tree guidance with structured scenario IDs, requirement traceability, path categories, checklists, and example scenario descriptions.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Outputs are intended for workspace use and should be reviewed for completeness, overlap, and priority before test-case design.]\n\n## Skill Version(s):\n\n1.7.0 (source: frontmatter and ClawHub release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.6.3: 3 files, 5581 bytes\n\nFiles: skill-card.md (1798b), SKILL.md (9970b), _meta.json (135b)\n\nFile v1.6.3:SKILL.md\n\n---\nname: qa-scenario-tree\nslug: qa-scenario-tree\ndisplayName: Scenario Tree\nversion: 1.6.3\ndescription: >-\n  将需求解构的结果系统化转化为主路径、备选路径、异常路径、业务规则四类测试场景。当业务流程复杂、涉及多个页面跳转或状态变化、需要确保关键路径和异常路径都有覆盖时，应当使用此技能。不要只测\"正常流程\"——场景树的核心价值是暴露那些\"用户可能不会按你预期操作\"的分支和异常路径。每个场景都应有唯一ID（SC-XXXX）并关联回具体需求。\n\nwhen_to_use: 用户说\"构建场景\"、\"测试场景\"、\"场景树\"、\"场景设计\"、\"测试路径\"、\"场景覆盖\"、完成需求解构后需要设计测试、业务流程复杂需要系统化梳理时\nallowed-tools: Read Grep Glob\nrelated_skills:\n  upstream:\n    - qa-req-deconstruction      # 输入：需求解构表\n  downstream:\n    - qa-boundary-deep-dive      # 输出：场景树传递给边界分析\n    - qa-combination-strategy    # 输出：场景树传递给组合策略\n    - qa-state-transition        # 输出：场景树传递给状态转换\n    - qa-ai-context-engineering\n    - qa-ai-output-critique\n    - qa-domain-modeling\n    - qa-execution-observation\n    - qa-exploratory-testing\n    - qa-test-case-design\ninput_format:\n  required:\n    - name: 需求解构表\n      type: object\n      description: 来自qa-req-deconstruction的输出，包含需求ID、显性/隐性/衍生需求\n  optional:\n    - name: 风险评估\n      type: object\n      description: 来自qa-risk-intuition的输出，包含高风险区域\noutput_format:\n  structure:\n    - scenario_id: \"SC-XXXX\"\n    - requirement_ids: [\"REQ-XXXX\"]\n    - happy_path: \"主路径场景\"\n    - alternative_path: \"分支路径场景\"\n    - exception_path: \"异常路径场景\"\n    - data_flow: \"数据流场景\"\n  traceability:\n    - 每个场景带唯一ID（SC-XXXX）\n    - 关联需求ID（REQ-XXXX）\ndepth_requirement_quantification:\n  reference_value: \"根据需求复杂度调整场景深度：简单×3/中等×5/复杂×7\"\n  minimum: \"至少构建3层场景树（主路径+分支+异常）\"\ncategories: ['Development','Requirements']\nerror_recovery_guidance:\n  on_failure: \"场景树遗漏异常路径时回退到需求解构补充\"\n  retry_behavior: \"补全异常需求后重新构建场景树\"\n---\n> **⚠️ 安全警告**：本技能的示例可能涉及订单号、支付金额、截图、身份证、手机号等敏感数据。\n> 实际使用时请勿粘贴真实生产数据、客户信息或财务凭证；测试前应脱敏/掩码处理。\n> 本技能仅在 workspace/ 输出评估文件，不持久化、不外传、不跨会话复用。\n\n# 场景树构建\n\n## 核心原则\n\n用树结构组织测试场景，确保覆盖完整、层次清晰。\n\n## 场景数量要求（参考值）\n\n**关键指标**：根据项目复杂度调整\n\n| 复杂度 | 倍数 | 示例（显性5条） |\n|--------|------|----------------|\n| 简单项目 | ×3 | 场景15个 |\n| 中等项目 | ×5 | 场景25个 |\n| 复杂项目 | ×7 | 场景35个 |\n\n**复杂度判断标准**：\n- 简单：单模块、低风险、无并发\n- 中等：多模块、中风险、少量并发\n- 复杂：跨模块、高风险、高并发\n\n## 场景树结构\n\n```text\n根节点：功能模块\n├─ 主路径（Happy Path）          → 数量：需求数量 × 1\n│   ├─ 场景1：正常流程1\n│   ├─ 场景2：正常流程2\n│   └─ ...\n├─ 分支路径（Alternative Path）   → 数量：需求数量 × 2\n│   ├─ 场景A：分支条件1\n│   ├─ 场景B：分支条件2\n│   └─ ...\n├─ 异常路径（Exception Path）     → 数量：需求数量 × 1.5\n│   ├─ 场景X：异常情况1\n│   ├─ 场景Y：异常情况2\n│   └─ ...\n└─ 数据流（Data Flow）           → 数量：需求数量 × 0.5\n    ├─ 场景α：数据创建\n    ├─ 场景β：数据流转\n    └─ ...\n```\n\n## 场景类型覆盖清单\n\n### 主路径场景\n- [ ] 核心业务流程是否覆盖？\n- [ ] 正常用户操作路径是否覆盖？\n- [ ] 主要功能点是否覆盖？\n\n### 分支路径场景\n- [ ] 不同用户角色是否覆盖？\n- [ ] 不同业务规则是否覆盖？\n- [ ] 不同配置选项是否覆盖？\n- [ ] 不同数据状态是否覆盖？\n- [ ] 不同环境条件是否覆盖？\n\n### 异常路径场景\n- [ ] 输入异常是否覆盖？（空值/超长/格式错误）\n- [ ] 状态异常是否覆盖？（非法状态转换）\n- [ ] 网络异常是否覆盖？（断网/超时/延迟）\n- [ ] 依赖异常是否覆盖？（第三方服务故障）\n- [ ] 并发异常是否覆盖？（数据冲突/资源竞争）\n- [ ] 资源异常是否覆盖？（内存不足/磁盘满）\n\n### 数据流场景\n- [ ] 数据创建是否覆盖？\n- [ ] 数据读取是否覆盖？\n- [ ] 数据更新是否覆盖？\n- [ ] 数据删除是否覆盖？\n- [ ] 数据同步是否覆盖？\n- [ ] 数据一致性是否覆盖？\n```text\n\n## 构建方法\n\n### 第1步：识别主路径\n**问**：用户从开始到结束，最正常的操作路径是什么？\n\n```\n主路径识别：\n1. 用户起点：用户从哪里开始？\n2. 核心步骤：必须执行的步骤有哪些？\n3. 用户终点：用户在哪里结束？\n4. 成功标志：怎么算完成？\n\n示例（电商下单）：\n用户浏览商品 → 加入购物车 → 选择地址 → 选择支付 → 确认支付 → 支付成功 → 生成订单\n```text\n\n### 第2步：识别分支路径\n**问**：在主路径的每一步，有什么条件分支？\n\n```\n分支识别方法：\n1. 条件判断：if-else条件是什么？\n2. 用户选择：用户有哪些选择？\n3. 状态分支：不同状态走不同路径？\n4. 配置分支：不同配置走不同路径？\n\n示例（电商下单）：\n- 选择地址：有地址/无地址/新增地址\n- 选择支付：微信支付/支付宝/银行卡\n- 使用优惠券：有/无/过期\n```text\n\n### 第3步：识别异常路径\n**问**：在每个步骤，可能出什么问题？怎么恢复？\n\n```\n异常识别方法：\n1. 输入异常：用户输入错误\n2. 系统异常：系统故障\n3. 网络异常：网络问题\n4. 依赖异常：第三方服务问题\n5. 并发异常：并发操作问题\n\n示例（电商下单）：\n- 加入购物车：库存不足\n- 选择地址：地址不存在\n- 支付：支付失败\n- 支付：网络中断\n```text\n\n### 第4步：识别数据流\n**问**：数据在模块间怎么流转？在哪创建/更新/删除？\n\n```\n数据流识别：\n1. 数据创建：在哪里创建数据？\n2. 数据读取：在哪里读取数据？\n3. 数据更新：在哪里更新数据？\n4. 数据删除：在哪里删除数据？\n5. 数据一致性：数据在各模块间是否一致？\n\n示例（电商下单）：\n- 订单数据：创建订单 → 更新库存 → 生成支付单\n- 用户数据：读取地址 → 使用优惠券 → 更新积分\n```text\n\n## 场景描述模板\n\n每个场景应包含：\n\n```markdown\n### 场景SC-001：[场景名称]\n\n**路径类型**：主路径/分支路径/异常路径/数据流\n\n**前置条件**：\n- 条件1\n- 条件2\n\n**触发条件**：\n- 用户操作/系统事件\n\n**操作步骤**：\n1. 步骤1\n2. 步骤2\n3. 步骤3\n\n**预期结果**：\n- 结果1\n- 结果2\n\n**数据变化**：\n- 数据A：[变化描述]\n- 数据B：[变化描述]\n\n**风险等级**：高/中/低\n```text\n\n## 场景树示例（登录功能）\n\n```\n登录功能\n├─ 主路径\n│   ├─ SC-001：用户名密码登录成功\n│   └─ SC-002：手机号验证码登录成功\n├─ 分支路径\n│   ├─ SC-003：记住我功能\n│   ├─ SC-004：第三方登录\n│   └─ SC-005：多因素认证\n├─ 异常路径\n│   ├─ SC-006：用户名不存在\n│   ├─ SC-007：密码错误\n│   ├─ SC-008：验证码过期\n│   ├─ SC-009：账号被锁定\n│   └─ SC-010：网络异常\n└─ 数据流\n    ├─ SC-011：登录状态存储\n    ├─ SC-012：Token生成与刷新\n    └─ SC-013：登录日志记录\n```text\n\n## 场景类型速查表\n\n| 场景类型 | 覆盖目标 | 数量参考 | 典型遗漏 |\n|---------|---------|---------|---------|\n| 主路径 | 核心业务流程完整性 | 需求数 ×1 | 多角色主路径不同 |\n| 分支路径 | 条件分支、用户选择 | 需求数 ×2 | 配置项组合、权限分支 |\n| 异常路径 | 各类异常处理 | 需求数 ×1.5 | 第三方超时、并发冲突 |\n| 数据流 | 数据CRUD + 一致性 | 需求数 ×0.5 | 跨模块数据同步 |\n\n## 输出示例\n\n**场景：测试电商下单流程**\n→ 主路径：浏览→加入购物车→下单→支付→完成\n→ 分支路径：未登录下单→跳转登录→继续支付\n→ 异常路径：下单时库存不足、支付超时、并发下单\n→ 数据流：商品信息→订单数据→支付记录→物流信息\n\n**场景：测试用户注册**\n→ 主路径：填写信息→验证手机→注册成功\n→ 分支路径：手机号已注册→提示已有账号\n→ 异常路径：验证码错误、手机号格式不对、网络中断\n\n## 检查清单\n\n场景树构建完成后检查：\n- [ ] 主路径是否完整？\n- [ ] 分支路径是否覆盖所有条件？\n- [ ] 异常路径是否考虑全面？\n- [ ] 数据流是否清晰？\n- [ ] 场景间是否有重叠？\n- [ ] 场景优先级是否标注？\n\n## 场景漂移与处理\n\n场景树常见失控现象及对策：\n\n| 漂移类型 | 表现 | 处理方式 |\n|---------|------|---------|\n| 场景爆炸 | 分支路径衍生过多，树过于庞大 | 按优先级裁剪，只保留P0-P1分支 |\n| 路径遗漏 | 某条分支的关键场景被跳过 | 用需求解构表逐一对照检查 |\n| 深度失衡 | 某条分支挖很深，其他分支太浅 | 设定每条分支最大深度 = 主路径深度 ×1.5 |\n| 层次混乱 | 主路径里混了异常路径的节点 | 强制按四类重新归类，不允许混排 |\n\nFile v1.6.3:_meta.json\n\n{\n  \"ownerId\": \"kn71y9b23csfx0ykgm55d5m9x5891zt8\",\n  \"slug\": \"qa-scenario-tree\",\n  \"version\": \"1.6.3\",\n  \"publishedAt\": 1786548419540\n}\n\nFile v1.6.3:skill-card.md\n\n## Description:\n\nTurns requirement deconstruction results into a structured QA scenario tree covering happy paths, alternative paths, exception paths, data flow, and business rules with scenario IDs and requirement traceability.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[kokxi](https://clawhub.ai/user/kokxi)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers, QA engineers, and product teams use this skill after requirement deconstruction to design scenario trees for complex workflows. It helps cover expected, alternative, exception, and data-flow paths while keeping each scenario traceable to requirement IDs.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Users may include real customer, payment, identity, or production data in prompts while building QA scenarios.\n\nMitigation: Use synthetic, anonymized, or masked data and avoid pasting production records into the agent session.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/kokxi/skills/qa-scenario-tree)\n\n## Skill Output:\n\n**Output Type(s):** [Guidance, Markdown, Text]\n\n**Output Format:** [Markdown scenario tree with scenario IDs, path types, preconditions, steps, expected results, data changes, risk level, and requirement traceability.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Scenario IDs use SC-XXXX and should link back to REQ-XXXX requirement IDs.]\n\n## Skill Version(s):\n\n1.6.3 (source: server release metadata and SKILL.md frontmatter)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.6.0: 3 files, 5729 bytes\n\nFiles: skill-card.md (2210b), SKILL.md (10210b), _meta.json (135b)\n\nFile v1.6.0:SKILL.md\n\n---\r\nname: qa-scenario-tree\r\nversion: 1.6.0\r\ndescription: >-\r\n  将需求解构的结果系统化转化为主路径、备选路径、异常路径、业务规则四类测试场景。当业务流程复杂、涉及多个页面跳转或状态变化、需要确保关键路径和异常路径都有覆盖时，应当使用此技能。不要只测\"正常流程\"——场景树的核心价值是暴露那些\"用户可能不会按你预期操作\"的分支和异常路径。每个场景都应有唯一ID（SC-XXXX）并关联回具体需求。\r\n\r\nwhen_to_use: 用户说\"构建场景\"、\"测试场景\"、\"场景树\"、\"场景设计\"、\"测试路径\"、\"场景覆盖\"、完成需求解构后需要设计测试、业务流程复杂需要系统化梳理时\r\nallowed-tools: Read Grep Glob\r\nrelated_skills:\r\n  upstream:\r\n    - qa-req-deconstruction      # 输入：需求解构表\r\n  downstream:\r\n    - qa-boundary-deep-dive      # 输出：场景树传递给边界分析\r\n    - qa-combination-strategy    # 输出：场景树传递给组合策略\r\n    - qa-state-transition        # 输出：场景树传递给状态转换\r\n    - qa-ai-context-engineering\r\n    - qa-ai-output-critique\r\n    - qa-domain-modeling\r\n    - qa-execution-observation\r\n    - qa-exploratory-testing\r\n    - qa-test-case-design\r\ninput_format:\r\n  required:\r\n    - name: 需求解构表\r\n      type: object\r\n      description: 来自qa-req-deconstruction的输出，包含需求ID、显性/隐性/衍生需求\r\n  optional:\r\n    - name: 风险评估\r\n      type: object\r\n      description: 来自qa-risk-intuition的输出，包含高风险区域\r\noutput_format:\r\n  structure:\r\n    - scenario_id: \"SC-XXXX\"\r\n    - requirement_ids: [\"REQ-XXXX\"]\r\n    - happy_path: \"主路径场景\"\r\n    - alternative_path: \"分支路径场景\"\r\n    - exception_path: \"异常路径场景\"\r\n    - data_flow: \"数据流场景\"\r\n  traceability:\r\n    - 每个场景带唯一ID（SC-XXXX）\r\n    - 关联需求ID（REQ-XXXX）\r\ndepth_requirement_quantification:\r\n  reference_value: \"根据需求复杂度调整场景深度：简单×3/中等×5/复杂×7\"\r\n  minimum: \"至少构建3层场景树（主路径+分支+异常）\"\r\ncategories: ['Development','Requirements']\r\nerror_recovery_guidance:\r\n  on_failure: \"场景树遗漏异常路径时回退到需求解构补充\"\r\n  retry_behavior: \"补全异常需求后重新构建场景树\"\r\n---\r\n> **⚠️ 安全警告**：本技能的示例可能涉及订单号、支付金额、截图、身份证、手机号等敏感数据。\r\n> 实际使用时请勿粘贴真实生产数据、客户信息或财务凭证；测试前应脱敏/掩码处理。\r\n> 本技能仅在 workspace/ 输出评估文件，不持久化、不外传、不跨会话复用。\r\n\r\n# 场景树构建\r\n\r\n## 核心原则\r\n\r\n用树结构组织测试场景，确保覆盖完整、层次清晰。\r\n\r\n## 场景数量要求（参考值）\r\n\r\n**关键指标**：根据项目复杂度调整\r\n\r\n| 复杂度 | 倍数 | 示例（显性5条） |\r\n|--------|------|----------------|\r\n| 简单项目 | ×3 | 场景15个 |\r\n| 中等项目 | ×5 | 场景25个 |\r\n| 复杂项目 | ×7 | 场景35个 |\r\n\r\n**复杂度判断标准**：\r\n- 简单：单模块、低风险、无并发\r\n- 中等：多模块、中风险、少量并发\r\n- 复杂：跨模块、高风险、高并发\r\n\r\n## 场景树结构\r\n\r\n```text\r\n根节点：功能模块\r\n├─ 主路径（Happy Path）          → 数量：需求数量 × 1\r\n│   ├─ 场景1：正常流程1\r\n│   ├─ 场景2：正常流程2\r\n│   └─ ...\r\n├─ 分支路径（Alternative Path）   → 数量：需求数量 × 2\r\n│   ├─ 场景A：分支条件1\r\n│   ├─ 场景B：分支条件2\r\n│   └─ ...\r\n├─ 异常路径（Exception Path）     → 数量：需求数量 × 1.5\r\n│   ├─ 场景X：异常情况1\r\n│   ├─ 场景Y：异常情况2\r\n│   └─ ...\r\n└─ 数据流（Data Flow）           → 数量：需求数量 × 0.5\r\n    ├─ 场景α：数据创建\r\n    ├─ 场景β：数据流转\r\n    └─ ...\r\n```\r\n\r\n## 场景类型覆盖清单\r\n\r\n### 主路径场景\r\n- [ ] 核心业务流程是否覆盖？\r\n- [ ] 正常用户操作路径是否覆盖？\r\n- [ ] 主要功能点是否覆盖？\r\n\r\n### 分支路径场景\r\n- [ ] 不同用户角色是否覆盖？\r\n- [ ] 不同业务规则是否覆盖？\r\n- [ ] 不同配置选项是否覆盖？\r\n- [ ] 不同数据状态是否覆盖？\r\n- [ ] 不同环境条件是否覆盖？\r\n\r\n### 异常路径场景\r\n- [ ] 输入异常是否覆盖？（空值/超长/格式错误）\r\n- [ ] 状态异常是否覆盖？（非法状态转换）\r\n- [ ] 网络异常是否覆盖？（断网/超时/延迟）\r\n- [ ] 依赖异常是否覆盖？（第三方服务故障）\r\n- [ ] 并发异常是否覆盖？（数据冲突/资源竞争）\r\n- [ ] 资源异常是否覆盖？（内存不足/磁盘满）\r\n\r\n### 数据流场景\r\n- [ ] 数据创建是否覆盖？\r\n- [ ] 数据读取是否覆盖？\r\n- [ ] 数据更新是否覆盖？\r\n- [ ] 数据删除是否覆盖？\r\n- [ ] 数据同步是否覆盖？\r\n- [ ] 数据一致性是否覆盖？\r\n```text\r\n\r\n## 构建方法\r\n\r\n### 第1步：识别主路径\r\n**问**：用户从开始到结束，最正常的操作路径是什么？\r\n\r\n```\r\n主路径识别：\r\n1. 用户起点：用户从哪里开始？\r\n2. 核心步骤：必须执行的步骤有哪些？\r\n3. 用户终点：用户在哪里结束？\r\n4. 成功标志：怎么算完成？\r\n\r\n示例（电商下单）：\r\n用户浏览商品 → 加入购物车 → 选择地址 → 选择支付 → 确认支付 → 支付成功 → 生成订单\r\n```text\r\n\r\n### 第2步：识别分支路径\r\n**问**：在主路径的每一步，有什么条件分支？\r\n\r\n```\r\n分支识别方法：\r\n1. 条件判断：if-else条件是什么？\r\n2. 用户选择：用户有哪些选择？\r\n3. 状态分支：不同状态走不同路径？\r\n4. 配置分支：不同配置走不同路径？\r\n\r\n示例（电商下单）：\r\n- 选择地址：有地址/无地址/新增地址\r\n- 选择支付：微信支付/支付宝/银行卡\r\n- 使用优惠券：有/无/过期\r\n```text\r\n\r\n### 第3步：识别异常路径\r\n**问**：在每个步骤，可能出什么问题？怎么恢复？\r\n\r\n```\r\n异常识别方法：\r\n1. 输入异常：用户输入错误\r\n2. 系统异常：系统故障\r\n3. 网络异常：网络问题\r\n4. 依赖异常：第三方服务问题\r\n5. 并发异常：并发操作问题\r\n\r\n示例（电商下单）：\r\n- 加入购物车：库存不足\r\n- 选择地址：地址不存在\r\n- 支付：支付失败\r\n- 支付：网络中断\r\n```text\r\n\r\n### 第4步：识别数据流\r\n**问**：数据在模块间怎么流转？在哪创建/更新/删除？\r\n\r\n```\r\n数据流识别：\r\n1. 数据创建：在哪里创建数据？\r\n2. 数据读取：在哪里读取数据？\r\n3. 数据更新：在哪里更新数据？\r\n4. 数据删除：在哪里删除数据？\r\n5. 数据一致性：数据在各模块间是否一致？\r\n\r\n示例（电商下单）：\r\n- 订单数据：创建订单 → 更新库存 → 生成支付单\r\n- 用户数据：读取地址 → 使用优惠券 → 更新积分\r\n```text\r\n\r\n## 场景描述模板\r\n\r\n每个场景应包含：\r\n\r\n```markdown\r\n### 场景SC-001：[场景名称]\r\n\r\n**路径类型**：主路径/分支路径/异常路径/数据流\r\n\r\n**前置条件**：\r\n- 条件1\r\n- 条件2\r\n\r\n**触发条件**：\r\n- 用户操作/系统事件\r\n\r\n**操作步骤**：\r\n1. 步骤1\r\n2. 步骤2\r\n3. 步骤3\r\n\r\n**预期结果**：\r\n- 结果1\r\n- 结果2\r\n\r\n**数据变化**：\r\n- 数据A：[变化描述]\r\n- 数据B：[变化描述]\r\n\r\n**风险等级**：高/中/低\r\n```text\r\n\r\n## 场景树示例（登录功能）\r\n\r\n```\r\n登录功能\r\n├─ 主路径\r\n│   ├─ SC-001：用户名密码登录成功\r\n│   └─ SC-002：手机号验证码登录成功\r\n├─ 分支路径\r\n│   ├─ SC-003：记住我功能\r\n│   ├─ SC-004：第三方登录\r\n│   └─ SC-005：多因素认证\r\n├─ 异常路径\r\n│   ├─ SC-006：用户名不存在\r\n│   ├─ SC-007：密码错误\r\n│   ├─ SC-008：验证码过期\r\n│   ├─ SC-009：账号被锁定\r\n│   └─ SC-010：网络异常\r\n└─ 数据流\r\n    ├─ SC-011：登录状态存储\r\n    ├─ SC-012：Token生成与刷新\r\n    └─ SC-013：登录日志记录\r\n```text\r\n\r\n## 场景类型速查表\r\n\r\n| 场景类型 | 覆盖目标 | 数量参考 | 典型遗漏 |\r\n|---------|---------|---------|---------|\r\n| 主路径 | 核心业务流程完整性 | 需求数 ×1 | 多角色主路径不同 |\r\n| 分支路径 | 条件分支、用户选择 | 需求数 ×2 | 配置项组合、权限分支 |\r\n| 异常路径 | 各类异常处理 | 需求数 ×1.5 | 第三方超时、并发冲突 |\r\n| 数据流 | 数据CRUD + 一致性 | 需求数 ×0.5 | 跨模块数据同步 |\r\n\r\n## 输出示例\r\n\r\n**场景：测试电商下单流程**\r\n→ 主路径：浏览→加入购物车→下单→支付→完成\r\n→ 分支路径：未登录下单→跳转登录→继续支付\r\n→ 异常路径：下单时库存不足、支付超时、并发下单\r\n→ 数据流：商品信息→订单数据→支付记录→物流信息\r\n\r\n**场景：测试用户注册**\r\n→ 主路径：填写信息→验证手机→注册成功\r\n→ 分支路径：手机号已注册→提示已有账号\r\n→ 异常路径：验证码错误、手机号格式不对、网络中断\r\n\r\n## 检查清单\r\n\r\n场景树构建完成后检查：\r\n- [ ] 主路径是否完整？\r\n- [ ] 分支路径是否覆盖所有条件？\r\n- [ ] 异常路径是否考虑全面？\r\n- [ ] 数据流是否清晰？\r\n- [ ] 场景间是否有重叠？\r\n- [ ] 场景优先级是否标注？\r\n\r\n## 场景漂移与处理\r\n\r\n场景树常见失控现象及对策：\r\n\r\n| 漂移类型 | 表现 | 处理方式 |\r\n|---------|------|---------|\r\n| 场景爆炸 | 分支路径衍生过多，树过于庞大 | 按优先级裁剪，只保留P0-P1分支 |\r\n| 路径遗漏 | 某条分支的关键场景被跳过 | 用需求解构表逐一对照检查 |\r\n| 深度失衡 | 某条分支挖很深，其他分支太浅 | 设定每条分支最大深度 = 主路径深度 ×1.5 |\r\n| 层次混乱 | 主路径里混了异常路径的节点 | 强制按四类重新归类，不允许混排 |\n\nFile v1.6.0:_meta.json\n\n{\n  \"ownerId\": \"kn71y9b23csfx0ykgm55d5m9x5891zt8\",\n  \"slug\": \"qa-scenario-tree\",\n  \"version\": \"1.6.0\",\n  \"publishedAt\": 1783358229519\n}\n\nFile v1.6.0:skill-card.md\n\n## Description: <br>\nHelps QA practitioners turn decomposed requirements into structured scenario trees covering happy paths, alternative paths, exception paths, business rules, and data-flow scenarios. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[kokxi](https://clawhub.ai/user/kokxi) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nQA engineers, developers, and product teams use this skill after requirements decomposition to design scenario coverage for complex workflows with page transitions, state changes, branching behavior, and exception handling. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Example QA inputs may include customer, payment, identity, screenshot, or production data. <br>\nMitigation: Mask or remove sensitive data before using the skill, and use synthetic or sanitized test examples whenever possible. <br>\nRisk: Scenario trees can miss branches or grow too large for practical test planning. <br>\nMitigation: Review generated scenarios against the requirements decomposition, prioritize critical P0-P1 branches, and reclassify misplaced happy-path, alternative-path, exception-path, and data-flow scenarios. <br>\n\n\n## Reference(s): <br>\n- [Qa Scenario Tree on ClawHub](https://clawhub.ai/kokxi/skills/qa-scenario-tree) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, guidance] <br>\n**Output Format:** [Markdown guidance with structured scenario IDs, requirement links, path categories, expected results, data changes, and risk levels.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Scenario outputs use SC-XXXX identifiers, link back to REQ-XXXX requirements, and separate happy-path, alternative-path, exception-path, and data-flow coverage.] <br>\n\n## Skill Version(s): <br>\n1.6.0 (source: frontmatter and server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v1.5.0: 3 files, 5198 bytes\n\nFiles: skill-card.md (1788b), SKILL.md (9674b), _meta.json (135b)\n\nFile v1.5.0:SKILL.md\n\n---\r\nname: qa-scenario-tree\r\nversion: 1.5.0\r\ndescription: >-\r\n  将需求解构的结果系统化转化为主路径、备选路径、异常路径、业务规则四类测试场景。当业务流程复杂、涉及多个页面跳转或状态变化、需要确保关键路径和异常路径都有覆盖时，应当使用此技能。不要只测\"正常流程\"——场景树的核心价值是暴露那些\"用户可能不会按你预期操作\"的分支和异常路径。每个场景都应有唯一ID（SC-XXXX）并关联回具体需求。\r\n\r\nwhen_to_use: 用户说\"构建场景\"、\"测试场景\"、\"场景树\"、\"场景设计\"、\"测试路径\"、\"场景覆盖\"、完成需求解构后需要设计测试、业务流程复杂需要系统化梳理时\r\nallowed-tools: Read Grep Glob\r\nrelated_skills:\r\n  upstream:\r\n    - qa-req-deconstruction      # 输入：需求解构表\r\n  downstream:\r\n    - qa-boundary-deep-dive      # 输出：场景树传递给边界分析\r\n    - qa-combination-strategy    # 输出：场景树传递给组合策略\r\n    - qa-state-transition        # 输出：场景树传递给状态转换\r\ninput_format:\r\n  required:\r\n    - name: 需求解构表\r\n      type: object\r\n      description: 来自qa-req-deconstruction的输出，包含需求ID、显性/隐性/衍生需求\r\n  optional:\r\n    - name: 风险评估\r\n      type: object\r\n      description: 来自qa-risk-intuition的输出，包含高风险区域\r\noutput_format:\r\n  structure:\r\n    - scenario_id: \"SC-XXXX\"\r\n    - requirement_ids: [\"REQ-XXXX\"]\r\n    - happy_path: \"主路径场景\"\r\n    - alternative_path: \"分支路径场景\"\r\n    - exception_path: \"异常路径场景\"\r\n    - data_flow: \"数据流场景\"\r\n  traceability:\r\n    - 每个场景带唯一ID（SC-XXXX）\r\n    - 关联需求ID（REQ-XXXX）\r\ndepth_requirement_quantification:\r\n  reference_value: \"根据需求复杂度调整场景深度：简单×3/中等×5/复杂×7\"\r\n  minimum: \"至少构建3层场景树（主路径+分支+异常）\"\r\n---\r\n\r\n# 场景树构建\r\n\r\n## 核心原则\r\n\r\n你是一位测试设计专家，擅长将需求转化为结构化测试场景。\r\n**核心原则**：用树结构组织测试场景，确保覆盖完整、层次清晰。\r\n本技能通过主路径/分支路径/异常路径/数据流四类场景实现全面覆盖。\r\n\r\n## 场景数量要求（参考值）\r\n\r\n**关键指标**：根据项目复杂度调整\r\n\r\n| 复杂度 | 倍数 | 示例（显性5条） |\r\n|--------|------|----------------|\r\n| 简单项目 | ×3 | 场景15个 |\r\n| 中等项目 | ×5 | 场景25个 |\r\n| 复杂项目 | ×7 | 场景35个 |\r\n\r\n**复杂度判断标准**：\r\n- 简单：单模块、低风险、无并发\r\n- 中等：多模块、中风险、少量并发\r\n- 复杂：跨模块、高风险、高并发\r\n\r\n## 场景树结构\r\n\r\n```text\r\n根节点：功能模块\r\n├─ 主路径（Happy Path）          → 数量：需求数量 × 1\r\n│   ├─ 场景1：正常流程1\r\n│   ├─ 场景2：正常流程2\r\n│   └─ ...\r\n├─ 分支路径（Alternative Path）   → 数量：需求数量 × 2\r\n│   ├─ 场景A：分支条件1\r\n│   ├─ 场景B：分支条件2\r\n│   └─ ...\r\n├─ 异常路径（Exception Path）     → 数量：需求数量 × 1.5\r\n│   ├─ 场景X：异常情况1\r\n│   ├─ 场景Y：异常情况2\r\n│   └─ ...\r\n└─ 数据流（Data Flow）           → 数量：需求数量 × 0.5\r\n    ├─ 场景α：数据创建\r\n    ├─ 场景β：数据流转\r\n    └─ ...\r\n```\r\n\r\n## 场景类型覆盖清单\r\n\r\n### 主路径场景\r\n- [ ] 核心业务流程是否覆盖？\r\n- [ ] 正常用户操作路径是否覆盖？\r\n- [ ] 主要功能点是否覆盖？\r\n\r\n### 分支路径场景\r\n- [ ] 不同用户角色是否覆盖？\r\n- [ ] 不同业务规则是否覆盖？\r\n- [ ] 不同配置选项是否覆盖？\r\n- [ ] 不同数据状态是否覆盖？\r\n- [ ] 不同环境条件是否覆盖？\r\n\r\n### 异常路径场景\r\n- [ ] 输入异常是否覆盖？（空值/超长/格式错误）\r\n- [ ] 状态异常是否覆盖？（非法状态转换）\r\n- [ ] 网络异常是否覆盖？（断网/超时/延迟）\r\n- [ ] 依赖异常是否覆盖？（第三方服务故障）\r\n- [ ] 并发异常是否覆盖？（数据冲突/资源竞争）\r\n- [ ] 资源异常是否覆盖？（内存不足/磁盘满）\r\n\r\n### 数据流场景\r\n- [ ] 数据创建是否覆盖？\r\n- [ ] 数据读取是否覆盖？\r\n- [ ] 数据更新是否覆盖？\r\n- [ ] 数据删除是否覆盖？\r\n- [ ] 数据同步是否覆盖？\r\n- [ ] 数据一致性是否覆盖？\r\n```text\r\n\r\n## 构建方法\r\n\r\n### 第1步：识别主路径\r\n**问**：用户从开始到结束，最正常的操作路径是什么？\r\n\r\n```\r\n主路径识别：\r\n1. 用户起点：用户从哪里开始？\r\n2. 核心步骤：必须执行的步骤有哪些？\r\n3. 用户终点：用户在哪里结束？\r\n4. 成功标志：怎么算完成？\r\n\r\n示例（电商下单）：\r\n用户浏览商品 → 加入购物车 → 选择地址 → 选择支付 → 确认支付 → 支付成功 → 生成订单\r\n```text\r\n\r\n### 第2步：识别分支路径\r\n**问**：在主路径的每一步，有什么条件分支？\r\n\r\n```\r\n分支识别方法：\r\n1. 条件判断：if-else条件是什么？\r\n2. 用户选择：用户有哪些选择？\r\n3. 状态分支：不同状态走不同路径？\r\n4. 配置分支：不同配置走不同路径？\r\n\r\n示例（电商下单）：\r\n- 选择地址：有地址/无地址/新增地址\r\n- 选择支付：微信支付/支付宝/银行卡\r\n- 使用优惠券：有/无/过期\r\n```text\r\n\r\n### 第3步：识别异常路径\r\n**问**：在每个步骤，可能出什么问题？怎么恢复？\r\n\r\n```\r\n异常识别方法：\r\n1. 输入异常：用户输入错误\r\n2. 系统异常：系统故障\r\n3. 网络异常：网络问题\r\n4. 依赖异常：第三方服务问题\r\n5. 并发异常：并发操作问题\r\n\r\n示例（电商下单）：\r\n- 加入购物车：库存不足\r\n- 选择地址：地址不存在\r\n- 支付：支付失败\r\n- 支付：网络中断\r\n```text\r\n\r\n### 第4步：识别数据流\r\n**问**：数据在模块间怎么流转？在哪创建/更新/删除？\r\n\r\n```\r\n数据流识别：\r\n1. 数据创建：在哪里创建数据？\r\n2. 数据读取：在哪里读取数据？\r\n3. 数据更新：在哪里更新数据？\r\n4. 数据删除：在哪里删除数据？\r\n5. 数据一致性：数据在各模块间是否一致？\r\n\r\n示例（电商下单）：\r\n- 订单数据：创建订单 → 更新库存 → 生成支付单\r\n- 用户数据：读取地址 → 使用优惠券 → 更新积分\r\n```text\r\n\r\n## 场景描述模板\r\n\r\n每个场景应包含：\r\n\r\n```markdown\r\n### 场景SC-001：[场景名称]\r\n\r\n**路径类型**：主路径/分支路径/异常路径/数据流\r\n\r\n**前置条件**：\r\n- 条件1\r\n- 条件2\r\n\r\n**触发条件**：\r\n- 用户操作/系统事件\r\n\r\n**操作步骤**：\r\n1. 步骤1\r\n2. 步骤2\r\n3. 步骤3\r\n\r\n**预期结果**：\r\n- 结果1\r\n- 结果2\r\n\r\n**数据变化**：\r\n- 数据A：[变化描述]\r\n- 数据B：[变化描述]\r\n\r\n**风险等级**：高/中/低\r\n```text\r\n\r\n## 场景树示例（登录功能）\r\n\r\n```\r\n登录功能\r\n├─ 主路径\r\n│   ├─ SC-001：用户名密码登录成功\r\n│   └─ SC-002：手机号验证码登录成功\r\n├─ 分支路径\r\n│   ├─ SC-003：记住我功能\r\n│   ├─ SC-004：第三方登录\r\n│   └─ SC-005：多因素认证\r\n├─ 异常路径\r\n│   ├─ SC-006：用户名不存在\r\n│   ├─ SC-007：密码错误\r\n│   ├─ SC-008：验证码过期\r\n│   ├─ SC-009：账号被锁定\r\n│   └─ SC-010：网络异常\r\n└─ 数据流\r\n    ├─ SC-011：登录状态存储\r\n    ├─ SC-012：Token生成与刷新\r\n    └─ SC-013：登录日志记录\r\n```text\r\n\r\n## 场景类型速查表\r\n\r\n| 场景类型 | 覆盖目标 | 数量参考 | 典型遗漏 |\r\n|---------|---------|---------|---------|\r\n| 主路径 | 核心业务流程完整性 | 需求数 ×1 | 多角色主路径不同 |\r\n| 分支路径 | 条件分支、用户选择 | 需求数 ×2 | 配置项组合、权限分支 |\r\n| 异常路径 | 各类异常处理 | 需求数 ×1.5 | 第三方超时、并发冲突 |\r\n| 数据流 | 数据CRUD + 一致性 | 需求数 ×0.5 | 跨模块数据同步 |\r\n\r\n## 输出示例\r\n\r\n**场景：测试电商下单流程**\r\n→ 主路径：浏览→加入购物车→下单→支付→完成\r\n→ 分支路径：未登录下单→跳转登录→继续支付\r\n→ 异常路径：下单时库存不足、支付超时、并发下单\r\n→ 数据流：商品信息→订单数据→支付记录→物流信息\r\n\r\n**场景：测试用户注册**\r\n→ 主路径：填写信息→验证手机→注册成功\r\n→ 分支路径：手机号已注册→提示已有账号\r\n→ 异常路径：验证码错误、手机号格式不对、网络中断\r\n\r\n## 检查清单\r\n\r\n场景树构建完成后检查：\r\n- [ ] 主路径是否完整？\r\n- [ ] 分支路径是否覆盖所有条件？\r\n- [ ] 异常路径是否考虑全面？\r\n- [ ] 数据流是否清晰？\r\n- [ ] 场景间是否有重叠？\r\n- [ ] 场景优先级是否标注？\r\n\r\n## 场景漂移与处理\r\n\r\n场景树常见失控现象及对策：\r\n\r\n| 漂移类型 | 表现 | 处理方式 |\r\n|---------|------|---------|\r\n| 场景爆炸 | 分支路径衍生过多，树过于庞大 | 按优先级裁剪，只保留P0-P1分支 |\r\n| 路径遗漏 | 某条分支的关键场景被跳过 | 用需求解构表逐一对照检查 |\r\n| 深度失衡 | 某条分支挖很深，其他分支太浅 | 设定每条分支最大深度 = 主路径深度 ×1.5 |\r\n| 层次混乱 | 主路径里混了异常路径的节点 | 强制按四类重新归类，不允许混排 |\n\nFile v1.5.0:_meta.json\n\n{\n  \"ownerId\": \"kn71y9b23csfx0ykgm55d5m9x5891zt8\",\n  \"slug\": \"qa-scenario-tree\",\n  \"version\": \"1.5.0\",\n  \"publishedAt\": 1782736501067\n}\n\nFile v1.5.0:skill-card.md\n\n## Description: <br>\nTransforms decomposed requirements into structured QA scenario trees covering happy paths, alternative paths, exception paths, and data-flow scenarios with requirement traceability. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[kokxi](https://clawhub.ai/user/kokxi) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nQA engineers and product teams use this skill after requirement decomposition to design traceable scenario trees for complex workflows, page transitions, state changes, and exception handling. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill can activate on broad QA scenario-design requests and may shape test coverage for complex workflows. <br>\nMitigation: Use it when structured scenario trees are desired, then review the generated paths against the source requirements before adopting them. <br>\n\n\n## Reference(s): <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, guidance] <br>\n**Output Format:** [Markdown with structured scenario identifiers, requirement links, path categories, checklists, and examples] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Produces scenario trees with SC-XXXX identifiers, linked REQ-XXXX requirement IDs, path type labels, expected results, data changes, and risk levels.] <br>\n\n## Skill Version(s): <br>\n1.5.0 (source: frontmatter and server release metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v1.4.1: 3 files, 5046 bytes\n\nFiles: skill-card.md (2003b), SKILL.md (9131b), _meta.json (135b)\n\nFile v1.4.1:SKILL.md\n\n---\r\nname: qa-scenario-tree\r\ndescription: >-\r\n  场景树构建，将需求解构系统化转化为主路径/备选路径/异常路径/业务规则四类测试场景。当需要设计测试场景或梳理复杂流程时激活。\r\n\r\nwhen_to_use: 用户说\"构建场景\"、\"测试场景\"、\"场景树\"、\"场景设计\"、\"测试路径\"、\"场景覆盖\"、完成需求解构后需要设计测试、业务流程复杂需要系统化梳理时\r\nallowed-tools: Read Grep Glob\r\nrelated_skills:\r\n  upstream:\r\n    - qa-req-deconstruction      # 输入：需求解构表\r\n  downstream:\r\n    - qa-boundary-deep-dive      # 输出：场景树传递给边界分析\r\n    - qa-combination-strategy    # 输出：场景树传递给组合策略\r\n    - qa-state-transition        # 输出：场景树传递给状态转换\r\ninput_format:\r\n  required:\r\n    - name: 需求解构表\r\n      type: object\r\n      description: 来自qa-req-deconstruction的输出，包含需求ID、显性/隐性/衍生需求\r\n  optional:\r\n    - name: 风险评估\r\n      type: object\r\n      description: 来自qa-risk-intuition的输出，包含高风险区域\r\noutput_format:\r\n  structure:\r\n    - scenario_id: \"SC-XXXX\"\r\n    - requirement_ids: [\"REQ-XXXX\"]\r\n    - happy_path: \"主路径场景\"\r\n    - alternative_path: \"分支路径场景\"\r\n    - exception_path: \"异常路径场景\"\r\n    - data_flow: \"数据流场景\"\r\n  traceability:\r\n    - 每个场景带唯一ID（SC-XXXX）\r\n    - 关联需求ID（REQ-XXXX）\r\n---\n\r\n# 场景树构建\r\n\r\n## Overview\r\n\r\n你是一位测试设计专家，擅长将需求转化为结构化测试场景。\r\n**核心原则**：用树结构组织测试场景，确保覆盖完整、层次清晰。\r\n本技能通过主路径/分支路径/异常路径/数据流四类场景实现全面覆盖。\r\n\r\n## 场景数量要求（参考值）\r\n\r\n**关键指标**：根据项目复杂度调整\r\n\r\n| 复杂度 | 倍数 | 示例（显性5条） |\r\n|--------|------|----------------|\r\n| 简单项目 | ×3 | 场景15个 |\r\n| 中等项目 | ×5 | 场景25个 |\r\n| 复杂项目 | ×7 | 场景35个 |\r\n\r\n**复杂度判断标准**：\r\n- 简单：单模块、低风险、无并发\r\n- 中等：多模块、中风险、少量并发\r\n- 复杂：跨模块、高风险、高并发\r\n\r\n## 场景树结构\r\n\r\n```\r\n根节点：功能模块\r\n├─ 主路径（Happy Path）          → 数量：需求数量 × 1\r\n│   ├─ 场景1：正常流程1\r\n│   ├─ 场景2：正常流程2\r\n│   └─ ...\r\n├─ 分支路径（Alternative Path）   → 数量：需求数量 × 2\r\n│   ├─ 场景A：分支条件1\r\n│   ├─ 场景B：分支条件2\r\n│   └─ ...\r\n├─ 异常路径（Exception Path）     → 数量：需求数量 × 1.5\r\n│   ├─ 场景X：异常情况1\r\n│   ├─ 场景Y：异常情况2\r\n│   └─ ...\r\n└─ 数据流（Data Flow）           → 数量：需求数量 × 0.5\r\n    ├─ 场景α：数据创建\r\n    ├─ 场景β：数据流转\r\n    └─ ...\r\n```\r\n\r\n## 场景类型覆盖清单\r\n\r\n### 主路径场景\r\n- [ ] 核心业务流程是否覆盖？\r\n- [ ] 正常用户操作路径是否覆盖？\r\n- [ ] 主要功能点是否覆盖？\r\n\r\n### 分支路径场景\r\n- [ ] 不同用户角色是否覆盖？\r\n- [ ] 不同业务规则是否覆盖？\r\n- [ ] 不同配置选项是否覆盖？\r\n- [ ] 不同数据状态是否覆盖？\r\n- [ ] 不同环境条件是否覆盖？\r\n\r\n### 异常路径场景\r\n- [ ] 输入异常是否覆盖？（空值/超长/格式错误）\r\n- [ ] 状态异常是否覆盖？（非法状态转换）\r\n- [ ] 网络异常是否覆盖？（断网/超时/延迟）\r\n- [ ] 依赖异常是否覆盖？（第三方服务故障）\r\n- [ ] 并发异常是否覆盖？（数据冲突/资源竞争）\r\n- [ ] 资源异常是否覆盖？（内存不足/磁盘满）\r\n\r\n### 数据流场景\r\n- [ ] 数据创建是否覆盖？\r\n- [ ] 数据读取是否覆盖？\r\n- [ ] 数据更新是否覆盖？\r\n- [ ] 数据删除是否覆盖？\r\n- [ ] 数据同步是否覆盖？\r\n- [ ] 数据一致性是否覆盖？\r\n```\r\n\r\n## 构建方法\r\n\r\n### 第1步：识别主路径\r\n**问**：用户从开始到结束，最正常的操作路径是什么？\r\n\r\n```\r\n主路径识别：\r\n1. 用户起点：用户从哪里开始？\r\n2. 核心步骤：必须执行的步骤有哪些？\r\n3. 用户终点：用户在哪里结束？\r\n4. 成功标志：怎么算完成？\r\n\r\n示例（电商下单）：\r\n用户浏览商品 → 加入购物车 → 选择地址 → 选择支付 → 确认支付 → 支付成功 → 生成订单\r\n```\r\n\r\n### 第2步：识别分支路径\r\n**问**：在主路径的每一步，有什么条件分支？\r\n\r\n```\r\n分支识别方法：\r\n1. 条件判断：if-else条件是什么？\r\n2. 用户选择：用户有哪些选择？\r\n3. 状态分支：不同状态走不同路径？\r\n4. 配置分支：不同配置走不同路径？\r\n\r\n示例（电商下单）：\r\n- 选择地址：有地址/无地址/新增地址\r\n- 选择支付：微信支付/支付宝/银行卡\r\n- 使用优惠券：有/无/过期\r\n```\r\n\r\n### 第3步：识别异常路径\r\n**问**：在每个步骤，可能出什么问题？怎么恢复？\r\n\r\n```\r\n异常识别方法：\r\n1. 输入异常：用户输入错误\r\n2. 系统异常：系统故障\r\n3. 网络异常：网络问题\r\n4. 依赖异常：第三方服务问题\r\n5. 并发异常：并发操作问题\r\n\r\n示例（电商下单）：\r\n- 加入购物车：库存不足\r\n- 选择地址：地址不存在\r\n- 支付：支付失败\r\n- 支付：网络中断\r\n```\r\n\r\n### 第4步：识别数据流\r\n**问**：数据在模块间怎么流转？在哪创建/更新/删除？\r\n\r\n```\r\n数据流识别：\r\n1. 数据创建：在哪里创建数据？\r\n2. 数据读取：在哪里读取数据？\r\n3. 数据更新：在哪里更新数据？\r\n4. 数据删除：在哪里删除数据？\r\n5. 数据一致性：数据在各模块间是否一致？\r\n\r\n示例（电商下单）：\r\n- 订单数据：创建订单 → 更新库存 → 生成支付单\r\n- 用户数据：读取地址 → 使用优惠券 → 更新积分\r\n```\r\n\r\n## 场景描述模板\r\n\r\n每个场景应包含：\r\n\r\n```markdown\r\n### 场景SC-001：[场景名称]\r\n\r\n**路径类型**：主路径/分支路径/异常路径/数据流\r\n\r\n**前置条件**：\r\n- 条件1\r\n- 条件2\r\n\r\n**触发条件**：\r\n- 用户操作/系统事件\r\n\r\n**操作步骤**：\r\n1. 步骤1\r\n2. 步骤2\r\n3. 步骤3\r\n\r\n**预期结果**：\r\n- 结果1\r\n- 结果2\r\n\r\n**数据变化**：\r\n- 数据A：[变化描述]\r\n- 数据B：[变化描述]\r\n\r\n**风险等级**：高/中/低\r\n```\r\n\r\n## 场景树示例（登录功能）\r\n\r\n```\r\n登录功能\r\n├─ 主路径\r\n│   ├─ SC-001：用户名密码登录成功\r\n│   └─ SC-002：手机号验证码登录成功\r\n├─ 分支路径\r\n│   ├─ SC-003：记住我功能\r\n│   ├─ SC-004：第三方登录\r\n│   └─ SC-005：多因素认证\r\n├─ 异常路径\r\n│   ├─ SC-006：用户名不存在\r\n│   ├─ SC-007：密码错误\r\n│   ├─ SC-008：验证码过期\r\n│   ├─ SC-009：账号被锁定\r\n│   └─ SC-010：网络异常\r\n└─ 数据流\r\n    ├─ SC-011：登录状态存储\r\n    ├─ SC-012：Token生成与刷新\r\n    └─ SC-013：登录日志记录\r\n```\r\n\r\n## 场景类型速查表\r\n\r\n| 场景类型 | 覆盖目标 | 数量参考 | 典型遗漏 |\r\n|---------|---------|---------|---------|\r\n| 主路径 | 核心业务流程完整性 | 需求数 ×1 | 多角色主路径不同 |\r\n| 分支路径 | 条件分支、用户选择 | 需求数 ×2 | 配置项组合、权限分支 |\r\n| 异常路径 | 各类异常处理 | 需求数 ×1.5 | 第三方超时、并发冲突 |\r\n| 数据流 | 数据CRUD + 一致性 | 需求数 ×0.5 | 跨模块数据同步 |\r\n\r\n## Examples\r\n\r\n**场景：测试电商下单流程**\r\n→ 主路径：浏览→加入购物车→下单→支付→完成\r\n→ 分支路径：未登录下单→跳转登录→继续支付\r\n→ 异常路径：下单时库存不足、支付超时、并发下单\r\n→ 数据流：商品信息→订单数据→支付记录→物流信息\r\n\r\n**场景：测试用户注册**\r\n→ 主路径：填写信息→验证手机→注册成功\r\n→ 分支路径：手机号已注册→提示已有账号\r\n→ 异常路径：验证码错误、手机号格式不对、网络中断\r\n\r\n## Guidelines\r\n\r\n场景树构建完成后检查：\r\n- [ ] 主路径是否完整？\r\n- [ ] 分支路径是否覆盖所有条件？\r\n- [ ] 异常路径是否考虑全面？\r\n- [ ] 数据流是否清晰？\r\n- [ ] 场景间是否有重叠？\r\n- [ ] 场景优先级是否标注？\r\n\r\n## 场景漂移与处理\r\n\r\n场景树常见失控现象及对策：\r\n\r\n| 漂移类型 | 表现 | 处理方式 |\r\n|---------|------|---------|\r\n| 场景爆炸 | 分支路径衍生过多，树过于庞大 | 按优先级裁剪，只保留P0-P1分支 |\r\n| 路径遗漏 | 某条分支的关键场景被跳过 | 用需求解构表逐一对照检查 |\r\n| 深度失衡 | 某条分支挖很深，其他分支太浅 | 设定每条分支最大深度 = 主路径深度 ×1.5 |\r\n| 层次混乱 | 主路径里混了异常路径的节点 | 强制按四类重新归类，不允许混排 |\n\nFile v1.4.1:_meta.json\n\n{\n  \"ownerId\": \"kn71y9b23csfx0ykgm55d5m9x5891zt8\",\n  \"slug\": \"qa-scenario-tree\",\n  \"version\": \"1.4.1\",\n  \"publishedAt\": 1782406576459\n}\n\nFile v1.4.1:skill-card.md\n\n## Description: <br>\nHelps QA practitioners turn decomposed requirements into a structured scenario tree covering happy paths, alternative paths, exception paths, and data flow. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[kokxi](https://clawhub.ai/user/kokxi) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nQA engineers, developers, and test designers use this skill to convert requirement analysis into traceable test scenarios. It is useful when planning coverage for complex business flows, alternate branches, exception handling, and data-flow validation. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Invisible Unicode or control characters in the prompt file could make review harder. <br>\nMitigation: Review the raw SKILL.md in a plain-text editor that reveals invisible characters and remove any that are unnecessary before installation. <br>\nRisk: Scenario trees can over-expand branches or miss important paths when requirements are complex. <br>\nMitigation: Use requirement IDs, scenario priorities, and the skill's coverage checklist to verify traceability and prune low-priority branches. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/kokxi/skills/qa-scenario-tree) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, guidance] <br>\n**Output Format:** [Markdown scenario tree with structured scenario entries] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Uses scenario IDs and requirement traceability when source requirement IDs are provided.] <br>\n\n## Skill Version(s): <br>\n1.4.1 (source: server release metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v1.4.0: 3 files, 5143 bytes\n\nFiles: skill-card.md (2117b), SKILL.md (9391b), _meta.json (135b)\n\nFile v1.4.0:SKILL.md\n\n---\r\nname: qa-scenario-tree\r\ndescription: >-\r\n  场景树构建，将需求解构转化为结构化测试场景。当用户需要构建测试场景、设计场景树或完成需求解构后需要设计测试时自动触发。\r\n  也适用于：业务流程复杂需要系统化梳理场景，或需要确保场景覆盖完整性时。\r\n   关键词：场景树、测试场景、场景设计、流程覆盖、场景路径、场景拆分、测试覆盖、树枝覆盖、路径分析、场景深度。\nwhen_to_use: 用户说\"构建场景\"、\"测试场景\"、\"场景树\"、\"场景设计\"、\"测试路径\"、\"场景覆盖\"、完成需求解构后需要设计测试、业务流程复杂需要系统化梳理时\r\nallowed-tools: Read Grep Glob\r\nrelated_skills:\r\n  upstream:\r\n    - qa-req-deconstruction      # 输入：需求解构表\r\n  downstream:\r\n    - qa-boundary-deep-dive      # 输出：场景树传递给边界分析\r\n    - qa-combination-strategy    # 输出：场景树传递给组合策略\r\n    - qa-state-transition        # 输出：场景树传递给状态转换\r\ninput_format:\r\n  required:\r\n    - name: 需求解构表\r\n      type: object\r\n      description: 来自qa-req-deconstruction的输出，包含需求ID、显性/隐性/衍生需求\r\n  optional:\r\n    - name: 风险评估\r\n      type: object\r\n      description: 来自qa-risk-intuition的输出，包含高风险区域\r\noutput_format:\r\n  structure:\r\n    - scenario_id: \"SC-XXXX\"\r\n    - requirement_ids: [\"REQ-XXXX\"]\r\n    - happy_path: \"主路径场景\"\r\n    - alternative_path: \"分支路径场景\"\r\n    - exception_path: \"异常路径场景\"\r\n    - data_flow: \"数据流场景\"\r\n  traceability:\r\n    - 每个场景带唯一ID（SC-XXXX）\r\n    - 关联需求ID（REQ-XXXX）\r\n---\n\r\n# 场景树构建\r\n\r\n## Overview\r\n\r\n你是一位测试设计专家，擅长将需求转化为结构化测试场景。\r\n**核心原则**：用树结构组织测试场景，确保覆盖完整、层次清晰。\r\n本技能通过主路径/分支路径/异常路径/数据流四类场景实现全面覆盖。\r\n\r\n## 场景数量要求（参考值）\r\n\r\n**关键指标**：根据项目复杂度调整\r\n\r\n| 复杂度 | 倍数 | 示例（显性5条） |\r\n|--------|------|----------------|\r\n| 简单项目 | ×3 | 场景15个 |\r\n| 中等项目 | ×5 | 场景25个 |\r\n| 复杂项目 | ×7 | 场景35个 |\r\n\r\n**复杂度判断标准**：\r\n- 简单：单模块、低风险、无并发\r\n- 中等：多模块、中风险、少量并发\r\n- 复杂：跨模块、高风险、高并发\r\n\r\n## 场景树结构\r\n\r\n```\r\n根节点：功能模块\r\n├─ 主路径（Happy Path）          → 数量：需求数量 × 1\r\n│   ├─ 场景1：正常流程1\r\n│   ├─ 场景2：正常流程2\r\n│   └─ ...\r\n├─ 分支路径（Alternative Path）   → 数量：需求数量 × 2\r\n│   ├─ 场景A：分支条件1\r\n│   ├─ 场景B：分支条件2\r\n│   └─ ...\r\n├─ 异常路径（Exception Path）     → 数量：需求数量 × 1.5\r\n│   ├─ 场景X：异常情况1\r\n│   ├─ 场景Y：异常情况2\r\n│   └─ ...\r\n└─ 数据流（Data Flow）           → 数量：需求数量 × 0.5\r\n    ├─ 场景α：数据创建\r\n    ├─ 场景β：数据流转\r\n    └─ ...\r\n```\r\n\r\n## 场景类型覆盖清单\r\n\r\n### 主路径场景\r\n- [ ] 核心业务流程是否覆盖？\r\n- [ ] 正常用户操作路径是否覆盖？\r\n- [ ] 主要功能点是否覆盖？\r\n\r\n### 分支路径场景\r\n- [ ] 不同用户角色是否覆盖？\r\n- [ ] 不同业务规则是否覆盖？\r\n- [ ] 不同配置选项是否覆盖？\r\n- [ ] 不同数据状态是否覆盖？\r\n- [ ] 不同环境条件是否覆盖？\r\n\r\n### 异常路径场景\r\n- [ ] 输入异常是否覆盖？（空值/超长/格式错误）\r\n- [ ] 状态异常是否覆盖？（非法状态转换）\r\n- [ ] 网络异常是否覆盖？（断网/超时/延迟）\r\n- [ ] 依赖异常是否覆盖？（第三方服务故障）\r\n- [ ] 并发异常是否覆盖？（数据冲突/资源竞争）\r\n- [ ] 资源异常是否覆盖？（内存不足/磁盘满）\r\n\r\n### 数据流场景\r\n- [ ] 数据创建是否覆盖？\r\n- [ ] 数据读取是否覆盖？\r\n- [ ] 数据更新是否覆盖？\r\n- [ ] 数据删除是否覆盖？\r\n- [ ] 数据同步是否覆盖？\r\n- [ ] 数据一致性是否覆盖？\r\n```\r\n\r\n## 构建方法\r\n\r\n### 第1步：识别主路径\r\n**问**：用户从开始到结束，最正常的操作路径是什么？\r\n\r\n```\r\n主路径识别：\r\n1. 用户起点：用户从哪里开始？\r\n2. 核心步骤：必须执行的步骤有哪些？\r\n3. 用户终点：用户在哪里结束？\r\n4. 成功标志：怎么算完成？\r\n\r\n示例（电商下单）：\r\n用户浏览商品 → 加入购物车 → 选择地址 → 选择支付 → 确认支付 → 支付成功 → 生成订单\r\n```\r\n\r\n### 第2步：识别分支路径\r\n**问**：在主路径的每一步，有什么条件分支？\r\n\r\n```\r\n分支识别方法：\r\n1. 条件判断：if-else条件是什么？\r\n2. 用户选择：用户有哪些选择？\r\n3. 状态分支：不同状态走不同路径？\r\n4. 配置分支：不同配置走不同路径？\r\n\r\n示例（电商下单）：\r\n- 选择地址：有地址/无地址/新增地址\r\n- 选择支付：微信支付/支付宝/银行卡\r\n- 使用优惠券：有/无/过期\r\n```\r\n\r\n### 第3步：识别异常路径\r\n**问**：在每个步骤，可能出什么问题？怎么恢复？\r\n\r\n```\r\n异常识别方法：\r\n1. 输入异常：用户输入错误\r\n2. 系统异常：系统故障\r\n3. 网络异常：网络问题\r\n4. 依赖异常：第三方服务问题\r\n5. 并发异常：并发操作问题\r\n\r\n示例（电商下单）：\r\n- 加入购物车：库存不足\r\n- 选择地址：地址不存在\r\n- 支付：支付失败\r\n- 支付：网络中断\r\n```\r\n\r\n### 第4步：识别数据流\r\n**问**：数据在模块间怎么流转？在哪创建/更新/删除？\r\n\r\n```\r\n数据流识别：\r\n1. 数据创建：在哪里创建数据？\r\n2. 数据读取：在哪里读取数据？\r\n3. 数据更新：在哪里更新数据？\r\n4. 数据删除：在哪里删除数据？\r\n5. 数据一致性：数据在各模块间是否一致？\r\n\r\n示例（电商下单）：\r\n- 订单数据：创建订单 → 更新库存 → 生成支付单\r\n- 用户数据：读取地址 → 使用优惠券 → 更新积分\r\n```\r\n\r\n## 场景描述模板\r\n\r\n每个场景应包含：\r\n\r\n```markdown\r\n### 场景SC-001：[场景名称]\r\n\r\n**路径类型**：主路径/分支路径/异常路径/数据流\r\n\r\n**前置条件**：\r\n- 条件1\r\n- 条件2\r\n\r\n**触发条件**：\r\n- 用户操作/系统事件\r\n\r\n**操作步骤**：\r\n1. 步骤1\r\n2. 步骤2\r\n3. 步骤3\r\n\r\n**预期结果**：\r\n- 结果1\r\n- 结果2\r\n\r\n**数据变化**：\r\n- 数据A：[变化描述]\r\n- 数据B：[变化描述]\r\n\r\n**风险等级**：高/中/低\r\n```\r\n\r\n## 场景树示例（登录功能）\r\n\r\n```\r\n登录功能\r\n├─ 主路径\r\n│   ├─ SC-001：用户名密码登录成功\r\n│   └─ SC-002：手机号验证码登录成功\r\n├─ 分支路径\r\n│   ├─ SC-003：记住我功能\r\n│   ├─ SC-004：第三方登录\r\n│   └─ SC-005：多因素认证\r\n├─ 异常路径\r\n│   ├─ SC-006：用户名不存在\r\n│   ├─ SC-007：密码错误\r\n│   ├─ SC-008：验证码过期\r\n│   ├─ SC-009：账号被锁定\r\n│   └─ SC-010：网络异常\r\n└─ 数据流\r\n    ├─ SC-011：登录状态存储\r\n    ├─ SC-012：Token生成与刷新\r\n    └─ SC-013：登录日志记录\r\n```\r\n\r\n## 场景类型速查表\r\n\r\n| 场景类型 | 覆盖目标 | 数量参考 | 典型遗漏 |\r\n|---------|---------|---------|---------|\r\n| 主路径 | 核心业务流程完整性 | 需求数 ×1 | 多角色主路径不同 |\r\n| 分支路径 | 条件分支、用户选择 | 需求数 ×2 | 配置项组合、权限分支 |\r\n| 异常路径 | 各类异常处理 | 需求数 ×1.5 | 第三方超时、并发冲突 |\r\n| 数据流 | 数据CRUD + 一致性 | 需求数 ×0.5 | 跨模块数据同步 |\r\n\r\n## Examples\r\n\r\n**场景：测试电商下单流程**\r\n→ 主路径：浏览→加入购物车→下单→支付→完成\r\n→ 分支路径：未登录下单→跳转登录→继续支付\r\n→ 异常路径：下单时库存不足、支付超时、并发下单\r\n→ 数据流：商品信息→订单数据→支付记录→物流信息\r\n\r\n**场景：测试用户注册**\r\n→ 主路径：填写信息→验证手机→注册成功\r\n→ 分支路径：手机号已注册→提示已有账号\r\n→ 异常路径：验证码错误、手机号格式不对、网络中断\r\n\r\n## Guidelines\r\n\r\n场景树构建完成后检查：\r\n- [ ] 主路径是否完整？\r\n- [ ] 分支路径是否覆盖所有条件？\r\n- [ ] 异常路径是否考虑全面？\r\n- [ ] 数据流是否清晰？\r\n- [ ] 场景间是否有重叠？\r\n- [ ] 场景优先级是否标注？\r\n\r\n## 场景漂移与处理\r\n\r\n场景树常见失控现象及对策：\r\n\r\n| 漂移类型 | 表现 | 处理方式 |\r\n|---------|------|---------|\r\n| 场景爆炸 | 分支路径衍生过多，树过于庞大 | 按优先级裁剪，只保留P0-P1分支 |\r\n| 路径遗漏 | 某条分支的关键场景被跳过 | 用需求解构表逐一对照检查 |\r\n| 深度失衡 | 某条分支挖很深，其他分支太浅 | 设定每条分支最大深度 = 主路径深度 ×1.5 |\r\n| 层次混乱 | 主路径里混了异常路径的节点 | 强制按四类重新归类，不允许混排 |\n\nFile v1.4.0:_meta.json\n\n{\n  \"ownerId\": \"kn71y9b23csfx0ykgm55d5m9x5891zt8\",\n  \"slug\": \"qa-scenario-tree\",\n  \"version\": \"1.4.0\",\n  \"publishedAt\": 1782277864599\n}\n\nFile v1.4.0:skill-card.md\n\n## Description: <br>\nBuilds structured QA scenario trees from decomposed requirements, covering happy paths, alternative paths, exception paths, and data-flow scenarios. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[kokxi](https://clawhub.ai/user/kokxi) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nQA engineers, testers, and product teams use this skill to turn requirement decompositions and complex business flows into traceable scenario trees for test design and coverage review. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill has a broad activation scope for process-analysis and testing language, so it may produce scenario-tree output when a user intended a different analysis. <br>\nMitigation: Ask the user to confirm whether scenario-tree output is desired when the request is ambiguous, and state explicitly when scenario-tree output is not wanted. <br>\nRisk: Generated scenario trees can omit paths or over-expand branches for complex flows. <br>\nMitigation: Review outputs against the source requirements, prioritize high-value paths, and trim low-priority branches before using the tree for test planning. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/kokxi/skills/qa-scenario-tree) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [markdown, guidance] <br>\n**Output Format:** [Markdown scenario tree with scenario IDs, requirement traceability, path categories, expected results, data changes, and risk levels] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Uses SC-XXXX scenario identifiers and links scenarios to REQ-XXXX requirement identifiers when available.] <br>\n\n## Skill Version(s): <br>\n1.4.0 (source: server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>","readmeExcerpt":"Skill: qa-scenario-tree Owner: kokxi Summary: 将需求解构的结果系统化转化为主路径、备选路径、异常路径、业务规则四类测试场景。当业务流程复杂、涉及多个页面跳转或状态变化、需要确保关键路径和异常路径都有覆盖时，应当使用此技能。不要只测\"正常流程\"——场景树的核心价值是暴露那些\"用户可能不会按你预期操作\"的分支和异常路径。每个场景带唯一 ID（SC-{模块缩写}-{序号}）并关联回需求 ID（REQ-）。 触发场景：构建场景、测试场景、场景树、场景设计、测试路径、场景覆盖、业务流程复杂需要系统化梳理时。 Use when the user asks about: building a test scenario tree — main path, alternate path, exception path, and data flow scenarios with traceable S","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"登录功能\n├─ 主路径\n│   ├─ SC-LOGIN-001：用户名密码登录成功\n│   └─ SC-LOGIN-002：手机号验证码登录成功\n├─ 分支路径\n│   ├─ SC-LOGIN-003：记住我\n│   ├─ SC-LOGIN-004：第三方登录\n│   └─ SC-LOGIN-005：多因素认证\n├─ 异常路径\n│   ├─ SC-LOGIN-006：用户名不存在\n│   ├─ SC-LOGIN-007：密码错误\n│   ├─ SC-LOGIN-008：验证码过期\n│   ├─ SC-LOGIN-009：账号被锁定\n│   └─ SC-LOGIN-010：网络中断\n└─ 数据流\n    ├─ SC-LOGIN-011：登录状态存储\n    ├─ SC-LOGIN-012：Token 生成与刷新\n    └─ SC-LOGIN-013：登录日志记录"},{"language":"markdown","snippet":"### SC-LOGIN-014 — 支付回调超时后的订单状态\n\n- **路径类型**：异常路径\n- **关联需求**：REQ-PAY-003\n- **前置条件**：订单处于\"支付中\"已 30 分钟；回调地址注入 3 秒延迟\n- **触发条件**：用户点击支付，网关响应超时\n- **操作步骤**：1) 发起支付注入延迟 2) 等待超时 3) 查订单状态 4) 手动补发回调\n- **预期结果**：超时后订单进入\"支付中\"而非判失败；补发后转\"已支付\"不二次扣款；\n  30 分钟无回调则自动关单并释放库存\n- **数据变化**：订单 支付中→已支付；支付单唯一无重复；库存净扣减 1\n- **风险等级**：高（资损）"},{"language":"text","snippet":"覆盖清单：\n├─ 核心业务流程是否覆盖？\n├─ 正常用户操作路径是否覆盖？\n├─ 主要功能点是否覆盖？\n└─ 每个角色是否各有一条主路径？（多租户/多权限系统）"},{"language":"text","snippet":"1. 用户起点：用户从哪里开始？\n2. 核心步骤：必须执行的步骤有哪些？\n3. 用户终点：用户在哪里结束？\n4. 成功标志：怎么算完成？"},{"language":"text","snippet":"用户浏览商品 → 加入购物车 → 选择地址 → 选择支付 → 确认支付 → 支付成功 → 生成订单"},{"language":"text","snippet":"覆盖清单：\n├─ 不同用户角色是否覆盖？      ← 最容易漏\n├─ 不同业务规则是否覆盖？\n├─ 不同配置选项是否覆盖？\n├─ 不同数据状态是否覆盖？\n└─ 不同环境条件是否覆盖？"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: qa-scenario-tree\ndescription: >-\n  将需求解构的结果系统化转化为主路径、备选路径、异常路径、业务规则四类测试场景。当业务流程复杂、涉及多个页面跳转或状态变化、需要确保关键路径和异常路径都有覆盖时，应当使用此技能。不要只测\"正常流程\"——场景树的核心价值是暴露那些\"用户可能不会按你预期操作\"的分支和异常路径。每个场景带唯一 ID（SC-{模块缩写}-{序号}）并关联回需求 ID（REQ-）。\n  触发场景：构建场景、测试场景、场景树、场景设计、测试路径、场景覆盖、业务流程复杂需要系统化梳理时。 Use when the user asks about: building a test scenario tree — main path, alternate path, exception path, and data flow scenarios with traceable SC-/REQ- IDs.\nlicense: MIT\nallowed-tools: Read Grep Glob\nmetadata:\n  display-name: \"Scenario Tree\"\n  version: \"1.8.0\"\n  when-to-use: \"用户说\\\"构建场景\\\"、\\\"测试场景\\\"、\\\"场景树\\\"、\\\"场景设计\\\"、\\\"测试路径\\\"、\\\"场景覆盖\\\"、完成需求解构后需要设计测试、业务流程复杂需要系统化梳理时\"\n  related-skills: \"{\\\"upstream\\\":[\\\"qa-req-deconstruction\\\"],\\\"downstream\\\":[\\\"qa-boundary-deep-dive\\\",\\\"qa-combination-strategy\\\",\\\"qa-state-transition\\\",\\\"qa-ai-context-engineering\\\",\\\"qa-ai-output-critique\\\",\\\"qa-domain-modeling\\\",\\\"qa-execution-observation\\\",\\\"qa-exploratory-testing\\\",\\\"qa-test-case-design\\\"]}\"\n  references: \"[\\\"assets/scenario-template.md\\\",\\\"references/scenario-types.md\\\"]\"\n  input-format: \"{\\\"required\\\":[{\\\"name\\\":\\\"需求解构表\\\",\\\"type\\\":\\\"object\\\",\\\"description\\\":\\\"来自qa-req-deconstruction的输出，包含需求ID、显性/隐性/衍生需求\\\"}],\\\"optional\\\":[{\\\"name\\\":\\\"风险评估\\\",\\\"type\\\":\\\"object\\\",\\\"description\\\":\\\"来自qa-risk-intuition的输出，包含高风险区域\\\"}]}\"\n  output-format: \"{\\\"traceability\\\":[\\\"每个场景带唯一ID：SC-{模块缩写}-{序号}（如 SC-LOGIN-001）\\\",\\\"关联需求ID：REQ-{需求模块缩写}-{序号}（REQ- 才是需求前缀，SC- 是场景前缀，TC_ 是用例前缀——三者不可混用）\\\"],\\\"structure\\\":[{\\\"scenario_tree\\\":\\\"场景树：按 主路径/分支路径/异常路径/数据流 四类组织，场景ID树内连续\\\"},{\\\"scenario_block\\\":\\\"单场景描述块：路径类型|关联需求|前置条件|触发条件|操作步骤|预期结果|数据变化|风险等级\\\"},\\\"数量：需求数 ×3（简单）/ ×5（中等）/ ×7（复杂）；分支=需求×2、异常=需求×1.5、数据流=需求×0.5，非整数时向下取整\\\",\\\"本技能不产出 9 列用例表 —— 用例由 qa-test-case-design 分配 TC_ 编号并生成\\\",\\\"覆盖率：标注口径（基于现有需求解构表），禁止\\\\\\\"全覆盖/100%\\\\\\\"绝对化表述；未覆盖路径标注\\\\\\\"未覆盖+原因\\\\\\\"\\\"],\\\"happy_path\\\":\\\"主路径场景\\\",\\\"alternative_path\\\":\\\"分支路径场景\\\",\\\"exception_path\\\":\\\"异常路径场景\\\",\\\"data_flow\\\":\\\"数据流场景\\\"}\"\n  error-recovery-guidance: \"{\\\"on_failure\\\":\\\"场景树遗漏异常路径时回退到需求解构补充\\\",\\\"retry_behavior\\\":\\\"补全异常需求后重新构建场景树\\\"}\"\n  categories: \"[\\\"Development\\\",\\\"Requirements\\\"]\"\n  depth-requirement: \"{\\\"reference_value\\\":\\\"见正文「场景数量要求」表：以需求数为基准，简单=需求数×3 / 中等=×5 / 复杂=×7（绝对倍数）\\\",\\\"minimum\\\":\\\"四类路径（主路径/分支路径/异常路径/数据流）至少覆盖3类；未覆盖的类必须标注原因\\\"}\"\n---\n\n> ⚠️ 本技能单独使用效果有限，建议配合完整技能集（12 步工作流）使用。安装：npx skills add Kokxi/qa-test-skills\n\n> **⚠️ 安全警告**：本技能的示例可能涉及订单号、支付金额、截图、身份证、手机号等敏感数据。\n> 实际使用时请勿粘贴真实生产数据、客户信息或财务凭证；测试前应脱敏/掩码处理。\n> 本技能仅在 workspace/ 输出评估文件，不持久化、不外传、不跨会话复用。\n\n# 场景树构建\n\n## 核心原则\n\n用树结构组织测试场景，确保覆盖完整、层次清晰。\n\n**不要只测正常流程**——场景树的核心价值是暴露那些\"用户可能不会按你预期操作\"的分支和异常路径。\n\n## 1. 四类路径速查\n\n| 路径类型 | 覆盖目标 | 数量 | 最容易漏 |\n|---------|---------|------|---------|\n| **主路径** | 核心业务流程完整性 | 需求数 ×1 | 多角色主路径不同 |\n| **分支路径** | 条件分支、用户选择 | 需求数 ×2 | 配置项组合、权限分支 |\n| **异常路径** | 各类异常处理 | 需求数 ×1.5 | 第三方超时后的**恢复能力** |\n| **数据流** | 数据 CRUD + 跨模块一致性 | 需求数 ×0.5 | 跨模块数据同步断链 |\n\n> 非整数时**向下取整**（5 条需求 → 异常 7 条、数据流 2 条），不要为凑数造半条场景。\n> 四类至少覆盖 3 类，未覆盖的类必须写明原因——四类全上的场景树在真实项目里很少。\n\n## 2. 场景数量要求\n\n**关键指标**：以需求数为基准，按项目复杂度放大。\n\n| 复杂度 | 倍数 | 示例（需求 5 条） | 复杂度判断标准 |\n|--------|----"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn71y9b23csfx0ykgm55d5m9x5891zt8\",\n  \"slug\": \"qa-scenario-tree\",\n  \"version\": \"1.8.0\",\n  \"publishedAt\": 1790656086222\n}"},{"path":"references/scenario-types.md","content":"# 四类场景详解与构建方法\n\n> 本文是 `qa-scenario-tree` 的**方法详图**。需要展开某一类场景的完整覆盖清单、或按四步法逐类构建时读本文；\n> 只想确认四类各占多少、重点看哪类时读 `SKILL.md` 的速查表即可。\n\n## 编号规则\n\n| 对象 | 格式 | 示例 |\n|------|------|------|\n| 场景 ID | `SC-{模块缩写}-{序号}` | `SC-LOGIN-001` |\n| 需求 ID | `REQ-{需求模块缩写}-{序号}` | `REQ-AUTH-001` |\n\n> `TC_` 是**用例** ID 前缀，由 `qa-test-case-design` 分配。本技能产出场景不产用例，\n> 不要用 `TC_` 编场景号。`SC-` 与 `REQ-` 均为 `docs/standards.md` 已定义前缀。\n\n---\n\n## 1. 主路径场景（Happy Path）\n\n**目标**：核心业务流程完整性。每个角色一条——多角色系统里各角色主路径不同。\n\n```text\n覆盖清单：\n├─ 核心业务流程是否覆盖？\n├─ 正常用户操作路径是否覆盖？\n├─ 主要功能点是否覆盖？\n└─ 每个角色是否各有一条主路径？（多租户/多权限系统）\n```\n\n**识别方法**：用户从开始到结束，最正常的操作路径是什么？\n\n```text\n1. 用户起点：用户从哪里开始？\n2. 核心步骤：必须执行的步骤有哪些？\n3. 用户终点：用户在哪里结束？\n4. 成功标志：怎么算完成？\n```\n\n**示例（电商下单）**：\n```text\n用户浏览商品 → 加入购物车 → 选择地址 → 选择支付 → 确认支付 → 支付成功 → 生成订单\n```\n\n---\n\n## 2. 分支路径场景（Alternative Path）\n\n**目标**：条件分支与用户选择。**数量最多**（需求数 ×2），也是最容易漏的。\n\n```text\n覆盖清单：\n├─ 不同用户角色是否覆盖？      ← 最容易漏\n├─ 不同业务规则是否覆盖？\n├─ 不同配置选项是否覆盖？\n├─ 不同数据状态是否覆盖？\n└─ 不同环境条件是否覆盖？\n```\n\n**识别方法**：在主路径的每一步，有什么条件分支？\n\n```text\n1. 条件判断：if-else 条件是什么？\n2. 用户选择：用户有哪些选择？\n3. 状态分支：不同状态走不同路径？\n4. 配置分支：不同配置走不同路径？\n```\n\n**示例（电商下单）**：\n```text\n- 选择地址：有地址 / 无地址 / 新增地址\n- 选择支付：微信 / 支付宝 / 银行卡\n- 使用优惠券：有 / 无 / 过期\n```\n\n> **典型遗漏**：配置项的组合。单个配置项都测了，\"A 配置 + B 配置同时开启\"没测 ——\n> 这类交叉要交给 `qa-combination-strategy`。\n\n---\n\n## 3. 异常路径场景（Exception Path）\n\n**目标**：各类异常处理。**数量取整后按需求数 ×1.5 向下取整**（如 5 条需求 → 7 条，不是 7.5 条）。\n\n```text\n覆盖清单：\n├─ 输入异常：空值 / 超长 / 格式错误\n├─ 状态异常：非法状态转换        ← 交给 qa-state-transition 深化\n├─ 网络异常：断网 / 超时 / 延迟\n├─ 依赖异常：第三方服务故障      ← 资损重灾区\n├─ 并发异常：数据冲突 / 资源竞争\n└─ 资源异常：内存不足 / 磁盘满\n```\n\n**识别方法**：在每个步骤，可能出什么问题？怎么恢复？\n\n```text\n1. 输入异常：用户输入错误\n2. 系统异常：系统故障\n3. 网络异常：网络问题\n4. 依赖异常：第三方服务问题\n5. 并发异常：并发操作问题\n```\n\n**示例（电商下单）**：\n```text\n- 加入购物车：库存不足\n- 选择地址：地址不存在\n- 支付：支付失败\n- 支付：网络中断\n```\n\n> **别只测\"报错了\"**。异常路径必须验证**恢复能力**：报错后系统处于什么状态、\n> 用户能不能重试、重试会不会产生重复副作用。资损场景（支付/退款）尤其如此。\n\n---\n\n## 4. 数据流场景（Data Flow）\n\n**目标**：数据 CRUD + 跨模块一致性。数量最少（需求数 ×0.5），但**最容易被整个漏掉**。\n\n```text\n覆盖清单：\n├─ 数据创建是否覆盖？\n├─ 数据读取是否覆盖？\n├─ 数据更新是否覆盖？\n├─ 数据删除是否覆盖？\n├─ 数据同步是否覆盖？      ← 跨模块，最容易漏\n└─ 数据一致性是否覆盖？    ← 多个模块读写同一份数据\n```\n\n**识别方法**：数据在模块间怎么流转？在哪创建/更新/删除？\n\n```text\n1. 数据创建：在哪里创建数据？\n2. 数据读取：在哪里读取数据？\n3. 数据更新：在哪里更新数据？\n4. 数据删除：在哪里删除数据？\n5. 数据一致性：数据在各模块间是否一致？\n```\n\n**示例（电商下单）**：\n```text\n- 订单数据：创建订单 → 更新库存 → 生成支付单\n- 用户数据：读取地址 → 使用优惠券 → 更新积分\n```\n\n> **一致性断链是真实事故来源**：下单成功但库存没扣（超卖）、\n> 支付成功但订单还是待支付。这类问题在功能测试里看不出来，只有顺着数据流才查得到。\n\n---\n\n## 场景漂移与处理\n\n场景树最常见的失控形态：\n\n| 漂移类型 | 表现 | 处理方式 |\n|---------|------|---------|\n| **场景爆炸** | 分支路径衍生过多，树过于庞大 | 按优先级裁剪，只保留 P0-P1 分支；低优分支合并到父节点 |\n| **路径遗漏** | 某条分支的关键场景被跳过 | 用需求解构表**逐一对照**，每条需求至少挂 1 个场景 |\n| **深度失衡** | 某条分支挖很深，其他分支太浅 | 设定每条分支最大深度 = 主路径深度 ×1.5 |\n| **层次混乱** | 主路径里混进了异常路径的节点 | 强制按四类重新归类，不允许混排 |\n| **无关联需求** | 场景没挂到任何需求上 | 无需求来源的场景要么补需求关联，要么删除 |"},{"path":"assets/scenario-template.md","content":"# 场景树与场景描述模板\n\n> 复制下面任一块板填写。四类场景的覆盖清单与构建方法见 [`scenario-types.md`](scenario-types.md)。\n\n## A. 场景树骨架\n\n```text\n{功能模块名}\n├─ 主路径（SC-{模块}-001 起）\n│   ├─ SC-{模块}-001：{正常流程1}\n│   └─ SC-{模块}-002：{正常流程2}\n├─ 分支路径\n│   ├─ SC-{模块}-003：{分支条件1}\n│   ├─ SC-{模块}-004：{分支条件2}\n│   └─ SC-{模块}-005：{配置组合 / 权限分支}\n├─ 异常路径\n│   ├─ SC-{模块}-006：{输入异常}\n│   ├─ SC-{模块}-007：{依赖异常 + 恢复验证}\n│   ├─ SC-{模块}-008：{并发冲突}\n│   └─ SC-{模块}-009：{网络异常}\n└─ 数据流\n    ├─ SC-{模块}-010：{数据创建与关联}\n    └─ SC-{模块}-011：{跨模块一致性}\n```\n\n> 序号在**整棵树内连续**，不按类别分段 —— 便于按 `SC-{模块}-0xx` 直接查。\n\n## B. 单场景描述块\n\n```markdown\n### SC-LOGIN-007 — 支付回调超时后的订单状态\n\n- **路径类型**：异常路径\n- **关联需求**：REQ-PAY-003（支付回调处理）\n- **前置条件**：\n  - 订单处于\"支付中\"状态已 30 分钟\n  - 支付网关回调地址可达但本环境注入 3 秒延迟\n- **触发条件**：用户点击\"支付\"，网关响应超时\n- **操作步骤**：\n  1. 发起支付，模拟网关 3 秒延迟\n  2. 等待超时返回\n  3. 查询订单状态\n  4. 手动补发一次回调\n- **预期结果**：\n  - 超时后订单进入\"支付中\"而非直接判失败\n  - 补发回调后订单转为\"已支付\"，**不产生二次扣款**\n  - 30 分钟后仍未收到回调的订单被自动关闭并释放库存\n- **数据变化**：\n  - 订单：`支付中` → `已支付`\n  - 支付单：保持唯一，无重复记录\n  - 库存：超时释放后重新扣减，最终净扣减 1\n- **风险等级**：高（资损）\n```\n\n## 填写要求\n\n| 字段 | 要求 | 常见错误 |\n|------|------|---------|\n| 场景 ID | `SC-{模块缩写}-{序号}`，三位序号、树内连续 | 用 `TC_` 编场景号（那是用例前缀） |\n| 关联需求 | `REQ-{需求模块缩写}-{序号}`，**必填** | 留空（场景树无法回溯到需求） |\n| 路径类型 | 四选一：主路径 / 分支路径 / 异常路径 / 数据流 | 写\"正常用例\"\"异常用例\" |\n| 前置条件 | 环境 + 数据 + 状态 + 依赖可控性，具体到可复现 | 只写\"环境正常\" |\n| 触发条件 | 用户操作或系统事件，单句 | 写\"各种情况\" |\n| 操作步骤 | 一步一验证，含具体操作与等待时长 | 写\"模拟超时\" |\n| 预期结果 | 可观测：状态、返回值、数据变化 | 写\"正确处理\" |\n| 数据变化 | 逐个数据对象写清前后状态 | 留空（数据流场景的核心信息） |\n| 风险等级 | 高（资损/越权/数据错误）/ 中（体验与稳定性）/ 低 | 全标高 |\n\n## 交付前自检\n\n- [ ] 四类路径都有场景；某一类确实不适用时写\"不适用 + 原因\"\n- [ ] 每个场景 ID 唯一且连续，格式为 `SC-{模块}-{序号}`\n- [ ] 每个场景关联到 `REQ-` 需求 ID，无孤儿场景\n- [ ] 场景数达到数量要求（×3/×5/×7，按需求数 ×1.5 向下取整的维度已处理小数）\n- [ ] 异常路径均验证了**恢复能力**（报错后状态、能否重试、重试有无重复副作用）\n- [ ] 数据流场景逐个数据对象写了前后状态\n- [ ] 无主路径/异常路径混排\n- [ ] 覆盖率已标注口径，无\"全覆盖/100%\"绝对化表述"},{"path":"skill-card.md","content":"## Description:\n\nTurns decomposed requirements into traceable main, alternate, exception, and data-flow test scenarios.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[kokxi](https://clawhub.ai/user/kokxi)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nQA practitioners use this skill to turn a requirements breakdown into a scenario tree covering normal, alternate, exception, and data-flow paths, with each scenario linked to its requirement.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Scenario examples may expose customer, identity, payment, or production data.\n\nMitigation: Use synthetic or masked data rather than real customer information or financial records.\n\nRisk: The optional command to install the broader skill set uses an unpinned package source.\n\nMitigation: Review the source and use a pinned version or trusted release before installing.\n\n## Reference(s):\n\n- [Scenario tree and description template](assets/scenario-template.md)\n- [Scenario types and construction guidance](references/scenario-types.md)\n- [ClawHub skill release](https://clawhub.ai/kokxi/skills/qa-scenario-tree)\n\n## Skill Output:\n\n**Output Type(s):** [Markdown, Guidance]\n\n**Output Format:** [Markdown scenario tree and scenario descriptions]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Unique SC- IDs linked to REQ- IDs; notes uncovered paths and reasons; does not produce detailed test cases.]\n\n## Skill Version(s):\n\n1.8.0 (source: frontmatter, server release)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"将需求解构的结果系统化转化为主路径、备选路径、异常路径、业务规则四类测试场景。当业务流程复杂、涉及多个页面跳转或状态变化、需要确保关键路径和异常路径都有覆盖时，应当使用此技能。不要只测\"正常流程\"——场景树的核心价值是暴露那些\"用户可能不会按你预期操作\"的分支和异常路径。每个场景带唯一 ID（SC-{模块缩写}-{序号}）并关联回需求 ID（REQ-）。 触发场景：构建场景、测试场景、场景树、场景设计、测试路径、场景覆盖、业务流程复杂需要系统化梳理时。 Use when the user asks about: building a test scenario tree — main path, alternate path, exception path, and data flow scenarios with traceable SC-/REQ- IDs. Skill: qa-scenario-tree Owner: kokxi Summary: 将需求解构的结果系统化转化为主路径、备选路径、异常路径、业务规则四类测试场景。当业务流程复杂、涉及多个页面跳转或状态变化、需要确保关键路径和异常路径都有覆盖时，应当使用此技能。不要只测\"正常流程\"——场景树的核心价值是暴露那些\"用户可能不会按你预期操作\"的分支和异常路径。每个场景带唯一 ID（SC-{模块缩写}-{序号}）并关联回需求 ID（REQ-）。 触发场景：构建场景、测试场景、场景树、场景设计、测试路径、场景覆盖、业务流程复杂需要系统化梳理时。 Use when the user asks about: building a test scenario tree — main path, alternate path, exception path, and data flow scenarios with traceable S","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1102,"uniquenessScore":47,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T06:25:16.565Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-11T06:25:16.565Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-11T08:42:06.450Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}