Diagram Design
cathrynlavery/diagram-design
Creates branded diagrams, from architecture, flowchart and sequence to charts and maps, as self-contained HTML with inline SVG, with import from draw.io, Mermaid and Excalidraw.
Create hand-drawn style diagrams using Excalidraw JSON format.
$ npx skills add RedWoodOG/Hermes-Desktop --skill excalidraw -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install RedWoodOG/Hermes-Desktop excalidraw --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/RedWoodOG/Hermes-Desktop.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/creative/excalidraw .claude/skills/excalidraw && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "excalidraw" agent skill from https://github.com/RedWoodOG/Hermes-Desktop/tree/main/skills/creative/excalidraw into .claude/skills/excalidraw/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "excalidraw", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/RedWoodOG/Hermes-Desktop/tree/main/skills/creative/excalidrawType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add RedWoodOG/Hermes-Desktop --skill excalidraw -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install RedWoodOG/Hermes-Desktop excalidraw --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/RedWoodOG/Hermes-Desktop.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/creative/excalidraw .agents/skills/excalidraw && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "excalidraw" agent skill from https://github.com/RedWoodOG/Hermes-Desktop/tree/main/skills/creative/excalidraw into .agents/skills/excalidraw/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "excalidraw", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add RedWoodOG/Hermes-Desktop --skill excalidraw -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install RedWoodOG/Hermes-Desktop excalidraw --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/RedWoodOG/Hermes-Desktop.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/creative/excalidraw .cursor/skills/excalidraw && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "excalidraw" agent skill from https://github.com/RedWoodOG/Hermes-Desktop/tree/main/skills/creative/excalidraw into .cursor/skills/excalidraw/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "excalidraw", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/RedWoodOG/Hermes-Desktop.git --path skills/creative/excalidraw--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add RedWoodOG/Hermes-Desktop --skill excalidraw -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install RedWoodOG/Hermes-Desktop excalidraw --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/RedWoodOG/Hermes-Desktop.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/creative/excalidraw .gemini/skills/excalidraw && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "excalidraw" agent skill from https://github.com/RedWoodOG/Hermes-Desktop/tree/main/skills/creative/excalidraw into .gemini/skills/excalidraw/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "excalidraw", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install RedWoodOG/Hermes-Desktop excalidrawInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add RedWoodOG/Hermes-Desktop --skill excalidraw -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/RedWoodOG/Hermes-Desktop.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/creative/excalidraw .github/skills/excalidraw && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "excalidraw" agent skill from https://github.com/RedWoodOG/Hermes-Desktop/tree/main/skills/creative/excalidraw into .github/skills/excalidraw/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "excalidraw", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add RedWoodOG/Hermes-Desktop --skill excalidraw -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install RedWoodOG/Hermes-Desktop excalidraw --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/RedWoodOG/Hermes-Desktop.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/creative/excalidraw .opencode/skills/excalidraw && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "excalidraw" agent skill from https://github.com/RedWoodOG/Hermes-Desktop/tree/main/skills/creative/excalidraw into .opencode/skills/excalidraw/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "excalidraw", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
excalidrawCreate hand-drawn style diagrams using Excalidraw JSON format.
Excalidraw is an agent skill from RedWoodOG/Hermes-Desktop. 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.
Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including scripts and reference files (for example `references/colors.md`, `references/dark-mode.md` and `references/examples.md`).
It sits in Development, covering Diagrams. It works with Excalidraw. The licence is MIT.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit be46b39. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
pythonpipFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
excalidraw.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Excalidraw loads about 1.8k tokens when it runs, and up to ~6.4k if it reads all its reference files. Until then it costs about 63 tokens; SKILL.md has 558 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from RedWoodOG/Hermes-Desktop at commit be46b39, republished under its MIT licence (© RedWoodOG). 558 words, ~1,808 tokens.
.claude/skills/excalidraw/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.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.
write_file to create a .excalidraw filescripts/upload.py via terminalWrap your elements array in the standard .excalidraw envelope and save with write_file:
{
"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.
Run the upload script (located in this skill's scripts/ directory) via terminal:
python skills/diagramming/excalidraw/scripts/upload.py ~/diagrams/my_diagram.excalidrawThis uploads to excalidraw.com (no account needed) and prints a shareable URL. Requires the cryptography pip package (pip install cryptography).
type, id (unique string), x, y, width, height
strokeColor: "#1e1e1e"backgroundColor: "transparent"fillStyle: "solid"strokeWidth: 2roughness: 1 (hand-drawn look)opacity: 100Canvas background is white.
Rectangle:
{ "type": "rectangle", "id": "r1", "x": 100, "y": 100, "width": 200, "height": 100 }roundness: { "type": 3 } for rounded cornersbackgroundColor: "#a5d8ff", fillStyle: "solid" for filledEllipse:
{ "type": "ellipse", "id": "e1", "x": 100, "y": 100, "width": 150, "height": 150 }Diamond:
{ "type": "diamond", "id": "d1", "x": 100, "y": 100, "width": 150, "height": 150 }Labeled shape (container binding) -- create a text element bound to the shape:
WARNING: Do NOT use
"label": { "text": "..." }on shapes. This is NOT a valid Excalidraw property and will be silently ignored, producing blank shapes. You MUST use the container binding approach below.
The shape needs boundElements listing the text, and the text needs containerId pointing back:
{ "type": "rectangle", "id": "r1", "x": 100, "y": 100, "width": 200, "height": 80,
"roundness": { "type": 3 }, "backgroundColor": "#a5d8ff", "fillStyle": "solid",
"boundElements": [{ "id": "t_r1", "type": "text" }] },
{ "type": "text", "id": "t_r1", "x": 105, "y": 110, "width": 190, "height": 25,
"text": "Hello", "fontSize": 20, "fontFamily": 1, "strokeColor": "#1e1e1e",
"textAlign": "center", "verticalAlign": "middle",
"containerId": "r1", "originalText": "Hello", "autoResize": true }containerId is setx/y/width/height are approximate -- Excalidraw recalculates them on loadoriginalText should match textfontFamily: 1 (Virgil/hand-drawn font)Labeled arrow -- same container binding approach:
{ "type": "arrow", "id": "a1", "x": 300, "y": 150, "width": 200, "height": 0,
"points": [[0,0],[200,0]], "endArrowhead": "arrow",
"boundElements": [{ "id": "t_a1", "type": "text" }] },
{ "type": "text", "id": "t_a1", "x": 370, "y": 130, "width": 60, "height": 20,
"text": "connects", "fontSize": 16, "fontFamily": 1, "strokeColor": "#1e1e1e",
"textAlign": "center", "verticalAlign": "middle",
"containerId": "a1", "originalText": "connects", "autoResize": true }Standalone text (titles and annotations only -- no container):
{ "type": "text", "id": "t1", "x": 150, "y": 138, "text": "Hello", "fontSize": 20,
"fontFamily": 1, "strokeColor": "#1e1e1e", "originalText": "Hello", "autoResize": true }x is the LEFT edge. To center at position cx: x = cx - (text.length * fontSize * 0.5) / 2textAlign or width for positioningArrow:
{ "type": "arrow", "id": "a1", "x": 300, "y": 150, "width": 200, "height": 0,
"points": [[0,0],[200,0]], "endArrowhead": "arrow" }points: [dx, dy] offsets from element x, yendArrowhead: null | "arrow" | "bar" | "dot" | "triangle"strokeStyle: "solid" (default) | "dashed" | "dotted"{
"type": "arrow", "id": "a1", "x": 300, "y": 150, "width": 150, "height": 0,
"points": [[0,0],[150,0]], "endArrowhead": "arrow",
"startBinding": { "elementId": "r1", "fixedPoint": [1, 0.5] },
"endBinding": { "elementId": "r2", "fixedPoint": [0, 0.5] }
}fixedPoint coordinates: top=[0.5,0], bottom=[0.5,1], left=[0,0.5], right=[1,0.5]
Font sizes:
fontSize: 16 for body text, labels, descriptionsfontSize: 20 for titles and headingsfontSize: 14 for secondary annotations only (sparingly)fontSize below 14Element sizes:
See references/colors.md for full color tables. Quick reference:
| Use | Fill Color | Hex |
|---|---|---|
| Primary / Input | Light Blue | #a5d8ff |
| Success / Output | Light Green | #b2f2bb |
| Warning / External | Light Orange | #ffd8a8 |
| Processing / Special | Light Purple | #d0bfff |
| Error / Critical | Light Red | #ffc9c9 |
| Notes / Decisions | Light Yellow | #fff3bf |
| Storage / Data | Light Teal | #c3fae8 |
#757575references/dark-mode.mdreferences/examples.md© RedWoodOG, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 4 other files (scripts, references) in skills/creative/excalidraw of RedWoodOG/Hermes-Desktop.
Open the folder on GitHubat commit be46b39
We found 6 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 5 other GitHub owners. This page covers the copy in RedWoodOG/Hermes-Desktop, which our catalogue first saw on October 7, 2026.
Excalidraw next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Excalidraw this skillRedWoodOG/Hermes-Desktop | 177 | 5 repos | ~1.8k | Automated safety check: Pass | MIT | |
| Diagram Designcathrynlavery/diagram-design | 47k | 1 repos | ~7.5k | Automated safety check: Pass | MIT | |
| Excalidraw Diagramcoleam00/excalidraw-diagram-skill | 5k | 2 repos | ~6.1k | Automated safety check: Pass | None | |
| Excalidraw Diagrambreferrari/obsidian-mind | 5k | — | ~3.9k | Automated safety check: Pass | MIT | |
| Excalidraw Skillyctimlin/mcp_excalidraw | 2.5k | — | ~4.6k | Automated safety check: Pass | MIT | |
| Lanshu Animated Architecture Diagramcclank/lanshu-animated-architecture-diagram | 994 | — | ~1.1k | Automated safety check: Pass | MIT |
cathrynlavery/diagram-design
Creates branded diagrams, from architecture, flowchart and sequence to charts and maps, as self-contained HTML with inline SVG, with import from draw.io, Mermaid and Excalidraw.
coleam00/excalidraw-diagram-skill
Create Excalidraw diagram JSON files that make visual arguments.
breferrari/obsidian-mind
Generate Excalidraw diagrams from text content. An agent skill from breferrari/obsidian-mind.
yctimlin/mcp_excalidraw
Excalidraw canvas toolkit for creating, editing, and refining diagrams on a live canvas.
cclank/lanshu-animated-architecture-diagram
Create premium hand-drawn architecture and process diagrams in the Lanshu animated GIF style, with editable .excalidraw files, static PNG previews, and genuinely animated GIFs with moving flow…
tech-leads-club/agent-skills
Generates Excalidraw diagram files from plain descriptions, choosing among flowcharts, mind maps, architecture, swimlane, class, sequence and ER diagrams.
RedWoodOG/Hermes-Desktop
Remove refusal behaviors from open-weight LLMs using OBLITERATUS — mechanistic interpretability techniques (diff-in-means, SVD, whitened SVD, LEACE, SAE decomposition, etc.) to excise guardrails…
RedWoodOG/Hermes-Desktop
Production pipeline for ASCII art video — any format. An agent skill from RedWoodOG/Hermes-Desktop.
RedWoodOG/Hermes-Desktop
A skill your agent uses when encountering any bug, test failure, or unexpected behavior.
RedWoodOG/Hermes-Desktop
A skill your agent uses when implementing any feature or bugfix, before writing implementation code.
RedWoodOG/Hermes-Desktop
Delegate coding tasks to Claude Code (Anthropic's CLI agent).
RedWoodOG/Hermes-Desktop
Gmail, Calendar, Drive, Contacts, Sheets, and Docs integration via Python.
Works with
Categories
Create hand-drawn style diagrams using Excalidraw JSON format. Excalidraw is an agent skill from RedWoodOG/Hermes-Desktop. Create hand-drawn style diagrams using Excalidraw JSON format.
Excalidraw fits situations like: tasks that involve Diagrams.
Run `npx skills add RedWoodOG/Hermes-Desktop --skill excalidraw -a claude-code`. Or copy the skill folder (skills/creative/excalidraw in RedWoodOG/Hermes-Desktop) into .claude/skills/excalidraw in your project. Claude Code loads it when a task matches its description.
Run `npx skills add RedWoodOG/Hermes-Desktop --skill excalidraw -a codex`. Or copy the skill folder (skills/creative/excalidraw in RedWoodOG/Hermes-Desktop) into .agents/skills/excalidraw in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add RedWoodOG/Hermes-Desktop --skill excalidraw -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/excalidraw, .gemini/skills/excalidraw, .github/skills/excalidraw and .opencode/skills/excalidraw in your project.
Going by SKILL.md and its folder, Excalidraw needs Python for the scripts in its folder and the command-line tools its instructions call (python and pip). Our summary lists: Python 3.
SKILL.md names 1 domain. As links in the text: excalidraw.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Excalidraw is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.8k tokens (SKILL.md is roughly 7.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 4.6k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Excalidraw: Diagram Design (cathrynlavery/diagram-design, 47k stars), Excalidraw Diagram (coleam00/excalidraw-diagram-skill, 5k stars), Excalidraw Diagram (breferrari/obsidian-mind, 5k stars) and Excalidraw Skill (yctimlin/mcp_excalidraw, 2.5k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
RedWoodOG (a GitHub user) maintains it in RedWoodOG/Hermes-Desktop, which has 177 GitHub stars. The repository holds 62 skills in this directory. The repository was last updated on May 30, 2026.
Source: RedWoodOG/Hermes-Desktop on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.