Install
openclaw skills install botlearn-mental-modelsProvides decision support by applying Charlie Munger’s mental models to reveal non-obvious insights and shifts in framing for judgment calls and strategy.
openclaw skills install botlearn-mental-modelsThis skill succeeds when the user sees the problem differently after reading the output. Not when the analysis is thorough. When the framing shifts. That happens when two unrelated disciplines independently point to the same conclusion — convergence from separate bodies of knowledge is hard to explain away. That independence is what gives it weight.
Read this first. Every rule below explains why this example works.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
LATTICEWORK invest in AI infrastructure company?
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Confidence MEDIUM — logic holds, timeline unknown
Wait How much do we lose if commoditization hits in 3 years?
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
WHY You're pricing a commoditization timeline, not a company. No one knows that number — including them.
◆ PATTERN Every infrastructure layer eventually commoditized. High margins are a timing advantage, not a moat.
· Evolutionary Thinking × Scale & Power Laws
◆ INCENTIVE Their largest customers have the most incentive to build this themselves. Best clients are the most dangerous ones.
· Game Theory × Institutions Matter
◆ TENSION 3 years: expensive. 7 years: cheap. The lattice can't tell you which — that's the actual decision.
· Probabilistic Thinking
◆ RISK Two similar bets already in portfolio. A third is concentration risk, not conviction.
· Margin of Safety
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
◆ each supporting line — always labeled. Confidence in words: "3 lenses converge, one unresolved tension" not just "Medium".
4 Munger Meta-Lenses — run these on every judgment call:
| # | Lens | Lights up when... |
|---|---|---|
| M1 | Inversion | Always — flip every goal, ask what guarantees failure |
| M2 | Circle of Competence | User reasoning confidently outside their knowledge base |
| M3 | Margin of Safety | Any plan requiring things to go right |
| M4 | Lollapalooza Effect | 3+ lenses converging — name the non-linear amplification |
20 Disciplinary Lenses:
| # | Lens | Discipline | Lights up when... |
|---|---|---|---|
| 01 | First Principles | Physics/Engineering | Accepting constraints that might not be real |
| 02 | Evolutionary Thinking | Biology | Persistent behavior, competition, incentives not making surface sense |
| 03 | Systems Thinking | Engineering/Ecology | Interventions failing, unexpected side effects, recurring problems |
| 04 | Probabilistic Thinking | Statistics/Psychology | Confident predictions, hindsight narratives, outcome bias |
| 05 | Antifragile | Statistics/Philosophy | Risk as thing to eliminate; volatility framed as pure negative |
| 06 | Paradigm Shift | History of Science | Debate stuck — both sides share a wrong frame |
| 07 | Scale & Power Laws | Physics/Biology | Growth assumptions; big things behaving differently than small |
| 08 | Entropy & Information | Physics/Math | Signal vs noise; communication breakdown; measuring uncertainty |
| 09 | Game Theory | Mathematics | Multi-party decisions; each player's move depends on predicting others |
| 10 | Network Effects | Physics/Sociology | Platform dynamics; adoption curves; who becomes the hub |
| 11 | Scarcity & Bandwidth | Psychology/Economics | Smart people making bad decisions under resource or attention pressure |
| 12 | Reframing Causation | Geography/History | Outcomes attributed to talent/culture when structure explains more |
| 13 | Institutions Matter | Political Economy | Assuming better people or technology fixes a structural problem |
| 14 | Power & Discourse | Sociology/Philosophy | Who defines the rules; whose knowledge gets legitimized |
| 15 | Self-Reference | Mathematics/Logic | Systems trying to fully understand or control themselves |
| 16 | Narrative as Reality | Anthropology | Why people coordinate; what holds organizations together |
| 17 | Medium Shapes Message | Media Theory | New tool assumed neutral; underestimating how medium reshapes behavior |
| 18 | Meaning Under Pressure | Psychology/Philosophy | Burnout, motivation collapse, teams losing the why |
| 19 | Scientific Skepticism | Philosophy of Science | Confident claims without falsifiable evidence |
| 20 | Non-linear / Wu Wei | Eastern Philosophy | Forcing outcomes that might resolve better with less intervention |
Explicit judgment calls — always activate:
Embedded judgment nodes — activate when you find one inside an execution task:
A user writing a PRD has an untested market assumption buried in section 2. A user designing an org chart is making a theory-of-management bet. A user asking for help with messaging is assuming they know what the customer fears.
Complete the task first, then surface the lattice. Don't interrupt — annotate after.
Never activate for:
The test before activating: replace "user" with a different person — would the lattice give a meaningfully different answer? If yes, it's judgment, activate. If no, the answer is generic information — respond directly without the lattice.
"How does X affect Y" = information, skip. "Given my situation, should I do X" = judgment, activate.
When uncertain: would this lattice shift the user's framing, or just add words? The bar isn't "is there something to say" — it's "would a smart person see this and think they wouldn't have seen it themselves." If not, stay silent. A missed insight is recoverable. A noisy skill gets ignored.
On first install, create the user profile file:
cp ~/.openclaw/skills/botlearn-mental-models/assets/user-profile-template.md \
~/.openclaw/workspace/mental-models-profile.md
Then open mental-models-profile.md and fill in what's relevant — decision context, expertise, known blind spots, risk profile. The lattice reads this at the start of every session to personalize analysis. Leave blank what isn't relevant.
Before the first lattice of any session, check if a user profile exists:
~/.openclaw/workspace/mental-models-profile.md
If found: read it silently. Load the user's context, blind spots, and any promoted learnings into working memory. Do not announce this — just use it.
If not found: proceed without it. After the first lattice, suggest once: "To get more personalized analysis, fill in your profile at ~/.openclaw/workspace/mental-models-profile.md."
Step 0: Pull user context first
Before running any lens, recall what you know about this person from the profile and current conversation:
This context changes the lattice. The same question from two different people should produce different outputs. "Should I buy gold" from someone with 80% in equities and a 20-year horizon is a different question than from someone with 6 months of runway and no diversification.
If no user context is available, note briefly what information would most change the analysis.
Step 1: Let lenses surface
Hold the judgment call in mind. Let relevant lenses surface — reach into the toolkit, not a checklist. Keep only those that reveal something non-obvious the user's framing misses.
Then run the 4 Meta-Lenses — they govern the others.
Step 2: Find the intersections
Step 3: Default output
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
LATTICEWORK [topic]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Confidence HIGH / MEDIUM / LOW — [one clause]
Action / Wait [One verb. Or: wait until X.]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Expand to full lattice only when the reasoning behind the conclusion changes what the user does.
Step 4: Full lattice
Use EXACTLY this format. No deviations.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
LATTICEWORK [topic]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Confidence HIGH / MEDIUM / LOW — [one clause]
Action / Wait [Verb first. Or: wait until X.]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
WHY [Conclusion — one line]
◆ PATTERN [A recurring dynamic this situation fits]
· [Lens A] × [Lens B]
◆ INCENTIVE [Who has reason to do what, and why that matters here]
· [Lens C] + [Lens D]
◆ TENSION [What's unresolved. Two paths. Pick one.]
· [Lens E] vs [Lens F]
◆ RISK [Specific downside if the key assumption is wrong]
· [Lens]
◆ ASYMMETRY [Upside vs downside — only if genuinely lopsided]
◆ TIMING [Act now because X / wait until Y]
◆ LIMIT [What's outside reliable judgment here. Who to ask.]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Labels: PATTERN / INCENTIVE / TENSION / RISK / ASYMMETRY / TIMING / LIMIT Use only those present. Every ◆ needs a label.
Label guidance:
STRICT FORMAT RULES — violating these breaks the output:
The lens name is a label, not the insight. Delete it — does the line still mean something specific? If not, rewrite.
Triggered when the user asks to review their reasoning — "what are my blind spots", "diagnose my thinking", "how am I approaching this". Ask for a recent decision or high-confidence position, then scan the lattice on their reasoning pattern.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
THINKING DIAGNOSTIC
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▎ [The dominant pattern in how this person thinks]
◆ Strength: [what lens they're using well]
◆ Blind quadrant: [discipline entirely absent]
◆ Highest-value unlock: [the one lens that would most change their analysis]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
One question to sit with:
[What the lattice reveals they haven't asked]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
One is enough if it's right.
Follow the user's input language. Chinese output uses bilingual lens names: [系统思维 · Systems Thinking]. Switch mid-conversation → follow immediately.
When the index isn't enough to articulate a precise intersection:
models/
├── 01-first-principles.md ├── 11-scarcity-bandwidth.md
├── 02-evolutionary-thinking.md ├── 12-reframing-causation.md
├── 03-systems-thinking.md ├── 13-institutions-matter.md
├── 04-probabilistic-thinking.md ├── 14-power-discourse.md
├── 05-antifragile.md ├── 15-self-reference.md
├── 06-paradigm-shift.md ├── 16-narrative-reality.md
├── 07-scale-power-laws.md ├── 17-medium-shapes-message.md
├── 08-entropy-information.md ├── 18-meaning-under-pressure.md
├── 09-game-theory.md ├── 19-scientific-skepticism.md
├── 10-network-effects.md └── 20-nonlinear-wuwei.md
Load one or two files maximum. The intersection is the insight — not the depth of any single lens.
At the end of any session where the lattice was used, scan for patterns worth remembering.
Log when:
Log format — append to ~/.openclaw/workspace/mental-models-profile.md under learnings::
[YYYY-MM-DD] — [what was observed] — recurrence: N
Examples:
[2025-03-06] — user thinks in systems but misses incentive structures — recurrence: 1
[2025-03-06] — lattice triggered on "how does X affect Y" (info retrieval) — recurrence: 2
[2025-03-06] — TENSION label resonated strongly on career decisions — recurrence: 1
Promotion rule — when a learning hits recurrence ≥ 3 across different topics, promote it:
| Pattern type | Promote to | Example |
|---|---|---|
| User's blind spot | known_blind_spots in profile | "consistently underweights incentive structures" |
| Trigger misfire | note in profile to adjust activation | "skip lattice on market impact questions" |
| Strong resonance | decision_context notes | "TENSION most useful on career decisions" |
Promotion is silent — update the profile file, don't announce it. The user notices the lattice getting better, not the mechanism.