Overview
Every diagram must pass this 27-item checklist before it’s considered complete. The checklist is organized into categories that match the diagram creation workflow.Checklist Categories
Depth & Evidence (Check First for Technical Diagrams)
For technical diagrams (architectures, protocols, APIs, integrations), these items are mandatory. For simple/conceptual diagrams, items 2-4 may not apply.Research done
Did you look up actual specs, formats, event names?Why it matters: Generic placeholders like “API” or “Event” don’t teach. Real names and formats make diagrams educational.What to check:
- Are you using real method/function names from the docs?
- Are event names, message types, or API endpoints actual values from the spec?
- Did you verify the terminology against official documentation?
Evidence artifacts
Are there code snippets, JSON examples, or real data?Why it matters: Evidence artifacts prove accuracy and help viewers learn what things actually look like.What to check:
- Code snippets showing real implementation patterns
- JSON/data examples with actual field names and types
- Sample input/output content (not just labels saying “Input” or “Output”)
- Real UI mockups (not just boxes labeled “UI”)
Multi-zoom
Does it have summary flow + section boundaries + detail?Why it matters: Comprehensive diagrams operate at multiple zoom levels simultaneously, like a map showing both country borders and street names.What to check:
- Level 1 (Summary): Simplified overview of the full process
- Level 2 (Sections): Labeled regions grouping related components
- Level 3 (Detail): Evidence artifacts and concrete examples within sections
Concrete over abstract
Real content shown, not just labeled boxes?Why it matters: “Process” in a box teaches nothing. Showing what the process actually does teaches.What to check:
- For data transformations: show sample input AND output
- For protocols: show actual message formats
- For integrations: show real API requests/responses
- For UIs: show what the interface actually displays
Educational value
Could someone learn something concrete from this?The test: If you showed this diagram to someone unfamiliar with the system, could they:
- Understand the structure AND some details?
- See what things actually look like (not just what they’re called)?
- Walk away with concrete knowledge, not just a vague overview?
- “Input → Process → Output” with no detail
- Boxes with generic labels and no context
- Diagrams that just restate what a bullet list already said
Conceptual
These items ensure the diagram argues visually rather than just displaying labeled boxes.Isomorphism
Does each visual structure mirror its concept’s behavior?The Isomorphism Test: If you removed all text, would the structure alone communicate the concept?What to check:
- One-to-many concepts use fan-out (radial arrows from center)
- Many-to-one concepts use convergence (funnel, arrows merging)
- Hierarchies use tree structures (lines + text, not nested boxes)
- Loops use cycles (arrow returning to start)
- Transformations use assembly line (before → process → after)
- Each shape choice reflects what the thing DOES, not just labels what it IS
Argument
Does the diagram SHOW something text alone couldn’t?Why it matters: If the diagram just repeats what the text says, delete it.What to check:
- Does it reveal relationships that are hard to express in prose?
- Does it show causality, flow, or dependencies visually?
- Would removing the diagram make the concept harder to understand?
Variety
Does each major concept use a different visual pattern?Why it matters: Uniform cards or grids don’t distinguish concepts. Different patterns create meaning through form.What to check:
- No more than 2 concepts should use the same pattern
- Avoid “everything in equal boxes” or card grid layouts
- Each section should look visually distinct based on what it represents
No uniform containers
Avoided card grids and equal boxes?Why it matters: Card grids are for displaying items of the same type. Most diagrams show relationships between different types.What to check:
- Shapes vary in size based on importance
- Different concept types use different shapes (ellipse vs rectangle vs diamond vs lines)
- Avoided the temptation to put everything in same-sized boxes for “consistency”
Container Discipline
These items ensure you’re using containers purposefully, not automatically.Minimal containers
Could any boxed element work as free-floating text instead?The container test: For each boxed element, ask “Would this work as free-floating text?” If yes, remove the container.What to check:
- Section titles, subtitles, and labels should be free-floating (no boxes)
- Descriptions and details should use typography for hierarchy, not containers
- Only use containers when they serve a purpose: focal points, grouping, arrow targets, or when the shape carries meaning
- Target: less than 30% of text elements should be inside containers
Lines as structure
Are tree/timeline patterns using lines + text rather than boxes?Why it matters: Lines create cleaner structure than nested boxes for hierarchies and sequences.What to check:
- Timelines use a line + small dots (10-20px ellipses) + free-floating labels
- Hierarchies use trunk + branch lines + free-floating text (not boxes)
- No “boxes connected by lines” where just “lines + text” would work
Typography hierarchy
Are font size and color creating visual hierarchy (reducing need for boxes)?Why it matters: A 28px title doesn’t need a rectangle around it. Typography IS hierarchy.What to check:
- Titles use larger font size (24-28px) and Title color from palette
- Subtitles use medium size (18-20px) and Subtitle color
- Details use standard size (16px) and Detail color
- Containers are reserved for elements that actually need them (see item 10)
Structural
These items ensure the diagram’s structure supports understanding.Connections
Every relationship has an arrow or lineWhy it matters: Position alone doesn’t show relationships. If A relates to B, there must be a visual connection.What to check:
- Every dependency, flow, or relationship is explicitly drawn
- Arrows have clear start and end points (using bindings)
- No “implied” relationships based on proximity alone
Flow
Clear visual path for the eye to followWhy it matters: The viewer’s eye should move through the diagram in a logical order.What to check:
- Sequences flow left→right or top→bottom
- Hub-and-spoke patterns use radial flow from center
- The most important element is visually dominant (size + whitespace)
- There’s a clear entry point (where to start reading)
Technical
These items ensure valid Excalidraw JSON and proper configuration.Text clean
text contains only readable wordsWhy it matters: The text property is what gets rendered. It must contain only the actual display text.What to check:Font
fontFamily: 3Why it matters: Font family 3 is Excalidraw’s hand-drawn font, which matches the aesthetic.What to check:- All text elements have
"fontFamily": 3 - No elements using fontFamily 1 (Virgil) or 2 (Helvetica) unless explicitly intended
Roughness
roughness: 0 for clean/modern (unless hand-drawn style requested)Why it matters: Roughness controls the sketch-like wobble. Modern diagrams should be crisp.What to check:"roughness": 0for clean, technical diagrams"roughness": 1only if hand-drawn style was explicitly requested
Opacity
opacity: 100 for all elements (no transparency)Why it matters: Transparency makes diagrams look washed out. Use color, size, and stroke width for hierarchy instead.What to check:- All elements have
"opacity": 100 - No elements using partial transparency (less than 100)
Container ratio
Less than 30% of text elements should be inside containersWhy it matters: Too many containers creates visual clutter and weakens hierarchy.How to check:
- Count total text elements
- Count text elements with
"type": "text"that have a corresponding container (rectangle, ellipse, diamond) - Ratio should be under 30%
Visual Validation (Render Required)
See Render Pipeline for rendering instructions.Rendered to PNG
Diagram has been rendered and visually inspectedHow to render:Then use the Read tool to view the PNG.
No text overflow
All text fits within its containerWhat to check in the PNG:
- No text is clipped at edges of rectangles/ellipses
- Multi-line text has enough vertical space
- Long labels don’t spill outside their shapes
width and/or height in JSONNo overlapping elements
Shapes and text don’t overlap unintentionallyWhat to check in the PNG:
- No text sitting on top of other text
- No shapes covering other shapes (unless layering is intentional)
- Free-floating labels are clearly anchored to one element, not ambiguous between two
x and y coordinates to add spacingEven spacing
Similar elements have consistent spacingWhat to check in the PNG:
- Elements in a sequence (e.g., timeline) are evenly spaced
- Gaps between sections are consistent
- No awkward bunching in one area while other areas are sparse
(total_width - sum_of_element_widths) / (num_elements + 1) and apply uniformlyArrows land correctly
Arrows connect to intended elements without crossing othersWhat to check in the PNG:
- Arrow start and end points attach to the correct shapes
- Arrows don’t pass through unrelated elements
- Curved arrows (
"roundness": {"type": 2}) route around obstacles
- Verify
startBindingandendBindingreference correct element IDs - Add waypoints to
pointsarray to route around elements - Adjust arrow
roundnessto create clearer paths
Readable at export size
Text is legible in the rendered PNGWhat to check in the PNG:
- All text is sharp and readable at the exported resolution
- No text is too small to read comfortably
- Minimum font size should be 16px for body text, 12px for labels
- Increase
fontSizein JSON - Re-render with higher
--scaleparameter (default is 2, try 3)
Balanced composition
No large empty voids or overcrowded regionsWhat to check in the PNG:
- Visual weight is distributed across the canvas
- No huge empty spaces next to cramped sections
- The diagram feels centered and intentional, not accidentally lopsided
- Important elements have breathing room (200px+ of whitespace)
- Redistribute elements to balance left/right or top/bottom
- Add more spacing in cramped areas
- Consider if empty areas could be filled with evidence artifacts or supporting details
Render & Validate Loop
The visual validation items (21-27) cannot be completed in one pass. You must iterate:When to Stop
The loop is complete when:- All 27 checklist items pass
- The rendered diagram matches your conceptual design
- You’d be comfortable showing it without caveats