Skip to main content
skill GitHub Copilot official · GitHub

drawio · github — GitHub Copilot skill: what it does, how to install

Builds native .drawio diagram files and exports them to PNG, SVG, or PDF with embedded XML.

Install into GitHub Copilot · Skills CLI (Vercel) All methods and platforms ↓
npx skills add github/awesome-copilot --skill drawio
Open on GitHub

What drawio does

This skill writes diagram structures directly into .drawio files using standard mxGraphModel XML syntax. It follows defined visual conventions for external systems, data stores, processing stages, and error paths.

Image conversion relies on the bundled drawio-to-png.mjs script. The script runs the local draw.io desktop CLI when present or switches to a headless browser via puppeteer-core. Running npm install inside the scripts folder is required before the first export run. Because exported PNG, SVG, and PDF files keep embedded XML, you can reopen them later in draw.io for manual edits.

Install this skill when your documentation workflow requires architectural diagrams without drawing them by hand in a browser.

What it helps with

  • generate native .drawio XML files from text descriptions
  • export diagrams to PNG images for embedding into documents
  • produce scalable SVG or PDF diagrams with editable embedded XML
  • batch convert a directory of .drawio files into images

Example prompts for the agent

  • Create a system architecture diagram in app-design.drawio and export it to PNG
  • Generate a database schema diagram as a native .drawio file
  • Batch export all .drawio files in the docs folder

How to install drawio

1Skills CLI (Vercel)

npx skills add github/awesome-copilot --skill drawio

2GitHub CLI

gh skill install github/awesome-copilot drawio

3Manually: put the files in place

.github/skills/drawio/SKILL.md

From the same set554

The whole set →
git-commit official github This skill reviews Git changes, stages related files, and creates Conventional Commits. Use it when you want an agent to make one commit or split work into separate commits. GitHub Copilot 47,165installs excalidraw-diagram-generator official github Turn a plain-language description into an Excalidraw diagram. Useful for mapping processes, system structure, and relationships between entities. GitHub Copilot 31,639installs multi-stage-dockerfile official github This skill guides GitHub Copilot in writing multi-stage Dockerfiles for different languages and frameworks. Use it when the final runtime image should contain fewer build dependencies. GitHub Copilot 29,688installs documentation-writer official github Skill that turns the agent into a technical writer following the Diátaxis framework: tutorials, how-to guides, reference, and explanation. Proposes structure before writing. GitHub Copilot 27,757installs prd official github Turns a feature idea into a structured PRD with user stories, technical requirements, and risks. Use it when planning a software feature or an AI-powered one. GitHub Copilot 24,035installs refactor official github This skill reshapes existing code without changing its external behavior. Use it for gradual cleanup of large functions, duplication, weak types, and code smells. GitHub Copilot 22,321installs java-springboot official github Gives GitHub Copilot Spring Boot development practices, from project layout to tests and security. Use it when writing or reviewing Java application code. GitHub Copilot 21,272installs create-readme official github This skill reviews a project and creates a structured README.md. Use it when the repository needs clear documentation based on its actual files and code. GitHub Copilot 19,081installs

Other versions of drawio

Similar

research-summarizer Alireza Rezvani Turns academic papers, whitepapers, and reports into structured briefs, extracts citations, and builds comparative matrices across documents. Claude Code 1,190installs product-manager-toolkit Alireza Rezvani This skill helps prioritize features, analyze customer interviews, and draft PRDs. Use it when product work moves from discovery to roadmap planning. Claude Code 994installs content-creator Alireza Rezvani A deprecated skill routes legacy content requests to the right specialist. Use it when older prompts still invoke “content creator”. Claude Code 915installs cto-advisor Alireza Rezvani Guides technical debt reviews, architecture decisions and engineering team planning in Claude Code. Claude Code 892installs grill-with-docs Matt Pocock This skill interviews you about a plan or design and creates ADRs and a glossary along the way. Use it when decisions need sharper definition. Claude Code 1,219,756installs skill-creator official anthropics Creates and refines skills, then tests them with prompts, evaluations, and performance checks. Claude Code Claude.ai 414,180installs setup-matt-pocock-skills Matt Pocock This skill configures a repository for Matt Pocock's engineering skills by setting its issue tracker, triage labels, and domain docs layout. Run it before using the other skills. Claude Code 1,052,851installs handoff Matt Pocock Creates a handoff document from the current conversation so another agent can continue the work. Use it when a task moves to a new session or agent. Claude Code 1,038,491installs

Questions about drawio

How do I install drawio in GitHub Copilot?

Run npx skills add github/awesome-copilot --skill drawio or gh skill install github/awesome-copilot drawio. Alternatively, save SKILL.md into .github/skills/drawio/.

What does the drawio skill do?

It writes .drawio files with mxGraphModel XML and exports them into PNG, SVG, or PDF. Each rendered image embeds the diagram source so you can edit it later.

What dependencies are needed for image export?

You need Node.js with dependencies installed via npm install in the scripts folder. For rendering, it uses either an installed draw.io desktop app or a Chromium-based browser via puppeteer-core.

Source text

SKILL.md · MIT
---
name: drawio
description: Generate draw.io diagrams as .drawio files and export to PNG/SVG/PDF with embedded XML
---

# Draw.io Diagram Skill

Generate draw.io diagrams as native `.drawio` files and export them to PNG images that can be embedded in Word documents.

## How to Create a Diagram

1. **Generate draw.io XML** in `mxGraphModel` format for the requested diagram
2. **Write the XML** to a `.drawio` file using the create/edit file tool
3. **Export to PNG** using the bundled export script

## Bundled Export Script

This skill includes `drawio-to-png.mjs`, a Node.js export script with two rendering backends:

1. **draw.io CLI** (pixel-perfect, fastest) — used automatically if draw.io desktop is installed
2. **Official draw.io viewer in headless browser** (pixel-perfect, needs Chromium/Edge) — fallback when CLI is unavailable

### Usage

```bash
# Install dependencies (one-time, from the scripts folder)
cd skills/drawio/scripts && npm install

# Export a single diagram
node skills/drawio/scripts/drawio-to-png.mjs <input.drawio> [output.png]

# Export all .drawio files in a directory
node skills/drawio/scripts/drawio-to-png.mjs --dir <directory>

# Force a specific renderer
node skills/drawio/scripts/drawio-to-png.mjs --renderer=cli|viewer|auto <input.drawio>
```

### Skill Folder Contents

| File | Purpose |
|------|---------|
| `SKILL.md` | This instruction file |
| `scripts/drawio-to-png.mjs` | Node.js export script (CLI + browser fallback) |
| `scripts/package.json` | Dependencies (`puppeteer-core`) |

## Supported Export Formats

| Format | Embed XML | Notes |
|--------|-----------|-------|
| `png` | Yes | Viewable everywhere, editable in draw.io |
| `svg` | Yes | Scalable, editable in draw.io |
| `pdf` | Yes | Printable, editable in draw.io |

## Draw.io XML Style Conventions

Use these styles for consistent, professional diagrams:

```xml
<!-- Primary service (highlighted) -->
<mxCell style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;strokeWidth=2;arcSize=12;shadow=1;" />

<!-- External system -->
<mxCell style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;" />

<!-- Success/processing stage -->
<mxCell style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" />

<!-- Warning/quality gate -->
<mxCell style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" />

<!-- Error/failure path -->
<mxCell style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" />

<!-- Data store (cylinder) -->
<mxCell style="shape=cylinder3;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" />

<!-- Arrow -->
<mxCell style="edgeStyle=orthogonalEdgeStyle;rounded=1;strokeColor=#6c8ebf;strokeWidth=2;" />
```

## Locating the draw.io CLI

Try `drawio` first (works if on PATH), then fall back:

- **Windows**: `"C:\Program Files\draw.io\draw.io.exe"`
- **macOS**: `/Applications/draw.io.app/Contents/MacOS/draw.io`
- **Linux**: `drawio` (via snap/apt/flatpak)

### CLI Export Command

```bash
drawio -x -f png -e -b 10 -o <output.png> <input.drawio>
```

Flags: `-x` (export), `-f` (format), `-e` (embed diagram XML), `-b` (border), `-o` (output path).

© github · MIT · github/awesome-copilot

See also

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor