skills/ndm-decision-models/SKILL.md
Models of naturalistic decision-making including recognition-primed decisions, sensemaking, and mental simulation
npx skillsauth add curiositech/windags-skills ndm-decision-modelsInstall 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.
Agent faces decision task
├── High time pressure (< 5 seconds to decide)
│ ├── Domain is familiar/trained → Use RPD mode
│ │ ├── Clear situation pattern? → Generate action, simulate, execute
│ │ └── Unclear pattern? → Generate best guess action, short simulation, act
│ └── Domain is novel/untrained → Use constrained analytical mode
│ ├── Can identify 2-3 viable options quickly? → Compare those only
│ └── Cannot quickly identify options? → Escalate to human/expert
└── Low time pressure (> 30 seconds to decide)
├── High stakes + reversible decision → Use RPD with extended simulation
├── High stakes + irreversible decision → Use analytical mode with expert review
└── Low stakes → Use RPD mode regardless of domain familiarity
Agent generates action via RPD
├── Mental simulation passes cleanly → Execute immediately
├── Mental simulation shows minor issues → Modify action, simulate again
├── Mental simulation shows major failure → Generate different action
└── Cannot simulate (insufficient domain model) → Revert to analytical mode
Multiple agents must coordinate
├── Agents have shared situation model → Proceed with individual RPD
├── Agents disagree on situation assessment → Stop, build shared model first
└── Situation model unclear → Designate lead agent for situation assessment
Detection Rule: Agent spends >10 seconds comparing obvious alternatives when first option would work. Symptoms: Over-enumeration of options, probability calculations for clear cases, delayed response to time-critical situations. Fix: Check if situation matches trained patterns. If yes, force RPD mode; generate first workable action and execute after brief simulation.
Detection Rule: Agent confidently executes actions in unfamiliar domains without simulation or verification. Symptoms: Fast decisions in areas outside training data, no uncertainty signaling when domain shifts, pattern matching to superficially similar but structurally different situations. Fix: Add domain boundary detection. When domain novelty detected, require analytical mode or human consultation.
Detection Rule: Agent executes first generated action without mental simulation when time pressure increases. Symptoms: Higher error rates under time pressure, no modification of initially generated actions, inability to catch obvious flaws in plan. Fix: Implement minimum simulation requirement even under extreme time pressure. Better to act 2 seconds later with simulation than immediately without.
Detection Rule: Agent maintains initial situation assessment despite contradictory evidence emerging during execution. Symptoms: Continued execution of failing plan, ignoring feedback that invalidates situation model, escalating commitment to wrong diagnosis. Fix: Build expectancy violation monitoring. Force situation reassessment when 2+ predictions fail to materialize.
Detection Rule: Agent ignores or works around decision support tools that require analytical processing. Symptoms: Consistent bypass of formal decision frameworks, resistance to using probability estimation tools, degraded performance when tools are mandatory. Fix: Redesign tools to support situation assessment and pattern recognition rather than option comparison.
Scenario: Building fire alarm triggers emergency response agent. Sensors show: smoke detector C-wing, temperature spike, no water flow alerts, 14:30 weekday.
Agent's RPD Process:
What Novice Would Miss: Would spend time calculating probability fire spreads, comparing evacuation vs. wait-and-see options, analyzing sensor readings. By recognition, expert agent knows: office fire + working sprinklers = evacuate zone first, full building only if escalation.
Outcome: Fire contained to origin room. Total evacuation time: 4 minutes. Analytical approach would have taken 8-12 minutes just for decision.
Scenario: Market volatility spike during Asian session. Agent sees pattern similar to "flash crash" from training data: rapid 2% drop in 5 minutes, high volume, news feed shows "regulatory concern."
Agent's Flawed RPD:
What Expert Would Catch: "Regulatory concern" during Asian session is structurally different from technical flash crashes. Domain shift not recognized. Should have triggered analytical mode or expert consultation.
Outcome: Further 3% drop as regulatory news proves substantial. Loss: $2.3M.
Fix Applied: Added domain boundary detection for "regulatory news" keyword that forces analytical mode regardless of price pattern recognition.
Scenario: Software deployment agents preparing production release. Agent A sees "standard deployment" pattern, Agent B sees "high-risk deployment" pattern from same signals: 47 code changes, 3 database migrations, 2 new external dependencies, Friday 4PM release window.
Decision Process:
What Would Fail: If agents proceeded with individual RPD, would get coordination failure. Agent A deploys while Agent B holds back monitoring resources.
Agent deployment readiness checklist:
This skill should NOT be used for:
Delegate instead:
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.