{"id":"cd1d13b6-7c23-40e5-9884-302246479611","entityType":"agent","slug":"clawhub-kokxi-qa-critical-thinking","name":"qa-critical-thinking","canonicalUrl":"https://www.xpersona.co/agent/clawhub-kokxi-qa-critical-thinking","canonicalPath":"/agent/clawhub-kokxi-qa-critical-thinking","generatedAt":"2026-10-11T04:35:00.179Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-11T02:16:06.102Z","emptyReason":null},"description":"当需要挑战已有假设、挖掘隐含约束、发现\"所有人都没想过\"的测试场景时使用此技能。测试中最常犯的错误是接受了需求文档里的隐含假设——比如\"用户一定会有网络\"、\"输入一定有内容\"、\"操作顺序一定正确\"。用「如果不呢」的深度质疑方式反向思考，暴露那些被默认为\"正常\"的异常场景。每一个测试场景都应该走一遍\"如果这个假设不成立呢\"的质疑流程。 触发场景：还有什么、如果...会怎样、逆向思考、你怎么看、这样够吗、质疑、挑战需求、有没有漏、需要怀疑和深度分析时。 Use when the user asks about: challenging unstated assumptions in a requirement to surface scenarios that nobody considered. Skill: qa-critical-thinking Owner: kokxi Summary: 当需要挑战已有假设、挖掘隐含约束、发现\"所有人都没想过\"的测试场景时使用此技能。测试中最常犯的错误是接受了需求文档里的隐含假设——比如\"用户一定会有网络\"、\"输入一定有内容\"、\"操作顺序一定正确\"。用「如果不呢」的深度质疑方式反向思考，暴露那些被默认为\"正常\"的异常场景。每一个测试场景都应该走一遍\"如果这个假设不成立呢\"的质疑流程。 触发场景：还有什么、如果...会怎样、逆向思考、你怎么看、这样够吗、质疑、挑战需求、有没有漏、需要怀疑和深度分析时。 Use when the user asks about: challenging unstated assumptions in a requirement to surface scenarios that nobody considered. Tags: latest:1.8.0","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.2K downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s170jw3s1atcj5jwhqb4r7v7eh8912kp:qa-critical-thinking","sourceUrl":"https://clawhub.ai/kokxi/qa-critical-thinking","homepage":"https://clawhub.ai/kokxi/skills/qa-critical-thinking","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/kokxi/qa-critical-thinking","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/kokxi/skills/qa-critical-thinking","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":62,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"当需要挑战已有假设、挖掘隐含约束、发现\"所有人都没想过\"的测试场景时使用此技能。测试中最常犯的错误是接受了需求文档里的隐含假设——比如\"用户一定会有网络\"、\"输入一定有内容\"、\"操作顺序一定正确\"。用「如果不呢」的深度质疑方式反向思考，暴露那些被默认为\"正常\"的异常场景。每一个测试场景都应该走一遍\"如果这个假设不成立呢"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T02:16:06.102Z","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-11T02:16:06.102Z","emptyReason":null},"stars":null,"forks":null,"downloads":1192,"packageName":null,"latestVersion":"1.8.0","tractionLabel":"1.2K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T02:16:06.039Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T02:16:06.102Z","lastCrawledAt":"2026-10-11T02:16:06.039Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T02:16:06.039Z","lastVerifiedAt":null,"highlights":[{"version":"1.8.0","createdAt":"2026-09-29T04:26:15.602Z","changelog":"**Changelog for qa-critical-thinking v1.8.0** - Major refactor: moved all critical thinking exercises into a dedicated reference file to reduce SKILL.md length and improve context efficiency. - Added `references/thinking-exercises.md` with detailed scenario-based exercises. - Updated SKILL.md to reference the new exercises file and clarified when to access it. - Removed `skill-card.md`. - Enhanced metadata and structure in SKILL.md for easier integration and maintenance. - Improved documentation on when and how to apply the skill, emphasizing usage within a broader workflow.","fileCount":4,"zipByteSize":7415},{"version":"1.7.7","createdAt":"2026-09-27T14:34:17.910Z","changelog":"1.7.7","fileCount":3,"zipByteSize":6731},{"version":"1.7.6","createdAt":"2026-09-01T12:38:46.390Z","changelog":"显示名改中文","fileCount":3,"zipByteSize":6961},{"version":"1.7.5","createdAt":"2026-08-30T15:13:04.475Z","changelog":"1.7.5: 版本号升级","fileCount":3,"zipByteSize":6885},{"version":"1.6.3","createdAt":"2026-08-12T15:22:47.101Z","changelog":"- Added more advanced critical thinking exercises to the documentation, covering scenarios like concurrency, state transitions, and cross-system contracts. - Introduced new sections and improved structure in SKILL.md for better guidance on advanced questioning techniques. - Set explicit fields for skill slug and displayName for clarity. - Removed obsolete file: skill-card.md.","fileCount":3,"zipByteSize":6601},{"version":"1.6.0","createdAt":"2026-07-06T17:14:59.781Z","changelog":"Version 1.6.0 introduces traceability, guidance, and categorization enhancements. - Added skill output traceability notes for mapping挑战 to需求ID或场景ID. - Included error recovery guidance and retry instructions for质疑失败场景. - Introduced类别（categories）和质疑深度量化 (depth_requirement_quantification) 配置说明。 - 新增安全警告和workspace输出说明，提醒避免生产/敏感数据泄露。 - 增加qa-requirement-review为下游关联技能。 - 增补批判性思维检查清单与质疑深度参考。 - 移除冗余skill-card.md文件，内容合并至主文档。","fileCount":3,"zipByteSize":5655},{"version":"1.5.0","createdAt":"2026-06-29T12:32:22.940Z","changelog":"- Expanded and clarified the skill's description and core principles to emphasize challenging implicit assumptions in testing. - Refined input/output formats with structured fields for requirements, test cases, and risk evaluation. - Improved organization: merged and condensed example sections; renamed/streamlined key framework and checklist items. - Removed the outdated skill-card.md file for simplification. - Updated related_skills and documentation to modern YAML structure.","fileCount":3,"zipByteSize":4913},{"version":"1.4.1","createdAt":"2026-06-25T16:54:11.383Z","changelog":"qa-critical-thinking v1.4.1 - 精简并优化了描述，更突出“如果不呢”逆向思考和隐含假设挖掘。 - 删除 skill-card.md 文件，聚焦单一文档维护。 - 保留核心5W1H、逆向思维、思维陷阱等内容，条理更清晰。 - 触发和适用场景说明更直观。 - 无添加新功能，仅文档结构和表述微调。","fileCount":3,"zipByteSize":4760}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s170jw3s1atcj5jwhqb4r7v7eh8912kp:qa-critical-thinking","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-critical-thinking/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-kokxi-qa-critical-thinking/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-kokxi-qa-critical-thinking/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-kokxi-qa-critical-thinking/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-kokxi-qa-critical-thinking/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-kokxi-qa-critical-thinking/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-11T04:35:00.178Z"}},"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-critical-thinking/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-kokxi-qa-critical-thinking/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-kokxi-qa-critical-thinking/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-kokxi-qa-critical-thinking/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-11T02:16:06.102Z","emptyReason":null},"readme":"Skill: qa-critical-thinking\n\nOwner: kokxi\n\nSummary: 当需要挑战已有假设、挖掘隐含约束、发现\"所有人都没想过\"的测试场景时使用此技能。测试中最常犯的错误是接受了需求文档里的隐含假设——比如\"用户一定会有网络\"、\"输入一定有内容\"、\"操作顺序一定正确\"。用「如果不呢」的深度质疑方式反向思考，暴露那些被默认为\"正常\"的异常场景。每一个测试场景都应该走一遍\"如果这个假设不成立呢\"的质疑流程。 触发场景：还有什么、如果...会怎样、逆向思考、你怎么看、这样够吗、质疑、挑战需求、有没有漏、需要怀疑和深度分析时。 Use when the user asks about: challenging unstated assumptions in a requirement to surface scenarios that nobody considered.\n\nTags: latest:1.8.0\n\nVersion history:\n\nv1.8.0 | 2026-09-29T04:26:15.602Z | auto\n\n**Changelog for qa-critical-thinking v1.8.0**\n\n- Major refactor: moved all critical thinking exercises into a dedicated reference file to reduce SKILL.md length and improve context efficiency.\n- Added `references/thinking-exercises.md` with detailed scenario-based exercises.\n- Updated SKILL.md to reference the new exercises file and clarified when to access it.\n- Removed `skill-card.md`.\n- Enhanced metadata and structure in SKILL.md for easier integration and maintenance.\n- Improved documentation on when and how to apply the skill, emphasizing usage within a broader workflow.\n\nv1.7.7 | 2026-09-27T14:34:17.910Z | user\n\n1.7.7\n\nv1.7.6 | 2026-09-01T12:38:46.390Z | user\n\n显示名改中文\n\nv1.7.5 | 2026-08-30T15:13:04.475Z | user\n\n1.7.5: 版本号升级\n\nv1.6.3 | 2026-08-12T15:22:47.101Z | auto\n\n- Added more advanced critical thinking exercises to the documentation, covering scenarios like concurrency, state transitions, and cross-system contracts.\n- Introduced new sections and improved structure in SKILL.md for better guidance on advanced questioning techniques.\n- Set explicit fields for skill slug and displayName for clarity.\n- Removed obsolete file: skill-card.md.\n\nv1.6.0 | 2026-07-06T17:14:59.781Z | auto\n\nVersion 1.6.0 introduces traceability, guidance, and categorization enhancements.\n\n- Added skill output traceability notes for mapping挑战 to需求ID或场景ID.\n- Included error recovery guidance and retry instructions for质疑失败场景.\n- Introduced类别（categories）和质疑深度量化 (depth_requirement_quantification) 配置说明。\n- 新增安全警告和workspace输出说明，提醒避免生产/敏感数据泄露。\n- 增加qa-requirement-review为下游关联技能。\n- 增补批判性思维检查清单与质疑深度参考。\n- 移除冗余skill-card.md文件，内容合并至主文档。\n\nv1.5.0 | 2026-06-29T12:32:22.940Z | auto\n\n- Expanded and clarified the skill's description and core principles to emphasize challenging implicit assumptions in testing.\n- Refined input/output formats with structured fields for requirements, test cases, and risk evaluation.\n- Improved organization: merged and condensed example sections; renamed/streamlined key framework and checklist items.\n- Removed the outdated skill-card.md file for simplification.\n- Updated related_skills and documentation to modern YAML structure.\n\nv1.4.1 | 2026-06-25T16:54:11.383Z | auto\n\nqa-critical-thinking v1.4.1\n\n- 精简并优化了描述，更突出“如果不呢”逆向思考和隐含假设挖掘。\n- 删除 skill-card.md 文件，聚焦单一文档维护。\n- 保留核心5W1H、逆向思维、思维陷阱等内容，条理更清晰。\n- 触发和适用场景说明更直观。\n- 无添加新功能，仅文档结构和表述微调。\n\nv1.4.0 | 2026-06-24T05:06:43.227Z | auto\n\n- Enhanced description and usage scenarios to clarify application triggers and suitable contexts.\n- Added typical keywords for easy identification (e.g., “逆向思维”, “质疑”, “有没有漏”).\n- Expanded with practical examples of how to apply the thinking framework.\n- Introduced a section on common critical thinking traps and corresponding solutions.\n- Refined guidelines and checklists for applying critical thinking in testing.\n- Removed redundant documentation file (skill-card.md) for improved maintainability.\n\nv1.3.0 | 2026-06-21T15:38:44.781Z | auto\n\n- 新增详细 SKILL.md，系统梳理批判性思维应用原则与操作框架\n- 明确对每个“应该”都提问“如果不呢？”，强调逆向与深度质疑方式\n- 细化5W1H质疑法及\"那又怎样\"追问法，提供具体现成问题模板\n- 增加多维假设及异常场景挖掘方法\n- 提供练习案例和应用后验收清单，便于上手和自查\n\nArchive index:\n\nArchive v1.8.0: 4 files, 7415 bytes\n\nFiles: references/thinking-exercises.md (4068b), skill-card.md (1842b), SKILL.md (9497b), _meta.json (139b)\n\nFile v1.8.0:SKILL.md\n\n---\nname: qa-critical-thinking\ndescription: >-\n  当需要挑战已有假设、挖掘隐含约束、发现\"所有人都没想过\"的测试场景时使用此技能。测试中最常犯的错误是接受了需求文档里的隐含假设——比如\"用户一定会有网络\"、\"输入一定有内容\"、\"操作顺序一定正确\"。用「如果不呢」的深度质疑方式反向思考，暴露那些被默认为\"正常\"的异常场景。每一个测试场景都应该走一遍\"如果这个假设不成立呢\"的质疑流程。 触发场景：还有什么、如果...会怎样、逆向思考、你怎么看、这样够吗、质疑、挑战需求、有没有漏、需要怀疑和深度分析时。 Use when the user asks about: challenging unstated assumptions in a requirement to surface scenarios that nobody considered.\nlicense: MIT\nallowed-tools: Read Grep Glob\nmetadata:\n  display-name: \"Critical Thinking\"\n  version: \"1.8.0\"\n  when-to-use: \"用户说\\\"还有什么\\\"、\\\"如果...会怎样\\\"、\\\"逆向思考\\\"、\\\"你怎么看\\\"、\\\"这样够吗\\\"、\\\"质疑\\\"、\\\"挑战需求\\\"、\\\"有没有漏\\\"、需要怀疑和深度分析时\"\n  related-skills: \"{\\\"upstream\\\":[],\\\"downstream\\\":[\\\"qa-req-deconstruction\\\",\\\"qa-scenario-tree\\\",\\\"qa-boundary-deep-dive\\\",\\\"qa-requirement-review\\\"]}\"\n  references: \"[\\\"references/thinking-exercises.md\\\"]\"\n  input-format: \"{\\\"required\\\":[{\\\"name\\\":\\\"需求描述\\\",\\\"type\\\":\\\"string\\\",\\\"description\\\":\\\"功能需求的详细描述\\\"},{\\\"name\\\":\\\"测试用例\\\",\\\"type\\\":\\\"array\\\",\\\"description\\\":\\\"待审阅的测试用例列表\\\"}],\\\"optional\\\":[{\\\"name\\\":\\\"业务背景\\\",\\\"type\\\":\\\"string\\\",\\\"description\\\":\\\"业务目标和用户角色\\\"}]}\"\n  output-format: \"{\\\"traceability\\\":[\\\"本技能质疑思维，不产出唯一ID；发现的假设挑战关联到需求ID或场景ID\\\"],\\\"structure\\\":[{\\\"thinking_gaps\\\":\\\"思维盲区清单\\\"},{\\\"assumption_challenges\\\":\\\"假设挑战列表\\\"},{\\\"alternative_scenarios\\\":\\\"替代场景建议\\\"},{\\\"risk_reevaluation\\\":\\\"风险重评估\\\"}]}\"\n  error-recovery-guidance: \"{\\\"on_failure\\\":\\\"质疑流未能暴露假设时回退到需求解构补充上下文\\\",\\\"retry_behavior\\\":\\\"补充业务背景后重新质疑\\\"}\"\n  categories: \"[\\\"Development\\\",\\\"Testing\\\"]\"\n  depth-requirement: \"{\\\"reference_value\\\":\\\"根据需求复杂度调整质疑深度：简单×3/中等×5/复杂×7\\\",\\\"minimum\\\":\\\"至少挑战3个隐含假设\\\"}\"\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\n### 5W1H 质疑法\n\n```text\nWhat（是什么）：\n├─ 这个功能是什么？\n├─ 这个规则是什么？\n├─ 这个约束是什么？\n└─ 如果不是这样会怎样？\n\nWhy（为什么）：\n├─ 为什么要有这个功能？\n├─ 为什么要有这个规则？\n├─ 为什么是这样实现？\n└─ 如果没有这个为什么会怎样？\n\nWho（谁）：\n├─ 谁在用这个功能？\n├─ 谁负责这个模块？\n├─ 谁会影响这个功能？\n└─ 如果换一个人会怎样？\n\nWhen（什么时候）：\n├─ 什么时候用这个功能？\n├─ 什么时候触发这个规则？\n├─ 什么时候会出问题？\n└─ 如果换个时间会怎样？\n\nWhere（在哪里）：\n├─ 在哪里使用这个功能？\n├─ 在哪里存储这些数据？\n├─ 在哪里会出现问题？\n└─ 如果换个地方会怎样？\n\nHow（怎么做）：\n├─ 怎么实现这个功能？\n├─ 怎么触发这个规则？\n├─ 怎么处理异常情况？\n└─ 如果换个方式会怎样？\n```\n\n### 逆向思维\n\n```text\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│   ├─ 反例：用户误操作、恶意操作\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│   └─ 示例：登录失败 → 那又怎样？→ 无法访问任何功能\n│\n├─ 影响一个用户 → 那又怎样？还影响谁？\n│   └─ 示例：VIP用户无法支付 → 那又怎样？→ 影响收入\n│\n├─ 影响一个数据 → 那又怎样？还影响什么数据？\n│   └─ 示例：订单数据错误 → 那又怎样？→ 影响库存、财务\n│\n└─ 影响一个系统 → 那又怎样？还影响哪些系统？\n    └─ 示例：支付系统故障 → 那又怎样？→ 影响所有交易\n```\n\n## 应用场景\n\n**用户说\"帮我测试登录功能\"**\n→ 应用5W1H质疑法：如果用户名不存在？如果密码错误？如果网络中断？\n→ 应用逆向思维：正常登录→异常登录（空密码、超长密码、SQL注入）\n→ 应用\"那又怎样\"追问：登录失败→那又怎样？→无法访问任何功能\n\n**用户说\"密码长度至少8位\"**\n→ 应用规则质疑：如果刚好8位？超过100位？全是空格？包含emoji？\n→ 挖掘隐含假设：假设用户不会用特殊字符\n\n**用户说\"这个功能看起来很简单\"**\n→ 触发本技能进行深度质疑，挖掘\"简单\"背后的隐藏风险\n\n## 加载时机\n\n| 什么时候读 | 读哪个 |\n|-----------|--------|\n| 想不出新的质疑角度时，取练习集找切入点 | [`references/thinking-exercises.md`](references/thinking-exercises.md) |\n\n> `思维练习`的完整内容已下沉至 `references/thinking-exercises.md`，避免每次触发都占用上下文。\n\n## 常见陷阱\n\n### 陷阱1：确认偏误\n```text\n现象：只找支持自己判断的证据，忽略反例\n示例：认为\"登录功能很简单\"→只检查正常登录→遗漏异常场景\n破解：强制列出5个\"反例/异常情况\"再开始测试\n```\n\n### 陷阱2：锚定效应\n```text\n现象：被第一个信息锚定，忽略其他可能性\n示例：听到\"用户量1万\"→用例按1万设计→实际要考虑100万\n破解：先不看任何限制条件，设计理想用例；再把条件加回来过滤\n```\n\n### 陷阱3：可得性启发\n```text\n现象：只测最近出过问题的地方\n示例：上次上线是登录模块出Bug→这次死磕登录→忽略了新功能的核心风险\n破解：按风险评估矩阵排序，不要凭印象分配测试精力\n```\n\n### 陷阱4：乐观偏差\n```text\n现象：默认事事顺利，低估异常概率\n示例：\"用户一定会按要求操作\"→遗漏误操作场景\n破解：对每个正常路径追问\"如果在这里出错了呢？\"\n```\n\n### 陷阱5：框架效应\n```text\n现象：被问题表述方式限制了思考范围\n示例：\"验证删除功能\"→只测删除→忽略了恢复/回收站/级联删除\n破解：跳出当前模块问\"这个功能的上游是什么？下游是什么？\"\n```\n\n### 陷阱6：沉没成本\n```text\n现象：已经做了大量用例就停止质疑\n示例：写了50条查询用例→觉得\"够多了\"→遗漏了关键的并发查询场景\n破解：用例数量和质量无关，强制问\"还有没有极端场景没覆盖？\"\n```\n\n## 自检清单\n\n批判性思维应用后检查：\n- [ ] 是否对每个\"应该\"都问了\"如果不呢？\"\n- [ ] 是否对每个\"正常\"都问了\"异常呢？\"\n- [ ] 是否对每个\"确定\"都问了\"假设呢？\"\n- [ ] 是否挖掘了隐含假设？\n- [ ] 是否应用了\"那又怎样\"追问？\n- [ ] 是否覆盖了反向场景？\n\n\n## 检查清单\n\n- [ ] 隐含假设是否挑战？\n- [ ] 证据是否充分？\n- [ ] 逻辑是否自洽？\n- [ ] 替代解释是否考虑？\n- [ ] 结论是否可证伪？\n\nFile v1.8.0:_meta.json\n\n{\n  \"ownerId\": \"kn71y9b23csfx0ykgm55d5m9x5891zt8\",\n  \"slug\": \"qa-critical-thinking\",\n  \"version\": \"1.8.0\",\n  \"publishedAt\": 1790655975602\n}\n\nFile v1.8.0:references/thinking-exercises.md\n\n# 批判性思维练习集\n\n> 本文是 `qa-critical-thinking` 的**思维练习集**。拿不准还有什么可质疑时读本文找切入点；\n只需要质疑框架与问法时不必读。\n\n---\n\n\n### 练习1：功能质疑\n**功能**：用户登录\n\n```text\n正常思维：\n- 用户输入用户名密码\n- 系统验证\n- 登录成功\n\n批判性思维：\n- 如果用户名不存在会怎样？\n- 如果密码错误会怎样？\n- 如果用户输入<script>会怎样？\n- 如果用户同时在多设备登录会怎样？\n- 如果用户登录后长时间不操作会怎样？\n- 如果网络中断会怎样？\n- 如果数据库挂了会怎样？\n- 如果用户恶意暴力破解会怎样？\n```\n\n### 练习2：规则质疑\n**规则**：密码长度至少8位\n\n```text\n正常思维：\n- 验证密码长度是否≥8\n\n批判性思维：\n- 如果密码刚好8位会怎样？\n- 如果密码超过100位会怎样？\n- 如果密码全是空格会怎样？\n- 如果密码包含emoji会怎样？\n- 如果密码是常见密码（12345678）会怎样？\n- 如果密码包含用户名会怎样？\n- 如果密码包含生日会怎样？\n- 如果密码长期不更换会怎样？\n```\n\n### 练习3：数据质疑\n**数据**：用户输入手机号\n\n```text\n正常思维：\n- 验证手机号格式\n\n批判性思维：\n- 如果手机号为空会怎样？\n- 如果手机号不是11位会怎样？\n- 如果手机号包含特殊字符会怎样？\n- 如果手机号已注册其他账号会怎样？\n- 如果手机号是虚拟号码会怎样？\n- 如果手机号是国际号码会怎样？\n- 如果手机号被标记为骚扰电话会怎样？\n- 如果手机号运营商不支持会怎样？\n```\n\n### 练习4：时序与并发质疑\n**场景**：秒杀活动\"先到先得\"\n\n```text\n正常思维：\n- 用户点击抢购\n- 系统按到达顺序分配库存\n- 先到先得\n\n批判性思维：\n- 如果两个用户同一毫秒下单会怎样？\n- 如果库存只剩1件但有10人同时抢会怎样？\n- 如果用户网络快但服务器处理慢，顺序会乱吗？\n- 如果用户先下单成功但支付超时会怎样？库存回滚了吗？\n- 如果用户用脚本批量抢购会怎样？\n- 如果系统时钟不同步，\"先到\"还能判定吗？\n- 如果用户中途取消订单，库存是否立即释放？释放后谁先抢到？\n- 如果并发量超出数据库锁能力会怎样？超卖还是死锁？\n```\n\n### 练习5：状态流转质疑\n**场景**：订单已退款但仍可评价\n\n```text\n正常思维：\n- 订单完成 → 用户评价 → 评价展示\n\n批判性思维：\n- 如果订单已退款，评价入口是否应该关闭？\n- 如果退款在用户评价之后发生，已有评价是否保留？\n- 如果订单部分退款（退1件留1件），评价权如何处理？\n- 如果用户评价后又申请退款，评价展示状态如何？\n- 如果订单状态在\"已发货\"和\"已退款\"之间快速切换会怎样？\n- 如果退款走的是第三方支付通道，本地状态与第三方状态不一致以哪个为准？\n- 如果订单被系统自动取消（超时未支付），用户还能看到吗？能评价吗？\n- 如果订单状态机缺少\"部分退款\"这个中间态会怎样？\n```\n\n### 练习6：跨系统契约质疑\n**场景**：上游系统推送数据格式变更\n\n```text\n正常思维：\n- 上游推数据 → 我们消费 → 按字段处理\n\n批判性思维：\n- 如果上游今天新增一个字段我们没适配会怎样？\n- 如果上游删除一个我们依赖的字段会怎样？\n- 如果上游字段类型从 int 变成 string 会怎样？我们的反序列化会崩吗？\n- 如果上游推送频率从1次/分钟变成100次/分钟会怎样？限流了吗？\n- 如果上游推送了\"空值\"但语义是\"未传\"而非\"传了null\"，我们区分了吗？\n- 如果上游系统维护停推，我们的下游会感知到吗？会报错还是静默？\n- 如果上游推送了重复数据（同一条推两次），我们的幂等性保证了吗？\n- 如果数据契约没有版本号，上游悄悄改了字段含义我们怎么发现？\n```\n\nFile v1.8.0:skill-card.md\n\n## Description:\n\nHelps QA reviewers challenge hidden assumptions in requirements and test cases to uncover overlooked failure 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 testers and developers use this skill to review requirements and test cases, challenge implicit assumptions, and identify missing edge cases and risks.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Broad trigger phrases may invoke this skill outside a QA review.\n\nMitigation: Use it only for testing or requirement-review tasks.\n\nRisk: Requirements and test cases may contain sensitive customer, payment, identity, or production data.\n\nMitigation: Remove or mask sensitive data before sharing it with the agent.\n\nRisk: The optional install command fetches a larger, unpinned skill package.\n\nMitigation: Review the full package before running the optional install command.\n\n## Reference(s):\n\n- [Critical thinking exercises](references/thinking-exercises.md)\n- [ClawHub skill release](https://clawhub.ai/kokxi/skills/qa-critical-thinking)\n\n## Skill Output:\n\n**Output Type(s):** [Analysis, Guidance]\n\n**Output Format:** [Markdown text]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Identifies thinking gaps, challenged assumptions, alternative scenarios, and reassessed risks; link findings to requirement or scenario IDs when available.]\n\n## Skill Version(s):\n\n1.8.0 (source: skill frontmatter and ClawHub 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, 6731 bytes\n\nFiles: skill-card.md (1764b), SKILL.md (13038b), _meta.json (139b)\n\nFile v1.7.7:SKILL.md\n\n---\nname: qa-critical-thinking\nslug: qa-critical-thinking\ndisplayName: Critical Thinking\nversion: 1.7.7\ndescription: >-\n  当需要挑战已有假设、挖掘隐含约束、发现\"所有人都没想过\"的测试场景时使用此技能。测试中最常犯的错误是接受了需求文档里的隐含假设——比如\"用户一定会有网络\"、\"输入一定有内容\"、\"操作顺序一定正确\"。用「如果不呢」的深度质疑方式反向思考，暴露那些被默认为\"正常\"的异常场景。每一个测试场景都应该走一遍\"如果这个假设不成立呢\"的质疑流程。\n\nwhen_to_use: 用户说\"还有什么\"、\"如果...会怎样\"、\"逆向思考\"、\"你怎么看\"、\"这样够吗\"、\"质疑\"、\"挑战需求\"、\"有没有漏\"、需要怀疑和深度分析时\nallowed-tools: Read Grep Glob\nrelated_skills:\n  upstream: []  # 基础层技能\n  downstream:\n    - qa-req-deconstruction      # 影响：需求挖掘深度\n    - qa-scenario-tree           # 影响：场景覆盖全面性\n    - qa-boundary-deep-dive      # 影响：边界分析深度\n    - qa-requirement-review\ninput_format:\n  required:\n    - name: 需求描述\n      type: string\n      description: 功能需求的详细描述\n    - name: 测试用例\n      type: array\n      description: 待审阅的测试用例列表\n  optional:\n    - name: 业务背景\n      type: string\n      description: 业务目标和用户角色\noutput_format:\n  traceability:\n    - 本技能质疑思维，不产出唯一ID；发现的假设挑战关联到需求ID或场景ID\n  structure:\n    - 测试用例表格：固定 9 列（用例编号|测试类型|功能模块|测试标题|用例级别|预置条件|测试步骤|预期结果|风险等级）\n    - 用例级别：P0≤20%（核心流程）/ P1≤40%（主要功能）/ P2≤30%（次要功能）/ P3≤10%（边缘场景）\n    - 覆盖率：标注口径（基于现有需求/输入文档），禁止\"全覆盖/100%\"绝对化表述；缺失模块标注\"未覆盖+原因\"\n    - thinking_gaps: 思维盲区清单\n    - assumption_challenges: 假设挑战列表\n    - alternative_scenarios: 替代场景建议\n    - risk_reevaluation: 风险重评估\ncategories: ['Development','Testing']\ndepth_requirement_quantification:\n  reference_value: \"根据需求复杂度调整质疑深度：简单×3/中等×5/复杂×7\"\n  minimum: \"至少挑战3个隐含假设\"\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### 5W1H 质疑法\n\n```text\nWhat（是什么）：\n├─ 这个功能是什么？\n├─ 这个规则是什么？\n├─ 这个约束是什么？\n└─ 如果不是这样会怎样？\n\nWhy（为什么）：\n├─ 为什么要有这个功能？\n├─ 为什么要有这个规则？\n├─ 为什么是这样实现？\n└─ 如果没有这个为什么会怎样？\n\nWho（谁）：\n├─ 谁在用这个功能？\n├─ 谁负责这个模块？\n├─ 谁会影响这个功能？\n└─ 如果换一个人会怎样？\n\nWhen（什么时候）：\n├─ 什么时候用这个功能？\n├─ 什么时候触发这个规则？\n├─ 什么时候会出问题？\n└─ 如果换个时间会怎样？\n\nWhere（在哪里）：\n├─ 在哪里使用这个功能？\n├─ 在哪里存储这些数据？\n├─ 在哪里会出现问题？\n└─ 如果换个地方会怎样？\n\nHow（怎么做）：\n├─ 怎么实现这个功能？\n├─ 怎么触发这个规则？\n├─ 怎么处理异常情况？\n└─ 如果换个方式会怎样？\n```\n\n### 逆向思维\n\n```text\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│   ├─ 反例：用户误操作、恶意操作\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│   └─ 示例：登录失败 → 那又怎样？→ 无法访问任何功能\n│\n├─ 影响一个用户 → 那又怎样？还影响谁？\n│   └─ 示例：VIP用户无法支付 → 那又怎样？→ 影响收入\n│\n├─ 影响一个数据 → 那又怎样？还影响什么数据？\n│   └─ 示例：订单数据错误 → 那又怎样？→ 影响库存、财务\n│\n└─ 影响一个系统 → 那又怎样？还影响哪些系统？\n    └─ 示例：支付系统故障 → 那又怎样？→ 影响所有交易\n```\n\n## 应用场景\n\n**用户说\"帮我测试登录功能\"**\n→ 应用5W1H质疑法：如果用户名不存在？如果密码错误？如果网络中断？\n→ 应用逆向思维：正常登录→异常登录（空密码、超长密码、SQL注入）\n→ 应用\"那又怎样\"追问：登录失败→那又怎样？→无法访问任何功能\n\n**用户说\"密码长度至少8位\"**\n→ 应用规则质疑：如果刚好8位？超过100位？全是空格？包含emoji？\n→ 挖掘隐含假设：假设用户不会用特殊字符\n\n**用户说\"这个功能看起来很简单\"**\n→ 触发本技能进行深度质疑，挖掘\"简单\"背后的隐藏风险\n\n## 思维练习\n\n### 练习1：功能质疑\n**功能**：用户登录\n\n```text\n正常思维：\n- 用户输入用户名密码\n- 系统验证\n- 登录成功\n\n批判性思维：\n- 如果用户名不存在会怎样？\n- 如果密码错误会怎样？\n- 如果用户输入<script>会怎样？\n- 如果用户同时在多设备登录会怎样？\n- 如果用户登录后长时间不操作会怎样？\n- 如果网络中断会怎样？\n- 如果数据库挂了会怎样？\n- 如果用户恶意暴力破解会怎样？\n```\n\n### 练习2：规则质疑\n**规则**：密码长度至少8位\n\n```text\n正常思维：\n- 验证密码长度是否≥8\n\n批判性思维：\n- 如果密码刚好8位会怎样？\n- 如果密码超过100位会怎样？\n- 如果密码全是空格会怎样？\n- 如果密码包含emoji会怎样？\n- 如果密码是常见密码（12345678）会怎样？\n- 如果密码包含用户名会怎样？\n- 如果密码包含生日会怎样？\n- 如果密码长期不更换会怎样？\n```\n\n### 练习3：数据质疑\n**数据**：用户输入手机号\n\n```text\n正常思维：\n- 验证手机号格式\n\n批判性思维：\n- 如果手机号为空会怎样？\n- 如果手机号不是11位会怎样？\n- 如果手机号包含特殊字符会怎样？\n- 如果手机号已注册其他账号会怎样？\n- 如果手机号是虚拟号码会怎样？\n- 如果手机号是国际号码会怎样？\n- 如果手机号被标记为骚扰电话会怎样？\n- 如果手机号运营商不支持会怎样？\n```\n\n### 练习4：时序与并发质疑\n**场景**：秒杀活动\"先到先得\"\n\n```text\n正常思维：\n- 用户点击抢购\n- 系统按到达顺序分配库存\n- 先到先得\n\n批判性思维：\n- 如果两个用户同一毫秒下单会怎样？\n- 如果库存只剩1件但有10人同时抢会怎样？\n- 如果用户网络快但服务器处理慢，顺序会乱吗？\n- 如果用户先下单成功但支付超时会怎样？库存回滚了吗？\n- 如果用户用脚本批量抢购会怎样？\n- 如果系统时钟不同步，\"先到\"还能判定吗？\n- 如果用户中途取消订单，库存是否立即释放？释放后谁先抢到？\n- 如果并发量超出数据库锁能力会怎样？超卖还是死锁？\n```\n\n### 练习5：状态流转质疑\n**场景**：订单已退款但仍可评价\n\n```text\n正常思维：\n- 订单完成 → 用户评价 → 评价展示\n\n批判性思维：\n- 如果订单已退款，评价入口是否应该关闭？\n- 如果退款在用户评价之后发生，已有评价是否保留？\n- 如果订单部分退款（退1件留1件），评价权如何处理？\n- 如果用户评价后又申请退款，评价展示状态如何？\n- 如果订单状态在\"已发货\"和\"已退款\"之间快速切换会怎样？\n- 如果退款走的是第三方支付通道，本地状态与第三方状态不一致以哪个为准？\n- 如果订单被系统自动取消（超时未支付），用户还能看到吗？能评价吗？\n- 如果订单状态机缺少\"部分退款\"这个中间态会怎样？\n```\n\n### 练习6：跨系统契约质疑\n**场景**：上游系统推送数据格式变更\n\n```text\n正常思维：\n- 上游推数据 → 我们消费 → 按字段处理\n\n批判性思维：\n- 如果上游今天新增一个字段我们没适配会怎样？\n- 如果上游删除一个我们依赖的字段会怎样？\n- 如果上游字段类型从 int 变成 string 会怎样？我们的反序列化会崩吗？\n- 如果上游推送频率从1次/分钟变成100次/分钟会怎样？限流了吗？\n- 如果上游推送了\"空值\"但语义是\"未传\"而非\"传了null\"，我们区分了吗？\n- 如果上游系统维护停推，我们的下游会感知到吗？会报错还是静默？\n- 如果上游推送了重复数据（同一条推两次），我们的幂等性保证了吗？\n- 如果数据契约没有版本号，上游悄悄改了字段含义我们怎么发现？\n```\n\n## 常见陷阱\n\n### 陷阱1：确认偏误\n```text\n现象：只找支持自己判断的证据，忽略反例\n示例：认为\"登录功能很简单\"→只检查正常登录→遗漏异常场景\n破解：强制列出5个\"反例/异常情况\"再开始测试\n```\n\n### 陷阱2：锚定效应\n```text\n现象：被第一个信息锚定，忽略其他可能性\n示例：听到\"用户量1万\"→用例按1万设计→实际要考虑100万\n破解：先不看任何限制条件，设计理想用例；再把条件加回来过滤\n```\n\n### 陷阱3：可得性启发\n```text\n现象：只测最近出过问题的地方\n示例：上次上线是登录模块出Bug→这次死磕登录→忽略了新功能的核心风险\n破解：按风险评估矩阵排序，不要凭印象分配测试精力\n```\n\n### 陷阱4：乐观偏差\n```text\n现象：默认事事顺利，低估异常概率\n示例：\"用户一定会按要求操作\"→遗漏误操作场景\n破解：对每个正常路径追问\"如果在这里出错了呢？\"\n```\n\n### 陷阱5：框架效应\n```text\n现象：被问题表述方式限制了思考范围\n示例：\"验证删除功能\"→只测删除→忽略了恢复/回收站/级联删除\n破解：跳出当前模块问\"这个功能的上游是什么？下游是什么？\"\n```\n\n### 陷阱6：沉没成本\n```text\n现象：已经做了大量用例就停止质疑\n示例：写了50条查询用例→觉得\"够多了\"→遗漏了关键的并发查询场景\n破解：用例数量和质量无关，强制问\"还有没有极端场景没覆盖？\"\n```\n\n## 自检清单\n\n批判性思维应用后检查：\n- [ ] 是否对每个\"应该\"都问了\"如果不呢？\"\n- [ ] 是否对每个\"正常\"都问了\"异常呢？\"\n- [ ] 是否对每个\"确定\"都问了\"假设呢？\"\n- [ ] 是否挖掘了隐含假设？\n- [ ] 是否应用了\"那又怎样\"追问？\n- [ ] 是否覆盖了反向场景？\n\n\n## 检查清单\n\n- [ ] 隐含假设是否挑战？\n- [ ] 证据是否充分？\n- [ ] 逻辑是否自洽？\n- [ ] 替代解释是否考虑？\n- [ ] 结论是否可证伪？\n\nFile v1.7.7:_meta.json\n\n{\n  \"ownerId\": \"kn71y9b23csfx0ykgm55d5m9x5891zt8\",\n  \"slug\": \"qa-critical-thinking\",\n  \"version\": \"1.7.7\",\n  \"publishedAt\": 1790519657910\n}\n\nFile v1.7.7:skill-card.md\n\n## Description:\n\nChallenges assumptions in requirements and test cases to identify overlooked failure scenarios and reassess testing risks.\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 to question hidden assumptions in requirements and existing test cases, identify missing edge cases, and prioritize follow-up testing.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Requirements and test cases may contain customer, payment, identity, or production data.\n\nMitigation: Redact or mask sensitive details before providing them to the skill.\n\nRisk: Broad question-like trigger phrases may activate the skill when a QA review was not intended.\n\nMitigation: Confirm the user wants a requirements or test-case review before applying its framework.\n\n## Reference(s):\n\n- [qa-critical-thinking on ClawHub](https://clawhub.ai/kokxi/skills/qa-critical-thinking)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Guidance]\n\n**Output Format:** [Markdown test-case table and lists of assumption challenges, thinking gaps, alternative scenarios, and risk reassessments]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Test cases use a nine-column table; coverage claims are scoped to the supplied requirements.]\n\n## Skill Version(s):\n\n1.7.7 (source: release metadata and skill 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.7.6: 3 files, 6961 bytes\n\nFiles: skill-card.md (1774b), SKILL.md (13698b), _meta.json (139b)\n\nFile v1.7.6:SKILL.md\n\n---\r\nname: qa-critical-thinking\r\nslug: qa-critical-thinking\r\ndisplayName: 测试批判性思维\r\nversion: 1.7.5\r\ndescription: >-\r\n  当需要挑战已有假设、挖掘隐含约束、发现\"所有人都没想过\"的测试场景时使用此技能。测试中最常犯的错误是接受了需求文档里的隐含假设——比如\"用户一定会有网络\"、\"输入一定有内容\"、\"操作顺序一定正确\"。用「如果不呢」的深度质疑方式反向思考，暴露那些被默认为\"正常\"的异常场景。每一个测试场景都应该走一遍\"如果这个假设不成立呢\"的质疑流程。\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  downstream:\r\n    - qa-req-deconstruction      # 影响：需求挖掘深度\r\n    - qa-scenario-tree           # 影响：场景覆盖全面性\r\n    - qa-boundary-deep-dive      # 影响：边界分析深度\r\n    - qa-requirement-review\r\ninput_format:\r\n  required:\r\n    - name: 需求描述\r\n      type: string\r\n      description: 功能需求的详细描述\r\n    - name: 测试用例\r\n      type: array\r\n      description: 待审阅的测试用例列表\r\n  optional:\r\n    - name: 业务背景\r\n      type: string\r\n      description: 业务目标和用户角色\r\noutput_format:\r\n  traceability:\r\n    - 本技能质疑思维，不产出唯一ID；发现的假设挑战关联到需求ID或场景ID\r\n  structure:\r\n    - 测试用例表格：固定 9 列（用例编号|测试类型|功能模块|测试标题|用例级别|预置条件|测试步骤|预期结果|风险等级）\r\n    - 用例级别：P0≤20%（核心流程）/ P1≤40%（主要功能）/ P2≤30%（次要功能）/ P3≤10%（边缘场景）\r\n    - 覆盖率：标注口径（基于现有需求/输入文档），禁止\"全覆盖/100%\"绝对化表述；缺失模块标注\"未覆盖+原因\"\r\n    - thinking_gaps: 思维盲区清单\r\n    - assumption_challenges: 假设挑战列表\r\n    - alternative_scenarios: 替代场景建议\r\n    - risk_reevaluation: 风险重评估\r\ncategories: ['Development','Testing']\r\ndepth_requirement_quantification:\r\n  reference_value: \"根据需求复杂度调整质疑深度：简单×3/中等×5/复杂×7\"\r\n  minimum: \"至少挑战3个隐含假设\"\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### 5W1H 质疑法\r\n\r\n```text\r\nWhat（是什么）：\r\n├─ 这个功能是什么？\r\n├─ 这个规则是什么？\r\n├─ 这个约束是什么？\r\n└─ 如果不是这样会怎样？\r\n\r\nWhy（为什么）：\r\n├─ 为什么要有这个功能？\r\n├─ 为什么要有这个规则？\r\n├─ 为什么是这样实现？\r\n└─ 如果没有这个为什么会怎样？\r\n\r\nWho（谁）：\r\n├─ 谁在用这个功能？\r\n├─ 谁负责这个模块？\r\n├─ 谁会影响这个功能？\r\n└─ 如果换一个人会怎样？\r\n\r\nWhen（什么时候）：\r\n├─ 什么时候用这个功能？\r\n├─ 什么时候触发这个规则？\r\n├─ 什么时候会出问题？\r\n└─ 如果换个时间会怎样？\r\n\r\nWhere（在哪里）：\r\n├─ 在哪里使用这个功能？\r\n├─ 在哪里存储这些数据？\r\n├─ 在哪里会出现问题？\r\n└─ 如果换个地方会怎样？\r\n\r\nHow（怎么做）：\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├─ 正常数据 → 异常数据（空、脏、大量）\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│   ├─ 反例：用户误操作、恶意操作\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│   └─ 示例：登录失败 → 那又怎样？→ 无法访问任何功能\r\n│\r\n├─ 影响一个用户 → 那又怎样？还影响谁？\r\n│   └─ 示例：VIP用户无法支付 → 那又怎样？→ 影响收入\r\n│\r\n├─ 影响一个数据 → 那又怎样？还影响什么数据？\r\n│   └─ 示例：订单数据错误 → 那又怎样？→ 影响库存、财务\r\n│\r\n└─ 影响一个系统 → 那又怎样？还影响哪些系统？\r\n    └─ 示例：支付系统故障 → 那又怎样？→ 影响所有交易\r\n```\r\n\r\n## 应用场景\r\n\r\n**用户说\"帮我测试登录功能\"**\r\n→ 应用5W1H质疑法：如果用户名不存在？如果密码错误？如果网络中断？\r\n→ 应用逆向思维：正常登录→异常登录（空密码、超长密码、SQL注入）\r\n→ 应用\"那又怎样\"追问：登录失败→那又怎样？→无法访问任何功能\r\n\r\n**用户说\"密码长度至少8位\"**\r\n→ 应用规则质疑：如果刚好8位？超过100位？全是空格？包含emoji？\r\n→ 挖掘隐含假设：假设用户不会用特殊字符\r\n\r\n**用户说\"这个功能看起来很简单\"**\r\n→ 触发本技能进行深度质疑，挖掘\"简单\"背后的隐藏风险\r\n\r\n## 思维练习\r\n\r\n### 练习1：功能质疑\r\n**功能**：用户登录\r\n\r\n```text\r\n正常思维：\r\n- 用户输入用户名密码\r\n- 系统验证\r\n- 登录成功\r\n\r\n批判性思维：\r\n- 如果用户名不存在会怎样？\r\n- 如果密码错误会怎样？\r\n- 如果用户输入<script>会怎样？\r\n- 如果用户同时在多设备登录会怎样？\r\n- 如果用户登录后长时间不操作会怎样？\r\n- 如果网络中断会怎样？\r\n- 如果数据库挂了会怎样？\r\n- 如果用户恶意暴力破解会怎样？\r\n```\r\n\r\n### 练习2：规则质疑\r\n**规则**：密码长度至少8位\r\n\r\n```text\r\n正常思维：\r\n- 验证密码长度是否≥8\r\n\r\n批判性思维：\r\n- 如果密码刚好8位会怎样？\r\n- 如果密码超过100位会怎样？\r\n- 如果密码全是空格会怎样？\r\n- 如果密码包含emoji会怎样？\r\n- 如果密码是常见密码（12345678）会怎样？\r\n- 如果密码包含用户名会怎样？\r\n- 如果密码包含生日会怎样？\r\n- 如果密码长期不更换会怎样？\r\n```\r\n\r\n### 练习3：数据质疑\r\n**数据**：用户输入手机号\r\n\r\n```text\r\n正常思维：\r\n- 验证手机号格式\r\n\r\n批判性思维：\r\n- 如果手机号为空会怎样？\r\n- 如果手机号不是11位会怎样？\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```text\r\n正常思维：\r\n- 用户点击抢购\r\n- 系统按到达顺序分配库存\r\n- 先到先得\r\n\r\n批判性思维：\r\n- 如果两个用户同一毫秒下单会怎样？\r\n- 如果库存只剩1件但有10人同时抢会怎样？\r\n- 如果用户网络快但服务器处理慢，顺序会乱吗？\r\n- 如果用户先下单成功但支付超时会怎样？库存回滚了吗？\r\n- 如果用户用脚本批量抢购会怎样？\r\n- 如果系统时钟不同步，\"先到\"还能判定吗？\r\n- 如果用户中途取消订单，库存是否立即释放？释放后谁先抢到？\r\n- 如果并发量超出数据库锁能力会怎样？超卖还是死锁？\r\n```\r\n\r\n### 练习5：状态流转质疑\r\n**场景**：订单已退款但仍可评价\r\n\r\n```text\r\n正常思维：\r\n- 订单完成 → 用户评价 → 评价展示\r\n\r\n批判性思维：\r\n- 如果订单已退款，评价入口是否应该关闭？\r\n- 如果退款在用户评价之后发生，已有评价是否保留？\r\n- 如果订单部分退款（退1件留1件），评价权如何处理？\r\n- 如果用户评价后又申请退款，评价展示状态如何？\r\n- 如果订单状态在\"已发货\"和\"已退款\"之间快速切换会怎样？\r\n- 如果退款走的是第三方支付通道，本地状态与第三方状态不一致以哪个为准？\r\n- 如果订单被系统自动取消（超时未支付），用户还能看到吗？能评价吗？\r\n- 如果订单状态机缺少\"部分退款\"这个中间态会怎样？\r\n```\r\n\r\n### 练习6：跨系统契约质疑\r\n**场景**：上游系统推送数据格式变更\r\n\r\n```text\r\n正常思维：\r\n- 上游推数据 → 我们消费 → 按字段处理\r\n\r\n批判性思维：\r\n- 如果上游今天新增一个字段我们没适配会怎样？\r\n- 如果上游删除一个我们依赖的字段会怎样？\r\n- 如果上游字段类型从 int 变成 string 会怎样？我们的反序列化会崩吗？\r\n- 如果上游推送频率从1次/分钟变成100次/分钟会怎样？限流了吗？\r\n- 如果上游推送了\"空值\"但语义是\"未传\"而非\"传了null\"，我们区分了吗？\r\n- 如果上游系统维护停推，我们的下游会感知到吗？会报错还是静默？\r\n- 如果上游推送了重复数据（同一条推两次），我们的幂等性保证了吗？\r\n- 如果数据契约没有版本号，上游悄悄改了字段含义我们怎么发现？\r\n```\r\n\r\n## 常见陷阱\r\n\r\n### 陷阱1：确认偏误\r\n```text\r\n现象：只找支持自己判断的证据，忽略反例\r\n示例：认为\"登录功能很简单\"→只检查正常登录→遗漏异常场景\r\n破解：强制列出5个\"反例/异常情况\"再开始测试\r\n```\r\n\r\n### 陷阱2：锚定效应\r\n```text\r\n现象：被第一个信息锚定，忽略其他可能性\r\n示例：听到\"用户量1万\"→用例按1万设计→实际要考虑100万\r\n破解：先不看任何限制条件，设计理想用例；再把条件加回来过滤\r\n```\r\n\r\n### 陷阱3：可得性启发\r\n```text\r\n现象：只测最近出过问题的地方\r\n示例：上次上线是登录模块出Bug→这次死磕登录→忽略了新功能的核心风险\r\n破解：按风险评估矩阵排序，不要凭印象分配测试精力\r\n```\r\n\r\n### 陷阱4：乐观偏差\r\n```text\r\n现象：默认事事顺利，低估异常概率\r\n示例：\"用户一定会按要求操作\"→遗漏误操作场景\r\n破解：对每个正常路径追问\"如果在这里出错了呢？\"\r\n```\r\n\r\n### 陷阱5：框架效应\r\n```text\r\n现象：被问题表述方式限制了思考范围\r\n示例：\"验证删除功能\"→只测删除→忽略了恢复/回收站/级联删除\r\n破解：跳出当前模块问\"这个功能的上游是什么？下游是什么？\"\r\n```\r\n\r\n### 陷阱6：沉没成本\r\n```text\r\n现象：已经做了大量用例就停止质疑\r\n示例：写了50条查询用例→觉得\"够多了\"→遗漏了关键的并发查询场景\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- [ ] 结论是否可证伪？\n\nFile v1.7.6:_meta.json\n\n{\n  \"ownerId\": \"kn71y9b23csfx0ykgm55d5m9x5891zt8\",\n  \"slug\": \"qa-critical-thinking\",\n  \"version\": \"1.7.6\",\n  \"publishedAt\": 1788266326390\n}\n\nFile v1.7.6:skill-card.md\n\n## Description:\n\nGuides QA reviewers to challenge assumptions, uncover hidden constraints, and identify overlooked test scenarios through reverse-thinking prompts.\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 developers use this skill to review requirements and test cases by questioning normal-path assumptions, exploring edge cases, and reassessing risk.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill recommends an unpinned npx install command for a broader external QA skill set.\n\nMitigation: Review the broader skill set before installing it and prefer a pinned commit or verified release.\n\nRisk: Example QA scenarios may involve sensitive production data such as order numbers, payment amounts, screenshots, government IDs, phone numbers, customer information, or financial records.\n\nMitigation: Use only masked or synthetic data when applying the skill to real testing work.\n\n## Reference(s):\n\n\n## Skill Output:\n\n**Output Type(s):** [guidance, markdown, text]\n\n**Output Format:** [Markdown and structured QA analysis text]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include test-case tables, assumption challenges, alternative scenarios, thinking gaps, and risk reevaluation notes.]\n\n## Skill Version(s):\n\n1.7.6 (source: server release metadata; artifact frontmatter lists 1.7.5)\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, 6885 bytes\n\nFiles: skill-card.md (2105b), SKILL.md (13038b), _meta.json (139b)\n\nFile v1.7.5:SKILL.md\n\n---\nname: qa-critical-thinking\nslug: qa-critical-thinking\ndisplayName: Critical Thinking\nversion: 1.7.5\ndescription: >-\n  当需要挑战已有假设、挖掘隐含约束、发现\"所有人都没想过\"的测试场景时使用此技能。测试中最常犯的错误是接受了需求文档里的隐含假设——比如\"用户一定会有网络\"、\"输入一定有内容\"、\"操作顺序一定正确\"。用「如果不呢」的深度质疑方式反向思考，暴露那些被默认为\"正常\"的异常场景。每一个测试场景都应该走一遍\"如果这个假设不成立呢\"的质疑流程。\n\nwhen_to_use: 用户说\"还有什么\"、\"如果...会怎样\"、\"逆向思考\"、\"你怎么看\"、\"这样够吗\"、\"质疑\"、\"挑战需求\"、\"有没有漏\"、需要怀疑和深度分析时\nallowed-tools: Read Grep Glob\nrelated_skills:\n  upstream: []  # 基础层技能\n  downstream:\n    - qa-req-deconstruction      # 影响：需求挖掘深度\n    - qa-scenario-tree           # 影响：场景覆盖全面性\n    - qa-boundary-deep-dive      # 影响：边界分析深度\n    - qa-requirement-review\ninput_format:\n  required:\n    - name: 需求描述\n      type: string\n      description: 功能需求的详细描述\n    - name: 测试用例\n      type: array\n      description: 待审阅的测试用例列表\n  optional:\n    - name: 业务背景\n      type: string\n      description: 业务目标和用户角色\noutput_format:\n  traceability:\n    - 本技能质疑思维，不产出唯一ID；发现的假设挑战关联到需求ID或场景ID\n  structure:\n    - 测试用例表格：固定 9 列（用例编号|测试类型|功能模块|测试标题|用例级别|预置条件|测试步骤|预期结果|风险等级）\n    - 用例级别：P0≤20%（核心流程）/ P1≤40%（主要功能）/ P2≤30%（次要功能）/ P3≤10%（边缘场景）\n    - 覆盖率：标注口径（基于现有需求/输入文档），禁止\"全覆盖/100%\"绝对化表述；缺失模块标注\"未覆盖+原因\"\n    - thinking_gaps: 思维盲区清单\n    - assumption_challenges: 假设挑战列表\n    - alternative_scenarios: 替代场景建议\n    - risk_reevaluation: 风险重评估\ncategories: ['Development','Testing']\ndepth_requirement_quantification:\n  reference_value: \"根据需求复杂度调整质疑深度：简单×3/中等×5/复杂×7\"\n  minimum: \"至少挑战3个隐含假设\"\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### 5W1H 质疑法\n\n```text\nWhat（是什么）：\n├─ 这个功能是什么？\n├─ 这个规则是什么？\n├─ 这个约束是什么？\n└─ 如果不是这样会怎样？\n\nWhy（为什么）：\n├─ 为什么要有这个功能？\n├─ 为什么要有这个规则？\n├─ 为什么是这样实现？\n└─ 如果没有这个为什么会怎样？\n\nWho（谁）：\n├─ 谁在用这个功能？\n├─ 谁负责这个模块？\n├─ 谁会影响这个功能？\n└─ 如果换一个人会怎样？\n\nWhen（什么时候）：\n├─ 什么时候用这个功能？\n├─ 什么时候触发这个规则？\n├─ 什么时候会出问题？\n└─ 如果换个时间会怎样？\n\nWhere（在哪里）：\n├─ 在哪里使用这个功能？\n├─ 在哪里存储这些数据？\n├─ 在哪里会出现问题？\n└─ 如果换个地方会怎样？\n\nHow（怎么做）：\n├─ 怎么实现这个功能？\n├─ 怎么触发这个规则？\n├─ 怎么处理异常情况？\n└─ 如果换个方式会怎样？\n```\n\n### 逆向思维\n\n```text\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│   ├─ 反例：用户误操作、恶意操作\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│   └─ 示例：登录失败 → 那又怎样？→ 无法访问任何功能\n│\n├─ 影响一个用户 → 那又怎样？还影响谁？\n│   └─ 示例：VIP用户无法支付 → 那又怎样？→ 影响收入\n│\n├─ 影响一个数据 → 那又怎样？还影响什么数据？\n│   └─ 示例：订单数据错误 → 那又怎样？→ 影响库存、财务\n│\n└─ 影响一个系统 → 那又怎样？还影响哪些系统？\n    └─ 示例：支付系统故障 → 那又怎样？→ 影响所有交易\n```\n\n## 应用场景\n\n**用户说\"帮我测试登录功能\"**\n→ 应用5W1H质疑法：如果用户名不存在？如果密码错误？如果网络中断？\n→ 应用逆向思维：正常登录→异常登录（空密码、超长密码、SQL注入）\n→ 应用\"那又怎样\"追问：登录失败→那又怎样？→无法访问任何功能\n\n**用户说\"密码长度至少8位\"**\n→ 应用规则质疑：如果刚好8位？超过100位？全是空格？包含emoji？\n→ 挖掘隐含假设：假设用户不会用特殊字符\n\n**用户说\"这个功能看起来很简单\"**\n→ 触发本技能进行深度质疑，挖掘\"简单\"背后的隐藏风险\n\n## 思维练习\n\n### 练习1：功能质疑\n**功能**：用户登录\n\n```text\n正常思维：\n- 用户输入用户名密码\n- 系统验证\n- 登录成功\n\n批判性思维：\n- 如果用户名不存在会怎样？\n- 如果密码错误会怎样？\n- 如果用户输入<script>会怎样？\n- 如果用户同时在多设备登录会怎样？\n- 如果用户登录后长时间不操作会怎样？\n- 如果网络中断会怎样？\n- 如果数据库挂了会怎样？\n- 如果用户恶意暴力破解会怎样？\n```\n\n### 练习2：规则质疑\n**规则**：密码长度至少8位\n\n```text\n正常思维：\n- 验证密码长度是否≥8\n\n批判性思维：\n- 如果密码刚好8位会怎样？\n- 如果密码超过100位会怎样？\n- 如果密码全是空格会怎样？\n- 如果密码包含emoji会怎样？\n- 如果密码是常见密码（12345678）会怎样？\n- 如果密码包含用户名会怎样？\n- 如果密码包含生日会怎样？\n- 如果密码长期不更换会怎样？\n```\n\n### 练习3：数据质疑\n**数据**：用户输入手机号\n\n```text\n正常思维：\n- 验证手机号格式\n\n批判性思维：\n- 如果手机号为空会怎样？\n- 如果手机号不是11位会怎样？\n- 如果手机号包含特殊字符会怎样？\n- 如果手机号已注册其他账号会怎样？\n- 如果手机号是虚拟号码会怎样？\n- 如果手机号是国际号码会怎样？\n- 如果手机号被标记为骚扰电话会怎样？\n- 如果手机号运营商不支持会怎样？\n```\n\n### 练习4：时序与并发质疑\n**场景**：秒杀活动\"先到先得\"\n\n```text\n正常思维：\n- 用户点击抢购\n- 系统按到达顺序分配库存\n- 先到先得\n\n批判性思维：\n- 如果两个用户同一毫秒下单会怎样？\n- 如果库存只剩1件但有10人同时抢会怎样？\n- 如果用户网络快但服务器处理慢，顺序会乱吗？\n- 如果用户先下单成功但支付超时会怎样？库存回滚了吗？\n- 如果用户用脚本批量抢购会怎样？\n- 如果系统时钟不同步，\"先到\"还能判定吗？\n- 如果用户中途取消订单，库存是否立即释放？释放后谁先抢到？\n- 如果并发量超出数据库锁能力会怎样？超卖还是死锁？\n```\n\n### 练习5：状态流转质疑\n**场景**：订单已退款但仍可评价\n\n```text\n正常思维：\n- 订单完成 → 用户评价 → 评价展示\n\n批判性思维：\n- 如果订单已退款，评价入口是否应该关闭？\n- 如果退款在用户评价之后发生，已有评价是否保留？\n- 如果订单部分退款（退1件留1件），评价权如何处理？\n- 如果用户评价后又申请退款，评价展示状态如何？\n- 如果订单状态在\"已发货\"和\"已退款\"之间快速切换会怎样？\n- 如果退款走的是第三方支付通道，本地状态与第三方状态不一致以哪个为准？\n- 如果订单被系统自动取消（超时未支付），用户还能看到吗？能评价吗？\n- 如果订单状态机缺少\"部分退款\"这个中间态会怎样？\n```\n\n### 练习6：跨系统契约质疑\n**场景**：上游系统推送数据格式变更\n\n```text\n正常思维：\n- 上游推数据 → 我们消费 → 按字段处理\n\n批判性思维：\n- 如果上游今天新增一个字段我们没适配会怎样？\n- 如果上游删除一个我们依赖的字段会怎样？\n- 如果上游字段类型从 int 变成 string 会怎样？我们的反序列化会崩吗？\n- 如果上游推送频率从1次/分钟变成100次/分钟会怎样？限流了吗？\n- 如果上游推送了\"空值\"但语义是\"未传\"而非\"传了null\"，我们区分了吗？\n- 如果上游系统维护停推，我们的下游会感知到吗？会报错还是静默？\n- 如果上游推送了重复数据（同一条推两次），我们的幂等性保证了吗？\n- 如果数据契约没有版本号，上游悄悄改了字段含义我们怎么发现？\n```\n\n## 常见陷阱\n\n### 陷阱1：确认偏误\n```text\n现象：只找支持自己判断的证据，忽略反例\n示例：认为\"登录功能很简单\"→只检查正常登录→遗漏异常场景\n破解：强制列出5个\"反例/异常情况\"再开始测试\n```\n\n### 陷阱2：锚定效应\n```text\n现象：被第一个信息锚定，忽略其他可能性\n示例：听到\"用户量1万\"→用例按1万设计→实际要考虑100万\n破解：先不看任何限制条件，设计理想用例；再把条件加回来过滤\n```\n\n### 陷阱3：可得性启发\n```text\n现象：只测最近出过问题的地方\n示例：上次上线是登录模块出Bug→这次死磕登录→忽略了新功能的核心风险\n破解：按风险评估矩阵排序，不要凭印象分配测试精力\n```\n\n### 陷阱4：乐观偏差\n```text\n现象：默认事事顺利，低估异常概率\n示例：\"用户一定会按要求操作\"→遗漏误操作场景\n破解：对每个正常路径追问\"如果在这里出错了呢？\"\n```\n\n### 陷阱5：框架效应\n```text\n现象：被问题表述方式限制了思考范围\n示例：\"验证删除功能\"→只测删除→忽略了恢复/回收站/级联删除\n破解：跳出当前模块问\"这个功能的上游是什么？下游是什么？\"\n```\n\n### 陷阱6：沉没成本\n```text\n现象：已经做了大量用例就停止质疑\n示例：写了50条查询用例→觉得\"够多了\"→遗漏了关键的并发查询场景\n破解：用例数量和质量无关，强制问\"还有没有极端场景没覆盖？\"\n```\n\n## 自检清单\n\n批判性思维应用后检查：\n- [ ] 是否对每个\"应该\"都问了\"如果不呢？\"\n- [ ] 是否对每个\"正常\"都问了\"异常呢？\"\n- [ ] 是否对每个\"确定\"都问了\"假设呢？\"\n- [ ] 是否挖掘了隐含假设？\n- [ ] 是否应用了\"那又怎样\"追问？\n- [ ] 是否覆盖了反向场景？\n\n\n## 检查清单\n\n- [ ] 隐含假设是否挑战？\n- [ ] 证据是否充分？\n- [ ] 逻辑是否自洽？\n- [ ] 替代解释是否考虑？\n- [ ] 结论是否可证伪？\n\nFile v1.7.5:_meta.json\n\n{\n  \"ownerId\": \"kn71y9b23csfx0ykgm55d5m9x5891zt8\",\n  \"slug\": \"qa-critical-thinking\",\n  \"version\": \"1.7.5\",\n  \"publishedAt\": 1788102784475\n}\n\nFile v1.7.5:skill-card.md\n\n## Description:\n\nHelps QA practitioners challenge assumptions in requirements and test cases, uncover hidden constraints, and identify overlooked negative, boundary, sequence, dependency, and risk 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 engineers, developers, and reviewers use this skill to stress-test requirements and existing test cases by asking structured critical-thinking questions. It is intended for test review, scenario gap analysis, assumption challenges, and risk re-evaluation.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Generic prompts about whether something is sufficient or what the agent thinks may activate the QA-review workflow unexpectedly.\n\nMitigation: Use the skill with requirement or test-review materials and clarify intent when general discussion should not trigger QA critique.\n\nRisk: Requirement documents and test evidence may contain customer, payment, identity, or production data.\n\nMitigation: Mask or remove sensitive data before providing materials to the agent.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/kokxi/skills/qa-critical-thinking)\n- [Publisher profile](https://clawhub.ai/user/kokxi)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, guidance]\n\n**Output Format:** [Markdown or structured text with QA review findings, assumption challenges, alternative scenarios, risk re-evaluation, and test case tables when requested.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [The skill may produce a fixed nine-column test case table and coverage notes that avoid absolute full-coverage claims.]\n\n## Skill Version(s):\n\n1.7.5 (source: frontmatter and 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.6.3: 3 files, 6601 bytes\n\nFiles: skill-card.md (1933b), SKILL.md (12597b), _meta.json (139b)\n\nFile v1.6.3:SKILL.md\n\n---\nname: qa-critical-thinking\nslug: qa-critical-thinking\ndisplayName: Critical Thinking\nversion: 1.6.3\ndescription: >-\n  当需要挑战已有假设、挖掘隐含约束、发现\"所有人都没想过\"的测试场景时使用此技能。测试中最常犯的错误是接受了需求文档里的隐含假设——比如\"用户一定会有网络\"、\"输入一定有内容\"、\"操作顺序一定正确\"。用「如果不呢」的深度质疑方式反向思考，暴露那些被默认为\"正常\"的异常场景。每一个测试场景都应该走一遍\"如果这个假设不成立呢\"的质疑流程。\n\nwhen_to_use: 用户说\"还有什么\"、\"如果...会怎样\"、\"逆向思考\"、\"你怎么看\"、\"这样够吗\"、\"质疑\"、\"挑战需求\"、\"有没有漏\"、需要怀疑和深度分析时\nallowed-tools: Read Grep Glob\nrelated_skills:\n  upstream: []  # 基础层技能\n  downstream:\n    - qa-req-deconstruction      # 影响：需求挖掘深度\n    - qa-scenario-tree           # 影响：场景覆盖全面性\n    - qa-boundary-deep-dive      # 影响：边界分析深度\n    - qa-requirement-review\ninput_format:\n  required:\n    - name: 需求描述\n      type: string\n      description: 功能需求的详细描述\n    - name: 测试用例\n      type: array\n      description: 待审阅的测试用例列表\n  optional:\n    - name: 业务背景\n      type: string\n      description: 业务目标和用户角色\noutput_format:\n  traceability:\n    - 本技能质疑思维，不产出唯一ID；发现的假设挑战关联到需求ID或场景ID\n  structure:\n    - thinking_gaps: 思维盲区清单\n    - assumption_challenges: 假设挑战列表\n    - alternative_scenarios: 替代场景建议\n    - risk_reevaluation: 风险重评估\ncategories: ['Development','Testing']\ndepth_requirement_quantification:\n  reference_value: \"根据需求复杂度调整质疑深度：简单×3/中等×5/复杂×7\"\n  minimum: \"至少挑战3个隐含假设\"\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### 5W1H 质疑法\n\n```text\nWhat（是什么）：\n├─ 这个功能是什么？\n├─ 这个规则是什么？\n├─ 这个约束是什么？\n└─ 如果不是这样会怎样？\n\nWhy（为什么）：\n├─ 为什么要有这个功能？\n├─ 为什么要有这个规则？\n├─ 为什么是这样实现？\n└─ 如果没有这个为什么会怎样？\n\nWho（谁）：\n├─ 谁在用这个功能？\n├─ 谁负责这个模块？\n├─ 谁会影响这个功能？\n└─ 如果换一个人会怎样？\n\nWhen（什么时候）：\n├─ 什么时候用这个功能？\n├─ 什么时候触发这个规则？\n├─ 什么时候会出问题？\n└─ 如果换个时间会怎样？\n\nWhere（在哪里）：\n├─ 在哪里使用这个功能？\n├─ 在哪里存储这些数据？\n├─ 在哪里会出现问题？\n└─ 如果换个地方会怎样？\n\nHow（怎么做）：\n├─ 怎么实现这个功能？\n├─ 怎么触发这个规则？\n├─ 怎么处理异常情况？\n└─ 如果换个方式会怎样？\n```\n\n### 逆向思维\n\n```text\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│   ├─ 反例：用户误操作、恶意操作\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│   └─ 示例：登录失败 → 那又怎样？→ 无法访问任何功能\n│\n├─ 影响一个用户 → 那又怎样？还影响谁？\n│   └─ 示例：VIP用户无法支付 → 那又怎样？→ 影响收入\n│\n├─ 影响一个数据 → 那又怎样？还影响什么数据？\n│   └─ 示例：订单数据错误 → 那又怎样？→ 影响库存、财务\n│\n└─ 影响一个系统 → 那又怎样？还影响哪些系统？\n    └─ 示例：支付系统故障 → 那又怎样？→ 影响所有交易\n```\n\n## 应用场景\n\n**用户说\"帮我测试登录功能\"**\n→ 应用5W1H质疑法：如果用户名不存在？如果密码错误？如果网络中断？\n→ 应用逆向思维：正常登录→异常登录（空密码、超长密码、SQL注入）\n→ 应用\"那又怎样\"追问：登录失败→那又怎样？→无法访问任何功能\n\n**用户说\"密码长度至少8位\"**\n→ 应用规则质疑：如果刚好8位？超过100位？全是空格？包含emoji？\n→ 挖掘隐含假设：假设用户不会用特殊字符\n\n**用户说\"这个功能看起来很简单\"**\n→ 触发本技能进行深度质疑，挖掘\"简单\"背后的隐藏风险\n\n## 思维练习\n\n### 练习1：功能质疑\n**功能**：用户登录\n\n```text\n正常思维：\n- 用户输入用户名密码\n- 系统验证\n- 登录成功\n\n批判性思维：\n- 如果用户名不存在会怎样？\n- 如果密码错误会怎样？\n- 如果用户输入<script>会怎样？\n- 如果用户同时在多设备登录会怎样？\n- 如果用户登录后长时间不操作会怎样？\n- 如果网络中断会怎样？\n- 如果数据库挂了会怎样？\n- 如果用户恶意暴力破解会怎样？\n```\n\n### 练习2：规则质疑\n**规则**：密码长度至少8位\n\n```text\n正常思维：\n- 验证密码长度是否≥8\n\n批判性思维：\n- 如果密码刚好8位会怎样？\n- 如果密码超过100位会怎样？\n- 如果密码全是空格会怎样？\n- 如果密码包含emoji会怎样？\n- 如果密码是常见密码（12345678）会怎样？\n- 如果密码包含用户名会怎样？\n- 如果密码包含生日会怎样？\n- 如果密码长期不更换会怎样？\n```\n\n### 练习3：数据质疑\n**数据**：用户输入手机号\n\n```text\n正常思维：\n- 验证手机号格式\n\n批判性思维：\n- 如果手机号为空会怎样？\n- 如果手机号不是11位会怎样？\n- 如果手机号包含特殊字符会怎样？\n- 如果手机号已注册其他账号会怎样？\n- 如果手机号是虚拟号码会怎样？\n- 如果手机号是国际号码会怎样？\n- 如果手机号被标记为骚扰电话会怎样？\n- 如果手机号运营商不支持会怎样？\n```\n\n### 练习4：时序与并发质疑\n**场景**：秒杀活动\"先到先得\"\n\n```text\n正常思维：\n- 用户点击抢购\n- 系统按到达顺序分配库存\n- 先到先得\n\n批判性思维：\n- 如果两个用户同一毫秒下单会怎样？\n- 如果库存只剩1件但有10人同时抢会怎样？\n- 如果用户网络快但服务器处理慢，顺序会乱吗？\n- 如果用户先下单成功但支付超时会怎样？库存回滚了吗？\n- 如果用户用脚本批量抢购会怎样？\n- 如果系统时钟不同步，\"先到\"还能判定吗？\n- 如果用户中途取消订单，库存是否立即释放？释放后谁先抢到？\n- 如果并发量超出数据库锁能力会怎样？超卖还是死锁？\n```\n\n### 练习5：状态流转质疑\n**场景**：订单已退款但仍可评价\n\n```text\n正常思维：\n- 订单完成 → 用户评价 → 评价展示\n\n批判性思维：\n- 如果订单已退款，评价入口是否应该关闭？\n- 如果退款在用户评价之后发生，已有评价是否保留？\n- 如果订单部分退款（退1件留1件），评价权如何处理？\n- 如果用户评价后又申请退款，评价展示状态如何？\n- 如果订单状态在\"已发货\"和\"已退款\"之间快速切换会怎样？\n- 如果退款走的是第三方支付通道，本地状态与第三方状态不一致以哪个为准？\n- 如果订单被系统自动取消（超时未支付），用户还能看到吗？能评价吗？\n- 如果订单状态机缺少\"部分退款\"这个中间态会怎样？\n```\n\n### 练习6：跨系统契约质疑\n**场景**：上游系统推送数据格式变更\n\n```text\n正常思维：\n- 上游推数据 → 我们消费 → 按字段处理\n\n批判性思维：\n- 如果上游今天新增一个字段我们没适配会怎样？\n- 如果上游删除一个我们依赖的字段会怎样？\n- 如果上游字段类型从 int 变成 string 会怎样？我们的反序列化会崩吗？\n- 如果上游推送频率从1次/分钟变成100次/分钟会怎样？限流了吗？\n- 如果上游推送了\"空值\"但语义是\"未传\"而非\"传了null\"，我们区分了吗？\n- 如果上游系统维护停推，我们的下游会感知到吗？会报错还是静默？\n- 如果上游推送了重复数据（同一条推两次），我们的幂等性保证了吗？\n- 如果数据契约没有版本号，上游悄悄改了字段含义我们怎么发现？\n```\n\n## 常见陷阱\n\n### 陷阱1：确认偏误\n```text\n现象：只找支持自己判断的证据，忽略反例\n示例：认为\"登录功能很简单\"→只检查正常登录→遗漏异常场景\n破解：强制列出5个\"反例/异常情况\"再开始测试\n```\n\n### 陷阱2：锚定效应\n```text\n现象：被第一个信息锚定，忽略其他可能性\n示例：听到\"用户量1万\"→用例按1万设计→实际要考虑100万\n破解：先不看任何限制条件，设计理想用例；再把条件加回来过滤\n```\n\n### 陷阱3：可得性启发\n```text\n现象：只测最近出过问题的地方\n示例：上次上线是登录模块出Bug→这次死磕登录→忽略了新功能的核心风险\n破解：按风险评估矩阵排序，不要凭印象分配测试精力\n```\n\n### 陷阱4：乐观偏差\n```text\n现象：默认事事顺利，低估异常概率\n示例：\"用户一定会按要求操作\"→遗漏误操作场景\n破解：对每个正常路径追问\"如果在这里出错了呢？\"\n```\n\n### 陷阱5：框架效应\n```text\n现象：被问题表述方式限制了思考范围\n示例：\"验证删除功能\"→只测删除→忽略了恢复/回收站/级联删除\n破解：跳出当前模块问\"这个功能的上游是什么？下游是什么？\"\n```\n\n### 陷阱6：沉没成本\n```text\n现象：已经做了大量用例就停止质疑\n示例：写了50条查询用例→觉得\"够多了\"→遗漏了关键的并发查询场景\n破解：用例数量和质量无关，强制问\"还有没有极端场景没覆盖？\"\n```\n\n## 自检清单\n\n批判性思维应用后检查：\n- [ ] 是否对每个\"应该\"都问了\"如果不呢？\"\n- [ ] 是否对每个\"正常\"都问了\"异常呢？\"\n- [ ] 是否对每个\"确定\"都问了\"假设呢？\"\n- [ ] 是否挖掘了隐含假设？\n- [ ] 是否应用了\"那又怎样\"追问？\n- [ ] 是否覆盖了反向场景？\n\n\n## 检查清单\n\n- [ ] 隐含假设是否挑战？\n- [ ] 证据是否充分？\n- [ ] 逻辑是否自洽？\n- [ ] 替代解释是否考虑？\n- [ ] 结论是否可证伪？\n\nFile v1.6.3:_meta.json\n\n{\n  \"ownerId\": \"kn71y9b23csfx0ykgm55d5m9x5891zt8\",\n  \"slug\": \"qa-critical-thinking\",\n  \"version\": \"1.6.3\",\n  \"publishedAt\": 1786548167101\n}\n\nFile v1.6.3:skill-card.md\n\n## Description:\n\nA Chinese-language QA review skill that helps testers challenge assumptions, uncover hidden constraints, and identify missed test scenarios through critical-thinking prompts.\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 developers use this skill to review requirements and test cases for hidden assumptions, abnormal flows, boundary cases, concurrency issues, state transitions, and cross-system contract risks.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: User prompts may include real production identifiers, payment details, screenshots, phone numbers, customer records, or other sensitive QA data.\n\nMitigation: Mask or remove production and customer data before using the skill, consistent with the release security guidance and artifact warning.\n\nRisk: Generated QA critiques and scenario suggestions may be incomplete or misleading if accepted without review.\n\nMitigation: Review outputs against the source requirements, system behavior, and risk model before adding or changing test coverage.\n\n## Reference(s):\n\n\n## Skill Output:\n\n**Output Type(s):** [guidance, markdown, text]\n\n**Output Format:** [Markdown or structured text with assumption gaps, assumption challenges, alternative scenarios, and risk reevaluation notes]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Produces review guidance and scenario suggestions; does not execute commands or persist data.]\n\n## Skill Version(s):\n\n1.6.3 (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.6.0: 3 files, 5655 bytes\n\nFiles: skill-card.md (2120b), SKILL.md (10444b), _meta.json (139b)\n\nFile v1.6.0:SKILL.md\n\n---\r\nname: qa-critical-thinking\r\nversion: 1.6.0\r\ndescription: >-\r\n  当需要挑战已有假设、挖掘隐含约束、发现\"所有人都没想过\"的测试场景时使用此技能。测试中最常犯的错误是接受了需求文档里的隐含假设——比如\"用户一定会有网络\"、\"输入一定有内容\"、\"操作顺序一定正确\"。用「如果不呢」的深度质疑方式反向思考，暴露那些被默认为\"正常\"的异常场景。每一个测试场景都应该走一遍\"如果这个假设不成立呢\"的质疑流程。\r\n\r\nwhen_to_use: 用户说\"还有什么\"、\"如果...会怎样\"、\"逆向思考\"、\"你怎么看\"、\"这样够吗\"、\"质疑\"、\"挑战需求\"、\"有没有漏\"、需要怀疑和深度分析时\r\nallowed-tools: Read Grep Glob\r\nrelated_skills:\r\n  upstream: []  # 基础层技能\r\n  downstream:\r\n    - qa-req-deconstruction      # 影响：需求挖掘深度\r\n    - qa-scenario-tree           # 影响：场景覆盖全面性\r\n    - qa-boundary-deep-dive      # 影响：边界分析深度\r\n    - qa-requirement-review\r\ninput_format:\r\n  required:\r\n    - name: 需求描述\r\n      type: string\r\n      description: 功能需求的详细描述\r\n    - name: 测试用例\r\n      type: array\r\n      description: 待审阅的测试用例列表\r\n  optional:\r\n    - name: 业务背景\r\n      type: string\r\n      description: 业务目标和用户角色\r\noutput_format:\r\n  traceability:\r\n    - 本技能质疑思维，不产出唯一ID；发现的假设挑战关联到需求ID或场景ID\r\n  structure:\r\n    - thinking_gaps: 思维盲区清单\r\n    - assumption_challenges: 假设挑战列表\r\n    - alternative_scenarios: 替代场景建议\r\n    - risk_reevaluation: 风险重评估\r\ncategories: ['Development','Testing']\r\ndepth_requirement_quantification:\r\n  reference_value: \"根据需求复杂度调整质疑深度：简单×3/中等×5/复杂×7\"\r\n  minimum: \"至少挑战3个隐含假设\"\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### 5W1H 质疑法\r\n\r\n```text\r\nWhat（是什么）：\r\n├─ 这个功能是什么？\r\n├─ 这个规则是什么？\r\n├─ 这个约束是什么？\r\n└─ 如果不是这样会怎样？\r\n\r\nWhy（为什么）：\r\n├─ 为什么要有这个功能？\r\n├─ 为什么要有这个规则？\r\n├─ 为什么是这样实现？\r\n└─ 如果没有这个为什么会怎样？\r\n\r\nWho（谁）：\r\n├─ 谁在用这个功能？\r\n├─ 谁负责这个模块？\r\n├─ 谁会影响这个功能？\r\n└─ 如果换一个人会怎样？\r\n\r\nWhen（什么时候）：\r\n├─ 什么时候用这个功能？\r\n├─ 什么时候触发这个规则？\r\n├─ 什么时候会出问题？\r\n└─ 如果换个时间会怎样？\r\n\r\nWhere（在哪里）：\r\n├─ 在哪里使用这个功能？\r\n├─ 在哪里存储这些数据？\r\n├─ 在哪里会出现问题？\r\n└─ 如果换个地方会怎样？\r\n\r\nHow（怎么做）：\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├─ 正常数据 → 异常数据（空、脏、大量）\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│   ├─ 反例：用户误操作、恶意操作\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│   └─ 示例：登录失败 → 那又怎样？→ 无法访问任何功能\r\n│\r\n├─ 影响一个用户 → 那又怎样？还影响谁？\r\n│   └─ 示例：VIP用户无法支付 → 那又怎样？→ 影响收入\r\n│\r\n├─ 影响一个数据 → 那又怎样？还影响什么数据？\r\n│   └─ 示例：订单数据错误 → 那又怎样？→ 影响库存、财务\r\n│\r\n└─ 影响一个系统 → 那又怎样？还影响哪些系统？\r\n    └─ 示例：支付系统故障 → 那又怎样？→ 影响所有交易\r\n```\r\n\r\n## 应用场景\r\n\r\n**用户说\"帮我测试登录功能\"**\r\n→ 应用5W1H质疑法：如果用户名不存在？如果密码错误？如果网络中断？\r\n→ 应用逆向思维：正常登录→异常登录（空密码、超长密码、SQL注入）\r\n→ 应用\"那又怎样\"追问：登录失败→那又怎样？→无法访问任何功能\r\n\r\n**用户说\"密码长度至少8位\"**\r\n→ 应用规则质疑：如果刚好8位？超过100位？全是空格？包含emoji？\r\n→ 挖掘隐含假设：假设用户不会用特殊字符\r\n\r\n**用户说\"这个功能看起来很简单\"**\r\n→ 触发本技能进行深度质疑，挖掘\"简单\"背后的隐藏风险\r\n\r\n## 思维练习\r\n\r\n### 练习1：功能质疑\r\n**功能**：用户登录\r\n\r\n```text\r\n正常思维：\r\n- 用户输入用户名密码\r\n- 系统验证\r\n- 登录成功\r\n\r\n批判性思维：\r\n- 如果用户名不存在会怎样？\r\n- 如果密码错误会怎样？\r\n- 如果用户输入<script>会怎样？\r\n- 如果用户同时在多设备登录会怎样？\r\n- 如果用户登录后长时间不操作会怎样？\r\n- 如果网络中断会怎样？\r\n- 如果数据库挂了会怎样？\r\n- 如果用户恶意暴力破解会怎样？\r\n```\r\n\r\n### 练习2：规则质疑\r\n**规则**：密码长度至少8位\r\n\r\n```text\r\n正常思维：\r\n- 验证密码长度是否≥8\r\n\r\n批判性思维：\r\n- 如果密码刚好8位会怎样？\r\n- 如果密码超过100位会怎样？\r\n- 如果密码全是空格会怎样？\r\n- 如果密码包含emoji会怎样？\r\n- 如果密码是常见密码（12345678）会怎样？\r\n- 如果密码包含用户名会怎样？\r\n- 如果密码包含生日会怎样？\r\n- 如果密码长期不更换会怎样？\r\n```\r\n\r\n### 练习3：数据质疑\r\n**数据**：用户输入手机号\r\n\r\n```text\r\n正常思维：\r\n- 验证手机号格式\r\n\r\n批判性思维：\r\n- 如果手机号为空会怎样？\r\n- 如果手机号不是11位会怎样？\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```text\r\n现象：只找支持自己判断的证据，忽略反例\r\n示例：认为\"登录功能很简单\"→只检查正常登录→遗漏异常场景\r\n破解：强制列出5个\"反例/异常情况\"再开始测试\r\n```\r\n\r\n### 陷阱2：锚定效应\r\n```text\r\n现象：被第一个信息锚定，忽略其他可能性\r\n示例：听到\"用户量1万\"→用例按1万设计→实际要考虑100万\r\n破解：先不看任何限制条件，设计理想用例；再把条件加回来过滤\r\n```\r\n\r\n### 陷阱3：可得性启发\r\n```text\r\n现象：只测最近出过问题的地方\r\n示例：上次上线是登录模块出Bug→这次死磕登录→忽略了新功能的核心风险\r\n破解：按风险评估矩阵排序，不要凭印象分配测试精力\r\n```\r\n\r\n### 陷阱4：乐观偏差\r\n```text\r\n现象：默认事事顺利，低估异常概率\r\n示例：\"用户一定会按要求操作\"→遗漏误操作场景\r\n破解：对每个正常路径追问\"如果在这里出错了呢？\"\r\n```\r\n\r\n### 陷阱5：框架效应\r\n```text\r\n现象：被问题表述方式限制了思考范围\r\n示例：\"验证删除功能\"→只测删除→忽略了恢复/回收站/级联删除\r\n破解：跳出当前模块问\"这个功能的上游是什么？下游是什么？\"\r\n```\r\n\r\n### 陷阱6：沉没成本\r\n```text\r\n现象：已经做了大量用例就停止质疑\r\n示例：写了50条查询用例→觉得\"够多了\"→遗漏了关键的并发查询场景\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- [ ] 结论是否可证伪？\n\nFile v1.6.0:_meta.json\n\n{\n  \"ownerId\": \"kn71y9b23csfx0ykgm55d5m9x5891zt8\",\n  \"slug\": \"qa-critical-thinking\",\n  \"version\": \"1.6.0\",\n  \"publishedAt\": 1783358099781\n}\n\nFile v1.6.0:skill-card.md\n\n## Description: <br>\nA QA critical-thinking skill that challenges assumptions in requirements and test cases to uncover hidden constraints, edge cases, alternative scenarios, and risk reevaluations. <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 developers use this skill to review requirements and test cases with reverse thinking, 5W1H questioning, assumption challenges, and risk-focused follow-up questions. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Requirements or test-case review may include customer, payment, identity, production, or other sensitive data. <br>\nMitigation: Mask or remove sensitive data before using the skill, as recommended by the security guidance and artifact warning. <br>\nRisk: Broad Chinese trigger phrases may cause the skill to activate during general discussion. <br>\nMitigation: Apply contextual judgment before activation and use it only for QA critical-thinking, requirements review, or test-case review tasks. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/kokxi/skills/qa-critical-thinking) <br>\n- [ClawHub publisher profile](https://clawhub.ai/user/kokxi) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [guidance, markdown, text] <br>\n**Output Format:** [Markdown or structured text review output] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May produce thinking gaps, assumption challenges, alternative scenarios, and risk reevaluation notes; discovered challenges may be mapped to requirement IDs or scenario IDs.] <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, 4913 bytes\n\nFiles: skill-card.md (1638b), SKILL.md (9497b), _meta.json (139b)\n\nFile v1.5.0:SKILL.md\n\n---\r\nname: qa-critical-thinking\r\nversion: 1.5.0\r\ndescription: >-\r\n  当需要挑战已有假设、挖掘隐含约束、发现\"所有人都没想过\"的测试场景时使用此技能。测试中最常犯的错误是接受了需求文档里的隐含假设——比如\"用户一定会有网络\"、\"输入一定有内容\"、\"操作顺序一定正确\"。用「如果不呢」的深度质疑方式反向思考，暴露那些被默认为\"正常\"的异常场景。每一个测试场景都应该走一遍\"如果这个假设不成立呢\"的质疑流程。\r\n\r\nwhen_to_use: 用户说\"还有什么\"、\"如果...会怎样\"、\"逆向思考\"、\"你怎么看\"、\"这样够吗\"、\"质疑\"、\"挑战需求\"、\"有没有漏\"、需要怀疑和深度分析时\r\nallowed-tools: Read Grep Glob\r\nrelated_skills:\r\n  upstream: []  # 基础层技能\r\n  downstream:\r\n    - qa-req-deconstruction      # 影响：需求挖掘深度\r\n    - qa-scenario-tree           # 影响：场景覆盖全面性\r\n    - qa-boundary-deep-dive      # 影响：边界分析深度\r\ninput_format:\r\n  required:\r\n    - name: 需求描述\r\n      type: string\r\n      description: 功能需求的详细描述\r\n    - name: 测试用例\r\n      type: array\r\n      description: 待审阅的测试用例列表\r\n  optional:\r\n    - name: 业务背景\r\n      type: string\r\n      description: 业务目标和用户角色\r\noutput_format:\r\n  structure:\r\n    - thinking_gaps: 思维盲区清单\r\n    - assumption_challenges: 假设挑战列表\r\n    - alternative_scenarios: 替代场景建议\r\n    - risk_reevaluation: 风险重评估\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### 5W1H 质疑法\r\n\r\n```text\r\nWhat（是什么）：\r\n├─ 这个功能是什么？\r\n├─ 这个规则是什么？\r\n├─ 这个约束是什么？\r\n└─ 如果不是这样会怎样？\r\n\r\nWhy（为什么）：\r\n├─ 为什么要有这个功能？\r\n├─ 为什么要有这个规则？\r\n├─ 为什么是这样实现？\r\n└─ 如果没有这个为什么会怎样？\r\n\r\nWho（谁）：\r\n├─ 谁在用这个功能？\r\n├─ 谁负责这个模块？\r\n├─ 谁会影响这个功能？\r\n└─ 如果换一个人会怎样？\r\n\r\nWhen（什么时候）：\r\n├─ 什么时候用这个功能？\r\n├─ 什么时候触发这个规则？\r\n├─ 什么时候会出问题？\r\n└─ 如果换个时间会怎样？\r\n\r\nWhere（在哪里）：\r\n├─ 在哪里使用这个功能？\r\n├─ 在哪里存储这些数据？\r\n├─ 在哪里会出现问题？\r\n└─ 如果换个地方会怎样？\r\n\r\nHow（怎么做）：\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├─ 正常数据 → 异常数据（空、脏、大量）\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│   ├─ 反例：用户误操作、恶意操作\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│   └─ 示例：登录失败 → 那又怎样？→ 无法访问任何功能\r\n│\r\n├─ 影响一个用户 → 那又怎样？还影响谁？\r\n│   └─ 示例：VIP用户无法支付 → 那又怎样？→ 影响收入\r\n│\r\n├─ 影响一个数据 → 那又怎样？还影响什么数据？\r\n│   └─ 示例：订单数据错误 → 那又怎样？→ 影响库存、财务\r\n│\r\n└─ 影响一个系统 → 那又怎样？还影响哪些系统？\r\n    └─ 示例：支付系统故障 → 那又怎样？→ 影响所有交易\r\n```\r\n\r\n## 应用场景\r\n\r\n**用户说\"帮我测试登录功能\"**\r\n→ 应用5W1H质疑法：如果用户名不存在？如果密码错误？如果网络中断？\r\n→ 应用逆向思维：正常登录→异常登录（空密码、超长密码、SQL注入）\r\n→ 应用\"那又怎样\"追问：登录失败→那又怎样？→无法访问任何功能\r\n\r\n**用户说\"密码长度至少8位\"**\r\n→ 应用规则质疑：如果刚好8位？超过100位？全是空格？包含emoji？\r\n→ 挖掘隐含假设：假设用户不会用特殊字符\r\n\r\n**用户说\"这个功能看起来很简单\"**\r\n→ 触发本技能进行深度质疑，挖掘\"简单\"背后的隐藏风险\r\n\r\n## 思维练习\r\n\r\n### 练习1：功能质疑\r\n**功能**：用户登录\r\n\r\n```text\r\n正常思维：\r\n- 用户输入用户名密码\r\n- 系统验证\r\n- 登录成功\r\n\r\n批判性思维：\r\n- 如果用户名不存在会怎样？\r\n- 如果密码错误会怎样？\r\n- 如果用户输入<script>会怎样？\r\n- 如果用户同时在多设备登录会怎样？\r\n- 如果用户登录后长时间不操作会怎样？\r\n- 如果网络中断会怎样？\r\n- 如果数据库挂了会怎样？\r\n- 如果用户恶意暴力破解会怎样？\r\n```\r\n\r\n### 练习2：规则质疑\r\n**规则**：密码长度至少8位\r\n\r\n```text\r\n正常思维：\r\n- 验证密码长度是否≥8\r\n\r\n批判性思维：\r\n- 如果密码刚好8位会怎样？\r\n- 如果密码超过100位会怎样？\r\n- 如果密码全是空格会怎样？\r\n- 如果密码包含emoji会怎样？\r\n- 如果密码是常见密码（12345678）会怎样？\r\n- 如果密码包含用户名会怎样？\r\n- 如果密码包含生日会怎样？\r\n- 如果密码长期不更换会怎样？\r\n```\r\n\r\n### 练习3：数据质疑\r\n**数据**：用户输入手机号\r\n\r\n```text\r\n正常思维：\r\n- 验证手机号格式\r\n\r\n批判性思维：\r\n- 如果手机号为空会怎样？\r\n- 如果手机号不是11位会怎样？\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```text\r\n现象：只找支持自己判断的证据，忽略反例\r\n示例：认为\"登录功能很简单\"→只检查正常登录→遗漏异常场景\r\n破解：强制列出5个\"反例/异常情况\"再开始测试\r\n```\r\n\r\n### 陷阱2：锚定效应\r\n```text\r\n现象：被第一个信息锚定，忽略其他可能性\r\n示例：听到\"用户量1万\"→用例按1万设计→实际要考虑100万\r\n破解：先不看任何限制条件，设计理想用例；再把条件加回来过滤\r\n```\r\n\r\n### 陷阱3：可得性启发\r\n```text\r\n现象：只测最近出过问题的地方\r\n示例：上次上线是登录模块出Bug→这次死磕登录→忽略了新功能的核心风险\r\n破解：按风险评估矩阵排序，不要凭印象分配测试精力\r\n```\r\n\r\n### 陷阱4：乐观偏差\r\n```text\r\n现象：默认事事顺利，低估异常概率\r\n示例：\"用户一定会按要求操作\"→遗漏误操作场景\r\n破解：对每个正常路径追问\"如果在这里出错了呢？\"\r\n```\r\n\r\n### 陷阱5：框架效应\r\n```text\r\n现象：被问题表述方式限制了思考范围\r\n示例：\"验证删除功能\"→只测删除→忽略了恢复/回收站/级联删除\r\n破解：跳出当前模块问\"这个功能的上游是什么？下游是什么？\"\r\n```\r\n\r\n### 陷阱6：沉没成本\r\n```text\r\n现象：已经做了大量用例就停止质疑\r\n示例：写了50条查询用例→觉得\"够多了\"→遗漏了关键的并发查询场景\r\n破解：用例数量和质量无关，强制问\"还有没有极端场景没覆盖？\"\r\n```\r\n\r\n## 自检清单\r\n\r\n批判性思维应用后检查：\r\n- [ ] 是否对每个\"应该\"都问了\"如果不呢？\"\r\n- [ ] 是否对每个\"正常\"都问了\"异常呢？\"\r\n- [ ] 是否对每个\"确定\"都问了\"假设呢？\"\r\n- [ ] 是否挖掘了隐含假设？\r\n- [ ] 是否应用了\"那又怎样\"追问？\r\n- [ ] 是否覆盖了反向场景？\n\nFile v1.5.0:_meta.json\n\n{\n  \"ownerId\": \"kn71y9b23csfx0ykgm55d5m9x5891zt8\",\n  \"slug\": \"qa-critical-thinking\",\n  \"version\": \"1.5.0\",\n  \"publishedAt\": 1782736342940\n}\n\nFile v1.5.0:skill-card.md\n\n## Description: <br>\nHelps QA reviewers challenge implicit assumptions in requirements and test cases, using critical questioning to find overlooked edge cases, alternative scenarios, and risk gaps. <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, product reviewers, and developers use this skill to review requirements and test cases for missed assumptions, abnormal flows, boundary conditions, and downstream risk. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Broad opinion-seeking trigger phrases may activate the skill outside focused QA or requirements-review tasks. <br>\nMitigation: Use narrower trigger wording or enable the skill only for testing, requirements review, and QA critique workflows. <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 critique sections] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Expected sections include thinking gaps, assumption challenges, alternative scenarios, and risk reevaluation.] <br>\n\n## Skill Version(s): <br>\n1.5.0 (source: frontmatter and server 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.4.1: 3 files, 4760 bytes\n\nFiles: skill-card.md (2110b), SKILL.md (8673b), _meta.json (139b)\n\nFile v1.4.1:SKILL.md\n\n---\r\nname: qa-critical-thinking\r\ndescription: >-\r\n  测试批判性思维，培养「如果不呢」深度质疑和逆向思考能力，挖掘隐含假设和反向场景。当需要查漏补缺或深度分析需求时激活。\r\n\r\nwhen_to_use: 用户说\"还有什么\"、\"如果...会怎样\"、\"逆向思考\"、\"你怎么看\"、\"这样够吗\"、\"质疑\"、\"挑战需求\"、\"有没有漏\"、需要怀疑和深度分析时\r\nallowed-tools: Read Grep Glob\r\nrelated_skills:\r\n  upstream: 无（基础层技能）\r\n  downstream:\r\n    - qa-req-deconstruction      # 影响：需求挖掘深度\r\n    - qa-scenario-tree           # 影响：场景覆盖全面性\r\n    - qa-boundary-deep-dive      # 影响：边界分析深度\r\ninput_format: 无（思维框架）\r\noutput_format: 质疑结果和假设清单\r\n---\r\n\r\n# 测试批判性思维\r\n\r\n## Overview\r\n\r\n你是一位测试批判性思维专家，对每个\"应该\"都问\"如果不呢？\"。\r\n**核心原则**：对每个\"正常\"都问\"异常呢？\"；对每个\"确定\"都问\"假设呢？\"\r\n本技能适用于测试用例查漏补缺、需求深度分析和风险评估等需要逆向思考的场景。\r\n\r\n## 质疑框架\r\n\r\n### 5W1H 质疑法\r\n\r\n```\r\nWhat（是什么）：\r\n├─ 这个功能是什么？\r\n├─ 这个规则是什么？\r\n├─ 这个约束是什么？\r\n└─ 如果不是这样会怎样？\r\n\r\nWhy（为什么）：\r\n├─ 为什么要有这个功能？\r\n├─ 为什么要有这个规则？\r\n├─ 为什么是这样实现？\r\n└─ 如果没有这个为什么会怎样？\r\n\r\nWho（谁）：\r\n├─ 谁在用这个功能？\r\n├─ 谁负责这个模块？\r\n├─ 谁会影响这个功能？\r\n└─ 如果换一个人会怎样？\r\n\r\nWhen（什么时候）：\r\n├─ 什么时候用这个功能？\r\n├─ 什么时候触发这个规则？\r\n├─ 什么时候会出问题？\r\n└─ 如果换个时间会怎样？\r\n\r\nWhere（在哪里）：\r\n├─ 在哪里使用这个功能？\r\n├─ 在哪里存储这些数据？\r\n├─ 在哪里会出现问题？\r\n└─ 如果换个地方会怎样？\r\n\r\nHow（怎么做）：\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│   ├─ 假设：环境会正常\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│   └─ 示例：VIP用户无法支付 → 那又怎样？→ 影响收入\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\n- 用户输入用户名密码\r\n- 系统验证\r\n- 登录成功\r\n\r\n批判性思维：\r\n- 如果用户名不存在会怎样？\r\n- 如果密码错误会怎样？\r\n- 如果用户输入<script>会怎样？\r\n- 如果用户同时在多设备登录会怎样？\r\n- 如果用户登录后长时间不操作会怎样？\r\n- 如果网络中断会怎样？\r\n- 如果数据库挂了会怎样？\r\n- 如果用户恶意暴力破解会怎样？\r\n```\r\n\r\n### 练习2：规则质疑\r\n**规则**：密码长度至少8位\r\n\r\n```\r\n正常思维：\r\n- 验证密码长度是否≥8\r\n\r\n批判性思维：\r\n- 如果密码刚好8位会怎样？\r\n- 如果密码超过100位会怎样？\r\n- 如果密码全是空格会怎样？\r\n- 如果密码包含emoji会怎样？\r\n- 如果密码是常见密码（12345678）会怎样？\r\n- 如果密码包含用户名会怎样？\r\n- 如果密码包含生日会怎样？\r\n- 如果密码长期不更换会怎样？\r\n```\r\n\r\n### 练习3：数据质疑\r\n**数据**：用户输入手机号\r\n\r\n```\r\n正常思维：\r\n- 验证手机号格式\r\n\r\n批判性思维：\r\n- 如果手机号为空会怎样？\r\n- 如果手机号不是11位会怎样？\r\n- 如果手机号包含特殊字符会怎样？\r\n- 如果手机号已注册其他账号会怎样？\r\n- 如果手机号是虚拟号码会怎样？\r\n- 如果手机号是国际号码会怎样？\r\n- 如果手机号被标记为骚扰电话会怎样？\r\n- 如果手机号运营商不支持会怎样？\r\n```\r\n\r\n## Examples\r\n\r\n**用户说\"帮我测试登录功能\"**\r\n→ 应用5W1H质疑法：如果用户名不存在？如果密码错误？如果网络中断？\r\n→ 应用逆向思维：正常登录→异常登录（空密码、超长密码、SQL注入）\r\n→ 应用\"那又怎样\"追问：登录失败→那又怎样？→无法访问任何功能\r\n\r\n**用户说\"密码长度至少8位\"**\r\n→ 应用规则质疑：如果刚好8位？超过100位？全是空格？包含emoji？\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破解：强制列出5个\"反例/异常情况\"再开始测试\r\n```\r\n\r\n### 陷阱2：锚定效应\r\n```\r\n现象：被第一个信息锚定，忽略其他可能性\r\n示例：听到\"用户量1万\"→用例按1万设计→实际要考虑100万\r\n破解：先不看任何限制条件，设计理想用例；再把条件加回来过滤\r\n```\r\n\r\n### 陷阱3：可得性启发\r\n```\r\n现象：只测最近出过问题的地方\r\n示例：上次上线是登录模块出Bug→这次死磕登录→忽略了新功能的核心风险\r\n破解：按风险评估矩阵排序，不要凭印象分配测试精力\r\n```\r\n\r\n### 陷阱4：乐观偏差\r\n```\r\n现象：默认事事顺利，低估异常概率\r\n示例：\"用户一定会按要求操作\"→遗漏误操作场景\r\n破解：对每个正常路径追问\"如果在这里出错了呢？\"\r\n```\r\n\r\n### 陷阱5：框架效应\r\n```\r\n现象：被问题表述方式限制了思考范围\r\n示例：\"验证删除功能\"→只测删除→忽略了恢复/回收站/级联删除\r\n破解：跳出当前模块问\"这个功能的上游是什么？下游是什么？\"\r\n```\r\n\r\n### 陷阱6：沉没成本\r\n```\r\n现象：已经做了大量用例就停止质疑\r\n示例：写了50条查询用例→觉得\"够多了\"→遗漏了关键的并发查询场景\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- [ ] 是否覆盖了反向场景？\n\nFile v1.4.1:_meta.json\n\n{\n  \"ownerId\": \"kn71y9b23csfx0ykgm55d5m9x5891zt8\",\n  \"slug\": \"qa-critical-thinking\",\n  \"version\": \"1.4.1\",\n  \"publishedAt\": 1782406451383\n}\n\nFile v1.4.1:skill-card.md\n\n## Description: <br>\nA Chinese-language QA critical-thinking prompt skill that helps testers question requirements, uncover hidden assumptions, and explore reverse or abnormal 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 testers, product engineers, and developers use this skill to challenge requirements, identify missed scenarios, and expand test coverage using 5W1H questioning, reverse thinking, assumption mining, and impact follow-up prompts. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Broad activation phrases may trigger the skill during general analysis conversations where a QA critical-thinking frame is not intended. <br>\nMitigation: Use the skill when critical review is desired, and review or narrow activation wording before relying on it in shared workflows. <br>\nRisk: The skill is written in Chinese and may be less effective for users or agents expecting English-only guidance. <br>\nMitigation: Confirm the language fit before installation and translate or adapt the prompts for English-language teams when needed. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/kokxi/skills/qa-critical-thinking) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, guidance] <br>\n**Output Format:** [Markdown or structured text with questions, assumptions, risks, and scenario lists.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [No privileged actions or external tool execution are requested by the artifact; outputs should be reviewed before use in QA plans.] <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, 4677 bytes\n\nFiles: skill-card.md (1732b), SKILL.md (8955b), _meta.json (139b)\n\nFile v1.4.0:SKILL.md\n\n---\r\nname: qa-critical-thinking\r\ndescription: >-\r\n  测试批判性思维，对每个应该都问如果不呢，培养深度质疑和逆向思考能力。当用户问还有什么、如果会怎样、需要逆向思维或深度分析时自动触发。\r\n  也适用于：测试用例设计完成后需要查漏补缺，或面对看似简单的功能时。\r\n   关键词：批判性思维、逆向思考、深度分析、假设检验、5W1H质疑、逆向思维、假设挖掘、那又怎样、反模式、测试思维。\nwhen_to_use: 用户说\"还有什么\"、\"如果...会怎样\"、\"逆向思考\"、\"你怎么看\"、\"这样够吗\"、\"质疑\"、\"挑战需求\"、\"有没有漏\"、需要怀疑和深度分析时\r\nallowed-tools: Read Grep Glob\r\nrelated_skills:\r\n  upstream: 无（基础层技能）\r\n  downstream:\r\n    - qa-req-deconstruction      # 影响：需求挖掘深度\r\n    - qa-scenario-tree           # 影响：场景覆盖全面性\r\n    - qa-boundary-deep-dive      # 影响：边界分析深度\r\ninput_format: 无（思维框架）\r\noutput_format: 质疑结果和假设清单\r\n---\r\n\r\n# 测试批判性思维\r\n\r\n## Overview\r\n\r\n你是一位测试批判性思维专家，对每个\"应该\"都问\"如果不呢？\"。\r\n**核心原则**：对每个\"正常\"都问\"异常呢？\"；对每个\"确定\"都问\"假设呢？\"\r\n本技能适用于测试用例查漏补缺、需求深度分析和风险评估等需要逆向思考的场景。\r\n\r\n## 质疑框架\r\n\r\n### 5W1H 质疑法\r\n\r\n```\r\nWhat（是什么）：\r\n├─ 这个功能是什么？\r\n├─ 这个规则是什么？\r\n├─ 这个约束是什么？\r\n└─ 如果不是这样会怎样？\r\n\r\nWhy（为什么）：\r\n├─ 为什么要有这个功能？\r\n├─ 为什么要有这个规则？\r\n├─ 为什么是这样实现？\r\n└─ 如果没有这个为什么会怎样？\r\n\r\nWho（谁）：\r\n├─ 谁在用这个功能？\r\n├─ 谁负责这个模块？\r\n├─ 谁会影响这个功能？\r\n└─ 如果换一个人会怎样？\r\n\r\nWhen（什么时候）：\r\n├─ 什么时候用这个功能？\r\n├─ 什么时候触发这个规则？\r\n├─ 什么时候会出问题？\r\n└─ 如果换个时间会怎样？\r\n\r\nWhere（在哪里）：\r\n├─ 在哪里使用这个功能？\r\n├─ 在哪里存储这些数据？\r\n├─ 在哪里会出现问题？\r\n└─ 如果换个地方会怎样？\r\n\r\nHow（怎么做）：\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│   ├─ 假设：环境会正常\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│   └─ 示例：VIP用户无法支付 → 那又怎样？→ 影响收入\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\n- 用户输入用户名密码\r\n- 系统验证\r\n- 登录成功\r\n\r\n批判性思维：\r\n- 如果用户名不存在会怎样？\r\n- 如果密码错误会怎样？\r\n- 如果用户输入<script>会怎样？\r\n- 如果用户同时在多设备登录会怎样？\r\n- 如果用户登录后长时间不操作会怎样？\r\n- 如果网络中断会怎样？\r\n- 如果数据库挂了会怎样？\r\n- 如果用户恶意暴力破解会怎样？\r\n```\r\n\r\n### 练习2：规则质疑\r\n**规则**：密码长度至少8位\r\n\r\n```\r\n正常思维：\r\n- 验证密码长度是否≥8\r\n\r\n批判性思维：\r\n- 如果密码刚好8位会怎样？\r\n- 如果密码超过100位会怎样？\r\n- 如果密码全是空格会怎样？\r\n- 如果密码包含emoji会怎样？\r\n- 如果密码是常见密码（12345678）会怎样？\r\n- 如果密码包含用户名会怎样？\r\n- 如果密码包含生日会怎样？\r\n- 如果密码长期不更换会怎样？\r\n```\r\n\r\n### 练习3：数据质疑\r\n**数据**：用户输入手机号\r\n\r\n```\r\n正常思维：\r\n- 验证手机号格式\r\n\r\n批判性思维：\r\n- 如果手机号为空会怎样？\r\n- 如果手机号不是11位会怎样？\r\n- 如果手机号包含特殊字符会怎样？\r\n- 如果手机号已注册其他账号会怎样？\r\n- 如果手机号是虚拟号码会怎样？\r\n- 如果手机号是国际号码会怎样？\r\n- 如果手机号被标记为骚扰电话会怎样？\r\n- 如果手机号运营商不支持会怎样？\r\n```\r\n\r\n## Examples\r\n\r\n**用户说\"帮我测试登录功能\"**\r\n→ 应用5W1H质疑法：如果用户名不存在？如果密码错误？如果网络中断？\r\n→ 应用逆向思维：正常登录→异常登录（空密码、超长密码、SQL注入）\r\n→ 应用\"那又怎样\"追问：登录失败→那又怎样？→无法访问任何功能\r\n\r\n**用户说\"密码长度至少8位\"**\r\n→ 应用规则质疑：如果刚好8位？超过100位？全是空格？包含emoji？\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破解：强制列出5个\"反例/异常情况\"再开始测试\r\n```\r\n\r\n### 陷阱2：锚定效应\r\n```\r\n现象：被第一个信息锚定，忽略其他可能性\r\n示例：听到\"用户量1万\"→用例按1万设计→实际要考虑100万\r\n破解：先不看任何限制条件，设计理想用例；再把条件加回来过滤\r\n```\r\n\r\n### 陷阱3：可得性启发\r\n```\r\n现象：只测最近出过问题的地方\r\n示例：上次上线是登录模块出Bug→这次死磕登录→忽略了新功能的核心风险\r\n破解：按风险评估矩阵排序，不要凭印象分配测试精力\r\n```\r\n\r\n### 陷阱4：乐观偏差\r\n```\r\n现象：默认事事顺利，低估异常概率\r\n示例：\"用户一定会按要求操作\"→遗漏误操作场景\r\n破解：对每个正常路径追问\"如果在这里出错了呢？\"\r\n```\r\n\r\n### 陷阱5：框架效应\r\n```\r\n现象：被问题表述方式限制了思考范围\r\n示例：\"验证删除功能\"→只测删除→忽略了恢复/回收站/级联删除\r\n破解：跳出当前模块问\"这个功能的上游是什么？下游是什么？\"\r\n```\r\n\r\n### 陷阱6：沉没成本\r\n```\r\n现象：已经做了大量用例就停止质疑\r\n示例：写了50条查询用例→觉得\"够多了\"→遗漏了关键的并发查询场景\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- [ ] 是否覆盖了反向场景？\n\nFile v1.4.0:_meta.json\n\n{\n  \"ownerId\": \"kn71y9b23csfx0ykgm55d5m9x5891zt8\",\n  \"slug\": \"qa-critical-thinking\",\n  \"version\": \"1.4.0\",\n  \"publishedAt\": 1782277603227\n}\n\nFile v1.4.0:skill-card.md\n\n## Description: <br>\nQa Critical Thinking helps testing and QA agents challenge assumptions, identify overlooked scenarios, and build risk-focused question lists using critical thinking prompts. <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>\nDevelopers, QA engineers, and testing agents use this Chinese-language skill to review requirements, test cases, and seemingly simple features for hidden assumptions, abnormal paths, boundary cases, and downstream risk. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Review before execution as proposals could introduce incorrect or misleading guidance into skills. <br>\nMitigation: Review and scan skill before deployment. <br>\n\n## Reference(s): <br>\n- [Qa Critical Thinking on ClawHub](https://clawhub.ai/kokxi/skills/qa-critical-thinking) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, guidance] <br>\n**Output Format:** [Markdown guidance with question lists, assumptions, risk prompts, and testing checklists] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Prompt-only guidance; broad conversational triggers may activate it in Chinese-language QA or testing discussions.] <br>\n\n## Skill Version(s): <br>\n1.4.0 (source: server-resolved 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.3.0: 3 files, 3429 bytes\n\nFiles: skill-card.md (1619b), SKILL.md (6174b), _meta.json (139b)\n\nFile v1.3.0:SKILL.md\n\n---\r\nname: qa-critical-thinking\r\ndescription: 测试批判性思维，对每个\"应该\"都问\"如果不呢？\"。当需要深度质疑和逆向思考时激活。\r\nwhen_to_use: 用户说\"还有什么\"、\"如果...会怎样\"、\"逆向思考\"、需要质疑和深度分析时\r\nallowed-tools: Read Grep Glob\r\nrelated_skills:\r\n  upstream: 无（基础层技能）\r\n  downstream:\r\n    - qa-req-deconstruction      # 影响：需求挖掘深度\r\n    - qa-scenario-tree           # 影响：场景覆盖全面性\r\n    - qa-boundary-deep-dive      # 影响：边界分析深度\r\ninput_format: 无（思维框架）\r\noutput_format: 质疑结果和假设清单\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### 5W1H 质疑法\r\n\r\n```\r\nWhat（是什么）：\r\n├─ 这个功能是什么？\r\n├─ 这个规则是什么？\r\n├─ 这个约束是什么？\r\n└─ 如果不是这样会怎样？\r\n\r\nWhy（为什么）：\r\n├─ 为什么要有这个功能？\r\n├─ 为什么要有这个规则？\r\n├─ 为什么是这样实现？\r\n└─ 如果没有这个为什么会怎样？\r\n\r\nWho（谁）：\r\n├─ 谁在用这个功能？\r\n├─ 谁负责这个模块？\r\n├─ 谁会影响这个功能？\r\n└─ 如果换一个人会怎样？\r\n\r\nWhen（什么时候）：\r\n├─ 什么时候用这个功能？\r\n├─ 什么时候触发这个规则？\r\n├─ 什么时候会出问题？\r\n└─ 如果换个时间会怎样？\r\n\r\nWhere（在哪里）：\r\n├─ 在哪里使用这个功能？\r\n├─ 在哪里存储这些数据？\r\n├─ 在哪里会出现问题？\r\n└─ 如果换个地方会怎样？\r\n\r\nHow（怎么做）：\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│   ├─ 假设：环境会正常\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│   └─ 示例：VIP用户无法支付 → 那又怎样？→ 影响收入\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\n- 用户输入用户名密码\r\n- 系统验证\r\n- 登录成功\r\n\r\n批判性思维：\r\n- 如果用户名不存在会怎样？\r\n- 如果密码错误会怎样？\r\n- 如果用户输入<script>会怎样？\r\n- 如果用户同时在多设备登录会怎样？\r\n- 如果用户登录后长时间不操作会怎样？\r\n- 如果网络中断会怎样？\r\n- 如果数据库挂了会怎样？\r\n- 如果用户恶意暴力破解会怎样？\r\n```\r\n\r\n### 练习2：规则质疑\r\n**规则**：密码长度至少8位\r\n\r\n```\r\n正常思维：\r\n- 验证密码长度是否≥8\r\n\r\n批判性思维：\r\n- 如果密码刚好8位会怎样？\r\n- 如果密码超过100位会怎样？\r\n- 如果密码全是空格会怎样？\r\n- 如果密码包含emoji会怎样？\r\n- 如果密码是常见密码（12345678）会怎样？\r\n- 如果密码包含用户名会怎样？\r\n- 如果密码包含生日会怎样？\r\n- 如果密码长期不更换会怎样？\r\n```\r\n\r\n### 练习3：数据质疑\r\n**数据**：用户输入手机号\r\n\r\n```\r\n正常思维：\r\n- 验证手机号格式\r\n\r\n批判性思维：\r\n- 如果手机号为空会怎样？\r\n- 如果手机号不是11位会怎样？\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- [ ] 是否覆盖了反向场景？\n\nFile v1.3.0:_meta.json\n\n{\n  \"ownerId\": \"kn71y9b23csfx0ykgm55d5m9x5891zt8\",\n  \"slug\": \"qa-critical-thinking\",\n  \"version\": \"1.3.0\",\n  \"publishedAt\": 1782056324781\n}\n\nFile v1.3.0:skill-card.md\n\n## Description: <br>\nActivates a critical-thinking QA framework for challenging assumptions, asking reverse questions, and producing questioning results and assumption lists. <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 reviewers use this skill when they need an agent to challenge assumptions, explore abnormal or reverse scenarios, and produce concise question lists for deeper analysis. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Broad activation phrasing may cause the agent to enter skeptical or deep-analysis mode more often than intended. <br>\nMitigation: Review or narrow the activation wording before deployment when the skill should run only on explicit requests. <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/plain text with question lists and assumption checklists] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [No code, files, shell commands, or configuration are produced by the skill.] <br>\n\n## Skill Version(s): <br>\n1.3.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-critical-thinking Owner: kokxi Summary: 当需要挑战已有假设、挖掘隐含约束、发现\"所有人都没想过\"的测试场景时使用此技能。测试中最常犯的错误是接受了需求文档里的隐含假设——比如\"用户一定会有网络\"、\"输入一定有内容\"、\"操作顺序一定正确\"。用「如果不呢」的深度质疑方式反向思考，暴露那些被默认为\"正常\"的异常场景。每一个测试场景都应该走一遍\"如果这个假设不成立呢\"的质疑流程。 触发场景：还有什么、如果...会怎样、逆向思考、你怎么看、这样够吗、质疑、挑战需求、有没有漏、需要怀疑和深度分析时。 Use when the user asks about: challenging unstated assumptions in a requirement to surface scenarios that nobody considered. Tags: latest:1.8.0","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"What（是什么）：\n├─ 这个功能是什么？\n├─ 这个规则是什么？\n├─ 这个约束是什么？\n└─ 如果不是这样会怎样？\n\nWhy（为什么）：\n├─ 为什么要有这个功能？\n├─ 为什么要有这个规则？\n├─ 为什么是这样实现？\n└─ 如果没有这个为什么会怎样？\n\nWho（谁）：\n├─ 谁在用这个功能？\n├─ 谁负责这个模块？\n├─ 谁会影响这个功能？\n└─ 如果换一个人会怎样？\n\nWhen（什么时候）：\n├─ 什么时候用这个功能？\n├─ 什么时候触发这个规则？\n├─ 什么时候会出问题？\n└─ 如果换个时间会怎样？\n\nWhere（在哪里）：\n├─ 在哪里使用这个功能？\n├─ 在哪里存储这些数据？\n├─ 在哪里会出现问题？\n└─ 如果换个地方会怎样？\n\nHow（怎么做）：\n├─ 怎么实现这个功能？\n├─ 怎么触发这个规则？\n├─ 怎么处理异常情况？\n└─ 如果换个方式会怎样？"},{"language":"text","snippet":"正常 → 异常\n├─ 正常输入 → 异常输入（空值、超长、特殊字符）\n├─ 正常流程 → 异常流程（中断、失败、超时）\n├─ 正常数据 → 异常数据（空、脏、大量）\n└─ 正常环境 → 异常环境（断网、高负载、硬件故障）\n\n确定 → 假设\n├─ 用户会正常操作 → 用户会误操作\n├─ 网络会正常 → 网络会异常\n├─ 数据会正确 → 数据会错误\n└─ 服务会正常 → 服务会故障\n\n存在 → 不存在\n├─ 数据存在 → 数据不存在\n├─ 服务可用 → 服务不可用\n├─ 权限足够 → 权限不足\n└─ 资源充足 → 资源不足"},{"language":"text","snippet":"常见假设类型：\n├─ 用户行为假设\n│   ├─ 假设：用户会按预期操作\n│   ├─ 反例：用户误操作、恶意操作\n│   └─ 追问：用户不按预期操作会怎样？\n│\n├─ 环境假设\n│   ├─ 假设：环境会正常\n│   ├─ 反例：网络异常、服务故障\n│   └─ 追问：环境异常会怎样？\n│\n├─ 数据假设\n│   ├─ 假设：数据会正确\n│   ├─ 反例：数据缺失、数据错误\n│   └─ 追问：数据异常会怎样？\n│\n├─ 时序假设\n│   ├─ 假设：操作会按顺序执行\n│   ├─ 反例：乱序执行、并发执行\n│   └─ 追问：时序异常会怎样？\n│\n└─ 依赖假设\n    ├─ 假设：依赖服务会正常\n    ├─ 反例：依赖服务故障\n    └─ 追问：依赖异常会怎样？"},{"language":"text","snippet":"发现问题 → 那又怎样？\n│\n├─ 影响一个功能 → 那又怎样？还影响什么？\n│   └─ 示例：登录失败 → 那又怎样？→ 无法访问任何功能\n│\n├─ 影响一个用户 → 那又怎样？还影响谁？\n│   └─ 示例：VIP用户无法支付 → 那又怎样？→ 影响收入\n│\n├─ 影响一个数据 → 那又怎样？还影响什么数据？\n│   └─ 示例：订单数据错误 → 那又怎样？→ 影响库存、财务\n│\n└─ 影响一个系统 → 那又怎样？还影响哪些系统？\n    └─ 示例：支付系统故障 → 那又怎样？→ 影响所有交易"},{"language":"text","snippet":"现象：只找支持自己判断的证据，忽略反例\n示例：认为\"登录功能很简单\"→只检查正常登录→遗漏异常场景\n破解：强制列出5个\"反例/异常情况\"再开始测试"},{"language":"text","snippet":"现象：被第一个信息锚定，忽略其他可能性\n示例：听到\"用户量1万\"→用例按1万设计→实际要考虑100万\n破解：先不看任何限制条件，设计理想用例；再把条件加回来过滤"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: qa-critical-thinking\ndescription: >-\n  当需要挑战已有假设、挖掘隐含约束、发现\"所有人都没想过\"的测试场景时使用此技能。测试中最常犯的错误是接受了需求文档里的隐含假设——比如\"用户一定会有网络\"、\"输入一定有内容\"、\"操作顺序一定正确\"。用「如果不呢」的深度质疑方式反向思考，暴露那些被默认为\"正常\"的异常场景。每一个测试场景都应该走一遍\"如果这个假设不成立呢\"的质疑流程。 触发场景：还有什么、如果...会怎样、逆向思考、你怎么看、这样够吗、质疑、挑战需求、有没有漏、需要怀疑和深度分析时。 Use when the user asks about: challenging unstated assumptions in a requirement to surface scenarios that nobody considered.\nlicense: MIT\nallowed-tools: Read Grep Glob\nmetadata:\n  display-name: \"Critical Thinking\"\n  version: \"1.8.0\"\n  when-to-use: \"用户说\\\"还有什么\\\"、\\\"如果...会怎样\\\"、\\\"逆向思考\\\"、\\\"你怎么看\\\"、\\\"这样够吗\\\"、\\\"质疑\\\"、\\\"挑战需求\\\"、\\\"有没有漏\\\"、需要怀疑和深度分析时\"\n  related-skills: \"{\\\"upstream\\\":[],\\\"downstream\\\":[\\\"qa-req-deconstruction\\\",\\\"qa-scenario-tree\\\",\\\"qa-boundary-deep-dive\\\",\\\"qa-requirement-review\\\"]}\"\n  references: \"[\\\"references/thinking-exercises.md\\\"]\"\n  input-format: \"{\\\"required\\\":[{\\\"name\\\":\\\"需求描述\\\",\\\"type\\\":\\\"string\\\",\\\"description\\\":\\\"功能需求的详细描述\\\"},{\\\"name\\\":\\\"测试用例\\\",\\\"type\\\":\\\"array\\\",\\\"description\\\":\\\"待审阅的测试用例列表\\\"}],\\\"optional\\\":[{\\\"name\\\":\\\"业务背景\\\",\\\"type\\\":\\\"string\\\",\\\"description\\\":\\\"业务目标和用户角色\\\"}]}\"\n  output-format: \"{\\\"traceability\\\":[\\\"本技能质疑思维，不产出唯一ID；发现的假设挑战关联到需求ID或场景ID\\\"],\\\"structure\\\":[{\\\"thinking_gaps\\\":\\\"思维盲区清单\\\"},{\\\"assumption_challenges\\\":\\\"假设挑战列表\\\"},{\\\"alternative_scenarios\\\":\\\"替代场景建议\\\"},{\\\"risk_reevaluation\\\":\\\"风险重评估\\\"}]}\"\n  error-recovery-guidance: \"{\\\"on_failure\\\":\\\"质疑流未能暴露假设时回退到需求解构补充上下文\\\",\\\"retry_behavior\\\":\\\"补充业务背景后重新质疑\\\"}\"\n  categories: \"[\\\"Development\\\",\\\"Testing\\\"]\"\n  depth-requirement: \"{\\\"reference_value\\\":\\\"根据需求复杂度调整质疑深度：简单×3/中等×5/复杂×7\\\",\\\"minimum\\\":\\\"至少挑战3个隐含假设\\\"}\"\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\n### 5W1H 质疑法\n\n```text\nWhat（是什么）：\n├─ 这个功能是什么？\n├─ 这个规则是什么？\n├─ 这个约束是什么？\n└─ 如果不是这样会怎样？\n\nWhy（为什么）：\n├─ 为什么要有这个功能？\n├─ 为什么要有这个规则？\n├─ 为什么是这样实现？\n└─ 如果没有这个为什么会怎样？\n\nWho（谁）：\n├─ 谁在用这个功能？\n├─ 谁负责这个模块？\n├─ 谁会影响这个功能？\n└─ 如果换一个人会怎样？\n\nWhen（什么时候）：\n├─ 什么时候用这个功能？\n├─ 什么时候触发这个规则？\n├─ 什么时候会出问题？\n└─ 如果换个时间会怎样？\n\nWhere（在哪里）：\n├─ 在哪里使用这个功能？\n├─ 在哪里存储这些数据？\n├─ 在哪里会出现问题？\n└─ 如果换个地方会怎样？\n\nHow（怎么做）：\n├─ 怎么实现这个功能？\n├─ 怎么触发这个规则？\n├─ 怎么处理异常情况？\n└─ 如果换个方式会怎样？\n```\n\n### 逆向思维\n\n```text\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│   ├─ 反例：用户误操作、恶意操作\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发现问题 → 那"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn71y9b23csfx0ykgm55d5m9x5891zt8\",\n  \"slug\": \"qa-critical-thinking\",\n  \"version\": \"1.8.0\",\n  \"publishedAt\": 1790655975602\n}"},{"path":"references/thinking-exercises.md","content":"# 批判性思维练习集\n\n> 本文是 `qa-critical-thinking` 的**思维练习集**。拿不准还有什么可质疑时读本文找切入点；\n只需要质疑框架与问法时不必读。\n\n---\n\n\n### 练习1：功能质疑\n**功能**：用户登录\n\n```text\n正常思维：\n- 用户输入用户名密码\n- 系统验证\n- 登录成功\n\n批判性思维：\n- 如果用户名不存在会怎样？\n- 如果密码错误会怎样？\n- 如果用户输入<script>会怎样？\n- 如果用户同时在多设备登录会怎样？\n- 如果用户登录后长时间不操作会怎样？\n- 如果网络中断会怎样？\n- 如果数据库挂了会怎样？\n- 如果用户恶意暴力破解会怎样？\n```\n\n### 练习2：规则质疑\n**规则**：密码长度至少8位\n\n```text\n正常思维：\n- 验证密码长度是否≥8\n\n批判性思维：\n- 如果密码刚好8位会怎样？\n- 如果密码超过100位会怎样？\n- 如果密码全是空格会怎样？\n- 如果密码包含emoji会怎样？\n- 如果密码是常见密码（12345678）会怎样？\n- 如果密码包含用户名会怎样？\n- 如果密码包含生日会怎样？\n- 如果密码长期不更换会怎样？\n```\n\n### 练习3：数据质疑\n**数据**：用户输入手机号\n\n```text\n正常思维：\n- 验证手机号格式\n\n批判性思维：\n- 如果手机号为空会怎样？\n- 如果手机号不是11位会怎样？\n- 如果手机号包含特殊字符会怎样？\n- 如果手机号已注册其他账号会怎样？\n- 如果手机号是虚拟号码会怎样？\n- 如果手机号是国际号码会怎样？\n- 如果手机号被标记为骚扰电话会怎样？\n- 如果手机号运营商不支持会怎样？\n```\n\n### 练习4：时序与并发质疑\n**场景**：秒杀活动\"先到先得\"\n\n```text\n正常思维：\n- 用户点击抢购\n- 系统按到达顺序分配库存\n- 先到先得\n\n批判性思维：\n- 如果两个用户同一毫秒下单会怎样？\n- 如果库存只剩1件但有10人同时抢会怎样？\n- 如果用户网络快但服务器处理慢，顺序会乱吗？\n- 如果用户先下单成功但支付超时会怎样？库存回滚了吗？\n- 如果用户用脚本批量抢购会怎样？\n- 如果系统时钟不同步，\"先到\"还能判定吗？\n- 如果用户中途取消订单，库存是否立即释放？释放后谁先抢到？\n- 如果并发量超出数据库锁能力会怎样？超卖还是死锁？\n```\n\n### 练习5：状态流转质疑\n**场景**：订单已退款但仍可评价\n\n```text\n正常思维：\n- 订单完成 → 用户评价 → 评价展示\n\n批判性思维：\n- 如果订单已退款，评价入口是否应该关闭？\n- 如果退款在用户评价之后发生，已有评价是否保留？\n- 如果订单部分退款（退1件留1件），评价权如何处理？\n- 如果用户评价后又申请退款，评价展示状态如何？\n- 如果订单状态在\"已发货\"和\"已退款\"之间快速切换会怎样？\n- 如果退款走的是第三方支付通道，本地状态与第三方状态不一致以哪个为准？\n- 如果订单被系统自动取消（超时未支付），用户还能看到吗？能评价吗？\n- 如果订单状态机缺少\"部分退款\"这个中间态会怎样？\n```\n\n### 练习6：跨系统契约质疑\n**场景**：上游系统推送数据格式变更\n\n```text\n正常思维：\n- 上游推数据 → 我们消费 → 按字段处理\n\n批判性思维：\n- 如果上游今天新增一个字段我们没适配会怎样？\n- 如果上游删除一个我们依赖的字段会怎样？\n- 如果上游字段类型从 int 变成 string 会怎样？我们的反序列化会崩吗？\n- 如果上游推送频率从1次/分钟变成100次/分钟会怎样？限流了吗？\n- 如果上游推送了\"空值\"但语义是\"未传\"而非\"传了null\"，我们区分了吗？\n- 如果上游系统维护停推，我们的下游会感知到吗？会报错还是静默？\n- 如果上游推送了重复数据（同一条推两次），我们的幂等性保证了吗？\n- 如果数据契约没有版本号，上游悄悄改了字段含义我们怎么发现？\n```"},{"path":"skill-card.md","content":"## Description:\n\nHelps QA reviewers challenge hidden assumptions in requirements and test cases to uncover overlooked failure 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 testers and developers use this skill to review requirements and test cases, challenge implicit assumptions, and identify missing edge cases and risks.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Broad trigger phrases may invoke this skill outside a QA review.\n\nMitigation: Use it only for testing or requirement-review tasks.\n\nRisk: Requirements and test cases may contain sensitive customer, payment, identity, or production data.\n\nMitigation: Remove or mask sensitive data before sharing it with the agent.\n\nRisk: The optional install command fetches a larger, unpinned skill package.\n\nMitigation: Review the full package before running the optional install command.\n\n## Reference(s):\n\n- [Critical thinking exercises](references/thinking-exercises.md)\n- [ClawHub skill release](https://clawhub.ai/kokxi/skills/qa-critical-thinking)\n\n## Skill Output:\n\n**Output Type(s):** [Analysis, Guidance]\n\n**Output Format:** [Markdown text]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Identifies thinking gaps, challenged assumptions, alternative scenarios, and reassessed risks; link findings to requirement or scenario IDs when available.]\n\n## Skill Version(s):\n\n1.8.0 (source: skill frontmatter and ClawHub 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":"当需要挑战已有假设、挖掘隐含约束、发现\"所有人都没想过\"的测试场景时使用此技能。测试中最常犯的错误是接受了需求文档里的隐含假设——比如\"用户一定会有网络\"、\"输入一定有内容\"、\"操作顺序一定正确\"。用「如果不呢」的深度质疑方式反向思考，暴露那些被默认为\"正常\"的异常场景。每一个测试场景都应该走一遍\"如果这个假设不成立呢\"的质疑流程。 触发场景：还有什么、如果...会怎样、逆向思考、你怎么看、这样够吗、质疑、挑战需求、有没有漏、需要怀疑和深度分析时。 Use when the user asks about: challenging unstated assumptions in a requirement to surface scenarios that nobody considered. Skill: qa-critical-thinking Owner: kokxi Summary: 当需要挑战已有假设、挖掘隐含约束、发现\"所有人都没想过\"的测试场景时使用此技能。测试中最常犯的错误是接受了需求文档里的隐含假设——比如\"用户一定会有网络\"、\"输入一定有内容\"、\"操作顺序一定正确\"。用「如果不呢」的深度质疑方式反向思考，暴露那些被默认为\"正常\"的异常场景。每一个测试场景都应该走一遍\"如果这个假设不成立呢\"的质疑流程。 触发场景：还有什么、如果...会怎样、逆向思考、你怎么看、这样够吗、质疑、挑战需求、有没有漏、需要怀疑和深度分析时。 Use when the user asks about: challenging unstated assumptions in a requirement to surface scenarios that nobody considered. Tags: latest:1.8.0","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":959,"uniquenessScore":53,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T02:16:06.102Z","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-11T02:16:06.102Z","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-11T04:35:00.179Z","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"}]}}}