원클릭으로
utility-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 직업 분류 기준
実装ループ。承認済みの DESIGN.md + DESIGN_DETAIL_APP.md + DESIGN_DETAIL_INFRA.md + TODO.md を入力に、TODO.md の全フェーズをレビュー・コミット込みで自律実装するオーケストレーター。人間の介入はエスカレ条件 (概要設計の破綻 P3 等) のみ。dev-spec の承認ゲート通過後にユーザーが直接起動する。エスカレーション回答後の再開も本スキルの再実行で行う。「実装ループを開始」「設計済み TODO で実装を自律実行」「残りタスクを自動で実装」などで起動。
設計ループ。ユーザーストーリー → UI スケッチ → ユースケース → 実現可能性検証 → PoC 検証 → DDD モデリング → 概要/詳細設計 (DESIGN.md / DESIGN_DETAIL_APP.md / DESIGN_DETAIL_INFRA.md) → 深掘りインタビュー → 検証手順補完 → TODO.md 生成までを対話的に実行し、承認ゲートで実装ループ (/dev-impl) へ引き渡す。 「設計フェーズを開始」「要件を整理したい」「計画を立てたい」「ユーザーストーリーを書きたい」 「技術的に実現できるか確認したい」「TODO.md を作りたい」「DESIGN.md を深掘りしたい」などで起動。 docs/ の状態から途中再開・特定フェーズの部分実行も可能。
ローカルの git 差分を 3 観点 (TDD / コード品質+ルール準拠+構造 / プロダクト readiness) で並列レビュー。本体ロジックは review-tdd / review-quality / review-product-readiness subagent に委譲し、本 skill はメインセッション向けの薄い orchestrator として「差分検出 → PHASE_CONTEXT 組み立て → subagent 並列起動 → 結果集約・整形表示 → 修正アクション選択」を担当する。セキュリティレビューは security-guidance プラグイン (Stop hook の LLM diff review + Edit 時の pattern 検知) に委譲しており本 skill の対象外。fatal 判定は本 skill では行わず、呼び出し側に任せる。
React 19 + Vite+ + TypeScript + Tailwind v4 のモバイル向け静的 SPA デモサイトを TDD で構築し、Cloudflare Workers へデプロイするワークフロー。localStorage でフロントのみ完結するデモに特化。「デモサイトを作りたい」「モバイル向け静的デモ」「SPA を作って Cloudflare にデプロイ」「静的プロトタイプを公開」「localStorage でフロントだけ完結」などで起動。
複数サブエージェントに異なる立場を与えて議論を反復し、相違が収束するまで議題を検証して結論を提示する。設計妥当性検証・実装方針比較・原因分析のセカンドオピニオン・アイデアの壁打ちに使用。「議論したい」「壁打ちしたい」「セカンドオピニオン」「複数視点で検証したい」などで起動。
ローカルのコミット履歴と差分からDraft PRを作成する。ブランチ未作成・コミット未作成の状態でも、必要に応じてブランチ作成とコミットを行ってからPRを作成する。`.github/` にPRテンプレートがあれば内容を埋めて、なければ作業内容から本文を生成し、`AskUserQuestion`で作成可否を確認してから `gh pr create --draft` を実行する。「PRを出したい」「draft PRを作成」「プルリクを作って」「PR本文を生成」などのリクエストで起動。
| name | utility-drawio |
| description | Generate draw.io diagrams as .drawio files, optionally export to PNG/SVG/PDF with embedded XML |
| allowed-tools | Bash, Write |
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).
Original source: https://raw.githubusercontent.com/jgraph/drawio-mcp/refs/heads/main/skill-cli/SKILL.md
.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 |
Edges MUST NOT cross over unrelated shapes. This is the most common layout problem and must be actively prevented.
Add explicit waypoints (mxPoint) to route edges around obstacles:
<mxCell id="10" value="" style="edgeStyle=orthogonalEdgeStyle;" edge="1" source="2" target="8" parent="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="50" y="400"/>
<mxPoint x="50" y="600"/>
</Array>
</mxGeometry>
</mxCell>
The Array as="points" contains intermediate coordinates the edge must pass through, allowing it to detour around intervening shapes.
Before generating each edge, mentally trace its path from source to target:
exitX, exitY, entryX, entryY (0-1 range) to control which side of a shape an edge connects to, making it easier to avoid crossings<mxCell id="11" value="" style="edgeStyle=orthogonalEdgeStyle;exitX=0;exitY=0.5;entryX=0;entryY=0.5;" edge="1" source="2" target="8" parent="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="40" y="180"/>
<mxPoint x="40" y="580"/>
</Array>
</mxGeometry>
</mxCell>
When crossings are truly unavoidable, add visual indicators:
style="edgeStyle=orthogonalEdgeStyle;jumpStyle=arc;jumpSize=10;"
| Jump style | Effect |
|---|---|
jumpStyle=arc | Small arc at crossing points |
jumpStyle=gap | Gap at crossing points |
jumpStyle=sharp | Sharp angle at crossings |
To minimize edge crossings from the start:
--) inside XML comments. -- is illegal inside <!-- --> per the XML spec and causes parse errors. Use single hyphens or rephrase.&, <, >, "id values for each mxCell