📄 SKILL.md

← Vault

name: excalidraw

description: Create hand-drawn style diagrams using Excalidraw JSON format. Generate .excalidraw files for architecture diagrams, flowcharts, sequence diagrams, concept maps, and more. Files can be opened at excalidraw.com or uploaded for shareable links.

version: 1.0.0

author: Hermes Agent

license: MIT

dependencies: []

metadata:

hermes:

tags: [Excalidraw, Diagrams, Flowcharts, Architecture, Visualization, JSON]

related_skills: []


Excalidraw Diagram Skill

Create diagrams by writing standard Excalidraw element JSON and saving as .excalidraw files. These files can be drag-and-dropped onto excalidraw.com for viewing and editing. No accounts, no API keys, no rendering libraries -- just JSON.

Workflow

1. Load this skill (you already did)

2. Write the elements JSON -- an array of Excalidraw element objects

3. Save the file using write_file to create a .excalidraw file

4. Optionally upload for a shareable link using scripts/upload.py via terminal

Saving a Diagram

Wrap your elements array in the standard .excalidraw envelope and save with write_file:

`json

{

"type": "excalidraw",

"version": 2,

"source": "hermes-agent",

"elements": [ ...your elements array here... ],

"appState": {

"viewBackgroundColor": "#ffffff"

}

}

`

Save to any path, e.g. ~/diagrams/my_diagram.excalidraw.

Uploading for a Shareable Link

Run the upload script (located in this skill's scripts/ directory) via terminal:

`bash

python skills/diagramming/excalidraw/scripts/upload.py ~/diagrams/my_diagram.excalidraw

`

This uploads to excalidraw.com (no account needed) and prints a shareable URL. Requires the cryptography pip package (pip install cryptography).


Element Format Reference

Required Fields (all elements)

type, id (unique string), x, y, width, height

Defaults (skip these -- they're applied automatically)