Drawio Diagram logo

Drawio Diagram

Community
Immortalqx
drawio-diagram

Use when creating research figures, paper posters, academic presentation visuals, or conceptual diagrams as an editable draw.io/diagrams.net draft plus PNG export that passes strict visual QA. Especially for paper figures/posters where Codex must read source materials, reuse extracted paper images or plots when useful, and produce an editable draw.io draft + PNG export the user can keep editing directly in draw.io. Cross-platform (Windows, macOS, Linux). PNG export has a hard 60s timeout.

Overview

PublisherImmortalqx
Repositorymy_codex_skills
Skill namedrawio-diagram
Stars
56
Forks
0
Bundled files
7
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 7 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by Immortalqx on GitHub. Read the source before you install it.

Installation

Install the Drawio Diagram AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/Immortalqx/my_codex_skills/tree/main/drawio-diagram
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/Immortalqx/my_codex_skills.git /tmp/my_codex_skills
mkdir -p .claude/skills
cp -r /tmp/my_codex_skills/drawio-diagram .claude/skills/drawio-diagram
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Drawio Diagram in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Drawio Diagram on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Drawio Diagram is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Draw.io Research Figure Pipeline

Purpose

This skill produces research visuals as a single deliverable:

  1. An editable, readable .drawio draft plus one PNG export that passes strict visual QA. SVG/PDF are not exported (they cause unpredictable hangs in headless drawio).

The draw.io draft is not disposable. It must be good enough for the user to keep editing directly in draw.io and to use as a paper or poster figure on its own.

Non-Negotiable Gates

Do not declare a figure ready until all gates pass:

  1. Asset gate: If the task is based on a paper, poster, PDF, slides, Markdown notes, or experiment folder, inspect available figures/images/tables first and reuse useful visual assets instead of redrawing everything from scratch. This is mandatory, not optional.
  2. Editable draft gate: Produce a .drawio that is meaningful and editable by itself. The user must be able to continue editing it in draw.io.
  3. Discovery gate: Verify the drawio CLI is installed and locatable on this host. If not found, run the discovery script and surface install instructions (do not silently fail).
  4. Export gate: Export PNG from the .drawio with a hard 60s timeout. SVG/PDF exports are intentionally skipped — headless drawio frequently hangs on those, and the PNG is sufficient for visual QA.
  5. Visual QA gate: Open the exported PNG and inspect it visually. If text is clipped, occluded, distorted, overlapped, unreadable, misaligned, too small, or blocked by icons/shapes, fix the .drawio, re-export, and inspect again.
  6. No-blind-export gate: Never say the PNG is ready just because files exist. The visual preview must be checked.

If any gate fails, repair the draw.io draft first. Do not declare the figure ready.

For research posters and paper figures, the asset gate must produce an asset_manifest.md before drawing begins. If relevant visual assets exist but are not used, qa_notes.md must explain why each was rejected.

Privacy Rule

Never store API keys, tokens, auth JSON contents, private URLs, or user secrets inside the skill or generated figure files. Scripts may read credentials at runtime from environment variables or existing local Codex auth files, but must not print them.

Discovery & Setup

The drawio CLI must be present on the host before any export. This skill is cross-platform: Windows uses PowerShell scripts, macOS and Linux use bash scripts. The skill ships two discovery helpers and two exporters that share the same lookup logic.

Mandatory preflight

Before invoking the exporter, run the discovery script for this host. If it returns a non-zero status, surface the install hint to the user — do not silently fall back to other skills, and do not hand back a stub PNG.

HostDiscoveryExporter
Windowsscripts/find_drawio.ps1scripts/export_drawio.ps1
macOS / Linuxbash scripts/find_drawio.shbash scripts/export_drawio.sh

Lookup order (all scripts)

  1. $DRAWIO_EXE environment variable (absolute path to the drawio binary).
  2. PATH lookup via the platform-native command (Get-Command / command -v).
  3. Per-OS common install locations (see script sources for the full list).
  4. For Linux, a best-effort AppImage scan under $HOME and /opt.
  5. For Windows, a best-effort scan under %LOCALAPPDATA%\Microsoft\WinGet\Packages.

Installing drawio

If the discovery script exits non-zero, install drawio via the host's package manager and re-run discovery:

PlatformInstall commandNotes
Windowswinget install drawio or choco install drawio or download from https://www.drawio.com/Installer places draw.io.exe in %LOCALAPPDATA%\Programs\draw.io\.
macOSbrew install --cask drawio or download .dmg from https://www.drawio.com/Binary lives inside the .app bundle; the discovery script handles it.
Ubuntu / DebianDownload AppImage from https://www.drawio.com/ and chmod +x, or sudo snap install drawioRecommended path: put the AppImage in ~/.local/bin/ and symlink as drawio.
Other Linuxyay -S drawio (Arch), flatpak install drawioSame logic — the script's PATH and AppImage scan will pick them up.

If installation is impossible, ask the user to confirm an alternative path or hand back the editable .drawio only (no PNG, no claim of completion).

Default Output Folder

Use image_draft/ by default. Never choose a generic test folder unless the user explicitly names it.

Recommended structure:

text
image_draft/
  assets/                  # extracted paper images, plots, screenshots
  asset_manifest.md        # inventory of usable source visuals
  sketch.drawio            # editable semantic draft
  sketch.png               # visual QA preview (the only raster export)
  qa_notes.md              # visual QA checklist and fixes

If image_draft/ already exists, create a versioned subfolder such as image_draft/run_002/ unless the user asks to overwrite.

Source Material Workflow

For research tasks, first build content from source materials:

  • Read the paper/PDF/slides/notes enough to identify the actual method, problem setting, main claim, experimental evidence, and available figures.
  • Treat user-provided screenshots/images in the conversation as source assets too: inspect them and reuse them when they contain useful paper figures, layouts, plots, or visual examples.
  • Search local folders for .pdf, .pptx, .md, .png, .jpg, .jpeg, .svg, .webp, and figure asset folders.
  • Run or manually create an asset inventory before sketching. Use scripts/inventory_assets.py when possible.
  • Extract or reuse relevant visual material:
    • method diagrams
    • robot/camera setup images
    • pipeline screenshots
    • result plots/tables
    • qualitative examples
    • ablation charts
  • Put reused assets under image_draft/assets/.
  • Insert useful assets into draw.io when they improve fidelity. Do not replace real paper figures with weak hand-drawn substitutes.
  • For a paper poster, at least one relevant method/result/setup/qualitative asset should be inserted when such assets exist. If none are inserted, justify this explicitly in qa_notes.md.
  • If the source paper includes figures that communicate the method, robot/camera setup, dataset, results, ablations, or qualitative examples, those figures have priority over newly invented icons or generic boxes.
  • Keep figure assets as movable draw.io image objects where possible. If programmatic insertion is unreliable, use draw.io desktop or the draw.io browser editor to insert the images, then re-export and inspect.
  • Use scripts/render_pdf_pages.py when possible.

Draw.io Draft Requirements

The draft must be clean:

  • Fixed canvas size appropriate to the task, usually 16:9 for posters or 1536x1024-like landscape.
  • Stable grid: columns, rows, and section titles must align.
  • No text under shapes, arrows, image crops, icons, badges, or panel borders.
  • No text clipping or overflow.
  • No ambiguous arrows.
  • No title/body/media collisions.
  • All panels must have enough internal padding.
  • All labels must be concise and editable.
  • Use real extracted paper figures/images where useful; embed or reference them in draw.io so the user can move/replace them.
  • Do not create a generic diagram if the paper already provides relevant visual evidence. Use the paper's method figure, setup figure, result chart, or qualitative examples as visual anchors.
  • Keep the draft independent: no "according to the paper", "from PDF", or "adapted from notes" in the visible figure.

For academic posters, prefer:

  • A strong title band.
  • 3-4 main sections.
  • Method/architecture in the center.
  • Real result numbers/plots on the right or bottom.
  • Key takeaways in a dedicated strip.
  • Paper images/robot setup/qualitative examples as visual anchors when available.

Mandatory Visual QA Loop

After every draw.io export:

  1. Open sketch.png with an image viewer or view_image.
  2. Check at full-image scale and zoomed into dense regions.
  3. Record pass/fail in qa_notes.md.
  4. If fail, fix the .drawio, re-export, and inspect again.

QA checklist:

text
- [ ] Title is readable and not clipped.
- [ ] Every panel title has a fixed area and does not overlap body text.
- [ ] Body text fits inside its box with padding.
- [ ] No image, icon, arrow, badge, or crop covers text.
- [ ] No text extends outside panel boundaries.
- [ ] All arrows point in the intended direction.
- [ ] Extracted figures/images are visible and not distorted.
- [ ] Relevant source assets were inserted, or each unused relevant asset is justified in `qa_notes.md`.
- [ ] Result numbers/axis labels are readable when included.
- [ ] The draft is useful as a standalone editable draw.io artifact, with all labels and structure understandable without external context.

Only after every item passes may the figure be declared ready.

Export

Exports PNG only, with a hard 60s timeout. SVG and PDF exports are deliberately omitted — headless drawio frequently hangs on those, and the PNG is sufficient for visual QA of the raster preview. The editable .drawio stays the source of truth. Override the timeout via -TimeoutSeconds (PowerShell) or -t (bash) when justified.

Windows (PowerShell)

powershell
powershell -ExecutionPolicy Bypass -File scripts/export_drawio.ps1 `
  -DrawioPath "<image_draft>/sketch.drawio" `
  -OutDir "<image_draft>"

Flags:

FlagDefaultNotes
-DrawioPathrequiredInput .drawio file.
-OutDirinput's directoryWhere the PNG is written.
-Scale1.5PNG render scale.
-TimeoutSeconds60Hard kill after this many seconds. Exit code 5 on timeout.
-DrawioExeauto-discoveredExplicit path to draw.io.exe.
-EmbedPngDiagramoffEmbed diagram XML inside the PNG (large output).

macOS / Linux (bash)

bash
bash scripts/export_drawio.sh \
  -i "<image_draft>/sketch.drawio" \
  -o "<image_draft>"

Flags:

FlagDefaultNotes
-irequiredInput .drawio file.
-oinput's directoryWhere the PNG is written.
-s1.5PNG render scale.
-t60Hard timeout in seconds. Exit code 5 on timeout. Uses GNU timeout when available; otherwise runs an internal watchdog.

Behavior on timeout

If the export exceeds the timeout, the exporter kills the drawio process, deletes any partial PNG, and exits with code 5. The agent should report timeout as a hard failure and either re-export with -TimeoutSeconds / -t raised, or hand back the editable .drawio only and explicitly flag that visual QA could not run.

Discovered locations

Both exporters read $DRAWIO_EXE first, then search PATH and common install locations (see "Discovery & Setup" above). On Linux the AppImage is auto-discovered under $HOME and /opt.

Final Response

Report:

  • .drawio, .png, and qa_notes.md paths.
  • Whether source figures/images were reused.
  • Whether visual QA passed.
  • Whether the PNG export completed within the 60s timeout budget (if it timed out, say so explicitly).

If visual QA did not pass, stop and report that the figure is not ready and describe what was fixed in the latest iteration.

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Drawio Diagram AI skill do?

Use when creating research figures, paper posters, academic presentation visuals, or conceptual diagrams as an editable draw.io/diagrams.net draft plus PNG export that passes strict visual QA. Especially for paper figures/posters where Codex must read source materials, reuse extracted paper images or plots when useful, and produce an editable draw.io draft + PNG export the user can keep editing directly in draw.io. Cross-platform (Windows, macOS, Linux). PNG export has a hard 60s timeout.

Why use Drawio Diagram on TypingMind?

Because you install it once and use it with any model. Drawio Diagram is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Drawio Diagram in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/Immortalqx/my_codex_skills/tree/main/drawio-diagram. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Drawio Diagram?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Drawio Diagram?

As many as you like. As long as a model supports skills, you can use Drawio Diagram with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Drawio Diagram AI skill free?

Yes. It is published on GitHub by Immortalqx under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇