cynefin
Skill1 starsChanged 4 months agoMITView on GitHub
Use when starting any nontrivial task, triaging a bug, planning an approach, handling an incident, or when unsure how to even begin. Senses which Cynefin domain the situation is in (Clear, Complicated, Complex, Chaotic, Confusion) and switches working method to match. Also use for "classify this backlog" (map mode) and "prod is down" (incident mode).
6 other projects use a version of this.
Adopted by
Most recently taken up by
- 88plug/cynefintheir own version, first seen Oct 20, 2026
- vansvost-arch/claude-skillstheir own version, first seen Oct 15, 2026
- marcos-sponton/frameworks-as-skillstheir own version, first seen Oct 13, 2026
- deciqAI/knowledge-skillstheir own version, first seen Jul 7, 2026
- jackjin1997/ClawForgetheir own version, first seen May 25, 2026
- neurofoo/agent-skillstheir own version, first seen Jan 10, 2026
Other versions6 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 6
- neurofoo/agent-skills★ 111same name
- deciqAI/knowledge-skills★ 13same name
- jackjin1997/ClawForge★ 12same name
- marcos-sponton/frameworks-as-skills★ 1same name
- 88plug/cynefin★ 0same name
- vansvost-arch/claude-skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
We split this skill into the rules it gives an agent
6 rules. 0 are common, 5 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 5 edited versions we read keep these.
5
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 19
Run this every time, in order.
- Distinctive: line 77
When work feels routine, ask once: what has changed since the last hundred times?
- Very specific: line 98
If the repo contains a cynefin-map.md (map mode writes it, or a human did), read it before classifying work in that project.
- Distinctive: line 107
Never start work on a nontrivial task without steps 1 and 2.
- Distinctive: line 113
Default-domain bias is real.
- Distinctive: line 115
When torn between two domains, pick the one further from your comfort.
“Common” is measured: kept by at least 6 in 10 of the 5 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Cynefin: sense the domain, then switch how you work
You are about to work on something. Before you pick a method, figure out what kind of situation this is. The Cynefin framework (Dave Snowden, IBM, 1999) gives you five domains, each with its own decision pattern. Most bad engineering outcomes are method-domain mismatches: a confident spec written for a problem where cause and effect were unknowable, or three days of analysis spent on a task with a documented answer.
The core rule: the domain picks the method. You do not.
The loop
Run this every time, in order. Do not skip step 2.
1. Sense before solving
Answer one question: what is the relationship between cause and effect here?
| If cause and effect are... | Domain | Pattern |
| Obvious to anyone looking | Clear | sense, categorize, respond |
| Discoverable with analysis or expertise | Complicated | sense, analyze, respond |
| Only visible in hindsight | Complex | probe, sense, respond |
| Absent. No time to find out; things are breaking now | Chaotic | act, sense, respond |
| Disputed. You (or the team) can't agree which of the above applies | Confusion | decompose and route |
Signals to check:
- Has this exact thing been done before, here, with a known result? Leans Clear.
- Could an expert predict the outcome before acting? Leans Complicated.
- Will you only understand what worked after trying? Do interventions change the system being studied? Leans Complex.
- Is damage actively accruing while you read this? Leans Chaotic.
- Are you flip-flopping between the rows above, or would two teammates classify it differently? That IS Confusion. Treat the disagreement as data.
2. Announce the domain and your reasoning
One short paragraph, out loud, before any work: the domain, the one or two signals that put it there, and your confidence. If your confidence is low, say so and treat the classification itself as a probe.
This step is not decoration. It creates the record that lets you notice you were wrong later, and it forces the method switch to actually happen.
3. Switch method. Visibly.
Load the playbook for the domain and work its way:
- playbooks/clear.md: find the established pattern and follow it. Do not invent.
- playbooks/complicated.md: analyze, compare options, spec, then build. Expertise pays here.
- playbooks/complex.md: no spec. Design safe-to-fail probes, run the cheapest first, amplify what works.
- playbooks/chaotic.md: stabilize first. Diagnosis waits.
- playbooks/confusion.md: split the situation into parts and route each part to its own domain.
Name what you are NOT doing and why. "This is Complex, so I'm not writing a spec; specs assume the analysis can predict the outcome, and here it can't." That sentence is the product of this skill. Say it every time the method switch drops something the user might expect.
4. Watch the boundaries
Domains are not fixed. While working, watch for these movements:
- The cliff. The Clear-to-Chaotic boundary is a cliff, not a slope. Complacency in Clear ("we've done this deploy a hundred times") is how systems fall off it. When work feels routine, ask once: what has changed since the last hundred times?
- Drift toward Clear. As knowledge grows, Complex work becomes Complicated (patterns emerged; analysis now works) and Complicated becomes Clear (the analysis became a checklist). Say it when you see it: "this stopped being Complex two probes ago; I can spec the rest."
- Misclassification. The most common error in software: calling something Complicated when it is Complex, because analysis feels like progress and probes feel like admitting ignorance. If your confident analysis keeps being wrong, reclassify.
Modes
- Map mode (modes/map.md): the user gives you a backlog, issue
list, or TODO file. Classify every item, output a domain map with per-domain
recommendations, and offer to persist it as
cynefin-map.mdin the repo. - Incident mode (modes/incident.md): entered automatically whenever step 1 returns Chaotic, or on request when production is failing. Enforces act-sense-respond with explicit entry and exit criteria.
The map file (project memory)
If the repo contains a cynefin-map.md (map mode writes it, or a human did), read
it before classifying work in that project. Prior classifications are priors, not
law: when what you're seeing disagrees with the map, that mismatch is drift data.
Announce it, update the row, and append one line to the map's ledger. This file is
how the framework lives in the project instead of in one session's transcript: the
team can read it, PRs can review it, and the next agent inherits it.
Rules
- Never start work on a nontrivial task without steps 1 and 2. "Nontrivial" means: would take more than a few minutes, touches production, or the user asked how to approach something.
- One domain per unit of work. If a task spans domains, that's Confusion: decompose it (a migration might be Clear scaffolding + one Complex unknown; treat them as two work items).
- Default-domain bias is real. Developers over-classify into Complicated (analysis is comfortable). Managers over-classify into Clear (checklists are comfortable). When torn between two domains, pick the one further from your comfort.
- Reclassify out loud. Changing domain mid-task is the framework working, not a mistake. Announce it the same way you announced the original.
- In Complex, a probe that can't fail safely is not a probe. If a failed experiment would hurt users or data, shrink it until it can't.
When NOT to run the loop
The framework's own first rule applies to the framework. Skip the loop, silently, when:
- The task is a few minutes of known work: a rename, a typo fix, a config bump, a question with a documented answer. Announcing "Domain: Clear" on a one-line diff is theater.
- You are mid-task and nothing has changed. Classification happens at task boundaries and on surprise, not per message.
- The user asked a pure information question. Answer it.
The test: if the announcement would be longer than the work, skip it.
Based on the Cynefin framework by Dave Snowden. Unofficial; not affiliated with or endorsed by The Cynefin Company. Cynefin® is a registered trademark of Cognitive Edge Pte Ltd. See ATTRIBUTION.md.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

