skills/klein-1998-sources-of-power/SKILL.md
Naturalistic decision-making research showing how experts make decisions through recognition-primed processes
npx skillsauth add curiositech/windags-skills klein-1998-sources-of-powerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
license: Apache-2.0
name: sources-of-power
version: 1.0
author: Gary Klein (field research synthesis)
description: >
Cognitive science of naturalistic decision-making — how skilled practitioners
actually decide under pressure, uncertainty, and time constraints.
activation_triggers:
- expert judgment / intuition / gut feeling
- decision-making under pressure or uncertainty
- analyzing errors, failures, or near-misses
- designing training programs or onboarding
- building team coordination or communication protocols
- evaluating a course of action with incomplete information
- understanding the gap between novice and expert performance
- interface design, procedure design, or checklist design
- incident post-mortems and root cause analysis
Load this skill when someone is:
This skill is not primarily about rational choice, expected utility, or optimization. It's about the cognitive mechanisms that operate when stakes are real and time is short.
Experts don't compare options — they recognize situations as types and see the appropriate response directly. In Klein's 156-case firefighting study, 80% of decisions involved a single option evaluated alone, not a comparison between alternatives. The commander asks: "Will this work?" not "Which is best?"
Recognition delivers four things simultaneously: goals, cues, expectancies, and a plausible action. The action is then evaluated through mental simulation. If it passes, it's executed. If not, the next plausible option is generated — not all options at once.
Implication: When an expert says "I just knew," they're compressing a sophisticated recognition-and-simulation process, not guessing. When a novice tries to be rigorous by comparing all options, they often lack the pattern library to generate good options in the first place.
Rather than scoring options against criteria, experts run the action forward in time — watching it unfold, noticing where it might break. This simulation has hard cognitive limits:
Mental simulation is the difference between "this plan looks good on paper" and "I can see three places this falls apart." It's teachable but requires a rich mental model of the domain to run.
When a firefighter evacuates a building he can't explain, he's detecting an expectancy violation — fire behavior, heat, and sound don't match his mental model. Intuition is the signal that the pattern doesn't fit. It's neither mystical nor infallible.
Intuition can be:
The key question is always: "What is this intuition pattern-matched to, and is that pattern library reliable?"
Klein's 600+ decision-point review found:
The operator blamed for the error is usually the victim of latent system failures — interfaces that hide critical information, training that didn't expose relevant patterns, designs that make errors easy and recovery hard. This reframes post-mortems entirely.
The deepest finding: experts see differently. They:
Rules and procedures can encode what experts know, but they cannot build expertise. Expertise requires thousands of varied cases with accurate feedback, structured reflection, and mentorship that makes invisible perceptions visible.
If you're an expert in the domain → run a mental simulation. Watch it fail. Ask: "Where does this break?" Trust the result more than a criteria matrix.
If you're a novice → don't trust your first option. You may not have the pattern library to generate a good one. Slow down; seek expert input; use checklists as scaffolding, not replacement for judgment.
If the domain has regular patterns and accurate feedback loops → intuition is probably worth examining seriously. Probe: "What is this feeling pattern-matched to?"
If the domain has irregular patterns, long feedback delays, or strong incentives for motivated reasoning → treat intuition as a hypothesis to test, not a decision.
If the operator "should have known better" → first ask: "What information did they actually have? What patterns had they been trained to recognize? Was the interface showing what it needed to show?" Blame is almost always the wrong stop.
If you're designing training to prevent the error → focus on pattern exposure (varied cases, not procedures) and feedback accuracy (do trainees learn whether their recognition was right?).
If the team is experienced and aligned → communicate intent ("here's why we're doing this and what matters"), not procedure. Let recognition guide local decisions.
If alignment is uncertain → surface mental models explicitly before acting. The failure mode is two people who both think they're on the same page but have incompatible situational pictures.
If the goal is unclear or keeps shifting → stop optimizing the path; redefine the destination. Most "solution failures" are actually goal-framing failures.
If the problem seems intractable → look for leverage points: the small intervention that changes the system's behavior, not the large intervention that attacks the symptom directly.
| File | Description | Load When... |
|------|-------------|--------------|
| references/recognition-primed-decision-making.md | Full RPD model with case studies from firefighting, military, and chess. Covers the three RPD variants (simple match, diagnosed match, evaluate + simulate). | Someone needs to understand how expert decision-making actually works, or is designing a system that should support it rather than replace it. |
| references/mental-simulation-and-expertise.md | Deep dive on mental simulation: cognitive limits, chunking, how experts run forward simulations, what breaks them. | Evaluating a plan, designing a training exercise, understanding why "thinking it through" failed, or building decision support tools. |
| references/expertise-and-the-power-to-see-invisible.md | What expertise actually consists of: perceptual chunking, anomaly detection, past/future reading, cognitive load management. Includes how to build expertise deliberately. | Designing training programs, onboarding, mentorship structures, or diagnosing why a "trained" person still can't perform. |
| references/errors-and-uncertainty.md | Klein's taxonomy of errors (experience gaps, information failures, simulation failures). The "operator as victim" framework. How to run a post-mortem that finds real causes. | Post-mortems, incident analysis, blame attribution, system design for error resistance, understanding how good people make bad calls. |
| references/communicating-intent-and-team-mind.md | Distributed cognition, intent-based coordination, shared mental models. Why "telling people what to do" fails under pressure and what to do instead. | Team coordination, communication breakdowns, command-and-control design, handoffs, delegation, and high-stakes collaboration. |
| references/problem-solving-and-leverage-points.md | Ill-defined goals, nonlinear systems, leverage points, why stage-model problem solving fails on real problems. | Stuck problems, strategy questions, reframing failures, and situations where more effort on the current path isn't working. |
These are the mistakes this book most directly warns against:
1. Comparing all options before acting Generating a full option set and scoring them is correct in stable, well-defined problems with known variables. In dynamic, time-pressured, ambiguous situations, it's often impossible and actively harmful — you're comparing options you don't have time to generate correctly while the situation deteriorates.
2. Treating intuition as either oracle or noise Dismissing expert intuition as "not rigorous" loses the pattern library of thousands of cases. Treating it as infallible ignores that pattern libraries can be wrong, outdated, or misapplied. The right move is always: "What is this matched to, and is that match valid here?"
3. Blaming the operator for system-created errors When an expert makes a surprising error, the first question should be about the system (training, information, interface, workload), not the person. The "human error" framing almost always stops the analysis too early and prevents the real fix.
4. Trying to encode expertise as rules Procedures and checklists capture some of what experts know — primarily the verifiable, sequential, easily articulable parts. They cannot capture pattern recognition, anomaly detection, or situational awareness. Building rule-following systems and calling them expert systems is a category error.
5. Optimizing a solution to a misframed problem The most efficient path to the wrong destination. Klein's fieldwork shows that significant failures often traced not to poor execution but to a goal that was never correctly defined or that shifted without the team noticing.
6. Teaching decision-making as a procedure Decision trees and formal frameworks work in training novices to ask the right questions. They don't produce expert judgment. The evidence is unambiguous: expertise comes from varied case exposure with accurate feedback, not from better procedures.
How to tell if someone has actually internalized Klein vs. just read the summary:
They have internalized it if:
They're still on the surface if:
The deepest marker: Someone who has genuinely absorbed Klein understands that the question "what should I decide?" is downstream of "what am I actually seeing — and is my perception of this situation accurate?" Expertise lives in the perception, not in the final call.
tools
Building resilient distributed systems with circuit breakers, retries with full-jitter exponential backoff, retry budgets (per-request 3-attempt + per-client 10% ratio per Google SRE), deadline propagation, and the cascading-failure math (4 layers × 3 retries = 64x amplification). Grounded in Resilience4j, Microsoft Cloud Patterns, AWS Architecture Blog (Marc Brooker), and Google SRE Book.
testing
Designing HTTP cache headers that work correctly across browsers, CDNs, and shared proxies — `Cache-Control` directives per RFC 9111, `stale-while-revalidate` and `stale-if-error` per RFC 5861, the Vary header for varying responses, and surrogate keys for tag-based purging. Grounded in IETF RFCs and Cloudflare/Fastly docs.
development
Use when designing or fixing a Content Security Policy on a real site, choosing between nonce-based and hash-based CSP, adding strict-dynamic, debugging "Refused to execute inline script" errors, deploying CSP in report-only mode first, configuring report-to / report-uri, or auditing an existing policy for unsafe-inline / unsafe-eval / wildcards. Triggers: "CSP blocks legitimate inline script", strict-dynamic, nonce-{RANDOM}, sha256-{HASH}, object-src none, base-uri none, frame-ancestors, Trusted Types, X-Content-Security-Policy obsolete, report-only vs enforced. NOT for general HTTP security headers (HSTS, COOP/COEP), Trusted Types deep dive, CORS configuration, or building a WAF.
tools
Choosing and operating an HTTP API versioning strategy that doesn't break clients — Stripe's date-based pinned versions, the Deprecation/Sunset header pair (RFC 9745 + RFC 8594), URI vs header vs media-type approaches, and the version-transformer pattern. Grounded in Stripe's published architecture and IETF RFCs.