mxCell starting from 0\n inside a value attribute — use separate rows/cells insteadBefore generating any XML, identify the diagram type from the user's request:
| User says... | Diagram type |
|---|---|
| "database", "ERD", "tables", "entities", "foreign key" | → TYPE 1: ERD |
| "class", "UML", "inheritance", "attributes", "methods" | → TYPE 2: Class Diagram |
| "sequence", "interaction", "lifeline", "actor calls" | → TYPE 3: Sequence Diagram |
| "flowchart", "flow", "process", "decision", "steps" | → TYPE 4: Flowchart |
| "architecture", "system", "services", "components" | → TYPE 5: Architecture |
Use the detailed rules/templates in these files based on the detected type.
ERD.mdCLASS.mdSEQUENCE.mdFLOWCHART.mdLAYOUT.mdDetermine TYPE 1–5 from the user's message before writing any XML.
List every entity/class/participant and all relationships before coding.
mkdir -p ./diagrams
Save to ./diagrams/<diagram-name>.drawio
Mandatory pre-save checklist:
mxCell elements have unique sequential numeric IDsshape=table with shape=tableRow rows (never generic shapes)swimlane with attribute block, divider line, and method block30 + (columns x 30) for ERD tables\n in value attributes (use 
 for multiline text cells only)小蔥技能站7w4.net,專業的AI技能分享平臺。
# macOS
/Applications/draw.io.app/Contents/MacOS/draw.io -x -f png --scale 2 -o ./diagrams/<name>.png ./diagrams/<name>.drawio
# Linux / headless
xvfb-run -a drawio -x -f png --scale 2 -o ./diagrams/<name>.png ./diagrams/<name>.drawio
ls -lh ./diagrams/<name>.png
Always respond with the PNG image first (embed/attach it in the response).
After showing the PNG, ALWAYS ask the user which additional format they want:
The diagram is ready! Which format would you like?
1 - PNG image (ready to view) 2 - .drawio file (editable in draw.io) 3 - SVG (scalable vector) 4 - PDF 5 - All of the above
Then based on the response:
# SVG (scalable vector)
/Applications/draw.io.app/Contents/MacOS/draw.io -x -f svg -o ./diagrams/<name>.svg ./diagrams/<name>.drawio
# PDF
/Applications/draw.io.app/Contents/MacOS/draw.io -x -f pdf -o ./diagrams/<name>.pdf ./diagrams/<name>.drawio
# High-res PNG (scale 3)
/Applications/draw.io.app/Contents/MacOS/draw.io -x -f png --scale 3 -o ./diagrams/<name>_hd.png ./diagrams/<name>.drawio
# Transparent background
/Applications/draw.io.app/Contents/MacOS/draw.io -x -f png -t --scale 2 -o ./diagrams/<name>_transparent.png ./diagrams/<name>.drawio 這個技能質量較好,能生成專業的資料庫表圖、類圖、時序圖、流程圖等多種圖表,模板詳細、顏色規範,匯出格式豐富(PNG/SVG/PDF)。優點是步驟清晰、有強制規則避免常見錯誤;不足是文件語言混雜(英文和西班牙文混用),部分功能介紹不夠通俗,小白理解起來有門檻。整體上這是一個實用性強、覆蓋面廣的圖表生成工具。