skills/ndm-law-enforcement/SKILL.md
Application of naturalistic decision-making research to law enforcement expertise and field decisions
npx skillsauth add curiositech/windags-skills ndm-law-enforcementInstall 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.
Is the situation pattern-matchable to prior experience?
├── YES: Generate one plausible action
│ ├── Mental simulation passes → ACT immediately
│ └── Simulation fails → Modify action OR generate next best candidate
└── NO: Is this genuine novelty or pattern library failure?
├── Genuine novelty → Deliberate carefully, document for future patterns
└── Pattern gap → Flag training need, proceed with explicit uncertainty
Time available vs. cost of error:
├── High time pressure + Low error cost → Act on current best read
├── High time pressure + High error cost → Quick situation assessment, then act
├── Low time pressure + Any error cost → Full situation assessment required
└── Conflicting cues present → ALWAYS invest in situation clarification first
Agent expertise level assessment:
├── Novice/Advanced Beginner → Strict rule following, no improvisation
├── Competent → Rules apply, exceptions require explicit justification (DANGER ZONE)
└── Proficient/Expert → Pattern recognition reliable, intuition is valid data
Decision failed - where was the breakdown?
├── Wrong situation read → Failure in SITUATION ASSESSMENT
│ └── Review cue interpretation, not action selection
├── Right read, wrong action → Failure in ACTION SELECTION
│ └── Review option generation or mental simulation
├── Acted before understanding → PREMATURE CLOSURE
│ └── Novice/Competent behavior pattern
└── Analyzed past action window → DECISION PARALYSIS
└── Missing satisficing rules
Symptom: Agent fixates on initial interpretation despite contradicting evidence Root Cause: Premature closure - commitment to first plausible story without verification Detection Rule: If agent ignores 3+ cues that contradict primary hypothesis, tunnel vision active Fix: Force hypothesis generation of 2+ alternative explanations before action
Symptom: Agent generates exhaustive option lists under time pressure Root Cause: Novice pattern mistaken for rigor - treating optimization as always superior to satisficing Detection Rule: If agent spends >30% of available time on option generation vs. situation assessment, paralysis mode active Fix: Implement explicit satisficing thresholds and stop-search rules
Symptom: Agent breaks rules without situational justification Root Cause: Enough experience to see exceptions, insufficient models to know when rule-breaking is safe Detection Rule: If agent deviates from protocols but cannot articulate situation-specific reasoning, overconfidence active Fix: Require explicit situational model before any rule deviation
Symptom: Agent jumps to response selection before understanding what's happening Root Cause: Confusing speed of action with speed of assessment Detection Rule: If agent selects response before completing "what/why/what-next" situation model, action-first active Fix: Mandatory situation assessment checkpoint before action consideration
Symptom: System fails because expert self-reports were taken at face value Root Cause: Assuming experts can accurately describe their own decision processes Detection Rule: If knowledge base built from direct interviews without structured elicitation, misattribution likely Fix: Use CDM (Critical Decision Method) structured retrospective interviews
Setup: Officer approaches vehicle during traffic stop. Driver's hands suddenly drop below window line.
Novice Decision Tree:
Expert Decision Tree:
Key Difference: Expert invests cognitive resources in situation model before action selection. Novice applies rule to single cue.
Setup: Armed subject holding hostage, demands negotiation. SWAT has clear shot opportunity.
Optimization Approach (Failure Mode):
Expert Satisficing Approach:
Trade-off Recognition: Expert accepts "good enough" solution quickly rather than pursuing optimal solution slowly. The risk of delay exceeded the benefit of analysis perfection.
Situation assessment is complete when:
Action selection is complete when:
Decision implementation is complete when:
Do NOT use this skill for:
When to delegate:
This skill is specifically for:
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.