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 decision-tripwiresgit 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/decision-tripwires)<a href="https://agentmods.dev/skills/apple-ouyang/book-to-skill/decision-tripwires"><img src="https://agentmods.dev/badge/skills/apple-ouyang/book-to-skill/decision-tripwires/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/decision-tripwires"><img src="https://agentmods.dev/badge/skills/apple-ouyang/book-to-skill/decision-tripwires.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.00049 | $0.01642 |
| Opus 5 | $0.00024 | $0.00821 |
| Sonnet 5 | $0.00010 | $0.00328 |
| Haiku 4.5 | $0.00005 | $0.00164 |
Grade A, and why
decision-tripwires 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 — 126 lines — stays where its author put it; the contents beside it link to each section on GitHub.
决策触发器:提前设定止损点
任务目标
帮助用户在行动前设定明确的触发条件,对抗「自动驾驶」惯性和沉没成本陷阱。
核心问题:不是「什么价格止损」,而是「什么信号出现就重新评估」。
操作步骤
第一步:识别「自动驾驶」状态
问用户:
- 这个项目/关系/投资,你上次主动重新评估是什么时候?
- 如果现在从零开始,你还会做同样的选择吗?
- 你是在主动推进,还是只是「等等看会发生什么」?
柯达的教训:1981年内部报告已预测数码威胁,但胶片生意依然有利可图,高管们选择「再等等看」——直到2012年破产。「等等看」是没有止损点的典型症状。
第二步:设定触发点表格
不要设止损价,要设触发信号。格式:
| 当前假设 | 采取行动的时机 |
|---|---|
| 用户不会为功能X付费 | 如果超过10%的用户主动询问功能X |
| 这段关系会改善 | 如果3个月内没有具体改变 |
| 市场还没准备好 | 如果竞争对手的同类产品月活超过10万 |
引导用户填写自己的版本。触发点必须具体、可观测,不能是「感觉不对的时候」。
第三步:用隔断效应切分资源
把资源分成小份,每份用完都强迫重新决策:
- 赌资实验:赌资分装10个信封 vs 放在1个信封,赌博次数显著减少
- 饼干实验:锡箔纸单独包裹 → 24天吃完;不包裹 → 6天吃完
- 风险投资:分轮投入,每轮都重新评估「这个假设还成立吗?」
实操:把预算/时间/精力分成3份,每份用完前必须回答:「如果现在是第一天,我还会继续投入吗?」
第四步:设截止日期
有截止日期:66%完成;无截止日期:25%完成(特沃斯基和沙菲尔研究)。
截止日期不只是催促,它是强制重新评估的节点。华为PDA流程的「冲刺过点」本质上是:到这个时间点,必须做出继续/调整/放弃的决定,不能再拖。
第五步:区间估计,不要点估计
未来不是一个点,是一个区间。
- 直接预测准确率:45%
- 考虑最坏+最好情况后:70%
- 再加入基本比率参考:96%
引导用户:「这件事最坏会怎样?最好会怎样?」——两端都想清楚,比只想「最可能」更准确。
第六步:事前析误(Pre-mortem)
不要问「这件事可能会失败吗?」,而是:
「假设现在是一年后,这件事已经彻底失败了。导致失败的原因是什么?」
这种「预想式回顾」比直接想原因多产生 25% 的理由(Klein研究)。
配合 FMEA 打分:出错可能性 × 后果严重性 × 无法察觉可能性,分数最高的环节优先处理。
第七步:预演成功场景(可选)
对于高风险的成功,也要提前准备:
- 迷你唐卡案例:预判液皂会爆火 → 提前用期权合约锁定全球塑料泵供应18个月 → 竞争对手被排出市场两年
- 桑德拉加薪:在脑海中把谈判过了三四遍,预演老板所有可能的拒绝 → 最终成功加薪8%
问用户:「如果这件事超出预期地成功,你准备好了吗?」
输出物
引导用户产出:
- 触发点表格:至少3行,每行都有具体可观测的信号
- 资源隔断计划:把投入分成几份,每份的重新评估节点
- 截止日期:下次强制评估的时间
- Pre-mortem 清单:3-5个最可能的失败原因 + 对应预防措施
注意事项
- 止损点不是「悲观」,是谦逊——承认自己的预测可能错误
- Zappos 的4000美元离职提议本质上是给新员工设止损点:「如果你不确定,现在就是最低成本的退出时机」
- 触发点设好后要写下来,不能只在脑子里——「感觉不对的时候」不算触发点
- 对于已经深陷的项目:先做Pre-mortem,再设触发点,不要直接问「要不要继续」(沉没成本会干扰判断)
- Van Halen 棕色 M&M 案例:David Lee Roth 在演出合同第 126 条要求后台 M&M 不能有棕色的。合同技术规格极其复杂,如果看到棕色 M&M,说明主办方没仔细读安全规格,立即触发全面设备检查。tripwire 不一定是坏消息,而是一个诊断信号——用低成本信号检测高成本风险
- Heath 兄弟「丈夫辞职」案例:Heath 兄弟在《Decisive》中建议,不要在情绪激动时立即辞职,而是设定具体触发点——「下次老板要求我10点还在加班时,我就辞职」。这把模糊的「我受够了」转化为可观测的信号,避免冲动决策,也避免无限期忍耐
- Heath 兄弟「成人子女回家住」案例:Heath 兄弟建议,允许成年子女搬回家时,提前设定触发点:「6个月后开始收租」或「不把所有行李搬回来,部分放储藏室」。这防止「暂时」变成「永久」——惰性会让临时安排自动续期,触发点强制重新评估
- Bounty 纸巾营销人员案例:宝洁 Bounty 的一位营销人员被迫在实验室测试竞品纸巾,结果发现自己竟然更喜欢竞品的某些特性。这次「强制近距离观察」打破了他对 Bounty 竞争力的假设,触发了对产品定位的重新评估——有时候触发点不是数字,而是一次被迫的直接接触
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 · 126 lines · 49 tokens per session scan A ba6d72a684da
decision-tripwires is a skill published in the GitHub repository apple-ouyang/book-to-skill (131 stars, last pushed 6mo ago), licensed MIT. It adds 49 tokens to every session and 1,642 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…
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…
next-cache-components-optimizer
Drive a Next.js route to instant navigation by setting up an agentic loop, under Cache Components / PPR, on initial load (hard navigation) and client-side navigation (soft navigation). Encode the goal as a failing @next/playwright instant() e2e and work it to green, one verified route at a time; the shipped test then…
next-partial-prefetching-adoption
Turn on Partial Prefetching in a Next.js app and work through the insights it surfaces. Use when the user wants to enable or adopt Partial Prefetching, flip the partialPrefetching flag, opt routes in with export const prefetch = 'partial', audit Link prefetch={true} behavior, preserve existing prefetched UI with…