excalidraw

Generate hand-drawn style diagrams as Excalidraw JSON files with optional shareable link upload.

1|Updated Mar 12, 2026
One-click install
npx skills add https://github.com/kaminocorp/hermes-alpha-hunter --skill excalidraw-kaminocorp
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: excalidraw
Source: https://github.com/kaminocorp/hermes-alpha-hunter/tree/main/skills/creative/excalidraw
Command: npx skills add https://github.com/kaminocorp/hermes-alpha-hunter --skill excalidraw-kaminocorp

SYSTEM DOCUMENTATION & REQUIREMENTS

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

What problem does it solve? Creating architecture diagrams, flowcharts, and sequence diagrams usually requires opening a drawing tool and manually placing shapes. This Skill lets you produce complete Excalidraw diagrams directly as JSON files that open instantly at excalidraw.com, with no accounts, API keys, or rendering libraries. ## Core Features & Use Cases - JSON-based diagram generation: Write standard Excalidraw element JSON (rectangles, ellipses, diamonds, arrows, bound text labels) and save it as a .excalidraw file. - Shareable link upload: A bundled Python script encrypts the file client-side with AES-GCM and uploads it to excalidraw.com, returning a shareable URL. - Reference guides: Built-in color palettes, dark-mode theming rules, and copy-pasteable examples for flowcharts, process diagrams, and UML sequence diagrams. - Use Case: Ask for a system architecture diagram of your microservices, receive a .excalidraw file, drag it onto excalidraw.com to edit, or upload it for a link to share with your team. ## Quick Start Ask the agent to create an Excalidraw diagram of your system architecture and save it as a .excalidraw file you can open at excalidraw.com.

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 from JSON?▼

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

How do I add text labels to Excalidraw shapes?▼

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

How do I get a shareable link for an Excalidraw file?▼

Run the bundled upload.py script with your .excalidraw file path. It encrypts the file client-side with AES-GCM, uploads it to excalidraw.com without an account, and prints a shareable URL containing the decryption key.

Why is my Excalidraw text invisible or blank?▼

Blank shapes usually mean the label property was used instead of container binding. Invisible text on dark backgrounds happens when the default #1e1e1e stroke color is kept; set strokeColor to #e5e5e5 for dark mode diagrams.

Does the Excalidraw upload script require an account or API key?▼

No account or API key is needed. The script posts to the public excalidraw.com endpoint, and the encryption key stays in the URL fragment so the server never sees plaintext. It only requires the cryptography pip package.