Skip to content
Back to skills

How To Illustrate

ASecurity

MANDATORY router for ANY request to draw, illustrate, diagram, chart, graph, visualize, or map something. Exhaustive diagram-type taxonomy (30+ categories, 200+ named types) + tool selection (excalidraw/tldraw/penecho/flint-chart) + source-figure extraction mandate + visual-encoding mandate (semantic color/shape/edge grammar, per-tool feature exhaustion) + interactivity/animation mandate + pre-delivery quality gate. Triggers on every drawing/illustration/graph request, not just explicit tool ...

  • 3 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 2, 2026
ai-agentsrustgoreactnodeexpressspringawsgcpazuregit

Works with

  • terminal
  • cli
  • api
  • mcp

Security analysis

A100/100

Pro scans all 8 files and shows the line behind each finding

Scanned September 2, 2026

npx -y skills add nuroctane/nur-cli --skill how-to-illustrate --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of How To Illustrate?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for How To Illustrate
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/nuroctane-how-to-illustrate/badge)](https://www.skillsdirectory.com/skills/nuroctane-how-to-illustrate)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: how-to-illustrate
description: "MANDATORY router for ANY request to draw, illustrate, diagram, chart, graph, visualize, or map something. Exhaustive diagram-type taxonomy (30+ categories, 200+ named types) + tool selection (excalidraw/tldraw/penecho/flint-chart) + source-figure extraction mandate + visual-encoding mandate (semantic color/shape/edge grammar, per-tool feature exhaustion) + interactivity/animation mandate + pre-delivery quality gate. Triggers on every drawing/illustration/graph request, not just explicit tool mentions."
---

# How to Illustrate

**Trigger condition — read this first:** the moment a user asks for ANY drawing,
illustration, diagram, chart, graph, visualization, infographic, or map of
anything — in any phrasing ("draw a diagram of X", "illustrate this", "make a
graph explaining Y", "show me a chart of Z", "visualize this system", "map out
this process") — this skill activates. This does **not** cover the CLI's own
runtime `/sidegraph` (that is internal execution visualization, not user content).

Do not silently default to a markdown table or a wall of prose when a real
diagram/chart is what the user is actually asking for. If you catch yourself
about to describe something spatial, relational, hierarchical, temporal, or
causal in text, stop and check this skill first. A good diagram answers "where
does this fit / what does this connect to / what happens next" in a glance;
prose forces the reader to reconstruct that structure in their head. If the
content has shape, that shape belongs on the canvas, not in a paragraph.

## Step 0 — Source figures first (non-negotiable when a URL/doc is given)

If the user points at a **URL, article, PDF, slide deck, or doc that already
contains figures/diagrams/images**, you MUST extract and analyze those visuals
**before** drawing anything:

1. Enumerate every content figure (skip avatars/ads/logos unless they carry
   explanatory structure). Download or screenshot each one to disk.
2. **Read each image** (vision) and note: diagram type, node labels, edge
   labels, lanes/layers, before↔after pairs, and what claim the figure makes.
3. Your deliverable must **reflect those figures** — reconstruct each
   figure-faithful panel (or explicitly improve it while keeping the same
   information architecture). Do not invent a parallel taxonomy that ignores
   the source visuals.
4. Only *after* figure inventory + analysis: pick diagram types (Step 1) and
   tools (Step 2), then execute.

Skipping figure extraction when the source has diagrams is a failed
illustration, even if the prose was summarized correctly.

## Step 1 — Pick the right diagram type

Match the user's actual need to a category below, then a specific type within
it. Each entry gives you: what it depicts, its structural anatomy (the parts
you actually need to draw), and when it's the right call versus a
near-neighbor. Prefer the most standard/recognizable type for the domain —
readers pattern-match on convention, so don't invent a novel layout when an
established one exists and fits. When two types are close, the "vs." note
tells you how to pick.

---

### Processes & Workflows

- **Flowchart** — Step-by-step operational logic: rounded-rect for start/end,
  rectangles for actions, diamonds for yes/no decisions, arrows for flow
  direction. Use whenever a reader needs to *follow* a procedure rather than
  understand its architecture. Keep decision diamonds binary where possible —
  a diamond with four exits is a smell that it should be a lookup table or a
  swimlane instead. Vs. state machine: a flowchart describes a single
  execution's path through steps; a state machine describes the *system's*
  condition over time, revisitable and re-enterable.
- **Swimlane Diagram (Cross-Functional Flowchart)** — A flowchart split into
  horizontal or vertical lanes, one per department/system/actor responsible
  for each step. The lane a box sits in is itself information — use this the
  moment "who does this step" matters as much as "what happens." Handoffs
  between lanes (an arrow crossing a lane boundary) are usually the most
  interesting part of the diagram; make them visually obvious.
- **Sequence Diagram** — Vertical lifelines (one per actor/component/service),
  time flowing top-to-bottom, horizontal arrows for messages between them.
  Purpose-built for showing *order and timing* of interactions — an API call
  chain, a protocol handshake, a multi-service request. Add activation bars
  (thin rectangles on a lifeline) to show when a component is actively
  processing versus idle/waiting.
- **State Machine Diagram (Finite State Machine)** — Nodes are named states
  (rounded shapes), labeled directed edges are triggers/events/transitions.
  Always mark the initial state (filled circle or explicit "start" arrow) and
  any terminal states. Use for anything with discrete modes it can enter,
  stay in, and leave under specific conditions — a UI component's states, an
  order's lifecycle, a game character's behavior.
- **Value Stream Map (VSM)** — Lean-manufacturing-derived flow of
  information/materials/tasks from raw input to customer delivery, annotated
  with lead time, cycle time, and wait time at each stage, plus a
  time-ladder along the bottom separating value-add from non-value-add time.
  Use for process-improvement/efficiency conversations, not general
  documentation flowcharts.
- **Cross-Functional Process Map** — Broader cousin of the swimlane, often
  spanning multiple pages/systems with explicit input/output artifacts drawn
  at each handoff (a document icon, a data object) rather than just an arrow.
- **Pipeline Diagram** — Linear left-to-right stages each transforming an
  input into an output (a build pipeline, a data pipeline, an ETL job). Unlike
  a generic flowchart, branches are rare; the point is throughput and stage
  responsibility, so keep stages uniform in visual weight.
- **Onboarding / Setup Flow** — A specialized flowchart for a first-run or
  account-creation sequence; benefits from screen-thumbnail-style boxes
  (mini wireframes) rather than plain labeled rectangles so it doubles as a
  UX reference, not just logic.

### Structures & Hierarchies

- **Organizational Chart** — Top-down tree of reporting lines; box = person or
  role, line = "reports to." Dotted lines denote a secondary/dotted-line
  report. Keep peer boxes at identical width/height — visual weight implies
  seniority even when unintended.
- **Tree Diagram (Hierarchical Tree)** — General parent-child hierarchy for
  anything with strict single-parent nesting: taxonomies, file systems,
  category trees, tournament brackets' inverse. Vs. mind map: a tree diagram
  is usually top-down/left-right with a fixed root and formal levels; a mind
  map is radial and exploratory.
- **Mind Map** — Central topic in the middle, branches radiating outward to
  sub-topics, further sub-branches beyond that. Optimized for *idea capture*
  and free association, not formal hierarchy — branches can be uneven,
  colors can group themes, and it's fine if it's not perfectly symmetric.
  Use during brainstorming/exploration, not for a finished structural
  reference (use a tree diagram for that).
- **Concept Map** — Nodes are distinct concepts, but unlike a mind map the
  connecting lines are *labeled* with the specific relationship ("causes,"
  "is part of," "requires") and any node can connect to any other, not just
  radiate from one center. Use when the relationships between ideas carry as
  much meaning as the ideas themselves.
- **Taxonomy / Pyramid Diagram** — Layered triangle/pyramid, broad base
  narrowing to a peak, each layer a classification tier (Maslow's hierarchy
  is the canonical example). Use when there's a genuine "more of this = less
  common/more advanced" relationship between layers — don't reach for a
  pyramid just because you have levels; use a tree if the levels don't imply
  volume or foundational dependency.
- **Nested Box Diagram (Containment Diagram)** — Boxes drawn inside boxes to
  show literal containment/scope (a module inside a service inside a system).
  Distinct from a tree: the nesting itself *is* the relationship, no
  connecting lines needed.
- **Bracket / Tournament Diagram** — Binary-tree-shaped elimination structure,
  matches narrowing toward a champion. Single-elimination is a clean binary
  tree; double-elimination needs a mirrored losers' bracket feeding back into
  the same final — don't collapse the two into one tree.
- **Composition / Decomposition Diagram (Work Breakdown Structure)** — Tree
  that decomposes one deliverable into its constituent parts/tasks down to
  actionable leaf nodes. Used in project management to scope work; keep leaf
  nodes at roughly the same granularity across branches.

### Relationships, Sets & Logic

- **Venn Diagram** — Overlapping circles/ellipses, each region a distinct
  logical combination of set membership. Works cleanly up to 3 sets; beyond
  that the overlaps become unreadable — switch to an UpSet plot or a table
  instead of forcing a 4+ circle Venn.
- **Euler Diagram** — Like a Venn but circles only overlap where an actual
  intersection exists (some pairs may not touch at all, one may sit fully
  inside another). Use when set relationships are *not* symmetric — e.g. "all
  cats are mammals" (full containment, no partial overlap) is an Euler
  diagram, not a Venn.
- **2×2 Matrix / Quadrant Chart** — Two perpendicular axes (each a spectrum,
  e.g. Effort vs. Impact, Urgent vs. Important) dividing the plane into four
  labeled quadrants; items are plotted or grouped by quadrant. Use for
  prioritization/positioning conversations where two independent variables
  drive a decision.
- **Network Graph (Node-Link Diagram)** — Freeform nodes and edges with no
  imposed hierarchy; use for peer-to-peer relationships (social networks,
  dependency graphs, citation networks) where "who reports to whom" doesn't
  apply but "who's connected to whom" does. Edge weight/thickness can encode
  relationship strength; node size can encode centrality/importance.
- **Entity-Relationship Diagram (ERD)** — Entities as boxes, relationships as
  labeled connecting lines with cardinality notation (1, many, 0..1, etc.,
  in crow's-foot or UML style) at each end. The definitive diagram for
  database schema design — always show cardinality, it's the whole point.
- **Dependency Graph (DAG)** — Directed, acyclic node-link diagram where an
  edge means "depends on" / "must happen before." Use for build systems,
  task scheduling, or module dependencies. If you find a cycle, that's a bug
  in the underlying system, not just the diagram — flag it.
- **Affinity Diagram** — Loose sticky-note-style clusters of related items
  grouped by theme with no formal connecting lines, themes emerging from
  proximity/color rather than explicit edges. Use for synthesizing
  qualitative research (user interview notes, brainstorm output) into
  categories.
- **Correlation Matrix (as a relationship diagram)** — Grid of all pairwise
  relationships between N variables, cell color/value showing correlation
  strength/direction. Effectively a heatmap specialized for
  variable-to-variable relationships; use before a scatter-plot matrix when
  you have more than ~5 variables to screen at once.

### Time, Journey & Narrative

- **Timeline** — Single axis (usually horizontal), events/milestones plotted
  at their actual or relative date, often with a short label and icon per
  event. Use for chronological history/roadmap content where *when* is the
  primary axis of meaning.
- **Roadmap (Product/Strategy Timeline)** — Timeline variant grouped into
  swim-lanes by team/workstream or banded into quarters/phases (Now/Next/
  Later), each item a bar or card rather than a point. Distinguish from a
  Gantt chart: a roadmap communicates intent/sequencing at a coarse level;
  a Gantt commits to exact durations and dependencies.
- **Customer / User Journey Map** — Horizontal phases of an experience
  (Awareness → Consideration → Purchase → Onboarding → Advocacy, or similar),
  with rows underneath for actions, touchpoints, thoughts, emotions (often
  an emotion curve), and pain points at each phase. Always include the
  emotion curve if the request is even loosely about experience quality —
  it's the row people actually read first.
- **Storyboard** — Sequential panels (comic-strip style), each a snapshot of
  a scene/screen/moment with a short caption, read left-to-right/top-to-
  bottom. Use for UX walkthroughs, video/animation planning, or any scenario
  that unfolds as discrete visual beats rather than continuous flow.
- **Gantt Chart** — Horizontal bars on a time axis, one row per task, bar
  length = duration, position = start/end date, with dependency arrows
  between bars and often a "today" marker line. The tool for committed
  project schedules with real dates and precedence — don't use it for
  loose/exploratory sequencing (use a roadmap or timeline instead).
- **Plot Diagram / Story Arc (Freytag's Pyramid)** — Rising-then-falling line
  across five labeled beats: Exposition → Rising Action → Climax → Falling
  Action → Resolution. Use for narrative structure analysis (a book, film,
  or even a marketing campaign's story).
- **Hero's Journey Circle** — Circular (not linear) narrative-stage diagram,
  stages arranged around a ring (Call to Adventure → Trials → Return, etc.).
  Use specifically when the narrative genuinely returns to its starting
  point/state — that circularity is the entire point of the shape.
- **Historical Timeline with Parallel Tracks** — Multiple horizontal timeline
  tracks stacked vertically (e.g. political / cultural / technological
  history in the same era), letting the reader see what else was happening
  simultaneously. Use when cross-domain simultaneity is the insight, not
  just a single sequence of events.

### Systems, Strategy & Causality

- **Causal Loop Diagram** — Nodes are variables, directed arrows show
  influence, each arrow marked + (same direction) or − (opposite direction);
  closed loops are marked reinforcing (R) or balancing (B). The
  systems-thinking tool for showing feedback rather than one-way cause and
  effect — use whenever "X affects Y which affects X again" is the actual
  claim.
- **Decision Tree** — Root node is the initial decision/question, each
  branch a choice or condition, leaf nodes are outcomes; can be pure logic
  (if/then) or annotated with probabilities and expected values for
  decision-analysis use. Vs. flowchart: a decision tree is specifically
  about *choices and their consequences* fanning outward, not a linear
  procedure with occasional branches.
- **SWOT Matrix** — Fixed 2×2 grid: Strengths, Weaknesses, Opportunities,
  Threats, internal factors on top, external on bottom (or however your
  convention runs) — bullet lists inside each quadrant, no connecting lines
  needed. Purely a structured-brainstorm container, not a flow or hierarchy.
- **Architecture Diagram** — Boxes for components/services/modules, lines
  for their interactions/data flow, grouped into logical tiers or bounded
  contexts (often nested boxes for "this all lives in one VPC/service").
  The single most overloaded term in this list — always clarify: system
  architecture (services + data flow). software architecture (modules +
  dependencies), or physical/infra architecture (servers, networks, zones)
  before drawing, since the right level of detail differs a lot.
- **Fishbone Diagram (Ishikawa / Cause-and-Effect)** — Horizontal spine
  pointing to the effect/problem at the head, diagonal "bones" branching off
  for major cause categories (commonly Methods, Machines, Materials, Manpower,
  Measurement, Environment), each with sub-branches for specific causes. The
  standard root-cause-analysis diagram — use it, not a mind map, when the
  explicit goal is finding what *caused* a specific problem.
- **Force Field Diagram** — Central vertical line (the status quo), arrows
  pushing from the left (driving forces) and right (restraining forces)
  toward or against a change, arrow length/weight indicating relative
  strength. Use for change-management/decision conversations about what's
  helping vs. hindering a specific shift.
- **Stakeholder Map** — Grid or radial plot positioning stakeholders by
  power/interest (or influence/impact), often as a 2×2 with names as dots or
  small labeled circles. A specialized 2×2 matrix; call it a stakeholder map
  when the axes are specifically power and interest.
- **Wardley Map** — Value chain on the vertical axis (user need at top,
  down through the components that serve it), evolution stage (Genesis →
  Custom-Built → Product → Commodity) on the horizontal axis; components are
  dots positioned by both, connected by the dependencies that build the
  chain above them. Purpose-built for strategy conversations about where to
  build vs. buy vs. wait — don't substitute a generic architecture diagram
  when evolutionary positioning is the actual point.

### Computing, Software & Systems Engineering

- **UML Class Diagram** — Boxes divided into three compartments (class name /
  attributes / methods), connected by relationship lines with specific
  arrowheads for inheritance (hollow triangle), composition (filled
  diamond), aggregation (hollow diamond), and association (plain line), plus
  multiplicity labels at each end. Use for object-oriented design docs where
  the exact relationship *kind* matters, not just "these are related."
- **UML Sequence / Use Case / Activity Diagrams** — See Sequence Diagram
  above for the message-timing variant; Use Case diagrams show actors
  (stick figures) connected to oval use-cases they perform, good for
  scoping system boundaries at a requirements level; Activity diagrams are
  UML's flowchart variant with swimlane-like "partitions" and explicit
  fork/join bars for parallel activity.
- **Entity-Relationship Diagram** — see Relationships & Logic above; the
  database-schema application specifically pairs each entity box with its
  key attributes listed inside it.
- **Petri Net** — Places (circles) hold tokens (dots), transitions (bars)
  consume tokens from input places and produce tokens in output places,
  modeling concurrent/asynchronous systems formally. Reach for this over a
  state machine when *multiple simultaneous states/resources* need modeling,
  not a single system in one state at a time.
- **Fault Tree Analysis (FTA)** — Top-down tree from a single top failure
  event, branching downward through intermediate causes connected by AND/OR
  logic gates (standard Boolean-logic gate symbols) to root-cause basic
  events at the leaves. The reliability-engineering counterpart to a
  fishbone diagram — use FTA when causes combine via explicit Boolean logic
  (both X AND Y must fail), fishbone when causes are just categorized.
- **Logic Gate Diagram** — Standard schematic symbols (AND, OR, NOT, XOR,
  NAND, NOR) wired together showing a digital circuit's Boolean logic.
- **Data Flow Diagram (DFD)** — Processes (circles/rounded rects), data
  stores (open rectangles/parallel lines), external entities (squares), and
  labeled arrows for the data moving between them, often leveled (Level 0
  context diagram down to Level 1/2 detail). Use for systems-analysis
  documentation focused specifically on *what data moves where*, distinct
  from an architecture diagram's focus on components.
- **Deployment / Infrastructure Diagram** — Physical/cloud nodes (servers,
  containers, regions, VPCs) as boxes, often using platform-specific icon
  sets (AWS/GCP/Azure shapes), with network/communication lines between
  them. Group by trust boundary or network zone using nested boxes/frames.
- **Component Diagram** — Boxes with the UML "lollipop and socket" notation
  for provided/required interfaces between components; use when interface
  contracts between modules are the point, not just "these talk to each
  other."
- **Git Branching Diagram** — Horizontal/vertical lines per branch, commits
  as dots along each line, merges as converging lines. Purpose-built for
  explaining a branching strategy (trunk-based, gitflow, etc.) — the visual
  convention is extremely standardized, don't improvise the layout.
- **API Request/Response Diagram** — A specialized sequence diagram between
  client and server lifelines, annotated with the actual method/status code
  on each arrow (`GET /users/:id`, `200 OK {…}`); useful for API
  documentation where exact payload shape matters more than general timing.

### Cybersecurity & Networks

- **Network Topology Diagram** — Physical/logical network layout: routers,
  switches, firewalls, servers, endpoints as standard icons, connected by
  lines representing physical/logical links, often grouped into subnets or
  VLANs via nested boxes. Star, bus, ring, and mesh are the canonical
  topologies — name which one you're drawing if it's a teaching diagram.
- **Attack Tree** — Root node is the attacker's goal, branching downward
  through AND/OR-connected sub-goals to concrete attack steps at the leaves
  (structurally identical to a fault tree, applied to adversarial rather
  than accidental failure). Use for threat-modeling conversations.
- **Kill Chain / Attack Path Diagram** — Linear or graph-based sequence of
  attacker stages (Recon → Initial Access → Persistence → Lateral Movement →
  Exfiltration, or similar named framework) mapped onto the specific systems
  involved. Distinct from an attack tree: this shows one realized path
  through time, not the full space of possible attacks.
- **Data Flow Diagram with Trust Boundaries** — Standard DFD (see above) with
  dashed trust-boundary lines added around zones of differing privilege,
  used specifically for threat modeling (STRIDE-style) — every place a flow
  crosses a boundary is a thing to interrogate.

### Biological & Life Sciences

- **Cladogram / Phylogenetic Tree** — Branching tree where each fork
  represents a common ancestor and branch length may encode evolutionary
  time/distance; leaves are extant taxa. Use for evolutionary-relationship
  content — branch order at each fork is the actual claim being made, get
  it right.
- **Metabolic / Signaling Pathway Diagram** — Nodes are molecules/genes/
  proteins, arrows show reactions/interactions/activation-inhibition
  (often with distinct arrowhead styles for "activates" vs. "inhibits"),
  frequently overlaid on a stylized cell/organelle background for spatial
  context.
- **Punnett Square** — Simple grid, parental alleles on each axis, offspring
  genotype combinations filled into the cells. Exactly one correct layout;
  don't embellish it.
- **Ideogram (Chromosome Diagram)** — Schematic chromosome shape showing
  centromere position and characteristic banding pattern, used to locate
  genes/mutations at specific band coordinates.
- **Anatomical Diagram** — Labeled illustration of a body/organ/system,
  usually with leader lines from labels to precise points on the
  illustration; cross-sections show internal structure at a cut plane. Keep
  label leader lines from crossing each other — reroute or reposition labels
  until they don't.
- **Food Web / Food Chain Diagram** — Directed graph, arrows point from
  prey to predator (the direction energy flows), organized loosely by
  trophic level (producers at the base, apex predators at top). Distinct
  from a simple food chain (a single linear sequence) — a web shows the full
  branching set of relationships in an ecosystem.
- **Cell Diagram** — Labeled cross-section of a cell showing organelles in
  roughly correct relative size/position; specify plant vs. animal cell,
  since the organelle set differs.
- **Life Cycle Diagram** — Circular sequence of stages (egg → larva → pupa →
  adult, etc.), arranged in a ring since the cycle repeats — same shape
  logic as the Hero's Journey circle, applied biologically.

### Chemistry & Molecular Science

- **Skeletal Formula (Line-Angle Structure)** — Standard organic-chemistry
  shorthand: carbon atoms and most hydrogens implied at line vertices/ends,
  only heteroatoms and functional groups explicitly labeled. The default for
  any organic molecule larger than a few atoms.
- **Lewis Structure** — Atoms with explicit bonding lines (single/double/
  triple) and lone-pair dots, used for small molecules where every electron
  matters (not for large organics — use a skeletal formula instead).
- **Reaction Mechanism Diagram** — Sequence of structures connected by
  curved "electron-pushing" arrows showing exactly which electron pair moves
  where, step by step. Use when *how* a reaction proceeds is the content, not
  just reactants-to-products.
- **Protein Contact Map** — Square grid, both axes are residue sequence
  position, a marked cell means those two residues are spatially close in
  the folded structure — a 2D proxy for 3D fold information.
- **Periodic Table Excerpt / Trend Diagram** — Grid arranged by period/group
  with an overlaid arrow or gradient showing a trend (electronegativity,
  atomic radius); only draw the relevant region, not the full table, unless
  the request needs the whole thing.

### Physics, Astronomy & Mathematics

- **Feynman Diagram** — Time and space axes (convention varies), straight/
  wavy/curly lines for different particle types, vertices where lines meet
  representing an interaction. Extremely convention-bound — get line styles
  and vertex rules right rather than improvising.
- **Penrose Diagram (Carter–Penrose)** — Conformally compactified spacetime
  diagram, light rays always at 45°, used to show causal structure/horizons
  in general relativity (black holes, cosmology). Niche and precise — only
  reach for this when the request is specifically about causal structure at
  infinity/horizons, not general spacetime plotting (use a Minkowski
  diagram for that).
- **Minkowski Diagram** — Space on one axis, time on the other, light cones
  at 45°, world lines for objects; the standard special-relativity diagram
  for simultaneity/causality arguments at ordinary (non-cosmological) scale.
- **Free Body Diagram** — A single object drawn as a dot or simple shape with
  labeled force-vector arrows radiating outward (gravity, normal, friction,
  applied force, etc.), arrow length roughly proportional to magnitude.
  The standard first step in any mechanics problem — draw it before any
  equations.
- **Orbital Diagram (Astronomy)** — Central body with elliptical/circular
  paths for orbiting bodies, often with labeled points (perihelion/aphelion,
  apoapsis/periapsis) and direction-of-motion arrows.
- **Hertzsprung–Russell (H-R) Diagram** — Scatter plot of stars, luminosity
  (or absolute magnitude) on the y-axis, temperature/spectral class on the
  x-axis (x-axis conventionally reversed, hot-to-cool left-to-right); the
  main sequence forms a diagonal band. Use for any stellar-evolution
  content — it's the field's canonical chart, don't substitute a generic
  scatter plot.
- **Light Curve** — Line/scatter plot of brightness vs. time for a variable
  star, exoplanet transit, or transient event; a specialized time-series
  chart, mention the domain so it's not confused with a generic line graph.
- **Hasse Diagram** — Directed graph of a partially ordered set (poset) with
  transitive edges omitted and edges implicitly pointing upward (no
  arrowheads needed by convention). Use for lattice/order-theory content —
  divisibility relations, subset lattices.
- **Karnaugh Map (K-Map)** — Grid of 2^n cells (Gray-code ordered so
  adjacent cells differ by one bit) used to visually simplify a Boolean
  expression by grouping adjacent 1s. Purely a simplification tool — always
  show the groupings, not just the filled grid.
- **Vector Field Diagram** — Grid of small arrows, each showing direction
  and magnitude (via length) of a vector quantity (velocity field, force
  field, gradient) at that point in space.
- **Phase Portrait / Phase Space Diagram** — Trajectories plotted in a
  system's state-variable space (e.g. position vs. velocity) rather than
  against time directly, revealing attractors, cycles, and equilibria that a
  plain time-series would hide.

### Linguistics, Humanities & Social Sciences

- **Parse Tree (Syntax Tree)** — Tree diagram with a sentence's root node
  branching down through phrase categories (NP, VP, etc.) to individual
  words at the leaves, per a specific formal grammar. Precise, rule-governed —
  don't freehand the branching, follow the grammar being taught.
- **Stemma Codicum** — Family tree of manuscript versions/copies in textual
  criticism, showing which surviving copies descend from which lost
  originals; structurally a tree diagram but with the specific convention
  of representing *lost/hypothetical* ancestors as distinctly marked
  (dashed/bracketed) nodes.
- **Isogloss Map** — Geographic map with drawn boundary lines separating
  regions that differ in a specific linguistic feature (a word choice, a
  pronunciation), each line a single isogloss; bundles of isoglosses along
  the same boundary indicate a dialect border.
- **Sociogram** — Network graph specialized for social relationships within
  a defined group, nodes are people, directed edges often show a specific
  relation ("chose as friend," "reports conflict with") gathered via
  survey; arrow direction and reciprocity (mutual vs. one-way) are usually
  the interesting signal.
- **Kinship Diagram** — Standardized genealogical notation: triangles for
  male, circles for female, horizontal line for a marriage/partnership,
  vertical line down to offspring, double lines for divorce. Follow the
  standard symbol set exactly — anthropologists and genealogists both read
  it by convention.
- **Argument Map** — Tree/graph of a claim at the root/top, with supporting
  premises and objections as connected boxes below, often color-coded
  (green for support, red for objection) and sometimes with counter-
  objections nested further down. Use for structured debate/critical-
  thinking content, not general concept mapping.
- **Semantic Differential Chart** — Set of horizontal scales, each anchored
  by a pair of opposite adjectives (e.g. "Weak — Strong"), a mark plotted on
  each scale for a rated concept, marks across scales sometimes connected
  into a profile line. Used in psychology/market research for attitude
  measurement.

### Knowledge Representation & Information Architecture

- **Semantic Network** — Node-link graph where nodes are concepts and edges
  are typed semantic relations (is-a, has-a, part-of), core to
  AI/NLP/cognitive-science representations of meaning.
- **Ontology Graph** — Formal hierarchy of classes/categories with explicit
  properties and typed relationships between them (heavier and more formal
  than a semantic network — think OWL/RDF-style class hierarchies, not just
  loose concept links).
- **Concept Lattice** — Formal Concept Analysis diagram: a Hasse-diagram-
  shaped lattice where each node represents a "concept" (a specific set of
  objects sharing a specific set of attributes), nodes ordered by
  generality. Niche and precise — only use when the request is explicitly
  FCA, not a general hierarchy.
- **Topic Map** — ISO-standard structure of topics, associations between
  topics, and occurrences (references to actual source material), used for
  knowledge-base/information-architecture modeling.
- **Site Map / Information Architecture Diagram** — Tree diagram specialized
  for a website/app's page hierarchy, each node a page/screen, showing
  navigation depth and grouping. The UX counterpart to a software
  architecture diagram — use for planning navigation, not code structure.
- **Taxonomy Diagram (Classification Tree)** — See Structures & Hierarchies
  above; in the information-architecture context this specifically models a
  content or product categorization scheme (e.g. an e-commerce category
  tree) rather than a biological or conceptual one.

### Business, Strategy & Operations

- **Service Blueprint** — Extended customer journey map with additional
  rows beneath the customer-facing layer: frontstage actions (what staff/
  interface the customer sees), backstage actions (invisible internal work),
  and supporting processes/systems, with a "line of visibility" separating
  what the customer sees from what they don't. Use when the operational
  machinery behind an experience is the point, not just the customer's
  perception of it.
- **BPMN Diagram (Business Process Model and Notation)** — Formalized
  flowchart dialect with a specific symbol set: rounded rectangles for
  tasks, diamonds with specific glyphs for gateway types (exclusive,
  parallel, inclusive), circles for start/intermediate/end events (with
  different border styles for each), organized into pools/lanes per
  participant. Reach for BPMN specifically when the audience expects formal
  process-notation compliance (enterprise/consulting contexts); a plain
  flowchart is fine otherwise.
- **PERT Chart (Program Evaluation Review Technique)** — Network diagram of
  tasks as nodes (or arrows, in the older ADM convention), connected in
  dependency order, annotated with optimistic/likely/pessimistic duration
  estimates, used to compute the critical path. Distinct from a Gantt chart:
  PERT emphasizes task dependency *structure*, Gantt emphasizes the
  resulting *calendar schedule*.
- **RACI Matrix** — Grid, tasks/deliverables down the rows, roles/people
  across the columns, each cell marked R (Responsible), A (Accountable), C
  (Consulted), or I (Informed). A specialized table more than a diagram, but
  belongs here because it's the standard tool for resolving "who owns this"
  ambiguity — use it explicitly rather than a prose list of responsibilities.
- **Business Model Canvas** — Fixed 9-block grid (Key Partners, Key
  Activities, Key Resources, Value Propositions, Customer Relationships,
  Channels, Customer Segments, Cost Structure, Revenue Streams) filled with
  short notes per block. A fixed template — don't resize or reorder the
  blocks, the layout itself is the recognizable artifact.
- **Lean Canvas** — Sibling of the Business Model Canvas with startup-
  specific blocks (Problem, Solution, Key Metrics, Unfair Advantage instead
  of Key Partners/Resources). Use Lean Canvas over Business Model Canvas
  specifically for early-stage/problem-validation conversations.
- **Value Chain Diagram (Porter's)** — Horizontal arrow-shaped bar divided
  into primary activities (Inbound Logistics → Operations → Outbound
  Logistics → Marketing & Sales → Service) with support activities stacked
  above (Infrastructure, HR, Technology, Procurement), margin shown as a
  wedge at the end. The standard diagram for competitive-strategy analysis
  of where value is added along a firm's operations.
- **Funnel Diagram (Business context)** — See Flow & Spatial below; in a
  business context this is specifically a sales/marketing/conversion funnel,
  often annotated with drop-off percentages between stages.

### Comparison & Ranking

- **Bar Chart (Horizontal)** — One bar per category, length encodes value,
  categories on the vertical axis. Prefer over a vertical column chart the
  moment category labels are long (product names, survey questions) — you
  avoid rotated/truncated text.
- **Column Chart (Vertical Bar)** — Same as above but bars stand vertically;
  best for a modest number of short-labeled categories, or when comparing
  against time buckets (quarters, years) where horizontal reading order
  matches how people expect time to flow.
- **Grouped (Clustered) Bar Chart** — Bars for multiple sub-series placed
  side-by-side within each category cluster; use to compare 2-4 series
  across the same categories where you need to read exact values, not just
  totals.
- **Stacked Bar Chart** — Sub-series bars stacked on top of each other
  within one bar per category, total height = category total. Good for
  showing both the whole and its composition at once, but exact
  sub-segment comparison across categories gets hard once you have more
  than 2-3 segments or the segments don't share a common baseline.
- **Bullet Graph** — Compact single-row chart: a bar for the actual value
  overlaid on background bands (poor/satisfactory/good) plus a tick mark
  for a target, designed by Stephen Few specifically as a dense
  KPI-dashboard replacement for a gauge/speedometer chart.
- **Radar Chart (Spider/Web Chart)** — Multiple axes radiating from a
  center point (one per variable), values plotted and connected into a
  polygon per series. Good for a small number of variables (5-8) compared
  across a small number of series (1-3) — beyond that, overlapping polygons
  become unreadable; use small multiples of radar charts instead of one
  crowded chart.
- **Dumbbell / Connected Dot Plot** — Two dots per category (e.g. "before"
  and "after," or two groups being compared) connected by a line segment,
  making the *gap* between them the visually dominant element. Use
  specifically when the change/difference between two values per category
  is the point, more so than either absolute value.
- **Slope Chart** — Two vertical axes (left = time A, right = time B), one
  line per entity connecting its value at A to its value at B, slope
  direction/steepness showing change. A ranking-change-over-two-points
  specialization — reach for it over a line graph when you specifically
  have only two time points and many entities to compare.

### Trends Over Time

- **Line Graph** — Continuous line connecting data points over an ordered
  (usually time) axis; the default for showing trend/trajectory/velocity of
  a single continuous quantity.
- **Multi-Line Graph** — Several line series on shared axes for direct trend
  comparison; keep it to ~5 lines max before switching to small multiples
  (separate mini-charts per series) — beyond that, color alone can't keep
  lines distinguishable.
- **Area Chart** — Line graph with the region below the line filled in,
  emphasizing cumulative volume/magnitude rather than just the trend shape.
- **Stacked Area Chart** — Multiple series' areas stacked on top of each
  other, showing both a total (top boundary) and composition (band
  thickness) over time. Same caution as stacked bars: sub-series near the
  top of the stack are much harder to compare across time than the bottom
  one.
- **Streamgraph** — Stacked area chart variant with the baseline centered/
  flowing rather than fixed at zero, giving an organic river-like shape.
  Visually striking for showing many overlapping categories' relative
  volume shifting over time, but sacrifices precise value-reading — use for
  a "shape of change" impression, not a chart someone needs to extract
  exact numbers from.
- **Candlestick Chart** — One glyph per time period showing open, high,
  low, close (OHLC) as a body + wicks, body colored by whether close was
  above or below open. The financial-markets standard — don't substitute a
  line graph when open/high/low/close all matter, not just the closing
  value.
- **Sparkline** — Tiny, axis-less inline line chart meant to sit inside a
  sentence, table cell, or dashboard tile — communicates trend shape at a
  glance with zero chrome. Never add axis labels or a legend to a
  sparkline; that defeats its purpose.
- **Cumulative Flow Diagram** — Stacked area chart specialized for
  workflow-stage counts over time (e.g. To Do / In Progress / Done item
  counts), used in Kanban/Agile process analysis; band width at a given
  date = WIP in that stage, band widening over time is a bottleneck signal.
- **Control Chart (Statistical Process Control)** — Line graph of a
  process metric over time with a centerline (mean) and upper/lower control
  limit bands; points outside the bands or non-random patterns within them
  flag process instability. Use for quality/manufacturing-process
  monitoring, not general trend display.

### Part-to-Whole & Composition

- **Pie Chart** — Circle divided into wedges by proportion; keep to 2-6
  categories — more than that and adjacent wedge angles become
  indistinguishable. Order wedges by size (largest starting at 12 o'clock,
  clockwise) unless there's a meaningful non-size ordering (e.g. a Likert
  scale) to preserve instead.
- **Donut Chart** — Pie chart with a hollow center, freeing that center for
  a headline number/KPI; otherwise identical tradeoffs to a pie chart.
- **100% Stacked Bar/Area Chart** — Every bar/area scaled to the same total
  height, showing relative composition (percentages) rather than absolute
  totals — use when the mix matters and the absolute scale doesn't (or is
  shown separately).
- **Treemap** — Nested rectangles, area proportional to value, sized and
  positioned by a tiling algorithm, often colored by a secondary dimension
  and nested for hierarchy (a rectangle inside a rectangle for sub-
  categories). The best part-to-whole chart when you have many categories
  (dozens+) and a real hierarchy — a pie chart falls apart well before a
  treemap does.
- **Waterfall Chart** — Floating bars showing a sequence of positive/
  negative changes bridging a starting total to an ending total (each bar
  starts where the previous one ended); the standard chart for "how did we
  get from X to Y" (a budget bridge, a P&L walk).
- **Icon Array (Pictogram / Isotype Chart)** — Grid of repeated icons, a
  subset shaded/colored to represent a proportion (e.g. "17 of 100 icons
  colored" for 17%). Especially effective for communicating risk/
  probability to a general audience — concrete countable icons read more
  intuitively than an abstract percentage.
- **Marimekko Chart (Mekko Chart)** — Stacked bar chart where *both* bar
  width and segment height vary by value, so area encodes a joint
  distribution of two categorical variables at once (e.g. market share by
  segment, where segment size also varies). Use when both "how big is this
  category" and "how is it split internally" need to be true to scale
  simultaneously — a plain stacked bar only gets the second right.

### Distribution & Range

- **Histogram** — Bars over binned intervals of a continuous variable,
  bar height = frequency/count in that bin; bin width choice materially
  changes the shape shown, so pick a bin width that reveals structure
  without being so fine it just shows noise.
- **Box Plot (Box-and-Whisker Plot)** — Box spans the interquartile range
  (25th-75th percentile) with a line at the median, whiskers extend to a
  defined range (often 1.5×IQR), outliers plotted as individual points
  beyond that. The compact five-number-summary chart for comparing
  distributions across several groups side-by-side.
- **Violin Plot** — Box plot's inner statistics combined with a mirrored
  kernel-density-estimate silhouette showing the full distribution shape
  (bimodal, skewed, etc.) that a box plot's five numbers alone would hide.
- **Density Plot (KDE Plot)** — Smoothed continuous curve estimating a
  variable's probability distribution; use over a histogram when comparing
  multiple overlapping distributions, since overlapping smooth curves stay
  legible where overlapping bars don't.
- **Ridgeline Plot (Joyplot)** — Stack of partially overlapping density
  plots, one per category/time-slice, offset vertically so each peeks out
  above the one behind it. Purpose-built for showing how a distribution's
  shape shifts across many categories/time steps at once (e.g. temperature
  distribution by month).
- **Dot Plot (Strip Plot)** — Individual raw data points plotted along a
  single axis (jittered slightly if needed to avoid full overlap), showing
  every actual value rather than a statistical summary — use for smaller
  datasets where the individual data points themselves are meaningful, not
  just their aggregate shape.
- **Cumulative Distribution Function (CDF) Plot** — Line showing the
  proportion of data at or below each x-value, monotonically rising from 0
  to 1 (or 0-100%). Use when the actual question is "what fraction of
  values are below threshold T," which a CDF answers directly and a
  histogram only answers by eyeballing.

### Relationships & Correlation

- **Scatter Plot** — Points plotted by two numeric variables (x, y), the
  default chart for revealing correlation, clusters, or outliers between
  two continuous quantities.
- **Bubble Chart** — Scatter plot with a third quantitative variable encoded
  as point size (and often a fourth as color). Keep the size-encoding
  linear-in-area, not linear-in-radius — radius-scaling visually
  exaggerates differences.
- **Heatmap (Matrix Heatmap)** — Grid where color intensity encodes a
  value at each row/column intersection; use for correlation matrices,
  time-of-day × day-of-week activity patterns, or any two-categorical-axis
  × one-numeric-value dataset.
- **Parallel Coordinates Plot** — One vertical axis per variable, each data
  row drawn as a connected line crossing all axes at its value on each.
  Good for spotting clusters/outliers across many (5+) dimensions at once,
  at the cost of getting visually dense fast — consider highlighting/
  dimming rather than showing every line at full opacity when there are
  many rows.
- **Connected Scatter Plot** — Scatter plot with points connected in
  temporal order by a line, showing how the relationship between two
  variables evolves over time (as opposed to a plain scatter's single
  static snapshot).
- **Scatter Plot Matrix (SPLOM)** — Grid of small scatter plots, every
  pairwise combination of N variables, diagonal often replaced with a
  histogram/density plot of that single variable. Use for a first-pass
  exploratory look across many variables before deciding which specific
  pairs deserve a full-size scatter plot.
- **Contour Plot** — Lines (or filled bands) connecting points of equal
  value across two continuous input dimensions, like elevation lines on a
  topographic map applied to any bivariate function/density.

### Flow, Process & Spatial Quantity

- **Sankey Diagram** — Flows between nodes drawn as bands whose *width*
  is proportional to quantity, nodes usually arranged left-to-right in
  stages. The standard for showing how a quantity splits, merges, and
  redistributes across stages (energy flow, budget allocation, user-flow
  volume) — width is the entire encoding, keep it accurate and don't let
  bands cross more than necessary.
- **Funnel Chart** — Stacked, narrowing horizontal (or vertical) bands, each
  band a stage in a sequential process, width shrinking as volume drops off
  stage to stage. Use for conversion/attrition processes where the *loss*
  between fixed sequential stages is the point (distinct from a Sankey,
  which can show flows splitting into multiple branches, not just narrowing
  in a single line).
- **Choropleth Map** — Geographic regions (countries, states, counties)
  filled with color/shading proportional to a value. The default for
  region-level statistical geographic data — watch for the classic
  distortion where large-area/low-population regions visually dominate a
  map even when their value is unremarkable; consider a cartogram if that's
  a real concern.
- **Cartogram** — Map where region *area* is distorted to be proportional
  to a data value (population, GDP) rather than true geographic area,
  trading geographic accuracy for value-accuracy. Use specifically to
  correct the large-area-dominates problem a choropleth has.
- **Bubble Map** — Geographic base map with circles sized by value placed
  at specific point locations (cities, facilities); unlike a choropleth,
  this works for point data rather than region-aggregated data.
- **Flow Map** — Geographic map with arrows/lines between locations, line
  width proportional to flow volume (migration, trade, shipping routes) —
  essentially a Sankey diagram laid over real geography instead of an
  abstract left-to-right stage sequence.
- **Dot Density Map** — Each dot represents a fixed unit of a quantity
  (e.g. "1 dot = 100 people"), scattered within the relevant region,
  letting density patterns emerge visually from dot clustering rather than
  from a single aggregate color per region.
- **Isopleth / Contour Map** — Lines connecting points of equal value across
  geography (temperature, elevation, rainfall) — geography's version of a
  contour plot.
- **Transit / Schematic Map** — Deliberately non-geographic, topology-
  preserving map (subway-map style): straight lines at fixed angles
  (usually 45°/90°), stations evenly spaced regardless of true distance,
  optimized purely for route legibility over geographic accuracy.

### Product, UX & Interaction Design

- **User Flow Diagram** — Flowchart specialized for a user's path through a
  product: screens/states as boxes (often with a small wireframe thumbnail),
  user actions as labeled arrows between them, decision points where the
  path branches. Distinct from a sitemap: a user flow follows one goal-
  directed path through the product, a sitemap shows the product's full
  navigable structure.
- **Site Map** — See Information Architecture above.
- **Wireframe** — Low-fidelity screen layout showing structure/placement of
  UI elements (nav, content blocks, CTAs) without visual styling — boxes
  and placeholder text/gray blocks, deliberately unstyled so the
  conversation stays on layout and hierarchy, not color/typography.
- **Empathy Map** — Fixed 4-quadrant template (Says / Thinks / Does /
  Feels) around a central user persona, filled from research notes; a
  specialized 2×2-adjacent grid for synthesizing qualitative user research.
- **Persona Card** — Structured single-panel profile of a fictional/
  composite user: photo/avatar, name, key demographics, goals,
  frustrations, a representative quote. Not really a "diagram" in the
  relational sense, but belongs in a UX deliverable set alongside journey
  maps and empathy maps.
- **Task Flow / Screen Flow Diagram** — Narrower cousin of the user flow,
  scoped to a single task (e.g. "complete checkout") rather than the whole
  product, usually with fewer branches and a tighter linear backbone.

### Manufacturing, Engineering & Supply Chain

- **Process Flow Diagram (PFD)** — Industrial-engineering flowchart showing
  major process units/equipment and the material streams between them,
  often annotated with flow rates/conditions; the high-level cousin of a
  P&ID.
- **Piping and Instrumentation Diagram (P&ID)** — Highly detailed schematic
  of piping, equipment, valves, and instrumentation using a standardized
  symbol library. Extremely convention-bound engineering documentation —
  don't improvise symbols, use the standard ISA/ISO set the domain expects.
- **Exploded-View Diagram** — 3D (or pseudo-3D isometric) view of an
  assembly with each component pulled apart along a shared axis, dashed
  lines showing how they reassemble; the standard for assembly
  instructions and parts catalogs.
- **Kinematic Diagram** — Simplified schematic of a mechanism's moving
  parts (links, joints, cams) using standard symbols for each joint type
  (revolute, prismatic, etc.), showing degrees of freedom rather than
  literal appearance.
- **Bill of Materials (BOM) Tree** — Hierarchical decomposition of a
  product into its constituent parts and sub-assemblies down to individual
  components, each node annotated with part number/quantity. Structurally a
  tree diagram/work-breakdown-structure applied to physical parts.
- **Supply Chain Map** — Node-link or geographic-flow diagram of suppliers →
  manufacturing → distribution → retail, often overlaid on a geographic
  base map when physical location/logistics matter, or abstracted to a
  flowchart when only sequence/relationship matters.
- **Factory / Facility Layout Diagram** — Scaled floor-plan-style diagram
  showing physical placement of equipment/stations and the material flow
  path between them; used for layout optimization, distinguish from a
  process flow diagram which is topological, not spatially accurate.

### Finance & Economics

- **Supply and Demand Curve** — Two intersecting curves (supply upward-
  sloping, demand downward-sloping) on price (y-axis) vs. quantity (x-axis)
  axes, intersection marks equilibrium price/quantity; shift arrows show
  the effect of external changes. The canonical introductory-economics
  diagram — get curve direction and the equilibrium point exactly right.
- **Production Possibility Frontier (PPF)** — Concave curve on axes of two
  goods' output quantities, showing the maximum achievable combination
  given fixed resources; points inside are feasible-but-inefficient, points
  outside are currently unattainable.
- **Indifference Curve Diagram** — Set of curves (each representing equal
  utility) on two-goods axes, plus a budget-constraint line, tangency point
  marking the optimal consumption bundle.
- **Lorenz Curve** — Cumulative share of income/wealth (y) vs. cumulative
  share of population (x), compared against a 45° line of perfect
  equality; the gap between the curve and that line is the visual basis for
  the Gini coefficient. Use specifically for inequality-measurement
  content.
- **Yield Curve** — Line plot of interest rate (y) vs. time-to-maturity (x)
  for bonds of the same credit quality; a flat or inverted shape (short-
  term rates above long-term) is itself the notable signal readers look for
  — label the curve's shape explicitly if it's inverted.
- **Cap Table Waterfall** — Waterfall chart variant showing how exit
  proceeds distribute across share classes in liquidation-preference order,
  each bar/segment a class's payout, running total bridging to the final
  distribution.
- **Candlestick Chart** — See Trends Over Time above; the finance-specific
  application of OHLC data.
- **Correlation Matrix (Asset/Portfolio context)** — See Relationships &
  Correlation above; in a finance context this specifically screens
  pairwise asset-return correlation for diversification analysis.

### Environmental & Earth Science

- **Carbon Cycle Diagram** — Node-link diagram of carbon reservoirs
  (atmosphere, ocean, biomass, soil, fossil fuels) connected by labeled
  flow arrows (photosynthesis, respiration, combustion), arrow width
  optionally scaled to flux magnitude — structurally a Sankey-adjacent flow
  diagram specialized for biogeochemical cycles.
- **Watershed / Drainage Basin Map** — Geographic map with the basin
  boundary outlined and the stream/river network drawn as branching lines
  converging toward the outlet, often shaded by elevation/contour.
- **Climate Stripes** — Single row (or grid of rows) of solid color bars,
  one per year, colored on a single blue-to-red scale by temperature
  anomaly, deliberately stripped of axes/gridlines/labels beyond a year
  range — a minimalist climate-trend communication format, not a
  data-analysis chart; don't add extra chart chrome to it.
- **Geologic Cross-Section** — Side-view slice through the earth showing
  rock-layer (stratum) boundaries, folding/faulting, using standardized
  rock-type pattern fills; vertical exaggeration (if used) should be
  explicitly labeled since it distorts true dip angles.
- **Trophic Pyramid (Ecological Pyramid)** — Pyramid diagram (see Structures
  & Hierarchies) specialized for energy/biomass/numbers at each trophic
  level, narrowing upward — the ecology-specific instance of the general
  pyramid pattern.

### Music & Audio

- **Musical Staff / Score Notation** — Standard five-line staff with notes,
  rests, clefs, key/time signatures — use actual notation conventions, not
  an approximation, whenever pitch and rhythm both need to be precisely
  represented.
- **Chord Progression Diagram** — Sequence of chord symbols over a
  timeline/measure grid, sometimes paired with a circle-of-fifths
  reference to show harmonic relationships between the chords used.
- **Circle of Fifths** — Fixed circular arrangement of the 12 pitch
  classes/keys in fifths order, major keys on the outer ring and relative
  minors on an inner ring; a completely standardized reference diagram —
  don't reorder the keys.
- **Waveform Diagram** — Amplitude vs. time plot of an audio signal; use for
  content about loudness/dynamics/timing at the signal level.
- **Spectrogram** — Frequency (y) vs. time (x) with color/intensity encoding
  amplitude at each frequency-time cell; use when the frequency content
  over time (not just overall loudness) is the point — a waveform can't
  show that.
- **Song Structure Diagram** — Horizontal timeline divided into labeled
  sections (Intro / Verse / Chorus / Bridge / Outro), block width
  proportional to section duration; effectively a specialized timeline for
  arrangement/form analysis.

### Sports, Games & Competition

- **Play Diagram ("Xs and Os")** — Schematic field/court with player
  positions marked (X/O per team) and route/movement arrows showing a
  specific planned play; standardized per sport (football routes, basketball
  screens/cuts) — follow the sport's own symbol conventions.
- **Bracket / Tournament Diagram** — See Structures & Hierarchies above;
  reiterated here because it's the default sports/competition application.
- **Heat Map (Positional/Spatial, Sports context)** — Court/field/pitch
  base image overlaid with a color-intensity heatmap of where a player or
  event (shots, touches) concentrated — the sports-analytics application of
  the general heatmap.
- **Payoff Matrix (Game Theory)** — Grid, one player's strategies as rows,
  the other's as columns, each cell holding both players' payoffs for that
  strategy combination. The standard 2-player game-theory diagram — always
  label whose payoff is listed first/second in each cell.
- **Game Tree (Extensive Form)** — Tree diagram where each node is a
  decision point for a specific player, branches are their available
  moves, and leaves are terminal outcomes/payoffs; use over a payoff
  matrix specifically when moves happen sequentially rather than
  simultaneously.
- **Standings / League Table** — Ranked table more than a diagram, but the
  domain-standard artifact for competition state (position, wins/losses,
  points) — mention it as the right choice when a request for a "sports
  chart" is actually asking for ranked results, not a spatial diagram.

### Legal, Compliance & Governance

- **Decision/Compliance Flowchart** — Standard flowchart (see Processes &
  Workflows) applied to a regulatory/compliance decision path (e.g. "is
  this transaction reportable") — precision in the decision diamonds
  matters more here than almost anywhere else, since real compliance
  outcomes hang on the exact branching logic.
- **Org Chart of Authority / Delegation** — Org chart variant explicitly
  annotated with signing/approval authority levels or delegated powers at
  each box, rather than just reporting lines.
- **Case/Precedent Timeline** — Timeline (see Time, Journey & Narrative)
  specialized for legal case history, milestones being filings/rulings/
  appeals rather than generic events.
- **RACI Matrix (Governance context)** — See Business, Strategy & Operations
  above; frequently reused in compliance/governance docs for regulatory
  accountability mapping.

### Data Science & Machine Learning

- **Neural Network Architecture Diagram** — Layered node-link diagram:
  columns of nodes (neurons/layers) fully or sparsely connected to the next
  column, input layer on one side, output on the other; for modern deep
  architectures, prefer a block diagram (labeled boxes for Conv/Attention/
  Pooling/etc. layers with shape annotations) over drawing individual
  neurons once the network is deep — individual-neuron diagrams stop being
  legible past a couple of layers.
- **Confusion Matrix** — Square grid, actual class down the rows, predicted
  class across columns, cell value = count (or normalized rate); the
  standard classifier-evaluation diagram — always specify which axis is
  actual vs. predicted, conventions vary.
- **ROC Curve** — True positive rate (y) vs. false positive rate (x) as
  the classification threshold sweeps, compared against a diagonal
  no-skill baseline; area under the curve (AUC) is the usual accompanying
  summary statistic.
- **Decision Boundary Plot** — 2D scatter plot of data points colored by
  class, overlaid with a shaded/contoured region showing where a trained
  classifier draws its decision boundary — use specifically to explain
  *how* a model separates classes, not just how accurately.
- **Pipeline/DAG Diagram (ML context)** — See Computing above; in an ML
  context nodes are typically preprocessing/training/evaluation stages,
  often drawn left-to-right as a linear-with-branches pipeline.
- **Data Lineage Diagram** — Directed graph tracing a dataset/field from
  its origin through every transformation to its final consuming
  system/report — a DAG specialized for provenance/audit rather than
  execution order.

### Genealogy & Family

- **Family Tree (Pedigree Chart)** — Standard genealogical tree, either
  ancestor-focused (fan or pedigree chart, one person's ancestors branching
  backward) or descendant-focused (branching forward from a founding
  couple); use the kinship-diagram symbol conventions (see Linguistics &
  Social Sciences above) when marriages/multiple unions need explicit
  representation, plain tree branching when only lineage matters.

---

## Step 2 — Pick the tool

| Need | Tool | Why |
|---|---|---|
| Publishable, shareable, hand-drawn look (docs/PRs/architecture, process maps, systems) | **excalidraw** | Browser share URL, versionable `.excalidraw` |
| Editable offline board, live agent-driven canvas, multi-shape interactive layouts | **tldraw** (`/draw`) | Desktop app, document scripts, Editor API |
| Handwriting/math/plots/animated explainer, AI-in-the-loop refinement | **penecho** (`/pen`, `/drawings`, `/penecho`) | Ink canvas, MathJax, declarative animation scenes |
| **Quantitative / statistical data charts** (bar, line, scatter, heatmap, sankey, funnel, KPI, violin, …) from tabular data | **flint-chart** ([microsoft/flint-chart](https://github.com/microsoft/flint-chart)) | Semantic `ChartAssemblyInput` → Vega-Lite / ECharts / Chart.js / Plotly / Excel; MCP via `npx -y flint-chart-mcp` |
| Quick static reference / no tool available | Inline ASCII, markdown table, or Mermaid-in-code-block | Last resort only |

**Routing rule — flint vs canvas tools:**

- If the answer is "plot these numbers / compare series / show distribution /
  part-to-whole of measured quantities" → **flint-chart** (not hand-drawn fake
  axes in Excalidraw).
- If the answer is "show architecture, agent loops, swimlanes, decision trees,
  sequence, system maps" → **excalidraw** / **tldraw** / **penecho**.
- Mixed briefs get **both**: Flint for the quantitative panels, Excalidraw/
  tldraw for the systems maps.

**Flint wholly integrated here:** full authoring skill, chartType catalog,
semantic types, MCP tools, and examples live at
`references/flint-chart/flint-chart-author.SKILL.md` (plus `INDEX.md`, upstream
README/API notes in that folder). Read that file whenever Step 2 selects flint.
Do **not** invent Vega-Lite/ECharts JSON when Flint can own the chartSpec.

See `skill(action=read, name=diagram)` for canvas routing mechanics and exact
tool-call shapes. For Flint MCP: prefer `create_chart_view`, else
`render_chart` / `compile_chart` / `validate_chart` / `list_chart_types`.

## Step 3 — Visual encoding mandate (this is what separates a real diagram from a flaccid one)

A correctly-chosen diagram type drawn with default-colored, identically-shaped,
unlabeled elements is a **failed illustration**. Every drawing tool exposes a
rich feature set — shape vocabulary, stroke and fill styles, color palettes,
dash patterns, layers, groups, frames, text hierarchy — and that feature set is
your *visual vocabulary*. Using only the default rectangle in the default
black is the single most common failure mode. Before drawing, and again before
delivering, you must deliberately work through this section.

### 3a — Declare the visual grammar BEFORE the first shape

Write a short design brief (mentally or as a scratch note) with these four
lines, then draw *to* it. Random, per-element styling decisions made mid-draw
are how outputs end up "randomly colored" — the fix is deciding the encoding
up front so every color, shape, and line *means something*.

1. **Palette** — pick 3–6 semantic colors + neutral gray. Each color means
   exactly one thing for the whole canvas, and that meaning goes in a legend.
   Prefer domain conventions when they exist:
   - green = success / goal / healthy / value-add
   - red = failure / threat / blocker / risk
   - amber/orange = warning / contention / bottleneck
   - blue = neutral process / data / primary flow
   - purple = external / third-party / out-of-scope
   - gray = background, annotation, de-emphasized context
   Consistency beats cleverness: same concept → same color everywhere,
   including arrow and label colors. If you cannot say what a color *means*,
   it should be gray.
2. **Shape grammar** — each shape encodes a node *type*, applied uniformly:
   rectangle = process/action · rounded-rect = start/end/state · diamond =
   decision · ellipse = terminator/event/use-case · cylinder = data store ·
   container/frame = boundary, tier, trust zone, or group · freedraw/ink =
   annotation, emphasis, or literally hand-drawn things. If two different
   node kinds share a shape, or one kind uses two shapes, the grammar is
   broken.
3. **Edge grammar** — arrowhead = direction of flow/causality (never leave it
   ambiguous) · solid = primary/actual/synchronous · dashed = hypothetical,
   planned, optional, or asynchronous · dotted = secondary/weak relation ·
   thickness = volume, strength, or criticality · color = semantic category
   from the palette. Label the edges where the relation isn't obvious
   ("causes", "calls", "blocks", "5 req/s").
4. **Layout plan** — reading direction (LTR or top-down), lanes/tiers/grouping,
   what sits inside what, where the legend and title go. Alignment and
   consistent spacing are encodings too: proximity = relatedness; identical
   size = peer status; larger = more important/higher magnitude.

### 3b — Exhaust the tool's feature set (per-tool checklist)

Walk the checklist for your chosen tool **before finishing** and make a
conscious use-or-reject decision on each item. "I didn't know the tool could
do that" is not acceptable — the tool's own skill file (Step 5) documents
every capability below.

**Excalidraw** — you must have consciously decided on each:
- Shape variety: rectangle / diamond / ellipse / arrow / line / freedraw —
  mapped to your shape grammar, not used decoratively.
- Per-element styles: `strokeColor`, `backgroundColor`, `fillStyle`
  (solid / hachure / cross-hatch — hachure reads as "lighter" than solid,
  use that), `strokeWidth` (thin/normal/bold — weight = emphasis),
  `strokeStyle` (solid/dashed/dotted per your edge grammar), `edges`
  (sharp/round), `opacity` (dim context layers to ~50% instead of deleting
  them), `sloppiness`.
- Text hierarchy: `fontSize` (S/M/L) and `fontFamily` (hand/normal/code) —
  titles large, labels normal, code/values in monospace. Bind text to shapes
  (`containerId`) and labels to arrows (`boundElements`) so nothing floats.
- Arrows: bind start/end (`startBinding`/`endBinding`) so relationships
  survive re-layout. Use arrowhead styles (triangle/dot/bar/none) as
  semantics: triangle = flow, dot = "produces/data", none = association.
- Structure: group related elements; use `frames` to name panels/sections
  (each source figure = one frame in multi-panel work); z-order (front/back)
  for containment layering.

**tldraw** — you must have consciously decided on each:
- Shape variety: `geo` (dozens of variants — pick semantically), `arrow`
  (bound to shapes, never a decorative line), `text`, `draw`, `image`
  (assets for screenshots/photos), `frame` (grouped, named sections),
  `group`, `note`.
- Style props: `color` (named palette — map to your semantic palette),
  `dash` (draw/solid/dashed/dotted = edge grammar), `fill` (semi/solid/
  hatch/pattern = emphasis tiers), `size`, `font`, `alpha` (dim instead of
  delete).
- Board mechanics: frames + `fit_camera` for guided tours through panels;
  groups for movable clusters; z-order via `moveToFront`/`moveToBack`.
- Document scripts (`script=`/`script_path=`): anything explaining a process,
  state machine, decision tree, or comparison should be click-reactive —
  see Step 4.

**penecho** — you must have consciously decided on each:
- Ink layers (structure ink vs annotation ink), stroke weight/pressure for
  emphasis, MathJax for any quantitative label, declarative animation scenes
  for anything with motion or sequence (Step 4), and the AI-refine/draft
  loop to iterate in place rather than redrawing.

**flint-chart** — quantitative panels must map data to *visual channels*
deliberately: position (most precise) > length > angle > area > color
(least precise) — encode the most important variable on the most precise
channel. Use legend/axis/tooltip/theme config; see
`references/flint-chart/flint-chart-author.SKILL.md`.

### 3c — Depth requirements for every non-trivial diagram

- **Title** — every canvas gets one; readers should never wonder what
  they're looking at.
- **Legend** — required whenever ≥2 semantic colors or shape roles are in
  play (i.e., almost always). Colors that mean different things with no key
  are decoration, not encoding.
- **Labeled edges** where the relation isn't nameable from node text alone.
- **Grouping/containment** — tiers, zones, phases, or lanes whenever the
  content has more than ~7 loose elements.
- **One annotation callout** naming the key insight the diagram exists to
  show (the bottleneck, the critical path, the equilibrium point).
- **Deliberate white space and alignment** — a grid-aligned diagram with
  breathing room reads as professional; a jittered pile reads as careless.
- **Multi-panel structure** for multi-figure sources (Step 0): one frame/
  panel per source figure, clearly titled, plus clearly-labeled synthesis
  panels for your own additions.

### 3d — Anti-patterns (any one of these = go back and fix before delivering)

- Uniform monochrome boxes and default-black arrows ("shape soup").
- Colors applied per-element with no meaning or legend ("random colors").
- Unlabeled or ambiguously-directed arrows.
- Everything the same size, so nothing is emphasized.
- A wall of text inside boxes — if a box needs a paragraph, the diagram
  level is wrong; split it, nest it, or demote it to an annotation.
- Missing title or missing legend when semantic encoding is used.
- Edges crossing en masse when a different layout would untangle them.
- Plain sharp rectangles for decisions/start/end where the domain's shape
  convention says otherwise (diamonds, rounded terminators).

## Step 4 — Interactivity and animation mandate (non-negotiable)

**If the chosen tool supports any element of interactivity or animation, you
MUST use it whenever even remotely useful. Do not neglect these elements.**
A static wall of boxes when the tool could click-to-reveal, animate a flow, or
bind an interactive control is a worse deliverable, not a safer one.

- **tldraw**: prefer real `arrow` bindings over decorative lines; use `frame`
  for grouped sections; when the board explains a process, state machine,
  decision tree, or option comparison, write a `script=`/`script_path=`
  document script so shapes respond to clicks (highlight active path, reveal
  detail panels, run a decision wizard). See `skill(action=read, name=diagram)`
  for the exact `create` args (`script=`, reserved UI band, `fit_camera`).
- **penecho**: when the content has motion, sequence, or before/after states
  (a data pipeline, a process over time, a physical mechanism), use a
  **declarative animation scene** (`animate_scene`, ≤32 objects/motions) instead
  of a single static frame. Use the AI refine / draft layer to iterate live
  rather than redrawing from scratch.
- **excalidraw**: no runtime interactivity in the file itself, but still bind
  arrows to shapes (`startBinding`/`endBinding`) so the diagram stays coherent
  if reordered, and prefer `boundElements` labels over floating text.
- **flint-chart**: default to MCP **`create_chart_view`** (interactive live
  view + customization panel). Fall back to `render_chart` (PNG/SVG) only when
  App UI is unavailable or a static image was explicitly requested. Author
  structure in Flint; transform data *before* Flint; style after compile only
  for presentation tweaks Flint cannot express.

**When to skip interactivity:** a genuinely trivial 2-3 box diagram, a static
chart export for a document, or when the user explicitly asked for "just a
static image." Otherwise, default to using whatever live/interactive/animated
capability the chosen tool exposes.

## Step 4 — Execute

1. If a source URL/doc was given: finish Step 0 (figure inventory + vision pass).
2. Pick type (Step 1) + tool (Step 2).
3. Build with the tool's own skill:
   - canvas: `skill(action=read, name=excalidraw)` / `tldraw-offline` /
     `penecho` / `diagram`
   - charts: read `references/flint-chart/flint-chart-author.SKILL.md` and
     use Flint MCP / `flint-chart` assemblers
4. Apply the interactivity/animation mandate (Step 3) — do not skip this check.
5. Actually create + open it. Never stop at "here's what I'd draw" — the tools
   open the result for the user automatically; use them.
6. For article-faithful map sets: one panel (or linked file) per major source
   figure, then optional synthesis maps (provider economics, costs) that the
   source did not include — clearly labeled as extensions.

Files in this skill

  • SKILL.md72.9 KB
  • references/flint-chart/CHANGELOG.md9.3 KB
  • references/flint-chart/INDEX.md996 B
  • references/flint-chart/README.md9.7 KB
  • references/flint-chart/docs_DEVELOPMENT.md3 KB
  • references/flint-chart/docs_adding-a-chart-template.md4.9 KB
  • references/flint-chart/docs_api-reference.md11.1 KB
  • references/flint-chart/flint-chart-author.SKILL.md27.6 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…