Agent skill · Audited from source
draw-io
skill · softaworks/agent-toolkitMIT licenceAudited 31 Oct 2026 · source 28aecfe29fbf
Is it safe? Yes — SAFE, grade B (89/100). We read this skill's source at commit 28aecfe29fbf and found no filesystem, network or shell access and no hard-coded secrets. What it does: draw.io diagram creation, editing, and review. Use for .drawio XML editing, PNG conversion, layout adjustment, and AWS icon usage.
Cite
Cite this page
ModelsAtlas. “draw-io (softaworks/agent-toolkit)”. Retrieved 31 Oct 2026. https://modelsatlas.com/skills/softaworks/draw-io
Trust audit
Audit 0.4.1 · source read 31 Oct 2026
SAFE means nothing in the source contradicts what the skill says it does. Grade B is shared by 16,667 of 17,602 audited skills.
What the source does
- FilesystemNone observedNo reads or writes in the source
- NetworkNone observedNo outbound calls in the source
- ShellNone observedNo commands run in the source
- DependenciesPinnedNothing floats
- SecretsNone foundNo keys in source
Five audit layers
| Layer | What we check | Result | Findings |
|---|---|---|---|
L0 Provenance | Repo owner, licence, archive status, activity | PASS | 1 |
L1 Static source | Secrets, path traversal, supply chain, hidden code | PASS | 0 |
L2 Instructions | Prompt injection, authority framing, hidden directives | PASS | 0 |
L3 Inventory | The files and declarations match the source | PASS | 0 |
L4 Sandbox | Run in isolation and watch behaviour | SKIPPED why | 0 |
Gates applied: no behavioural pass.
Findings (1)
LOWInventory / provenanceinv.symlink · CLAUDE.md
CLAUDE.md
- Why
- link not followed
- Fix
- —
Audit 0.4.1 · source sha 28aecfe29fbf · 31 Oct 2026Report an issue or request a re-scan
Provenance
Who published it, and what the verdict is pinned to
- Publishersoftaworks GitHub organizationOwner of the repository this skill is read from
- Source foldersoftaworks/agent-toolkit/skills/draw-ioThe exact folder we audited
- LicenceMITAs the repository states it
- Commit pinned for this verdict28aecfe29fbfA new audit runs when the source changes
- Repository statusNot archivedLast push 239 days ago
- Sandboxed runNot runSkills are read, not executed; layer L4 is skipped
What it tells the agent
Full source on GitHub ↗Its description: draw.io diagram creation, editing, and review. Use for .drawio XML editing, PNG conversion, layout adjustment, and AWS icon usage.
---
name: draw-io
description: draw.io diagram creation, editing, and review. Use for .drawio XML editing, PNG conversion, layout adjustment, and AWS icon usage.
---
# draw.io Diagram Skill
## 1. Basic Rules
- Edit only `.drawio` files
- Do not directly edit `.drawio.png` files
- Use auto-generated `.drawio.png` by pre-commit hook in slides
## 2. Font Settings
For diagrams used in Quarto slides,
specify `defaultFontFamily` in mxGraphModel tag:
```xml
<mxGraphModel defaultFontFamily="Noto Sans JP" ...>
```
Also explicitly specify `fontFamily` in each text element's style attribute:
```xml
style="text;html=1;fontSize=27;fontFamily=Noto Sans JP;"
```
## 3. Conversion Commands
See conversion script at [scripts/convert-drawio-to-png.sh](scripts/convert-drawio-to-png.sh).
```sh
# Convert all .drawio files
mise exec -- pre-commit run --all-files
# Convert specific .drawio file
mise exec -- pre-commit run convert-drawio-to-png --files assets/my-diagram.drawio
# Run script directly (using skill's script)
bash ~/.claude/skills/draw-io/scripts/convert-drawio-to-png.sh assets/diagram1.drawio
```
Internal command used:
```sh
drawio -x -f png -s 2 -t -o output.drawio.png input.drawio
```
| Option | Description |
|--------|-------------|
| `-x` | Export mode |
| `-f png` | PNG format output |
| `-s 2` | 2x scale (high resolution) |
| `-t` | Transparent background |
| `-o` | Output file path |
## 4. Layout Adjustment
### 4.1. Coordinate Adjustment Steps
1. Open `.drawio` file in text editor (plain XML format)
2. Find `mxCell` for element to adjust (search by `value` attribute for text)
3. Adjust coordinates in `mxGeometry` tag
- `x`: Position from left
- `y`: Position from top
- `width`: Width
- `height`: Height
4. Run conversion and verify
### 4.2. Coordinate Calculation
- Element center coordinate = `y + (height / 2)`
- To align multiple elements, calculate and match center coordinates
## 5. Design Principles
### 5.1. Basic Principles
- Clarity: Create simple, visually clean diagrams
- Consistency: Unify colors, fonts, icon sizes, line thickness
- Accuracy: Do not sacrifice accuracy for simplification
### 5.2. Element Rules
- Label all elements
- Use arrows to indicate direction
(prefer 2 unidirectional arrows over bidirectional)
- Use latest official icons
- Add legend to explain custom symbols
### 5.3. Accessibility
- Ensure sufficient color contrast
- Use patterns in addition to colors
### 5.4. Progressive Disclosure
Separate complex systems into staged diagrams:
| Diagram Type | Purpose |
|--------------|---------|
| Context Diagram | System overview from external perspective |
| System Diagram | Main components and relationships |
| Component Diagram | Technical details and integration points |
| Deployment Diagram | Infrastructure configuration |
| Data Flow Diagram | Data flow and transformation |
| Sequence Diagram | Time-series interactions |
### 5.5. Metadata
Include title, description, last updated, author, and version in diagrams.
## 6. Best Practices
### 6.1. Background Color
- Remove `background="#ffffff"`
- Transparent background adapts to various themes
### 6.2. Font Size
- Use 1.5x standard font size (around 18px) for PDF readability
### 6.3. Japanese Text Width
- Allow 30-40px per character
- Insufficient width causes unintended line breaks
```xml
<!-- For 10-character text, allow 300-400px -->
<mxGeometry x="140" y="60" width="400" height="40" />
```
### 6.4. Arrow Placement
- Always place arrows at back (position in XML right after Title)
- Position arrows to avoid overlapping with labels
- Keep arrow start/end at least 20px from label bottom edge
```xml
<!-- Title -->
<mxCell id="title" value="..." .../>
<!-- Arrows (back layer) -->
<mxCell id="arrow1" style="edgeStyle=..." .../>
<!-- Other elements (front layer) -->
<mxCell id="box1" .../>
```
### 6.5. Arrow Connection to Text Labels
For text elements, exitX/exitY don't work, so use explicit coordinates:
```xml
<!-- Good: Explicit coordinates with sourcePoint/targetPoint -->
<mxCell id="arrow" style="..." edge="1" parent="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="1279" y="500" as="sourcePoint"/>
<mxPoint x="119" y="500" as="targetPoint"/>
<Array as="points">
<mxPoint x="1279" y="560"/>
<mxPoint x="119" y="560"/>
</Array>
</mxGeometry>
</mxCell>
```
### 6.6. edgeLabel Offset Adjustment
Adjust offset attribute to distance arrow labels from arrows:
```xml
<!-- Place above arrow (negative value to distance) -->
<mxPoint x="0" y="-40" as="offset"/>
<!-- Place below arrow (positive value to distance) -->
<mxPoint x="0" y="40" as="offset"/>
```
### 6.7. Remove Unnecessary Elements
- Remove decorative icons irrelevant to context
- Example: If ECR exists, separate Docker icon is unnecessary
### 6.8. Labels and Headings
- Service name only: 1 line
- Service name + supplementary info: 2 lines with line break
- Redundant notation (e.g., ECR Container Registry): shorten to 1 line
- Use `<br>` tag for line breaks
### 6.9. Background Frame and Internal Element Placement
When placing elements inside background frames (grouping boxes),
ensure sufficient margin.
- YOU MUST: Internal elements must have at least 30px margin from frame boundary
- YOU MUST: Account for rounded corners (`rounded=1`) and stroke width
- YOU MUST: Always visually verify PNG output for overflow
Coordinate calculation verification:
```text
Background frame: y=20, height=400 -> range is y=20-420
Internal element top: frame y + 30 or more (e.g., y=50)
Internal element bottom: frame y + height - 30 or less (e.g., up to y=390)
```
Bad example (may overflow):
```xml
<!-- Background frame -->
<mxCell id="bg" style="rounded=1;strokeWidth=3;...">
<mxGeometry x="500" y="20" width="560" height="400" />
</mxCell>
<!-- Text: y=30 is too close to frame top (y=20) -->
<mxCell id="label" value="Title" style="text;...">
<mxGeometry x="510" y="30" width="540"Excerpt, first 6,000 characters of SKILL.md, verbatim from the audited commit. It is text from someone else’s repository, quoted so you can judge it before your agent reads it.
Install
Pinned to the audited commit 28aecfe
git clone https://github.com/softaworks/agent-toolkit git -C agent-toolkit checkout 28aecfe29fbf
The author documents no install command, so this uses the repository directly. Our verdict covers commit 28aecfe29fbf only.
Works in which agents?
What its own text says, not a test
| Agent | Status | More |
|---|---|---|
| Claude Code | Mentioned in its text, not tested | Skills for Claude Code · About Claude Code |
Audit history
Every audit, every source change
- ✓SAFE B 89 / 100
first audit · source
28aecfe29fbf
README badge
For maintainers · shows the latest audit
[](https://modelsatlas.com/skills/softaworks/draw-io/)
The badge shows our verdict and grade for this skill, and links back to this page. It changes when the audit does.
Similar skills
All automation skills →softaworks/agent-toolkit
Document frontend data needs for backend developers. Use when frontend needs to communicate API requirements to backend, or user says 'backend requirements', 'what data do I need', 'API requirements', or is describing…
softaworks/agent-toolkit
Find 10x product opportunities and high-leverage improvements. Use when user wants strategic product thinking, mentions '10x', wants to find high-impact features, or says 'what would make this 10x better', 'product…
softaworks/agent-toolkit
Use when working with *.excalidraw or *.excalidraw.json files, user mentions diagrams/flowcharts, or requests architecture visualization - delegates all Excalidraw operations to subagents to prevent context exhaustion…
softaworks/agent-toolkit
Navigate difficult conversations and deliver constructive feedback using structured frameworks. Covers the Preparation-Delivery-Follow-up model and Situation-Behavior-Impact (SBI) feedback technique. Use when preparing…
softaworks/agent-toolkit
Generates creative domain name ideas for your project and checks availability across multiple TLDs (.com, .io, .dev, .ai, etc.). Saves hours of brainstorming and manual checking.
softaworks/agent-toolkit
Structured approach to workplace conflicts, performance discussions, and challenging feedback using preparation-delivery-followup framework. Use when preparing for tough conversations, addressing conflicts, giving…
Add this badge to your README
[](https://modelsatlas.com/skills/softaworks/draw-io/)
<a href="https://modelsatlas.com/skills/softaworks/draw-io/"><img src="https://modelsatlas.com/skills/softaworks/draw-io/badge.svg" alt="ModelsAtlas: SAFE B"></a>
Questions about draw-io
What does the draw-io skill do?
Is draw-io safe to install?
What can draw-io access on my machine?
Which assistants does draw-io work with?
How current is this page?
Sources
- github.com/softaworks/agent-toolkit/tree/main/skills/draw-io — the audited source at commit 28aecfe29fbf and every finding aboveObserved · 31 Oct 2026
Spotted something wrong? Report a correction · Methodology
Keep going in your AI
Opens with this page as the source. We add nothing else to the prompt.
- What does the draw-io skill do?
- Is draw-io safe to install?
- What can draw-io access on my machine?