skills/thinking-cynefin/SKILL.md
Use when unsure how to approach a problem—plan, analyze, experiment, or stabilize first. Classify it by cause-effect (clear/complicated/complex/chaotic) and match the approach to the domain.
npx skillsauth add tjboudreaux/cc-thinking-skills thinking-cynefinInstall 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.
Cynefin (Dave Snowden) classifies a problem by the relationship between cause and effect, then prescribes the matching approach. Using the wrong approach for the domain is the failure mode: detailed planning is useless in chaos, and experimentation is reckless when a best practice already exists.
Core Principle: The nature of the problem determines the approach. Classify first, then act.
| Cause–effect is… | Domain | Approach | Do this | |------------------|--------|----------|---------| | Obvious to anyone | Clear | Sense → Categorize → Respond | Apply the known best practice / runbook; don't over-engineer | | Knowable with expertise/analysis | Complicated | Sense → Analyze → Respond | Investigate, profile, design; multiple valid solutions exist | | Only visible in retrospect (emergent) | Complex | Probe → Sense → Respond | Run small safe-to-fail probes, amplify what works | | Not perceivable; turbulent | Chaotic | Act → Sense → Respond | Act now to stabilize (rollback/failover), understand later | | Unsure which domain | Disorder | Decompose | Split into parts and classify each part |
Can you see clear cause→effect?
obvious to everyone → CLEAR
knowable with analysis → COMPLICATED
only clear in hindsight → COMPLEX
totally turbulent, no time → CHAOTIC
can't tell → DISORDER (decompose)
Before committing, test the classification:
"Complex systems are dispositional, not causal—you can't predict what will happen, only influence what might." The failure is rarely the methodology itself; it's applying the wrong methodology to the wrong domain.
tools
About to add a feature/layer/process to fix a problem. First ask what to remove instead — subtraction is often more robust than addition. Use for simplification and complexity reduction.
development
Use when stuck between two architecture or API requirements that seem mutually exclusive — name the contradiction precisely, then separate the conflicting states in time, space, or condition.
testing
You need to trace how a system would fail or behave at a scale you can't cheaply test or measure. Use to imagine the scenario and walk the consequence chain step by step.
devops
Use when optimizing latency or throughput in a pipeline and one stage dominates—focus all effort on that single bottleneck, since speeding up the others changes nothing until it's fixed.