← ClaudeAtlas

draw-diagramlisted

Produce a diagram as a draw.io (.drawio) file, then validate and render it to PNG/SVG so it can be visually checked before reporting done. Covers architecture, data flow, sequence, decision tree, system map, ER diagram, org chart, network topology, state machine, infrastructure layout, and workflow automation flows. Use whenever a diagram is needed for any project (draw.io is the default over Mermaid / Graphviz / ASCII), or when the user says "draw a diagram", "make a flowchart", "diagram this", "render the .drawio", or references app.diagrams.net.
eranw2000/drawio-diagram-skill · ★ 1 · Data & Documents · score 77
Install: claude install-skill eranw2000/drawio-diagram-skill
# Draw a draw.io diagram draw.io is the default diagram tool for every project. This skill is the *how*: write the `.drawio` XML using the established visual grammar, then validate and render it so you actually see the result before calling it done. ## 1. Load the grammar (do not duplicate it here) The full visual grammar lives in `DRAWIO_DIAGRAMS.md`, next to this file: shape vocabulary, the seven-color palette, the layout skeleton (header, stages, data store column, footer), arrow conventions, and the decision-hub temporal-ordering defenses. **Read that file first** and follow it. Do not reinvent shape semantics or copy the grammar into this skill. Key points from it, as reminders rather than a replacement for reading it: - Save the `.drawio` source alongside any rendered PNG/SVG, inside the repo or project folder it documents, so it stays editable. - Single wide page (2400+ px), a header strip of three to five boxes, stage containers left to right, a data store column on the right, footer notes. - Reuse the palette for groupings and containers even when using built-in shape libraries (`aws4`, `mscae`, `azure`, `gcp`, `cisco`) for domain icons. - When a diagram in the same family already exists, copy it and rewrite the contents rather than starting from scratch. ## 2. Write the XML Author the `.drawio` file directly. Manage cell IDs carefully (every `mxCell` needs a unique id, and edges reference `source` and `target` ids), escape `&`, `<`, and `>` in labels, and lay