excalidraw

Generate hand-drawn Excalidraw JSON diagrams for architecture, flowcharts, and sequence diagrams.

Updated Sep 10, 2026
One-click install
npx skills add https://github.com/loteiron/ZeusAgent --skill excalidraw-loteiron
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: excalidraw
Source: https://github.com/loteiron/ZeusAgent/tree/main/optional-skills/creative/excalidraw
Command: npx skills add https://github.com/loteiron/ZeusAgent --skill excalidraw-loteiron

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires cryptography, and includes scripts (resource) and references (resource) components.

What problem does it solve? Creating diagrams usually requires opening a drawing tool and manually placing shapes. This Skill lets you produce valid Excalidraw diagram files directly as JSON, which can be opened at excalidraw.com or shared via a link without any account or rendering library. ## Core Features & Use Cases - JSON Diagram Generation: Write standard Excalidraw element JSON (rectangles, ellipses, diamonds, arrows, bound text labels) and save it as a .excalidraw file. - Shareable Uploads: Upload diagrams to excalidraw.com with client-side AES-GCM encryption via the included scripts/upload.py to get a shareable URL. - Reference Guides: Built-in color palettes, dark-mode theming rules, and complete copy-pasteable examples for flowcharts, process diagrams, and UML-style sequence diagrams. - Use Case: Ask the agent to diagram your microservices architecture; it writes the .excalidraw file with labeled, color-coded nodes and bound arrows, then uploads it so you can share the link with your team. ## Quick Start Ask the agent to create an Excalidraw diagram of your system architecture and save it as a .excalidraw file.

Frequently Asked Questions about excalidraw

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create an Excalidraw diagram programmatically?▼

Write an array of Excalidraw element objects (rectangles, arrows, text) wrapped in the standard .excalidraw JSON envelope with type, version, and appState fields. Save the file and drag it onto excalidraw.com to view and edit it.

How do I add text labels to Excalidraw shapes in JSON?▼

Use container binding: the shape needs a boundElements array referencing the text element, and the text element needs a containerId pointing back to the shape. The label property does not exist in Excalidraw and is silently ignored.

Can I share an Excalidraw diagram without an account?▼

Yes, run the included upload.py script with your .excalidraw file path. It encrypts the diagram client-side with AES-GCM, uploads it to excalidraw.com, and prints a shareable URL containing the decryption key.

Why is my Excalidraw shape showing blank with no text?▼

Blank shapes happen when the non-existent label property is used instead of container binding. Both sides must be linked: boundElements on the shape and containerId on the text, plus originalText and fontFamily on the text element.

Does the Excalidraw upload script require any dependencies?▼

The upload script requires the cryptography pip package for AES-GCM encryption. Install it with pip install cryptography before running python upload.py on your diagram file.