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 product-on-purpose/thinking-framework-skills --skill think-expected-value-decision-treegit clone --depth 1 https://github.com/product-on-purpose/thinking-framework-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/product-on-purpose/thinking-framework-skills/think-expected-value-decision-tree)<a href="https://agentmods.dev/skills/product-on-purpose/thinking-framework-skills/think-expected-value-decision-tree"><img src="https://agentmods.dev/badge/skills/product-on-purpose/thinking-framework-skills/think-expected-value-decision-tree/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/product-on-purpose/thinking-framework-skills/think-expected-value-decision-tree"><img src="https://agentmods.dev/badge/skills/product-on-purpose/thinking-framework-skills/think-expected-value-decision-tree.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.00126 | $0.02083 |
| Opus 5 | $0.00063 | $0.01042 |
| Sonnet 5 | $0.00025 | $0.00417 |
| Haiku 4.5 | $0.00013 | $0.00208 |
Grade A, and why
think-expected-value-decision-tree 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 10d 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 — 69 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Expected Value Decision Tree
When a decision turns on outcomes you do not control, the reflex is to argue the options in prose and decide on a hunch. An expected-value decision tree refuses that. It prices the uncertainty: lay out the options as a tree of choice nodes (branches the decider controls) and chance nodes (branches nature controls, each carrying a probability), put values at the leaves, then roll the tree back right to left so every chance node collapses to its expected value (the sum of probability times value) and every choice node keeps its best branch. What survives the rollback is the highest-EV option and the path that produces it. The load-bearing ingredient, the thing a deterministic option matrix cannot express, is the chance node. The output is a decision tree with rolled-back EVs, the chosen branch, and a what-flips-it note, never a bare EV number presented as the answer.
When to Use
- A decision genuinely hinges on uncertain outcomes you can put rough, sourceable probabilities on (a launch with a real failure rate, an investment with uncertain payoffs).
- The structure is sequential - a choice now opens chance events that open later choices ("test first, then decide" vs "commit now").
- The stakes justify making the probability assumptions explicit and inspectable, so a disagreement becomes a disagreement about a named number rather than a clash of intuitions.
- You already have a probability to work with (or can source one), and the remaining question is what to do with it.
When NOT to Use
- The probabilities and values are guessed and then trusted. A tree renders fabricated inputs in the authoritative grammar of arithmetic, manufacturing false precision - the central failure mode. A number with no defensible source does not become trustworthy by being multiplied. Where the probability is the hard part, source a base rate with
think-reference-class-forecastinginstead of inventing one inside the tree. - The decision is a one-shot with intolerable downside. EV is an average over many independent repetitions; the law of large numbers guarantees convergence across many bets, not on the single bet in front of you. A positive-EV gamble that includes a small chance of ruin is the wrong call for a one-time, non-repeated decision. The criterion there is risk of ruin or a risk-averse utility, not raw EV - treating the average as the answer is a category error.
- It is mistaken for descriptive truth. EV is normative (what a coherent decider should do given those numbers), not a description of good judgment. People predictably depart from it via the certainty effect and nonlinear probability weighting (Allais 1953; prospect theory, Kahneman and Tversky 1979), and some of those departures are real risk preferences. The tool's job is to surface the tradeoff, not to declare the risk-neutral answer "correct" and the decider's risk aversion a bias.
- The outcome space cannot be enumerated or priced. Deep uncertainty (you cannot even list the outcomes) and incommensurable values that resist a common scale both break the rollback and produce tidy-but-fictional EVs.
- The call is reversible and low-stakes. A two-way door does not need a tree; building one is its own small over-process. Triage with
think-one-way-vs-two-way-doorfirst, before reaching for quantitative machinery.
What ships with it
5 files 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.
- 10d ago First seen · 69 lines · 126 tokens per session scan A d0cd92587171
think-expected-value-decision-tree is a skill published in the GitHub repository product-on-purpose/thinking-framework-skills (15 stars, last pushed 24d ago), licensed Apache-2.0. It adds 126 tokens to every session and 2,083 once invoked, about $0.0006 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
ops-demo
CocoOps demo mode activator — populates .cocoplus/ops/demo/ with realistic mock data and sets cocoplus.toml [demo] enabled = true. Invoked via $ops demo.
agent-teams-simplify-and-harden
Implementation + audit loop using parallel agent teams with structured simplify, harden, and document passes. Spawns implementation agents to do the work, then audit agents to find complexity, security gaps, and spec deviations, then loops until code compiles cleanly, all tests pass, and auditors find zero issues or…
acl-rule-analysis
Vendor-agnostic ACL and firewall rule analysis with shadowed rule detection, overly permissive rule identification, unused rule discovery, redundant rule flagging, and rule ordering optimization. Covers ACLs (Cisco/JunOS/EOS) and firewall policies (PAN-OS/FortiGate/CheckPoint).
add-analytics
Add Google Analytics 4 tracking to any project. Detects framework, adds tracking code, sets up events, and configures privacy settings.
agent-team-orchestration
Orchestrate multi-agent teams with defined roles, task lifecycles, handoff protocols, and review workflows. Use when: (1) Setting up a team of 2+ agents with different specializations, (2) Defining task routing and lifecycle (inbox → spec → build → review → done), (3) Creating handoff protocols between agents, (4)…
agent-bom-enforce
Enforce security policies on MCP tool calls and block dangerous operations at runtime. Use when: "block risky calls", "apply policy", "proxy", "runtime protection", "policy enforcement", "intercept MCP calls".