Skip to content

Cause-Effect Diagram Style Guide

Cause-effect diagrams visualize causal relationships between factors. They’re defined in YAML under the causeEffectGraph property of entities.

View all diagrams: /diagrams


- id: tmc-compute
causeEffectGraph:
title: "What Drives Effective AI Compute?"
primaryNodeId: effective-compute
nodes:
- id: effective-compute
label: Effective Compute
type: effect
edges:
- source: chip-supply
target: effective-compute
strength: strong
effect: increases

TypePurposeColor
leafRoot inputs, external factorsTeal
causeDerived factors from leavesLight gray
intermediateDirect contributing factorsDarker gray
effectTarget outcome(s)Amber

Node Properties: id (required), label (required), type (required), description, confidence (0-1), color, scores

View Node Properties Reference
PropertyRequiredDescription
idYesUnique identifier (kebab-case)
labelYesDisplay text (2-5 words)
typeYesOne of: leaf, cause, intermediate, effect
descriptionNoBrief explanation (shown on hover)
confidenceNo0-1 confidence in this node’s relevance
colorNoSemantic color name (see Semantic Colors)
scoresNoRating dimensions (see Node Scores)

PropertyValuesVisual Effect
strengthweak, medium, strongLine thickness
confidencelow, medium, highLine style (dashed → solid)
effectincreases, decreases, mixedArrow color (blue, red, gray)

Guidelines: Use strong for direct, well-established causal links. Use weak for speculative connections.


Use colors sparingly—about half of nodes should remain grey/neutral.

ColorUse For
rose/redRisk factors, threats
emerald/greenDefensive factors, countermeasures
violet/purpleKey uncertainties, critical questions
teal/bluePower centers, structural factors
slate/grayNeutral, well-known factors
amberWarnings (effect nodes use amber by default)
View Color Guidelines & Example

Guidelines:

  • Color ~50% of nodes; leave the rest grey/slate
  • Reserve colors for most critical nodes
  • Use slate for well-known factors or aggregation nodes

Example:

nodes:
- id: key-threat
label: Major Threat
type: intermediate
color: red
- id: countermeasure
label: Defense System
type: leaf
color: emerald
- id: technical-detail
label: Implementation Detail
type: leaf
color: slate

Optional

Nodes can have four scoring dimensions (1-10) for interactive visualization.

DimensionDescription
noveltyHow surprising (1=common knowledge, 10=very surprising)
sensitivityDownstream impact if changed (1=minimal, 10=huge cascading)
changeabilityHow tractable (1=fixed, 10=highly changeable)
certaintyHow well understood (1=deep uncertainty, 10=well established)
View Scoring Guidelines & Example
ScoreNoveltySensitivityChangeabilityCertainty
1-3Common knowledgeMinimal impactFixed/immutableDeep uncertainty
4-6Somewhat familiarModerate impactSomewhat malleableMixed evidence
7-10Surprising insightHuge cascadingHighly tractableWell established

Example:

- id: ai-biology-knowledge
label: AI Biology Knowledge
type: leaf
scores:
novelty: 5
sensitivity: 8
changeability: 3
certainty: 5
color: rose

GuidelineRecommendation
Maximum nodes15-20 (split larger diagrams)
Maximum edges30-40
Nodes per layer4-5 max horizontal

Layer Organization:

Layer 1: leaf nodes (root causes)
Layer 2: cause nodes (derived)
Layer 3: intermediate nodes (direct factors)
Layer 4: effect nodes (outcomes)

Use CaseFormat
Causal model (5-20 factors)CauseEffectGraph
Simple flow (3-5 steps)Mermaid flowchart
Taxonomy/hierarchyTable or Mermaid
2x2 matrixMermaid quadrant

View Full Schema Reference
causeEffectGraph:
title: "Diagram Title" # Optional
description: "Brief explanation" # Optional
primaryNodeId: "main-effect" # Optional, highlights this node
nodes:
- id: node-id # Required: unique identifier
label: "Node Label" # Required: display text
type: leaf # Required: leaf|cause|intermediate|effect
description: "Hover text" # Optional
confidence: 0.8 # Optional: 0-1
color: rose # Optional: semantic color
scores: # Optional: 1-10 ratings
novelty: 5
sensitivity: 8
changeability: 3
certainty: 5
edges:
- source: cause-node # Required
target: effect-node # Required
strength: strong # Optional: weak|medium|strong
confidence: high # Optional: low|medium|high
effect: increases # Optional: increases|decreases|mixed
label: "edge label" # Optional

View Pattern Examples

Simple Causal Chain:

nodes:
- { id: a, label: Root Cause, type: leaf }
- { id: b, label: Mediator, type: intermediate }
- { id: c, label: Outcome, type: effect }
edges:
- { source: a, target: b, strength: strong }
- { source: b, target: c, strength: strong }

Multiple Converging Causes:

nodes:
- { id: a, label: Factor A, type: leaf }
- { id: b, label: Factor B, type: leaf }
- { id: c, label: Factor C, type: leaf }
- { id: outcome, label: Outcome, type: effect }
edges:
- { source: a, target: outcome, strength: strong }
- { source: b, target: outcome, strength: medium }
- { source: c, target: outcome, strength: weak }

Hierarchical Factors:

nodes:
# Root inputs
- { id: input-1, label: External Factor, type: leaf }
- { id: input-2, label: Resource, type: leaf }
# Derived
- { id: derived, label: Combined Effect, type: cause }
# Direct
- { id: direct-1, label: Capability, type: intermediate }
- { id: direct-2, label: Constraint, type: intermediate }
# Target
- { id: outcome, label: Final Outcome, type: effect }
edges:
- { source: input-1, target: derived }
- { source: input-2, target: derived }
- { source: derived, target: direct-1 }
- { source: derived, target: direct-2 }
- { source: direct-1, target: outcome, strength: strong }
- { source: direct-2, target: outcome, strength: medium, effect: decreases }

View Common Mistakes

Too Many Leaf Nodes (8+) Fix: Group into intermediate nodes or split diagrams.

Feedback Loops in Edges

# Bad: Creates cycles
edges:
- { source: a, target: b }
- { source: b, target: c }
- { source: c, target: a } # Loop!

Fix: Remove loop edge, note in description.

Long Node Labels

# Bad
- { id: x, label: "This is a very long label" }
# Good
- { id: x, label: "Key Factor", description: "Details here" }

All Same Strength

# Bad: No visual hierarchy
edges:
- { source: a, target: x, strength: medium }
- { source: b, target: x, strength: medium }
# Good: Differentiate
edges:
- { source: a, target: x, strength: strong }
- { source: b, target: x, strength: weak }

With TransitionModelContent: Diagrams auto-render for entities with causeEffectGraph.

Standalone Viewer: /diagrams?entity=tmc-compute

View Color Reference Tables

Node Colors by Type:

TypeBackgroundTextBorder
leafteal-100teal-700teal-300
causeslate-200slate-700slate-400
intermediateslate-300slate-800slate-500
effectamber-100amber-800amber-400

Edge Colors by Effect:

EffectColorMeaning
increasesBluePositive correlation
decreasesRedNegative correlation
mixedGrayContext-dependent