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 apple-ouyang/book-to-skill --skill seeking-disconfirming-evidencegit clone --depth 1 https://github.com/apple-ouyang/book-to-skillWrote 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/apple-ouyang/book-to-skill/seeking-disconfirming-evidence)<a href="https://agentmods.dev/skills/apple-ouyang/book-to-skill/seeking-disconfirming-evidence"><img src="https://agentmods.dev/badge/skills/apple-ouyang/book-to-skill/seeking-disconfirming-evidence/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/apple-ouyang/book-to-skill/seeking-disconfirming-evidence"><img src="https://agentmods.dev/badge/skills/apple-ouyang/book-to-skill/seeking-disconfirming-evidence.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.00047 | $0.01686 |
| Opus 5 | $0.00023 | $0.00843 |
| Sonnet 5 | $0.00009 | $0.00337 |
| Haiku 4.5 | $0.00005 | $0.00169 |
Grade A, and why
seeking-disconfirming-evidence 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 12d 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 — 136 lines — stays where its author put it; the contents beside it link to each section on GitHub.
主动寻找反对证据
任务目标
打破确认偏误:主动寻找能推翻自己结论的证据,用「条件法」把辩论变成协作探索。
核心原则:没有反对意见 = 危险信号
研究发现,没有独立董事质疑的收购案,CEO 支付的溢价平均高出 41%——越是没人反对,越要警惕。
通用 CEO 斯隆的做法:「先生们,我们已经达成统一意见了?那把这个问题推迟到下次会议,让我们多些时间提出不同看法。」
操作步骤
第一步:设置「魔鬼代言人」
指定一个人专门负责反对,而不是等待自然反对声音出现。
- 天主教 400 年传统:封圣前必须有「助信者」专门质疑候选人资格。1983 年取消后,封圣速度提高了 20 倍——速度快了,但质量呢?
- 五角大楼「射杀委员会」:专门阻止构想拙劣的任务
- 迪士尼「铜锣秀」:让很多人提想法,领导者快速淘汰糟糕的
- Kathy Eisenhardt 研究硅谷 CEO:决策最快、最有效的 CEO 都有一位高级顾问——了解行业但没有个人议程,能提供不加修饰的真实意见。没有利益牵绊,才能真正说出反对意见。
操作:在会议开始前,明确指定谁扮演反对角色,或者轮流担任。
第二步:用「条件法」替代辩论(杀手级技巧)
来源:罗杰·马丁在因梅特矿业公司的实践。
高管想关闭铜矿,矿区经理想继续开采,双方争了几个小时毫无进展。马丁打断说:
「不要再争谁对谁错了。我们一次考虑一个选择,然后问:这个选择必须具备怎样的条件,才能成为正确的答案?」
结果:高管列出了「继续开矿」合理所需的生产目标;矿区经理认同了「如果铜价不反弹,关闭就是最优解」。会议结束时,5 个选项各自的成立条件都达成了共识。
操作模板:
对于选项 A,它要成为最佳选择,需要以下条件为真:
1. ___
2. ___
对于选项 B,它要成为最佳选择,需要以下条件为真:
1. ___
2. ___
现在我们来讨论:哪些条件更可能实现?
第三步:先说对方的优点和自己的缺点
NetApp 创始人戴夫·希茨的反直觉技巧:
「捍卫一个决定的最佳方法,是指出它的缺点。」
当有人反对你的 A 计划时,不要重复自己的论据,而是:
- 先说 Z 计划(对方方案)的优点,包括对方没提到的
- 再说 A 计划(自己方案)的缺点,包括对方没提到的
- 然后再说为什么仍然选 A
效果:对方会从防御状态转为倾听状态,因为他感受到了被理解。
第四步:问出真实信息
对专家:刨根问底,问事实性细节
不要问「你有经验吗」,要问具体事实:
- 「过去三年你处理过几个类似案子?最后一个是怎么结案的?」
- 「五年前你们招了多少实习律师?现在还剩几个?」
研究证明:问「它存在什么样的毛病?」比问「它没有任何毛病,对吗?」多获得 28% 的真实信息(89% vs 61%)。
对用户/小白:问开放式问题,不要引导
不要问「是不是这里痛?」,要问「你能描述一下是什么感觉吗?」
引导式问题会让对方顺着你的预设回答,你收集到的是你想听的,不是真相。
第五步:「刻意犯错」——主动测试隐性假设
当你意识到自己有一个「理所当然」的假设,但从未验证过,可以故意违反它来测试。
- DSI 咨询公司:公司一直假设「不能向大客户收高价」,某次故意报了一个高得离谱的价格,结果客户直接签了百万美元合同——假设是错的。
- Intuit 印度农民产品:Scott Cook 认为这个产品「异想天开」,但没有直接否决,而是让团队做实验。实验证明他错了,产品大获成功。
- Bounty 纸巾营销人员:被迫测试竞争对手产品后,发现自己竟然喜欢对方产品的某些特质,不得不重新评估 Bounty 的竞争力——确认偏误让他之前从未做过这个测试。
操作:列出你「从未质疑过」的 2-3 个假设,选一个成本最低的,设计一个小实验来故意违反它。
注意事项
- 条件法的关键:不是「你的方案有什么问题」,而是「你的方案要成立,需要什么条件」——前者是攻击,后者是探索
- 魔鬼代言人必须是真实的反对,不是走过场。如果每次都是同一个人反对,他的意见会被忽视
- 背调时,不要只问候选人推荐的人,要让推荐人再推荐别人——候选人推荐的人必然说好话
- 「刻意犯错」不是真的犯错,而是用最小代价测试假设——选成本最低的假设先试
使用示例
示例 1:团队决策陷入辩论
场景:两派人各执一词,会议开了两小时没结论
操作:
- 暂停辩论,切换到条件法
- 问 A 派:「假设 B 方案是对的,需要什么条件为真?」
- 问 B 派:「假设 A 方案是对的,需要什么条件为真?」
- 把条件列出来,讨论哪些条件更可能实现
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 12d ago First seen · 136 lines · 47 tokens per session scan A ba59a034bdad
seeking-disconfirming-evidence is a skill published in the GitHub repository apple-ouyang/book-to-skill (131 stars, last pushed 6mo ago), licensed MIT. It adds 47 tokens to every session and 1,686 once invoked, about $0.0002 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
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
local-ai-agents
Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
chat-pet-sprite-creation
Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…
insight-error-page
Write or audit an insight-kind error page for the Next.js dev overlay. Use when creating a new errors/ .mdx page, auditing an existing one, or checking that a page matches the framework fix cards. Covers page structure, title alignment, FixCard cards with Copy prompt button, code snippets, terminology verification…