mit einem Klick
excalidraw
// Generate hand-drawn Excalidraw-style diagrams from text prompts. Triggers on requests for diagrams, flowcharts, architecture sketches, system designs, hand-drawn visuals, or when the user says /excalidraw.
// Generate hand-drawn Excalidraw-style diagrams from text prompts. Triggers on requests for diagrams, flowcharts, architecture sketches, system designs, hand-drawn visuals, or when the user says /excalidraw.
| name | excalidraw |
| description | Generate hand-drawn Excalidraw-style diagrams from text prompts. Triggers on requests for diagrams, flowcharts, architecture sketches, system designs, hand-drawn visuals, or when the user says /excalidraw. |
| user_invocable | true |
Generate hand-drawn style diagrams rendered as SVG + PNG.
Set your preferred output directory below. Defaults to ~/Downloads/Excalidraw/.
OUTPUT_DIR: ~/Downloads/Excalidraw/
To customize, edit the OUTPUT_DIR line above to any absolute path (e.g., ~/Documents/Diagrams/, ~/Desktop/Sketches/).
| Key | Value |
|---|---|
| Formats | .svg + .png (2x resolution) |
| Fonts | Virgil (handwritten) + Cascadia (monospace) |
| Renderer | scripts/render.mjs (roughjs + xmldom + resvg) |
| Reference | references/element-format.md |
Identify the components, relationships, and flow direction from the user's prompt. Decide on:
Read references/element-format.md (relative to this skill's directory) for the full JSON format specification, color palette, and layout rules.
Create a JSON object following the element format. Key rules:
IDs and references:
idfrom/to reference shape IDsText and labels (CRITICAL for clean output):
subtitle property on title text elements for descriptive text below titles. NEVER create separate overlapping text elements.annotation property on shapes for technical details (endpoint, protocol, size). NEVER place separate text elements near shapes for this purpose.sectionLabel property on zone rectangles. NEVER place separate text elements over zone boundaries.Sizing shapes for content:
Spacing and layout:
Style:
rounded: true for service/component rectangles#e7f5ff) with sectionLabelRead the OUTPUT_DIR from the Configuration section above. Create the directory if it doesn't exist.
Save the JSON to a temp file:
cat > /tmp/excalidraw-diagram.json << 'DIAGRAMEOF'
{ ...the JSON... }
DIAGRAMEOF
Run the renderer (use the absolute path to scripts/render.mjs within this skill's directory):
node <SKILL_DIR>/scripts/render.mjs /tmp/excalidraw-diagram.json "<OUTPUT_DIR>"
Clean up the temp file.
Tell the user the file paths for both SVG and PNG. Open the PNG for visual inspection.
/excalidraw user -> API gateway -> auth service -> database/excalidraw microservices architecture with 4 services/excalidraw decision flowchart for code review processdraw me a hand-drawn diagram of the deployment pipelinetext elements at similar Y positions. Use subtitle property instead.text elements for shape descriptions. Use the annotation property on the shape itself.text element for zone/section names. Use sectionLabel on the zone rectangle.annotation to a shape, increase its height to at least 90px.text element with subtitle, not multiple stacked elements.cd scripts && npm install