Apply Charlie Munger's latticework of mental models to any problem...
Apply 98 cognitive frameworks from multiple disciplines to analyze problems, make decisions, and think more clearly.
This skill is backed by the mental-models CLI — a single command that does model selection, lookup, and structured application. The CLI is the fast path; the fallback is reading files directly. Both work. Prefer the CLI.
Run once per session:
mental-models doctor --json
If it returns {"ok": true, ...} → use the CLI workflow below.
If the command is not found → try uvx mental-models doctor --json (runs from PyPI without install). If that also fails, fall back to the File Fallback section at the bottom of this doc — you can still do everything by reading files directly from models/, REFERENCE.md, and PATTERNS.md.
mental-models select "<user's question or paraphrased problem>" -k 5 --json
Returns a JSON object with a models array. Each entry has slug, name, category, description, keywords, path. Pick 2–3 that best fit — prefer cross-category coverage (that's the latticework).
mental-models apply <slug> --problem "<user's problem>" --json
Returns:
description — what the model isthinking_steps — the sequential framework (walk these verbatim, don't paraphrase)coaching_questions — prompts to deepen the analysiswhen_to_avoid — failure modes (always check and surface if relevant)thinking_steps against the user's factsmental-models get <slug> # full markdown for deep reading
mental-models get <slug> --field keywords
mental-models list --category "Human Nature"
mental-models categories
mental-models which # resolve data path
All commands support --json. Exit codes: 0 ok, 2 not found, 3 bad args.
Match the problem's shape to bias your query terms:
Full decision trees: PATTERNS.md. Per-category deep walkthroughs: REFERENCE.md. Worked examples: examples/.
thinking_steps verbatim — don't paraphrase the framework awaywhen_to_avoid — warn the user if the model misfits| Category | IDs | Focus |
|---|---|---|
| General Thinking | m01-m09 | Foundations: inversion, first principles, second-order |
| Science | m10-m29 | Natural laws: leverage, inertia, activation energy |
| Systems Thinking | m30-m40 | Constraints, feedback, emergence, scale |
| Mathematics | m41-m47 | Randomness, regression to mean, sampling |
| Economics | m48-m59 | Scarcity, trade-offs, supply/demand |
| Art | m60-m70 | Framing, audience, contrast |
| Strategy / Warfare | m71-m75 | Asymmetric advantage, seeing the front |
| Human Nature | m76-m98 | Biases, incentives, social proof |
SKILL.md — this entry point (CLI-driven playbook)REFERENCE.md — deep per-category walkthrough (fallback + teaching)PATTERNS.md — decision trees for common problem shapesexamples/ — 5 worked scenariosmodels/ — 98 model files (the source of truth the CLI reads)resources/model-index.json — searchable keyword indexresources/quick-reference.md — problem→model lookup tablesIf mental-models is not installed and uvx mental-models is not available:
resources/model-index.json and grep resources/quick-reference.md for keyword matchesmodels/Mental_Model_<Category>/m<NN>_<name>.md and walk the Thinking Steps section verbatimThis fallback gives you the same content as the CLI — the CLI just makes selection, lookup, and section extraction faster and more deterministic.