framing-decisions
Skill9 starsChanged 4 months agoMITView on GitHub
Turns a vague "what should we do about X" into a scored decision - explicit actions, an explicit unknown, an explicit prior, and one utility scale - then picks by maximum expected utility and checks the result for framing effects. Use when facing a choice between options under uncertainty, when a decision has stalled in circular debate, when someone asks "should we do A or B", or before writing any decision record, strategy memo, or roadmap commitment.
2 other projects use a version of this.
Adopted by
Most recently taken up by
- JustYannicc/skillstheir own version, first seen Nov 1, 2026
- DanaResearchGroup/agent-skillstheir own version, first seen Aug 26, 2026
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 2
- JustYannicc/skills★ 3same name
- DanaResearchGroup/agent-skills★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository7 other files it gives its agents.
- allocating-effortSkill
- learning-from-outcomesSkill
- planning-horizonsSkill
- reading-rivalsSkill
- stress-testing-plansSkill
- tracking-beliefsSkill
- valuing-informationSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
17 rules. About 0 are common, 13 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈13
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 20
Run the whole workflow. Skip to the calculator and you will optimize a badly posed problem, which is worse than arguing.
- Distinctive: line 41
Look for the reversible half: If an option can be split into a cheap reversible part and an expensive irreversible part, those are two …
- Distinctive: line 48
Ask: *what would we need to know for this to be obvious?* That is the hidden state.
- Distinctive: line 49
Write it as two to four mutually exclusive, collectively exhaustive states.
- Distinctive: line 51
If two people disagree about the action but agree on the state, the disagreement is about values, and no analysis will settle it.
- Distinctive: line 63
Never write a prior of 0 or 1.
- Very specific: line 87
Write the table to a JSON file shaped like examples/meu.json, then:
- Distinctive: line 93
Read three numbers: the winner, the advantage of second place, and the certainty equivalent.
- Distinctive: line 97
If the answer is "we do not know enough to choose", stop here and switch to the
- Very specific: line 103
Read references/bias-checks.md and run the five checks.
- Very specific: line 113
Use the template in references/decision-record.md.
- Distinctive: line 120
Put the tables in the answer, not in scratch work.
- Distinctive: line 163
"Both options are fine" is a real result: When the advantage is under a percent, pick the reversible one and stop spending time.
- Very specific: line 168
Log utility needs positive values: If an outcome is a negative cash position, shift the whole table by a constant (shift in the utility …
- Distinctive: line 181
valuing-information: when the answer is "we need more data"
- Distinctive: line 182
stress-testing-plans: when the answer depends on a model assumption you are unsure of
- Distinctive: line 183
planning-horizons: when this is one move in a sequence rather than a single choice
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Framing decisions
Most stalled decisions are not hard. They are unframed: the options are fuzzy, the disagreement is about an unnamed hidden variable, and the outcomes are being scored on two different scales by two different people. Framing dissolves more arguments than analysis does.
Run the whole workflow. Skip to the calculator and you will optimize a badly posed problem, which is worse than arguing.
Workflow
- [ ] 1. Name the actions (at least three, one of which is do nothing)
- [ ] 2. Name the hidden variable the disagreement is actually about
- [ ] 3. Put a number on the prior, sourced not guessed
- [ ] 4. Score every action-state pair on one scale
- [ ] 5. Run the calculator
- [ ] 6. Run the bias check before committing
- [ ] 7. Write the decision record1. Name the actions
List them as things someone could start doing tomorrow. Three rules:
- Always include "do nothing". It is a real action with a real payoff, and it is often the incumbent that everything else must beat.
- Look for the reversible half. If an option can be split into a cheap reversible part and an expensive irreversible part, those are two different actions. The reversible half usually wins on expected utility and is usually not on the list.
- Stop at five. More options do not improve the decision; they hide it.
2. Name the hidden variable
Ask: what would we need to know for this to be obvious? That is the hidden state. Write it as two to four mutually exclusive, collectively exhaustive states.
If two people disagree about the action but agree on the state, the disagreement is about values, and no analysis will settle it. Say so and escalate to whoever owns the values.
3. Put a number on the prior
Probabilities come from a reference class, not from a feeling. In order of preference:
- Our own past attempts at the same thing. Count them.
- A published base rate for this class of thing.
- A stated pseudocount: "this is a Beta(2,3) belief, worth about five observations."
Never write a prior of 0 or 1. If you have no data at all, use a uniform prior and say so; that is a legitimate answer, and it is what makes step 5 tell you to go and measure something instead.
4. Score outcomes on one scale
Pick one currency for the whole table. Cash at the end of the horizon is the usual choice, and it must be the resulting position, not the delta, so a curved utility can be applied to it.
Then decide whether the decision is risk neutral:
| Situation | Utility form |
| Worst case is a rounding error against the bankroll | linear |
| Worst case would materially shorten runway | log |
| Worst case is fatal (insolvency, licence loss, reputation) | do not model it - remove that action |
Risk aversion is not pessimism. It is the statement that losing half your cash hurts more than doubling it helps, which is true and which linear expected value cannot express. Run both forms; if they disagree, that disagreement is the decision.
5. Run the calculator
Write the table to a JSON file shaped like examples/meu.json, then:
node scripts/calc.js meu decision.json --utility logRead three numbers: the winner, the advantage of second place, and the certainty equivalent. If the advantage is near zero the numbers are not choosing for you, and you should say that plainly rather than manufacture a winner.
If the answer is "we do not know enough to choose", stop here and switch to the valuing-information skill. Do not go and gather data first; find out whether the data would change anything.
6. Bias check
Read references/bias-checks.md and run the five checks. They take a minute and they
catch the failure modes that survive step 5. The two that fire most often:
- Framing. Restate the leading option as a loss instead of a gain and re-read the table. If your preference flips, the preference was about the wording.
- Certainty. A guaranteed small gain beating a much larger probable gain is a known violation of rational preference, not a conservative instinct.
7. Write the decision record
Use the template in references/decision-record.md. The non-negotiable field is the
stated probability: a number you can be scored on later. A decision record without
a falsifiable prediction cannot teach you anything, and the
learning-from-outcomes skill has nothing to grade.
Output template
Put the tables in the answer, not in scratch work. A reader who cannot see the numbers cannot challenge them, and the numbers are the only falsifiable part.
## The decision
<one sentence, phrased as the action being chosen>
## Actions
<at least three, including do nothing and any reversible half>
## Hidden variable
<2-4 exclusive states, with priors and where each number came from>
| State | P | source |
|---|---|---|
## Outcome table
<states x actions, scored as the resulting position on one scale>
| State | P | action A | action B | do nothing |
|---|---|---|---|---|
Utility form: <linear | log | power(lambda)> because <reason>
## Result
<paste the meu output, including the advantage of second place>
## Bias check
<the checks that fired, or "none">
## Decision and predictions
<the action, then 2-5 dated predictions with probabilities>Gotchas
- Utility is not revenue. A table scored in monthly revenue while one action risks the company is not a decision table. Score the resulting position.
- The lottery must sum to 1. The calculator refuses tables that do not, because a set of probabilities that sums to 0.8 usually means a missing outcome, not a typo.
- Utilities are only defined up to a positive affine transform. You can add a constant or scale the whole table without changing the answer. You cannot compare a utility number from one decision to a utility number from another.
- "Both options are fine" is a real result. When the advantage is under a percent, pick the reversible one and stop spending time.
- An action with a catastrophic branch does not belong in the table. Expected utility will happily trade a 2% chance of insolvency for enough upside. Remove the action or cap the downside first, then score what is left.
- Log utility needs positive values. If an outcome is a negative cash position,
shift the whole table by a constant (
shiftin the utility options) rather than switching to linear and quietly losing the risk aversion.
Reference
references/bias-checks.md- the five checks for step 6, with the experiments they come fromreferences/decision-record.md- the output templatereferences/utility-curves.md- choosing and defending a utility formreferences/decision-networks.md- when the problem has more structure than one hidden variable
Related skills
- valuing-information when the answer is "we need more data"
- stress-testing-plans when the answer depends on a model assumption you are unsure of
- planning-horizons when this is one move in a sequence rather than a single choice
- learning-from-outcomes to grade the prediction you just wrote down
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

