Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add Kokxi/qa-test-skills --skill qa-critical-thinkinggit clone --depth 1 https://github.com/Kokxi/qa-test-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/kokxi/qa-test-skills/qa-critical-thinking)<a href="https://agentmods.dev/skills/kokxi/qa-test-skills/qa-critical-thinking"><img src="https://agentmods.dev/badge/skills/kokxi/qa-test-skills/qa-critical-thinking/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/kokxi/qa-test-skills/qa-critical-thinking"><img src="https://agentmods.dev/badge/skills/kokxi/qa-test-skills/qa-critical-thinking.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00136 | $0.03639 |
| Opus 5 | $0.00068 | $0.01819 |
| Sonnet 5 | $0.00027 | $0.00728 |
| Haiku 4.5 | $0.00014 | $0.00364 |
Grade A, and why
qa-critical-thinking scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 362 lines — stays where its author put it; the contents beside it link to each section on GitHub.
⚠️ 安全警告:本技能的示例可能涉及订单号、支付金额、截图、身份证、手机号等敏感数据。 实际使用时请勿粘贴真实生产数据、客户信息或财务凭证;测试前应脱敏/掩码处理。 本技能仅在 workspace/ 输出评估文件,不持久化、不外传、不跨会话复用。
测试批判性思维
核心原则
对每个"正常"都问"异常呢?";对每个"确定"都问"假设呢?" 本技能适用于测试用例查漏补缺、需求深度分析和风险评估等需要逆向思考的场景。
质疑框架
5W1H 质疑法
What(是什么):
├─ 这个功能是什么?
├─ 这个规则是什么?
├─ 这个约束是什么?
└─ 如果不是这样会怎样?
Why(为什么):
├─ 为什么要有这个功能?
├─ 为什么要有这个规则?
├─ 为什么是这样实现?
└─ 如果没有这个为什么会怎样?
Who(谁):
├─ 谁在用这个功能?
├─ 谁负责这个模块?
├─ 谁会影响这个功能?
└─ 如果换一个人会怎样?
When(什么时候):
├─ 什么时候用这个功能?
├─ 什么时候触发这个规则?
├─ 什么时候会出问题?
└─ 如果换个时间会怎样?
Where(在哪里):
├─ 在哪里使用这个功能?
├─ 在哪里存储这些数据?
├─ 在哪里会出现问题?
└─ 如果换个地方会怎样?
How(怎么做):
├─ 怎么实现这个功能?
├─ 怎么触发这个规则?
├─ 怎么处理异常情况?
└─ 如果换个方式会怎样?
逆向思维
正常 → 异常
├─ 正常输入 → 异常输入(空值、超长、特殊字符)
├─ 正常流程 → 异常流程(中断、失败、超时)
├─ 正常数据 → 异常数据(空、脏、大量)
└─ 正常环境 → 异常环境(断网、高负载、硬件故障)
确定 → 假设
├─ 用户会正常操作 → 用户会误操作
├─ 网络会正常 → 网络会异常
├─ 数据会正确 → 数据会错误
└─ 服务会正常 → 服务会故障
存在 → 不存在
├─ 数据存在 → 数据不存在
├─ 服务可用 → 服务不可用
├─ 权限足够 → 权限不足
└─ 资源充足 → 资源不足
假设挖掘
常见假设类型:
├─ 用户行为假设
│ ├─ 假设:用户会按预期操作
│ ├─ 反例:用户误操作、恶意操作
│ └─ 追问:用户不按预期操作会怎样?
│
├─ 环境假设
│ ├─ 假设:环境会正常
│ ├─ 反例:网络异常、服务故障
│ └─ 追问:环境异常会怎样?
│
├─ 数据假设
│ ├─ 假设:数据会正确
│ ├─ 反例:数据缺失、数据错误
│ └─ 追问:数据异常会怎样?
│
├─ 时序假设
│ ├─ 假设:操作会按顺序执行
│ ├─ 反例:乱序执行、并发执行
│ └─ 追问:时序异常会怎样?
│
└─ 依赖假设
├─ 假设:依赖服务会正常
├─ 反例:依赖服务故障
└─ 追问:依赖异常会怎样?
"那又怎样" 追问法
发现问题 → 那又怎样?
│
├─ 影响一个功能 → 那又怎样?还影响什么?
│ └─ 示例:登录失败 → 那又怎样?→ 无法访问任何功能
│
├─ 影响一个用户 → 那又怎样?还影响谁?
│ └─ 示例:VIP用户无法支付 → 那又怎样?→ 影响收入
│
├─ 影响一个数据 → 那又怎样?还影响什么数据?
│ └─ 示例:订单数据错误 → 那又怎样?→ 影响库存、财务
│
└─ 影响一个系统 → 那又怎样?还影响哪些系统?
└─ 示例:支付系统故障 → 那又怎样?→ 影响所有交易
应用场景
用户说"帮我测试登录功能" → 应用5W1H质疑法:如果用户名不存在?如果密码错误?如果网络中断? → 应用逆向思维:正常登录→异常登录(空密码、超长密码、SQL注入) → 应用"那又怎样"追问:登录失败→那又怎样?→无法访问任何功能
用户说"密码长度至少8位" → 应用规则质疑:如果刚好8位?超过100位?全是空格?包含emoji? → 挖掘隐含假设:假设用户不会用特殊字符
用户说"这个功能看起来很简单" → 触发本技能进行深度质疑,挖掘"简单"背后的隐藏风险
思维练习
练习1:功能质疑
功能:用户登录
正常思维:
- 用户输入用户名密码
- 系统验证
- 登录成功
批判性思维:
- 如果用户名不存在会怎样?
- 如果密码错误会怎样?
- 如果用户输入<script>会怎样?
- 如果用户同时在多设备登录会怎样?
- 如果用户登录后长时间不操作会怎样?
- 如果网络中断会怎样?
- 如果数据库挂了会怎样?
- 如果用户恶意暴力破解会怎样?
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 5d ago Changed 4b322553a386
- 11d ago First seen · 362 lines · 136 tokens per session scan A cd7ab16f7454
qa-critical-thinking is a skill published in the GitHub repository Kokxi/qa-test-skills (25 stars, last pushed 8d ago), licensed MIT. It adds 136 tokens to every session and 3,639 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
agent-harness-fault-injection
Use when an agent workflow needs deterministic recovery evidence for sandbox, MCP/tool, worker, checkpoint, memory, or orchestration failures.
octocode-benchmark
Use when planning, running, grading, or reporting the by-hand Octocode research benchmark — pairwise matchups (Octocode anchor vs one baseline: gh+RTK, gh+Headroom, or plain gh) over markdown questions, with a fresh isolated runner agent per (question, arm, pass), one blind judge per question grading two answers X/Y…
octocode-graph-eval
Use when you need a measurable keep/discard loop — goal→KPI, baseline vs target, held-out checks, eval suites, or don't-stop-till-done against a runnable sensor. Not for ordinary ship checks where 'tests passed' is enough.
plugin-test
A testing guide for Zhin.js plugins using Vitest, a JavaScript and TypeScript testing framework. It focuses on checking command and tool behavior, ordinary business logic, and the plugin package’s required structure.
modernize-test-starter
Modernize QUnit unit tests and OPA5 integration tests to the UI5 Test Starter concept. Use this skill when: The linter reports prefer-test-starter for .qunit.html or .qunit.js files Test HTML files use manual sap-ui-core.js bootstrapping instead of Test Starter's runTest.js/createSuite.js Test JS files use…
javascript-development
JavaScript/TypeScript ES2024+, async/await, DOM manipulation, Node.js, and API integration. Use when writing vanilla JS/TS code, working with REST/fetch APIs, implementing frontend logic, or configuring JS build tools.