Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/coleam00/excalidraw-diagram-skill/llms.txt

Use this file to discover all available pages before exploring further.

This guide walks you through the complete process of creating an Excalidraw diagram using this skill—from understanding your content to delivering a polished visual.

Overview

Creating a diagram isn’t just about drawing shapes. It’s about arguing visually—showing relationships, causality, and flow that words alone can’t express. Follow this workflow to ensure your diagrams teach and communicate effectively.
1
Step 1: Assess Depth Required
2
Before designing anything, determine what level of detail your diagram needs:
3
Simple/Conceptual Diagrams are appropriate when:
4
  • Explaining a mental model or philosophy
  • The audience doesn’t need technical specifics
  • The concept IS the abstraction (e.g., “separation of concerns”)
  • 5
    Comprehensive/Technical Diagrams are needed when:
    6
  • Diagramming a real system, protocol, or architecture
  • The diagram will be used to teach or explain (e.g., YouTube video)
  • The audience needs to understand what things actually look like
  • You’re showing how multiple technologies integrate
  • 7
    For technical diagrams, you must include evidence artifacts—code snippets, real data formats, actual event names. This is what makes the diagram educational rather than just decorative.
    8
    Step 2: Research (For Technical Diagrams)
    9
    If you’re creating a technical diagram, research the actual specifications before drawing anything:
    10
  • Look up the actual JSON/data formats
  • Find the real event names, method names, or API endpoints
  • Understand how the pieces actually connect
  • Use real terminology, not generic placeholders
  • 11
    Bad example: “Protocol” → “Frontend”
    Good example: “AG-UI streams events (RUN_STARTED, STATE_DELTA, A2UI_UPDATE)” → “CopilotKit renders via createA2UIMessageRenderer()”
    12
    Research makes diagrams both accurate and educational.
    13
    Step 3: Understand Deeply
    14
    Read the content you’re visualizing. For each concept, ask:
    15
  • What does this concept DO? (not what IS it)
  • What relationships exist between concepts?
  • What’s the core transformation or flow?
  • What would someone need to SEE to understand this? (not just read about)
  • 16
    Step 4: Map Concepts to Visual Patterns
    17
    For each concept, choose a visual pattern that mirrors its behavior:
    18
    If the concept…Use this patternSpawns multiple outputsFan-out (radial arrows from center)Combines inputs into oneConvergence (funnel, arrows merging)Has hierarchy/nestingTree (lines + free-floating text)Is a sequence of stepsTimeline (line + dots + labels)Loops or improves continuouslySpiral/Cycle (arrow returning to start)Is an abstract state or contextCloud (overlapping ellipses)Transforms input to outputAssembly line (before → process → after)Compares two thingsSide-by-side (parallel with contrast)Separates into phasesGap/Break (visual separation between sections)
    19
    For multi-concept diagrams, each major concept must use a different visual pattern. No uniform cards or grids.
    20
    Step 5: Plan Container Usage
    21
    Not every piece of text needs a shape around it. Default to free-floating text. Add containers only when they serve a purpose:
    22
    Use a container when:
    23
  • It’s the focal point of a section
  • It needs visual grouping with other elements
  • Arrows need to connect to it
  • The shape itself carries meaning (decision diamond, etc.)
  • It represents a distinct “thing” in the system
  • 24
    Use free-floating text when:
    25
  • It’s a label or description
  • It’s supporting detail or metadata
  • Typography alone creates sufficient hierarchy
  • It’s a section title, subtitle, or annotation
  • 26
    Goal: Aim for less than 30% of text elements to be inside containers.
    27
    Step 6: Generate the JSON
    28
    Now create the Excalidraw elements:
    29
  • Read the color palette at ~/.claude/skills/excalidraw-diagram/references/color-palette.md
  • Use element templates from ~/.claude/skills/excalidraw-diagram/references/element-templates.md
  • For large diagrams, build section-by-section (see Large Diagrams guide)
  • Use descriptive IDs like "trigger_rect" or "arrow_fan_left" for readability
  • 30
    Basic Structure
    {
      "type": "excalidraw",
      "version": 2,
      "source": "https://excalidraw.com",
      "elements": [
        // Your elements here
      ],
      "appState": {
        "viewBackgroundColor": "#ffffff",
        "gridSize": 20
      },
      "files": {}
    }
    
    Example Element
    {
      "id": "start_ellipse",
      "type": "ellipse",
      "x": 100,
      "y": 100,
      "width": 180,
      "height": 90,
      "angle": 0,
      "strokeColor": "#c2410c",
      "backgroundColor": "#fed7aa",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "roughness": 0,
      "opacity": 100,
      "seed": 100001,
      "text": "Start",
      "fontSize": 16,
      "fontFamily": 3,
      "textAlign": "center",
      "verticalAlign": "middle"
    }
    
    31
    Step 7: Render & Validate (MANDATORY)
    32
    You cannot judge a diagram from JSON alone. After generating the JSON, you must run the render-view-fix loop until it looks right.
    33
    See the Render & Validate guide for the complete process.

    Quality Checklist

    Before considering your diagram complete, verify:

    For Technical Diagrams

    • ✅ Research done: actual specs, formats, event names looked up
    • ✅ Evidence artifacts: code snippets, JSON examples, or real data included
    • ✅ Multi-zoom: has summary flow + section boundaries + detail
    • ✅ Concrete over abstract: real content shown, not just labeled boxes
    • ✅ Educational value: someone could learn something concrete from this

    For All Diagrams

    • ✅ Isomorphism: each visual structure mirrors its concept’s behavior
    • ✅ Argument: diagram SHOWS something text alone couldn’t
    • ✅ Variety: each major concept uses a different visual pattern
    • ✅ Minimal containers: less than 30% of text elements are in boxes
    • ✅ Connections: every relationship has an arrow or line
    • ✅ Flow: clear visual path for the eye to follow
    • ✅ Rendered & validated: PNG generated, visually inspected, issues fixed

    Next Steps

    Large Diagrams

    Learn the section-by-section strategy for comprehensive diagrams

    Render & Validate

    Master the mandatory render-view-fix loop

    Customization

    Customize colors and brand styles for your diagrams

    Visual Patterns

    Explore all available visual patterns