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:
data-ai
license: Apache-2.0 NOT for unrelated tasks outside this domain.
development
Use when designing caching strategies (cache-aside, write-through, write-behind), implementing distributed locks, building rate limiters, leaderboards, real-time streams (XADD/consumer groups), pub/sub, or tuning eviction policies. Triggers: thundering-herd on cache miss, dogpile on key expiry, Redlock vs SET-NX-PX choice, sliding-window rate limiter, hot-key on a single cluster slot, big-key blowup, MULTI/EXEC across slots, KEYS in production. NOT for Redis Cluster operations/admin (different domain), embedded KV (SQLite, leveldb), in-process LRU caches, or Memcached.
tools
Drawing the `'use client'` boundary correctly in React Server Components apps (Next.js App Router, RSC frameworks) — leaf-pushing, slot composition, serialization rules, and environment poisoning prevention. Grounded in react.dev and Next.js 16 docs.
development
Use when designing rate limiting for an API, choosing between token bucket / sliding window / leaky bucket / fixed window, implementing it in Redis, deciding edge (Cloudflare/Upstash) vs origin enforcement, sizing per-user vs per-IP vs per-endpoint quotas, returning the right 429 response with Retry-After, or fixing the boundary-burst bug in fixed-window limiters. Triggers: 429 too many requests, INCR + EXPIRE, ZADD + ZREMRANGEBYSCORE + ZCARD, X-RateLimit-Remaining header, Cloudflare WAF rate limiting rules, Upstash @upstash/ratelimit, leaky bucket shaping vs policing, distributed rate limiter consistency. NOT for DDoS mitigation specifically (different scale), CAPTCHA / bot management, full WAF design, or per-user quota billing.