Skip to main content

drawio-diagram

Generate .drawio architecture diagrams with consistent visual style and export to PNG/SVG/PDF/HTML. Use when user asks to "create a diagram", "draw architecture", "make a drawio file", "build a diagram", or mentions "drawio", "architecture diagram", or "system diagram".

Zur Installation springen

Quellinformationen

Repository
dwmkerr/claude-toolkit
Letzte Quellaktivität
20. März 2026 um 10:19
Erkannte Sprache von SKILL.md
Englisch
Sterne
23
Forks
2

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
4 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
drawio-diagram
description
Generate .drawio architecture diagrams with consistent visual style and export to PNG/SVG/PDF/HTML. Use when user asks to "create a diagram", "draw architecture", "make a drawio file", "build a diagram", or mentions "drawio", "architecture diagram", or "system diagram".
# drawio-diagram Generate `.drawio` architecture diagrams with a consistent visual style. Always include a legend. Supports export to PNG, SVG, PDF, and self-contained HTML. ## Workflow 1. **Understand the subject** — read source material (repos, docs, README, user description) 2. **Plan the diagram** — identify containers, capabilities, external services, and connections 3. **Generate the `.drawio` file** — use the XML structure and style conventions below 4. **Add a legend** — always include a legend row at the top of the diagram 5. **Export** — offer to export to PNG/SVG/PDF via draw.io CLI, or to self-contained HTML ## XML Structure Every `.drawio` file must follow this structure: ```xml <mxfile host="Electron" version="28.0.6"> <diagram name="Page-1" id="unique-id"> <mxGraphModel dx="1100" dy="760" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0"> <root> <mxCell id="0" /> <mxCell id="1" parent="0" /> <!-- All diagram cells use parent="1" --> </root> </mxGraphModel> </diagram> </mxfile> ``` For larger diagrams, increase `pageWidth` and `pageHeight` as needed (e.g., `1400x900` or `1600x1000`). ## Element Types and Styles ### Container (systems, layers, groupings) Blue, rounded, bold title top-aligned. ``` rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;verticalAlign=top;fontSize=10; ``` ### Capability (features, components, public) Green, rounded, bold title with description. ``` rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;fontSize=10;verticalAlign=top; ``` ### Existing / External (infrastructure, third-party) Grey, rounded. ``` rounded=1;whiteSpace=wrap;html=1;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;verticalAlign=top;fontSize=10; ``` ### Tech Preview (experimental, private, future) Purple, rounded. ``` rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;fontSize=10;verticalAlign=top; ``` ### Process Step (automated actions, gates) Orange, sharp corners. ``` rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;fontSize=10; ``` ### Use Case (domain applications, verticals) Yellow, italic, pill-shaped. ``` rounded=1;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;fontSize=10;verticalAlign=middle;fontStyle=2 ``` ### Outcome (key deliverable, result) Dark green, white text. Use sparingly. ``` rounded=0;whiteSpace=wrap;html=1;fillColor=#008a00;strokeColor=#005700;fontColor=#ffffff;fontSize=10; ``` ### Protocol Indicator (interface type) Small circle, 8pt font. ``` ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=8;fontStyle=0 ``` Size: 25x25. ### Annotation (ideas, notes, questions) Sticky note shape, yellow. ``` shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;fontColor=#000000;darkOpacity=0.05;fillColor=#FFF9B2;strokeColor=none;fillStyle=solid;direction=west;gradientDirection=north;gradientColor=#FFF2A1;shadow=1;size=20;pointerEvents=1; ``` ### Region (soft grouping) No fill, dashed border. ``` rounded=0;whiteSpace=wrap;html=1;dashed=1;fillColor=none;strokeColor=#999999; ``` ### Infrastructure Bar Full-width grey bar, typically at bottom. ``` rounded=1;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;fontColor=#333333;fontSize=10; ``` ## HTML Labels Use HTML in `value` attributes for rich text: - Bold title: `<b>Title</b>` - Line break: `<br>` - Small text: `<font style="font-size: 9px;">text</font>` - Combined: `<font><b>Title</b><br>Description</font>` Standard element label pattern: ``` <font><b>Component Name</b><br>Brief description</font> ``` ## Connections Always use orthogonal edges: ``` edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1; ``` Add labels on edges where the relationship needs clarification. ## Legend Every diagram must include a legend row near the top. Use small pill-shaped elements (80x20) showing each element type used in the diagram: ```xml <mxCell id="key-1" value="<span>Capability</span>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;fontSize=10;verticalAlign=middle;fontStyle=2" vertex="1" parent="1"> <mxGeometry x="20" y="40" width="80" height="20" as="geometry" /> </mxCell> ``` Space legend items 90px apart horizontally. Only include element types actually used in the diagram. ## Export ### draw.io CLI Export ```bash # macOS /Applications/draw.io.app/Contents/MacOS/draw.io -x -f png -e -b 10 -o output.drawio.png input.drawio # Linux drawio -x -f png -e -b 10 -o output.drawio.png input.drawio ``` Formats: `png`, `svg`, `pdf`, `jpg` Key flags: - `-x`: export mode - `-f`: format - `-e`: embed diagram XML in output - `-b 10`: border width - `-t`: transparent background (PNG only) After export, the `.drawio` source can be deleted since the export embeds the XML. ### Self-Contained HTML Export Generate a standalone HTML file that renders the diagram in a browser without draw.io installed: ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>DIAGRAM_TITLE</title> <style> body { margin: 0; background: #f5f5f5; display: flex; justify-content: center; align-items: center; min-height: 100vh; } .container { background: white; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); overflow: hidden; } </style> </head> <body> <div class="container"> <div class="mxgraph" style="max-width:100%;border:1px solid transparent;" data-mxgraph='{"highlight":"#0000ff","nav":true,"resize":true,"toolbar":"zoom layers lightbox","edit":"_blank","xml":"ESCAPED_XML_HERE"}'></div> </div> <script src="https://viewer.diagrams.net/js/viewer-static.min.js"></script> </body> </html> ``` To create the HTML: 1. Take the complete `<mxGraphModel>...</mxGraphModel>` XML from the `.drawio` file 2. XML-escape it for embedding in the `data-mxgraph` JSON attribute (escape `"`, `<`, `>`, `&`) 3. Replace `ESCAPED_XML_HERE` with the escaped XML 4. Replace `DIAGRAM_TITLE` with the diagram title Open with `open output.html` (macOS) or `xdg-open output.html` (Linux). ## File Naming - Source: `name.drawio` - Exports: `name.drawio.png`, `name.drawio.svg`, `name.drawio.pdf` - HTML: `name.drawio.html` ## Layout Guidelines - Place legend at top - Use containers to group related components - Infrastructure bar at bottom - External services on the right side - Process flows left-to-right - Annotations (sticky notes) in margins - Leave adequate spacing between elements (20-30px minimum) ## Reference See `references/` in this skill directory for: - `demo.drawio` — example output with all element types - `xml-and-export.md` — detailed XML structure and CLI reference
Auf GitHub ansehen