Skip to content

Cynefin Framework Diagram

Last updated:

Mermaid Studio provides language support for Cynefin diagrams inside IntelliJ IDEA and other JetBrains IDEs. The Cynefin framework is a sense-making model that sorts situations into five decision domains, so a team can match its response to the kind of problem it faces. A Cynefin diagram lists the items that belong in each domain and the transitions that move work from one domain to another.

Syntax highlighting integrates directly with IntelliJ’s color scheme system, so diagram colors always match your editor theme. The screenshots below show the same Cynefin diagram across three themes.

Cynefin diagram syntax highlighting in Armada Dark theme

The summary below shows the IDE support Mermaid Studio ships for Cynefin diagrams, grouped by capability.

IDE feature supportSelect a feature for its description.
Editing
Code Intelligence
Validation

Mermaid Studio implements Cynefin as a full language with its own lexer and parser, so editing support goes beyond highlighting. Validation is domain-aware: unknown domain names and self-loop transitions are flagged with one-click fixes, and completion knows the five domain names in both declaration and transition positions. Spellchecking is scoped to prose, so item strings and titles are checked while keywords and operators are skipped.

A Cynefin diagram starts with the cynefin-beta keyword, lists items under each domain, and then declares the transitions between domains. The example below sorts engineering practices into their domains and shows two transitions.

cynefin-beta
title Team Decision Domains
complex
"Run a chaos experiment"
"Probe, sense, respond"
complicated
"Expert analysis needed"
clear
"Follow the runbook"
chaotic
"Crisis response"
confusion
"Unclear which domain"
complex --> complicated : "Pattern identified"
chaotic --> complex : "Stabilized"

Every item belongs to one of five fixed domains. The names are case-sensitive, and any other bareword is flagged as an unknown domain:

DomainMeaning in the Cynefin framework
clearCause and effect are obvious; apply best practice
complicatedCause and effect require analysis or expertise; apply good practice
complexCause and effect are clear only in retrospect; let practice emerge
chaoticNo perceivable cause and effect; act first, then find novel practice
confusionYou do not yet know which of the other four domains applies

List the items in a domain as quoted strings under the domain name. Both double and single quotes work:

cynefin-beta
complex
"New product bet"
'Run a spike'
clear
"Deploy via runbook"

Connect two domains with a --> arrow to show how work moves between them. Add an optional label with a colon and a quoted string:

cynefin-beta
complicated --> clear : "Codified"
chaotic --> complex : "Stabilized"

Add a title for the diagram, and accTitle or accDescr for accessible labels. The accDescr form also accepts a multi-line { ... } block:

cynefin-beta
title Engineering Practices by Domain
accTitle: Cynefin domains for engineering work
accDescr {
Practices grouped by the Cynefin decision domain they belong to.
}
clear
"Rotate credentials"

Cynefin exposes a dedicated cynefin object under themeVariables for customizing the domain backgrounds, boundaries, and arrows. Set it in the YAML frontmatter:

---
config:
theme: base
themeVariables:
cynefin:
complexBg: "#EDE9FE"
complicatedBg: "#DBEAFE"
clearBg: "#DCFCE7"
chaoticBg: "#FFE4E6"
confusionBg: "#F3F4F6"
boundaryColor: "#475569"
arrowColor: "#475569"
---
cynefin-beta
title Team Decision Domains
complex
"Probe, sense, respond"
clear
"Follow the runbook"

For complete syntax details, see the Mermaid Cynefin documentation.