| name | diagramming |
| description | Generate Excalidraw diagrams. Use when creating flowcharts, ER diagrams, sequence diagrams, block diagrams, or any .excalidraw files. |
Diagramming with Excalidraw
Generate valid .excalidraw JSON files.
File Format
{
"type": "excalidraw",
"version": 2,
"source": "https://excalidraw.com",
"elements": [],
"appState": {
"viewBackgroundColor": "#ffffff"
},
"files": {}
}
| Field |
Type |
Description |
type |
string |
Always "excalidraw" |
version |
number |
Schema version (currently 2) |
source |
string |
Origin URL |
elements |
array |
All diagram elements |
appState |
object |
Canvas settings (background, etc.) |
files |
object |
Binary files keyed by fileId (images) |
Workflow
- Plan - Choose diagram type, layout, colors
- Generate - Create elements with proper structure
- Validate - Check bindings and structure before writing
Validation Checklist
Before writing a diagram, verify:
Bindings
- Arrows connecting shapes have both
startBinding and endBinding set
- Arrow
x,y sits at the source shape's edge, not floating in space
- Shapes list connected arrows in their
boundElements (bidirectional)
- Text labels have
containerId pointing to their container
- Containers have
boundElements referencing their text
Polygons
- Polygon labels use
groupIds (not containerId)
- Text positioned manually at polygon center
Layout
- Elements don't overlap unexpectedly
- Arrows route around shapes, not through them
- Minimum 40px between sibling elements
- All IDs are unique
- Label text matches actual names (verify spelling)
Reference Index
Load references progressively based on need:
Elements
Styling