원클릭으로
drawio
Generate draw.io diagrams as .drawio files, optionally export to PNG/SVG/PDF with embedded XML
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Generate draw.io diagrams as .drawio files, optionally export to PNG/SVG/PDF with embedded XML
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Slidev スライドを変更した PR に、変更スライドのスクリーンショットを PR コメントとして残す。Playwright MCP でログイン済みブラウザから GitHub の Web UI に画像を添付する (トークン不要)。「スライドの画像を PR に貼って」「表示確認の画像を PR コメントに残して」などのリクエスト、またはスライド変更 PR の作成直後に使用する。
Control Herdr, a terminal multiplexer for coding agents. Use only when the user explicitly mentions Herdr or asks to use Herdr to inspect or control panes, tabs, workspaces, terminals, commands, or communication with another agent. Do not use merely because a task could benefit from a background terminal, delegation, or parallel work. Requires HERDR_ENV=1.
Slidev (sli.dev) でスライドの作成・編集、テーマ・アドオンの自作を行う。 「スライドを作って」「Slidevで発表資料を作りたい」「LT資料を作って」 「Slidevのテーマを作って」「レイアウトを追加して」「スライドをエクスポートして」 などのリクエスト、または slides.md や slidev-theme-* / slidev-addon-* を扱う作業で使用する。
Playwright MCP を CDP (Chrome DevTools Protocol) 経由で既存の Arc ブラウザに接続し、 ログイン済みセッションのまま画面操作・スクレイピングを行う。 claude-in-chrome 拡張が応答しない場合や、Arc で開いている認証済みタブ (社内SaaS・管理画面等)をそのまま自動操作したいときに使う。 「Arcで開いて」「Arcブラウザを操作して」「ログイン済みのタブを使って調べて」 「利用履歴を取得して」などのリクエストで使用する。
Vue 3 コンポーネント・composable を書く / レビューするときのコーディング規約。 *.vue ファイルの作成・編集、「Vueコンポーネントを作って」「composableを書いて」 「Vueのコードをレビューして」などのリクエストで使用する。 Slidev テーマのレイアウト実装にも適用する (Slidev 固有 API は slidev スキル参照)。
Stage meaningful diffs and create commits with WHY-focused messages. 「コミットして」「変更をコミットして」「commit these changes」などのリクエスト、 またはエージェントが作業成果をコミットする必要があるときに使用する。
| name | drawio |
| description | Generate draw.io diagrams as .drawio files, optionally export to PNG/SVG/PDF with embedded XML |
Generate draw.io diagrams as native .drawio files. Optionally export to PNG, SVG, or PDF with the diagram XML embedded (so the exported file remains editable in draw.io).
.drawio file in the current working directory using the Write tool--embed-diagram, then delete the source .drawio file.drawio file otherwiseCheck the user's request for a format preference. Examples:
/drawio create a flowchart → flowchart.drawio/drawio png flowchart for login → login-flow.drawio.png/drawio svg: ER diagram → er-diagram.drawio.svg/drawio pdf architecture overview → architecture-overview.drawio.pdfIf no format is mentioned, just write the .drawio file and open it in draw.io. The user can always ask to export later.
| Format | Embed XML | Notes |
|---|---|---|
png | Yes (-e) | Viewable everywhere, editable in draw.io |
svg | Yes (-e) | Scalable, editable in draw.io |
pdf | Yes (-e) | Printable, editable in draw.io |
jpg | No | Lossy, no embedded XML support |
PNG, SVG, and PDF all support --embed-diagram — the exported file contains the full diagram XML, so opening it in draw.io recovers the editable diagram.
The draw.io desktop app includes a command-line interface for exporting.
Try drawio first (works if on PATH), then fall back to the platform-specific path:
/Applications/draw.io.app/Contents/MacOS/draw.iodrawio (typically on PATH via snap/apt/flatpak)"C:\Program Files\draw.io\draw.io.exe"Use which drawio (or where drawio on Windows) to check if it's on PATH before falling back.
drawio -x -f <format> -e -b 10 -o <output> <input.drawio>
Key flags:
-x / --export: export mode-f / --format: output format (png, svg, pdf, jpg)-e / --embed-diagram: embed diagram XML in the output (PNG, SVG, PDF only)-o / --output: output file path-b / --border: border width around diagram (default: 0)-t / --transparent: transparent background (PNG only)-s / --scale: scale the diagram size--width / --height: fit into specified dimensions (preserves aspect ratio)-a / --all-pages: export all pages (PDF only)-p / --page-index: select a specific page (1-based)open <file>xdg-open <file>start <file>login-flow, database-schema)name.drawio.png, name.drawio.svg, name.drawio.pdf — this signals the file contains embedded diagram XML.drawio file — the exported file contains the full diagramA .drawio file is native mxGraphModel XML. Always generate XML directly — Mermaid and CSV formats require server-side conversion and cannot be saved as native files.
Every diagram must have this structure:
<mxGraphModel>
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<!-- Diagram cells go here with parent="1" -->
</root>
</mxGraphModel>
id="0" is the root layerid="1" is the default parent layerparent="1" unless using multiple layersRounded rectangle:
<mxCell id="2" value="Label" style="rounded=1;whiteSpace=wrap;" vertex="1" parent="1">
<mxGeometry x="100" y="100" width="120" height="60" as="geometry"/>
</mxCell>
Diamond (decision):
<mxCell id="3" value="Condition?" style="rhombus;whiteSpace=wrap;" vertex="1" parent="1">
<mxGeometry x="100" y="200" width="120" height="80" as="geometry"/>
</mxCell>
Arrow (edge):
<mxCell id="4" value="" style="edgeStyle=orthogonalEdgeStyle;" edge="1" source="2" target="3" parent="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
Labeled arrow:
<mxCell id="5" value="Yes" style="edgeStyle=orthogonalEdgeStyle;" edge="1" source="3" target="6" parent="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
| Property | Values | Use for |
|---|---|---|
rounded=1 | 0 or 1 | Rounded corners |
whiteSpace=wrap | wrap | Text wrapping |
fillColor=#dae8fc | Hex color | Background color |
strokeColor=#6c8ebf | Hex color | Border color |
fontColor=#333333 | Hex color | Text color |
shape=cylinder3 | shape name | Database cylinders |
shape=mxgraph.flowchart.document | shape name | Document shapes |
ellipse | style keyword | Circles/ovals |
rhombus | style keyword | Diamonds |
edgeStyle=orthogonalEdgeStyle | style keyword | Right-angle connectors |
edgeStyle=elbowEdgeStyle | style keyword | Elbow connectors |
dashed=1 | 0 or 1 | Dashed lines |
swimlane | style keyword | Swimlane containers |
group | style keyword | Invisible container (pointerEvents=0) |
container=1 | 0 or 1 | Enable container behavior on any shape |
pointerEvents=0 | 0 or 1 | Prevent container from capturing child connections |
CRITICAL: Every edge mxCell must contain a <mxGeometry relative="1" as="geometry" /> child element, even when there are no waypoints. Self-closing edge cells (e.g. <mxCell ... edge="1" ... />) are invalid and will not render correctly. Always use the expanded form:
<mxCell id="e1" edge="1" parent="1" source="a" target="b" style="...">
<mxGeometry relative="1" as="geometry" />
</mxCell>
draw.io does not have built-in collision detection for edges. Plan layout and routing carefully:
edgeStyle=orthogonalEdgeStyle for right-angle connectors (most common)exitX/exitY and entryX/entryY (values 0–1) to control which side of a node an edge connects to. Spread connections across different sides to prevent overlapstartSize/endSize styles). If the final segment is too short, the arrowhead overlaps the bend and looks broken. Ensure at least 20px of straight segment before the target and after the source when placing waypoints or positioning nodesorthogonalEdgeStyle, the auto-router places bends automatically — if source and target are close together or nearly aligned on one axis, the router may place a bend very close to a shape, leaving no room for the arrow. Fix this by either increasing node spacing or adding explicit waypoints that keep the final segment long enough<mxCell id="e1" style="edgeStyle=orthogonalEdgeStyle;" edge="1" parent="1" source="a" target="b">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="300" y="150"/>
<mxPoint x="300" y="250"/>
</Array>
</mxGeometry>
</mxCell>
rounded=1 on edges for cleaner bendsjettySize=auto for better port spacing on orthogonal edgesFor architecture diagrams or any diagram with nested elements, use draw.io's proper parent-child containment — do not just place shapes on top of larger shapes.
Set parent="containerId" on child cells. Children use relative coordinates within the container.
| Type | Style | When to use |
|---|---|---|
| Group (invisible) | group; | No visual border needed, container has no connections. Includes pointerEvents=0 so child connections are not captured |
| Swimlane (titled) | swimlane;startSize=30; | Container needs a visible title bar/header, or the container itself has connections |
| Custom container | Add container=1;pointerEvents=0; to any shape style | Any shape acting as a container without its own connections |
pointerEvents=0; to container styles that should not capture connections being rewired between childrenpointerEvents=0 when the container itself needs to be connectable — in that case, use swimlane style which handles this correctly (the client area is transparent for mouse events while the header remains connectable)parent="containerId" and use coordinates relative to the container<mxCell id="svc1" value="User Service" style="swimlane;startSize=30;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
<mxGeometry x="100" y="100" width="300" height="200" as="geometry"/>
</mxCell>
<mxCell id="api1" value="REST API" style="rounded=1;whiteSpace=wrap;" vertex="1" parent="svc1">
<mxGeometry x="20" y="40" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="db1" value="Database" style="shape=cylinder3;whiteSpace=wrap;" vertex="1" parent="svc1">
<mxGeometry x="160" y="40" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="grp1" value="" style="group;" vertex="1" parent="1">
<mxGeometry x="100" y="100" width="300" height="200" as="geometry"/>
</mxCell>
<mxCell id="c1" value="Component A" style="rounded=1;whiteSpace=wrap;" vertex="1" parent="grp1">
<mxGeometry x="10" y="10" width="120" height="60" as="geometry"/>
</mxCell>
For the complete draw.io style reference: https://www.drawio.com/doc/faq/drawio-style-reference.html
For the XML Schema Definition (XSD): https://www.drawio.com/assets/mxfile.xsd
--) inside XML comments. -- is illegal inside <!-- --> per the XML spec and causes parse errors. Use single hyphens or rephrase.&, <, >, "id values for each mxCell