Install
openclaw skills install @deciqai/decision-treeActivate when: user says 'help me choose between two options with different risks', 'I need to map out what could happen if we go with X', 'we have a sequential decision — first we do A then depending on results we do B', 'what is the expected value of this investment given uncertain demand'. Do NOT activate when: the decision is a one-shot choice with no sequential stages (use simple EV instead); probabilities cannot be estimated even roughly and uncertainty is too deep to quantify.
openclaw skills install @deciqai/decision-treeA decision tree maps a multi-stage decision: decision nodes (squares) for choices you control, chance nodes (circles) for outcomes you don't, probabilities on every branch, payoffs at the leaves — then rollback right-to-left to get expected value at the root. First systematized by John F. Magee (HBR, 1964); formalized by Howard Raiffa (1968). Its biggest value: converting "I feel we should expand" into "what probability do you assign to high demand?" — making every assumption explicit and contestable.
Composes with expected-value-and-kelly (EV scaffold + bet sizing), probabilistic-thinking (calibration per node), inversion (rollback = working outcomes backward), mece (branches must be MECE so probabilities sum to 1.0).
Not when: one-shot choice with no stages; probabilities unestimable; payoffs purely qualitative; branch set too large (use scenario planning instead).
In Coach mode, respond one step at a time. Each [WAIT] is a hard stop — output only that step's question, then stop.
[WAIT — do not advance until user responds]
[WAIT — do not advance until user responds]
[WAIT — do not advance until user responds]
Step 1 — Root: Define the decision (options, timeline, decision-maker). Draw a square; each option is a branch.
Step 2 — Chance nodes: For each branch, identify uncertain events → draw circles. Branches at each circle must be MECE; probabilities must sum to 1.0.
Step 3 — Probabilities: Assign a number (0.0–1.0) + documented basis to every branch. Reject "50/50" without justification.
Step 4 — Payoffs: Assign consistent-unit payoffs (NPV, revenue, etc.) to every terminal leaf.
Step 5 — Rollback: Right to left — EV at each circle = Σ(p × value). At each square, keep highest EV branch; mark losers //.
Step 6 — Sensitivity + stop-rule: Find the probability threshold where the optimal choice switches. Compute EVPI = EV(perfect info) − EV(best decision now). If EVPI < cost of data: decide now. If EVPI > cost: gather data first. Stop refining when the leading option's EV advantage exceeds the value of further analysis.
Decision Tree: <topic>
Options: A / B | Timeline:
Tree: [node-by-node description]
Probabilities: Node | Branch | p | Basis
Payoffs: Path | Value | Unit
Rollback: Option A EV= / Option B EV= / Optimal=
Sensitivity: flips when p([key branch]) > [threshold] | EVPI=
Recommendation: [option] — holds if [condition]; flips if [condition]
→ Method in Action: Magee 1964 — Chemical Plant Investment (HBR)
| Domain | Root Decision | Key Uncertainty | Payoff | Watch For |
|---|---|---|---|---|
| Capital investment | Large vs. small plant | Demand scenarios | NPV | Overconfident demand p |
| R&D portfolio | Fund vs. kill | Technical success; adoption | Revenue × p | Ignoring base-rate failure |
| Litigation | Settle vs. litigate | Win/lose; damages | Expected settlement | Anchoring on best case |
| Product launch | Now vs. delay | Market reception; competitor | Revenue per scenario | Missing competitor-first branch |
| M&A | Acquire vs. pass | Integration; synergy | Post-acquisition EV | Paying for performance peak |
→ Primary sources: references/sources.md
[D] = designed upfront | [O] = observed in real use. [O] entries are more valuable.
| Rationalization (Fake Move) | Reality |
|---|---|
| [D] "This is strategic — we don't need numbers." | Without numbers the tree is just a picture. Force strategic disagreements to become numerical ones. |
| [D] "We can't estimate probabilities." | Even rough estimates beat implicit zero/one assumptions. Every un-numbered branch already has an implicit probability. |
| [D] "The tree chose A — we're done." | Holds only at assigned probabilities. Sensitivity analysis is mandatory before concluding. |
| [D] "We enumerated all branches." | Trees are always simplifications. Ask explicitly: what branches are missing? |
| [D] "It's 50/50 — we just don't know." | 50/50 is a claim requiring justification. What base rate supports it? |
| [D] "My gut says B even though the tree says A." | Gut = implicit tree with different probabilities. Find which number your gut is using and put it in. |
| [D] "The tree gave a recommendation — it must be right." | GIGO: garbage probabilities produce garbage recommendations. Calibrate inputs first. |
| → Add [O] entries here after each real use — paste the actual failure pattern | What went wrong and why |
Part of deciqAI Knowledge Skills — open-source thinking skills that make rigor executable for AI agents. Built by deciqAI · https://deciqai.com · Contributions welcome — see the template at the repo root.