Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Drawio Diagrams

ASecurity

Draw dense diagrams — cloud architecture (AWS/GCP/Azure), data flow, network — as draw.io files, export them to PNG headlessly, and place the PNG in a slide-forge deck. The editable .drawio source is archived in the deck's Drive folder so the user can keep editing it. Use for: draw.io で図を作って, クラウド構成図, データフロー図, ネットワーク構成図, cloud architecture diagram, or any diagram too dense for native Slides shapes.

2 stars
0 votes
0 copies
1 views
Added 9/19/2026
developmentpythongobashnodeawsgcpazureapi

Works with

cliapi

Security Analysis

A100/100

Scanned 9/19/2026

Install to Claude Code

$npx -y skills add wfukatsu/slide-forge --skill drawio-diagrams --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Drawio Diagrams?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Drawio Diagrams
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/wfukatsu-drawio-diagrams/badge)](https://www.skillsdirectory.com/skills/wfukatsu-drawio-diagrams)

More formats (shields.io, HTML) on the badges page.

Download with Pro
Files
SKILL.md
---
name: drawio-diagrams
description: >-
  Draw dense diagrams — cloud architecture (AWS/GCP/Azure), data flow, network —
  as draw.io files, export them to PNG headlessly, and place the PNG in a
  slide-forge deck. The editable .drawio source is archived in the deck's Drive
  folder so the user can keep editing it.
  Use for: draw.io で図を作って, クラウド構成図, データフロー図, ネットワーク構成図,
  cloud architecture diagram, or any diagram too dense for native Slides shapes.
---
*[日本語](SKILL.ja.md)*

# draw.io Diagrams for Google Slides

## Important

- **Scope**: diagrams too dense for `diagrams.py` native shapes — nested
  containers (VPC/subnet) 2+ levels deep, 10+ nodes, 15+ edges, or when
  official-style cloud vendor icons with group frames are wanted. For simple
  concept/flow figures, stay with `diagrams.py` in the `google-slides` skill.
  The routing table is at the top of `references/drawio.md`.
- **Working directory**: the slide-forge root — `${CLAUDE_PLUGIN_ROOT}` when running from an installed plugin, `/path/to/slide-forge` on a local clone (literal paths assume the local clone).
- **Requires the drawio desktop CLI** (`brew install --cask drawio`;
  `drawio` on PATH or the app bundle). Verified headless on macOS.
- **Visual QA of the exported PNG is mandatory.** A wrong shape name
  (`resIcon` / `prIcon` / azure2 SVG path) renders as a plain colored square
  with no error — never guess names; look them up
  (`references/drawio.md` § How to look up shape names).
- **Deliverables are three**: the slide with the PNG inserted, the exported
  PNG, and the editable `.drawio` source. Upload the `.drawio` and PNG into
  the deck's Drive folder (`scripts/drive_folder.py upload`) so the user can
  edit the diagram later — a PNG alone is a dead end.
- When inserting into **an existing deck the user already has**, run
  `scripts/snapshot_version.py <URL>` first (version-before-edit rule shared
  with the other slide-forge skills).

## Quick Reference

| Task | Where |
|------|-------|
| Authoring guide + verified style recipes (AWS/GCP/Azure, groups, edges) | `references/drawio.md` |
| Export .drawio to PNG | `.venv/bin/python scripts/drawio_export.py <in.drawio> [--out out/diagrams/x.png] [--scale 2]` |
| Look up shape names (never guess) | `grep -ao 'mxgraph\.aws4\.[a-z0-9_]*' /Applications/draw.io.app/Contents/Resources/app.asar \| sort -u` |
| Insert PNG into a deck spec | `{ "type": "image", "x": …, "y": …, "w": …, "h": …, "source": "out/diagrams/x.png", "fit": "contain" }` |
| Archive sources to the deck's Drive folder | `.venv/bin/python scripts/drive_folder.py upload <FOLDER> x.drawio out/diagrams/x.png` |
| Version snapshot before editing an existing deck | `.venv/bin/python scripts/snapshot_version.py <URL>` |

## Phase 0: Environment check

```bash
which drawio || ls /Applications/draw.io.app/Contents/MacOS/draw.io
```

If neither exists, ask the user to run `brew install --cask drawio`. The
Python side uses the shared slide-forge venv (`.venv`), same as the other
skills.

## Phase 1: Author the .drawio

Write the mxGraph XML directly, following `references/drawio.md`:

- File skeleton with the mandatory `id="0"` / `id="1"` root cells
- Coordinates in px; children of a container use parent-relative coordinates
- Vendor icons: AWS `resourceIcon` + `resIcon`, GCP `hexIcon` + `prIcon`,
  Azure `image=img/lib/azure2/…` — copy the verified recipes, look up any
  name you have not used before
- Edges always attach via `source`/`target` (never free coordinates), with
  `edgeLabel` child vertices for labels
- Aim the drawing bounds at the slide region's aspect ratio (16:9 to 2:1 for
  a full-body figure); PNG export crops to content, page size is irrelevant

Save the file next to the deck's spec (e.g. `<deck-dir>/figures/arch.drawio`).

## Phase 2: Export to PNG

```bash
.venv/bin/python scripts/drawio_export.py <deck-dir>/figures/arch.drawio \
    --out out/diagrams/arch.png --scale 2
```

`--scale 2` is the minimum for full-slide figures (target ≥ 1600px width for
an 8in insertion). `--transparent` for decks with tinted backgrounds;
`--page N` for multi-page files.

## Phase 3: Visual QA (mandatory)

Open the PNG with the Read tool and run the checklist at the bottom of
`references/drawio.md`: plain-square icons (wrong shape names), overlapping
labels, edges crossing unrelated shapes, children escaping containers,
legibility at insertion size. Fix the XML and re-export until clean.

## Phase 4: Insert into the deck

- **Spec path** (`build_deck.py`): add an `image` part pointing at the local
  PNG; use `fit: "contain"` and size the box to the PNG's aspect ratio.
- **Code-first path** (`deckkit`): `image(x, y, w, h, "out/diagrams/arch.png")`.
- **Existing deck**: snapshot the version first (`snapshot_version.py`), then
  insert with the API and renumber pages if needed
  (`references/code-blocks.md` shows the insertion pattern).

The generator uploads the PNG to Drive temporarily and cleans it up — the
slide keeps its own copy of the image.

## Phase 5: Archive sources in the deck's Drive folder

Every deck lives in its own Drive folder (see the Drive folder rule in the
generating skill). Put the diagram sources there too:

```bash
.venv/bin/python scripts/drive_folder.py upload <FOLDER_URL_OR_ID> \
    <deck-dir>/figures/arch.drawio out/diagrams/arch.png
```

Report the folder URL together with the deck URL, and mention that the
`.drawio` can be opened at app.diagrams.net or in the draw.io desktop app
for later edits.

Attribution

wfukatsuwfukatsu
View sourceMore from wfukatsu →
SSkills DirectorySkills Directory

Know which skills are safe — weekly.

Best new skills + every skill we flagged as malicious. From the team that scanned 103,619.

Join free

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Know which skills are safe — weekly.

Best new skills + every skill we flagged as malicious. From the team that scanned 103,619.

Join free

Related Skills

Browser Extension Developer

Use this skill when developing or maintaining browser extension code in the `browser/` directory, including Chrome/Firefox/Edge compatibility, content scripts, background scripts, or i18n updates.

284722 votes

Seo Optimizer

SEO optimization with keyword analysis, readability assessment, technical validation, content quality. Use for search rankings, blog posts, content audits, or encountering keyword density, readability scores, meta tags, schema markup errors.

2192 votes

Google Official Seo Guide

Official Google SEO guide covering search optimization, best practices, Search Console, crawling, indexing, and improving website search visibility based on official Google documentation

1862 votes

Tanstack Start

Build a full-stack TanStack Start app on Cloudflare Workers from scratch — SSR, file-based routing, server functions, D1+Drizzle, better-auth, Tailwind v4+shadcn/ui. Use whenever the user mentions TanStack Start, asks to scaffold a full-stack Cloudflare app with SSR, wants an SSR dashboard, or asks for a React 19 + Cloudflare Workers app with file-based routing and server functions — even if they don't name TanStack Start specifically. No template repo — Claude generates every file fresh per ...

9881 votes

Pentest

PTES-aligned adversarial security audit for backend, frontend, and mobile applications. Produces a CVSS-scored Hacker Report with verified PoCs and phased remediation.

5491 votes
View all in development →