MCPInstall

thinking-model-selection

Choose the right mental model for the problem at hand. Use when facing new problems, when current approaches fail, or when you need to match tool to context.

Installs
127
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/tjboudreaux/cc-thinking-skills --skill thinking-model-selection
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads thinking-model-selection automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Model Selection

Overlaps thinking-model-router. If you already know which model fits, skip routing entirely and just invoke that model. If you don't, thinking-model-router is the single entry point — start there. This skill goes deeper on how to classify a problem and when to abandon a model once chosen. (Audit recommends merging this into thinking-model-router; for now, prefer the router as the front door.)

Overview

Every mental model has a domain where it excels and domains where it fails. Model selection is the meta-skill of recognizing which model fits which problem. The expert doesn't just know many models—they know when to apply each one. Using the wrong model is often worse than using no model at all.

Core Principle: The map is not the territory. Choose the map that best serves your journey.

When to Use

  • Facing a new problem type
  • Current approach isn't working
  • Multiple stakeholders suggest different frameworks
  • Deciding how to structure analysis
  • Teaching others which tools to use
  • Building decision-making processes

Decision flow:

Facing a problem?
  → Have you identified the problem type? → no → CLASSIFY THE PROBLEM FIRST
  → Does your usual model fit? → no → CONSIDER ALTERNATIVES
  → Are you using a model by habit? → yes → QUESTION THE FIT

When NOT to Use

  • You don't know which thinking tool to reach for. Start with thinking-model-router — it is the single entry point that routes to the right skill. This skill goes deeper on how to classify problems and match models, but only after the router has narrowed the field.
  • You've already classified the problem type. If you know it's a debugging problem, just invoke thinking-scientific-method or thinking-five-whys-plus directly. Don't run a full model-selection exercise to confirm what you already know.
  • The problem is routine and your default approach fits. Model selection adds overhead; on a familiar problem, use the model you know works.
  • You're tempted to run this as a first step on every task. That turns a meta-skill into a tax. Most tasks don't need model selection — they need execution. Reserve this for when your usual approach has demonstrably failed.

Redirect: For nearly all cases, start with thinking-model-router — it classifies the problem and dispatches to the right skill in one pass. This skill is the reference for how that classification works, not a replacement for the router.

Trigger Card

When your usual problem-solving approach has demonstrably failed and you need to match a different tool to the task:

  1. Classify the problem: Diagnostic / Decision / Understanding / Creative / Evaluation.
  2. Check the constraint: Time pressure? Information gaps? High stakes? Complexity?
  3. Match: Use the Problem-Model Matching table below to find the category → select the specific model.
  4. Set an exit criterion: If no insight in 15+ minutes or key facts don't fit, switch.

If you don't know which approach to use at all, start with thinking-model-router — it does the classification and dispatch in one pass.

Problem-Model Matching

Step 1: Classify the Problem

## Problem Classification

Problem: [Describe the problem]

Problem dimensions:
| Dimension | Assessment |
|-----------|------------|
| Predictability | Can outcomes be predicted? [High/Medium/Low] |
| Complexity | How many interacting parts? [Simple/Complicated/Complex] |
| Time horizon | When do consequences matter? [Immediate/Short/Long] |
| Reversibility | Can decisions be undone? [Easily/With difficulty/Not at all] |
| Information | How much do you know? [Complete/Partial/Minimal] |
| Stakeholders | Who's affected? [Individual/Team/Organization/Society] |

Step 2: Match to Model Categories

## Model Category Matching

Based on classification, which category fits?

| Problem Type | Model Category | Examples |
|--------------|----------------|----------|
| Root cause unknown | Diagnostic models | 5 Whys, Scientific Method, Kepner-Tregoe |
| Decision under uncertainty | Probabilistic models | Bayesian, Expected Value, Regret Minimization |
| System behavior | Systems models | Feedback Loops, Leverage Points, Archetypes |
| Cognitive bias risk | Debiasing models | Pre-mortem, Red Team, Steel-manning |
| Resource allocation | Constraint models | Theory of Constraints, Opportunity Cost |
| Innovation/exploration | Generative models | First Principles, TRIZ, Effectuation |
| Domain classification | Meta models | Cynefin, Circle of Competence |

Step 3: Select Specific Model

## Model Selection

Category: [From Step 2]

Candidate models:
| Model | Fit Score | Strengths for This Problem | Weaknesses |
|-------|-----------|---------------------------|------------|
| [Model 1] | [1-5] | [Why it fits] | [Limitations] |
| [Model 2] | [1-5] | [Why it fits] | [Limitations] |
| [Model 3] | [1-5] | [Why it fits] | [Limitations] |

Selected model: [Choice]
Rationale: [Why this model for this problem]

Model Selection Matrix

By Problem Type

DIAGNOSTIC PROBLEMS (What's causing this?)
├── Known categories exist → Kepner-Tregoe (systematic analysis)
├── Need quick root cause → 5 Whys Plus (iterative drilling)
├── Hypothesis-driven → Scientific Method (test and falsify)
└── System-wide issue → Feedback Loops (find reinforcing patterns)

DECISION PROBLEMS (What should we do?)
├── High stakes, irreversible → Regret Minimization, Pre-mortem
├── Under uncertainty → Bayesian, Probabilistic Thinking
├── Resource constrained → Opportunity Cost, Theory of Constraints
├── Multiple options → Kepner-Tregoe (decision analysis)
└── Type 1 vs Type 2 → Reversibility Framework

UNDERSTANDING PROBLEMS (How does this work?)
├── Complex system → Systems Thinking, Feedback Loops
├── Human behavior → Jobs to be Done, Incentive Analysis
├── Organizational → Archetypes, Leverage Points
└── Competitive → Red Team, Game Theory

CREATIVE PROBLEMS (How might we...?)
├── Break assumptions → First Principles, TRIZ
├── Limited resources → Effectuation, Via Negativa
├── Technical contradiction → TRIZ
└── Unknown territory → Thought Experiments, Cynefin (probe)

EVALUATION PROBLEMS (Is this good?)
├── Arguments/proposals → Steel-manning, Red Team
├── Predictions → Probabilistic, Calibration
├── Longevity → Lindy Effect
├── Safety → Margin of Safety, Pre-mortem
└── Expertise fit → Circle of Competence

By Domain

## Domain-Model Mapping

| Domain | Primary Models | Why |
|--------|---------------|-----|
| Debugging | Scientific Method, 5 Whys | Hypothesis-differential localization, root cause |
| Architecture | Systems Thinking, Leverage Points | Interconnections, intervention |
| Product | Jobs to be Done, Cynefin | User needs, complexity |
| Strategy | Red Team, Pre-mortem | Adversarial, risk |
| Performance | Theory of Constraints, Fermi | Bottlenecks, estimation |
| Decisions | Reversibility, Regret Minimization | Stakes assessment |
| Innovation | First Principles, TRIZ | Breakthrough thinking |
| Risk | Margin of Safety, Probabilistic | Uncertainty handling |

Model Failure Modes

Using the Wrong Model

## Model Mismatch Indicators

Signs you're using the wrong model:
- Analysis feels forced or awkward
- Key aspects don't fit the framework
- You're ignoring important factors
- Results don't match intuition consistently
- Stakeholders don't recognize the framing

Common mismatches:
| Situation | Wrong Model | Right Model |
|-----------|-------------|-------------|
| Complex adaptive system | Root cause analysis | Systems thinking |
| Simple process problem | Systems thinking | Checklist/SOP |
| Uncertain future | Detailed planning | Effectuation |
| Known domain | First principles | Best practices |
| Political problem | Technical analysis | Stakeholder mapping |

Model Overuse

## Model Overuse Patterns

"When you have a hammer, everything looks like a nail"

Signs of overuse:
- You use the same model for every problem
- You haven't learned new models recently
- Problems that don't fit are "forced" into the model
- You dismiss problems that don't fit your model

Fix: Deliberately practice with unfamiliar models
     Ask: "What model would someone else use?"
     Rotate models intentionally

Model Selection Process

Quick Selection (< 2 minutes)

## Quick Model Selection

1. What type of problem? [Diagnostic/Decision/Understanding/Creative/Evaluation]
2. What's the constraint? [Time/Information/Stakes/Complexity]
3. What's the default model for this type?
4. Any reason NOT to use the default?
5. Proceed or reconsider

Default models by type:
- Diagnostic → 5 Whys Plus
- Decision → Reversibility check first
- Understanding → Systems Thinking
- Creative → First Principles
- Evaluation → Steel-manning

Deliberate Selection (> 5 minutes)

## Deliberate Model Selection

1. Characterize the problem fully
2. Identify 3-5 candidate models
3. Score each on fit
4. Consider combining models
5. Select and document rationale
6. Plan to reassess if model doesn't illuminate

Selection criteria:
| Criterion | Weight | Model A | Model B | Model C |
|-----------|--------|---------|---------|---------|
| Problem fit | 30% | | | |
| Available info | 20% | | | |
| Time to apply | 15% | | | |
| Stakeholder acceptance | 15% | | | |
| My competence with model | 20% | | | |

Model Selection Template

# Model Selection: [Problem]

## Problem Characterization
Type: [Diagnostic/Decision/Understanding/Creative/Evaluation]
Complexity: [Simple/Complicated/Complex/Chaotic]
Stakes: [Low/Medium/High]
Reversibility: [High/Medium/Low]
Information: [Complete/Partial/Minimal]

## Candidate Models
| Model | Fit | Strengths | Weaknesses |
|-------|-----|-----------|------------|
| | | | |

## Selected Model
Model: [Choice]
Rationale: [Why this model]

## Fallback
If selected model doesn't work: [Alternative]
Signs to switch: [Indicators]

## Application Plan
How I'll use this model:
1. [Step]
2. [Step]

Meta-Model Guidelines

When to Use Multiple Models

## Model Combination Triggers

Use multiple models when:
- Problem spans multiple types
- Single model leaves blind spots
- Stakes are very high
- Time allows deeper analysis

Combination patterns:
- Sequential: Use A to narrow, then B to decide
- Parallel: Use A and B independently, compare results
- Nested: Use A at macro level, B at micro level

When to Abandon a Model

## Model Exit Criteria

Stop using a model when:
- 15+ minutes with no insight
- Key facts don't fit the framework
- You're forcing the analysis
- Someone suggests a better fit

Don't stop just because:
- The answer is uncomfortable
- It requires more work
- Results disagree with intuition (investigate why)

Verification Checklist

  • Classified the problem type
  • Considered multiple candidate models
  • Checked for model-problem fit
  • Avoided using model out of habit
  • Have a fallback if model doesn't work
  • Can articulate why this model fits

Key Questions

  • "What type of problem is this really?"
  • "What model would an expert in this domain use?"
  • "Am I using this model because it fits, or because I know it?"
  • "What aspects of the problem does this model ignore?"
  • "What model would give a different answer?"
  • "When should I switch to a different model?"

Munger's Wisdom

"You've got to have models in your head. And you've got to array your experience—both vicarious and direct—on this latticework of models."

"You must know the big ideas in the big disciplines, and use them routinely—all of them, not just a few."

The power isn't in any single model—it's in having many models and knowing when each applies. A tool is only useful when matched to the task. The meta-skill of model selection multiplies the value of every model you know.

FAQ

What does the thinking-model-selection skill do?

Choose the right mental model for the problem at hand. Use when facing new problems, when current approaches fail, or when you need to match tool to context.

How do I install thinking-model-selection?

Run npx skills add https://github.com/tjboudreaux/cc-thinking-skills --skill thinking-model-selection in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/thinking-model-selection/ (personal) or .claude/skills/thinking-model-selection/ (project).

Which AI agents can use thinking-model-selection?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is thinking-model-selection safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains thinking-model-selection?

It is published by tjboudreaux in tjboudreaux/cc-thinking-skills. It has 127 recorded installs.

More from tjboudreaux/cc-thinking-skills

View all →

thinking-first-principles

tjboudreaux/cc-thinking-skills

When a constraint is treated as fixed, separate physics from convention, keep only independently supported primitives, and rebuild the simplest solution that satisfies real constraints.

thinking-red-team

tjboudreaux/cc-thinking-skills

For authorized security review of code, auth, or APIs you control, model the attacker, map the attack surface, and report only findings with a reproducible exploit path and verified mitigation.

Backend & APIs674 installs

thinking-pre-mortem

tjboudreaux/cc-thinking-skills

Before committing to a plan or launch, assume it already failed and reason backward through concrete causes — convert failure paths into mitigations, gates, and stop checks.

thinking-theory-of-constraints

tjboudreaux/cc-thinking-skills

When throughput or latency is pipeline-limited, identify the single binding constraint and exploit, subordinate, elevate, then recheck—ignore non-constraints.

649 installs

thinking-socratic

tjboudreaux/cc-thinking-skills

When a request is vague, assumption-laden, or "obvious," ask the few load-bearing questions that expose hidden requirements before building or committing.

631 installs

thinking-opportunity-cost

tjboudreaux/cc-thinking-skills

Before committing scarce time, people, or money, name the best forgone use of those resources and the value delta of the chosen path versus that alternative.

616 installs

Popular other skills

View category →

hyperframes-cli

heygen-com/hyperframes

The HyperFrames CLI by job - scaffold, check, look at frames, edit the timeline, preview, render locally or in the cloud, publish, project history - plus reading its JSON and recovering from build or render failures.

1.3M installs

triage

mattpocock/skills

Move issues and external PRs through a state machine of triage roles, categorise, verify, grill if needed, and write agent-ready briefs.

1M installs

ask-matt

mattpocock/skills

Ask which skill or flow fits your situation. A router over the skills in this repo.

778.4K installs

to-questionnaire

mattpocock/skills

Turn a decision you can't fully answer into a questionnaire for someone else to fill in.

508.9K installs

wait-what

mattpocock/skills

Stop. That last message did not land: re-pitch it.

459.7K installs

loop-me

mattpocock/skills

Grill me about specs for the workflows I want to build, within this workspace.

447.9K installs