From drawio-diagramming
Generates UI/UX wireframes and mockups in draw.io at lo-fi, mid-fi, hi-fi fidelity levels using mockup shape libraries, frames for browser, iOS/Android mobile, and tablets.
How this skill is triggered — by the user, by Claude, or both
Slash command
/drawio-diagramming:wireframes-mockupsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
| Level | Purpose | Detail | When to Use |
| Level | Purpose | Detail | When to Use |
|---|---|---|---|
| Lo-fi | Concept exploration | Gray boxes, placeholder text, no color | Early ideation, stakeholder alignment |
| Mid-fi | Layout validation | Real labels, basic styling, grayscale | Design review, developer handoff prep |
| Hi-fi | Visual design | Brand colors, icons, realistic content | Client presentation, pixel-perfect handoff |
Enable wireframe shapes in draw.io: File > Open Library > wireframe or search "mockup" in shapes panel.
| Library | Prefix | Contains |
|---|---|---|
| Mockup Buttons | mxgraph.mockup.buttons | Buttons, toggles, radio, checkboxes |
| Mockup Containers | mxgraph.mockup.containers | Windows, dialogs, panels, cards |
| Mockup Forms | mxgraph.mockup.forms | Input fields, dropdowns, sliders, search bars |
| Mockup Graphics | mxgraph.mockup.graphics | Icons, avatars, image placeholders |
| Mockup Markup | mxgraph.mockup.markup | Headlines, paragraphs, lists, links |
| Mockup Navigation | mxgraph.mockup.navigation | Navbars, tabs, breadcrumbs, sidebars |
| Mockup Text | mxgraph.mockup.text | Labels, tooltips, badges |
| Android | mxgraph.android | Android-native UI components |
| iOS | mxgraph.ios7 | iOS-native UI components |
| Bootstrap | mxgraph.bootstrap | Bootstrap grid, components |
<mxGraphModel>
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<!-- Browser chrome -->
<mxCell id="browser" value="My App - Chrome" style="shape=mxgraph.mockup.containers.browserWindow;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#666666;mainText=;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="40" y="40" width="800" height="560" as="geometry"/>
</mxCell>
</root>
</mxGraphModel>
<mxCell id="phone" value="" style="shape=mxgraph.ios7.phone;fillColor=#FFFFFF;strokeColor=#333333;" vertex="1" parent="1">
<mxGeometry x="40" y="40" width="240" height="480" as="geometry"/>
</mxCell>
<mxCell id="android" value="" style="shape=mxgraph.android.phone2;fillColor=#FFFFFF;strokeColor=#333333;" vertex="1" parent="1">
<mxGeometry x="40" y="40" width="240" height="480" as="geometry"/>
</mxCell>
<mxCell id="tablet" value="" style="shape=mxgraph.ios7.ipad;fillColor=#FFFFFF;strokeColor=#333333;" vertex="1" parent="1">
<mxGeometry x="40" y="40" width="480" height="640" as="geometry"/>
</mxCell>
fillColor=#F5F5F5; (light gray) or fillColor=none;strokeColor=#999999; (medium gray)fontColor=#666666;fontSize=12;fontFamily=Helvetica;X pattern for image placeholders: shape=mxgraph.mockup.graphics.simpleIcon;<mxGraphModel>
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<!-- Header bar -->
<mxCell id="header" value="Logo" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#E0E0E0;strokeColor=#999999;fontColor=#666666;fontSize=14;fontStyle=1;" vertex="1" parent="1">
<mxGeometry x="0" y="0" width="800" height="60" as="geometry"/>
</mxCell>
<!-- Navigation -->
<mxCell id="nav1" value="Home" style="text;html=1;fillColor=none;strokeColor=none;fontColor=#666666;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="120" y="18" width="60" height="24" as="geometry"/>
</mxCell>
<mxCell id="nav2" value="Products" style="text;html=1;fillColor=none;strokeColor=none;fontColor=#666666;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="200" y="18" width="80" height="24" as="geometry"/>
</mxCell>
<mxCell id="nav3" value="About" style="text;html=1;fillColor=none;strokeColor=none;fontColor=#666666;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="300" y="18" width="60" height="24" as="geometry"/>
</mxCell>
<!-- Hero section -->
<mxCell id="hero" value="Hero Image Area" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#F5F5F5;strokeColor=#CCCCCC;strokeWidth=2;dashed=1;fontColor=#999999;fontSize=16;" vertex="1" parent="1">
<mxGeometry x="0" y="60" width="800" height="300" as="geometry"/>
</mxCell>
<!-- Content cards -->
<mxCell id="card1" value="<b>Card Title</b><br>Description text here" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#F5F5F5;strokeColor=#CCCCCC;align=left;verticalAlign=top;spacingLeft=12;spacingTop=8;" vertex="1" parent="1">
<mxGeometry x="20" y="380" width="240" height="140" as="geometry"/>
</mxCell>
<mxCell id="card2" value="<b>Card Title</b><br>Description text here" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#F5F5F5;strokeColor=#CCCCCC;align=left;verticalAlign=top;spacingLeft=12;spacingTop=8;" vertex="1" parent="1">
<mxGeometry x="280" y="380" width="240" height="140" as="geometry"/>
</mxCell>
<mxCell id="card3" value="<b>Card Title</b><br>Description text here" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#F5F5F5;strokeColor=#CCCCCC;align=left;verticalAlign=top;spacingLeft=12;spacingTop=8;" vertex="1" parent="1">
<mxGeometry x="540" y="380" width="240" height="140" as="geometry"/>
</mxCell>
<!-- Footer -->
<mxCell id="footer" value="Footer" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#E0E0E0;strokeColor=#999999;fontColor=#666666;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="0" y="540" width="800" height="40" as="geometry"/>
</mxCell>
</root>
</mxGraphModel>
#FFFFFF) with light gray accents (#F5F5F5)strokeColor=#CCCCCC; or #AAAAAAfillColor=#333333;fontColor=#FFFFFF; (dark button)fontColor=#333333;fontSize=13;fontFamily=Inter;shadow=0; (still no shadows at mid-fi)<mxGraphModel>
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<!-- Form container -->
<mxCell id="form" value="Create Account" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#CCCCCC;verticalAlign=top;fontStyle=1;fontSize=16;fontColor=#333333;spacingTop=12;align=center;" vertex="1" parent="1">
<mxGeometry x="200" y="40" width="400" height="420" as="geometry"/>
</mxCell>
<!-- Email field -->
<mxCell id="emailLabel" value="Email address" style="text;html=1;fillColor=none;strokeColor=none;fontColor=#666666;fontSize=12;align=left;" vertex="1" parent="1">
<mxGeometry x="230" y="90" width="120" height="20" as="geometry"/>
</mxCell>
<mxCell id="emailInput" value="[email protected]" style="shape=mxgraph.mockup.forms.rrect;rSize=4;fillColor=#FFFFFF;strokeColor=#CCCCCC;fontColor=#AAAAAA;fontSize=13;align=left;spacingLeft=8;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="230" y="112" width="340" height="36" as="geometry"/>
</mxCell>
<!-- Password field -->
<mxCell id="passLabel" value="Password" style="text;html=1;fillColor=none;strokeColor=none;fontColor=#666666;fontSize=12;align=left;" vertex="1" parent="1">
<mxGeometry x="230" y="164" width="120" height="20" as="geometry"/>
</mxCell>
<mxCell id="passInput" value="••••••••" style="shape=mxgraph.mockup.forms.rrect;rSize=4;fillColor=#FFFFFF;strokeColor=#CCCCCC;fontColor=#AAAAAA;fontSize=13;align=left;spacingLeft=8;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="230" y="186" width="340" height="36" as="geometry"/>
</mxCell>
<!-- Checkbox -->
<mxCell id="terms" value="I agree to Terms of Service" style="shape=mxgraph.mockup.forms.checkbox;fillColor=#FFFFFF;strokeColor=#CCCCCC;fontColor=#666666;fontSize=12;html=1;align=left;spacingLeft=6;" vertex="1" parent="1">
<mxGeometry x="230" y="240" width="200" height="20" as="geometry"/>
</mxCell>
<!-- Submit button -->
<mxCell id="submit" value="Create Account" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#333333;strokeColor=#222222;fontColor=#FFFFFF;fontSize=14;fontStyle=1;" vertex="1" parent="1">
<mxGeometry x="230" y="280" width="340" height="40" as="geometry"/>
</mxCell>
<!-- Divider -->
<mxCell id="divider" value="" style="line;strokeWidth=1;strokeColor=#EEEEEE;html=1;" vertex="1" parent="1">
<mxGeometry x="230" y="340" width="340" height="1" as="geometry"/>
</mxCell>
<!-- Secondary action -->
<mxCell id="signin" value="Already have an account? <u>Sign in</u>" style="text;html=1;fillColor=none;strokeColor=none;fontColor=#666666;fontSize=12;align=center;" vertex="1" parent="1">
<mxGeometry x="300" y="360" width="200" height="24" as="geometry"/>
</mxCell>
</root>
</mxGraphModel>
shadow=1; on cards and modalsrounded=1;arcSize=8; for modern lookfontSize=14;fontFamily=Inter; with weight hierarchymxgraph.mockup.graphics or inline SVG<mxGraphModel>
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<!-- Sidebar -->
<mxCell id="sidebar" value="" style="rounded=0;fillColor=#1A1A2E;strokeColor=none;" vertex="1" parent="1">
<mxGeometry x="0" y="0" width="220" height="640" as="geometry"/>
</mxCell>
<mxCell id="logo" value="<font color="#FFFFFF" style="font-size:18px"><b>Dashboard</b></font>" style="text;html=1;fillColor=none;strokeColor=none;align=left;spacingLeft=16;" vertex="1" parent="1">
<mxGeometry x="0" y="16" width="220" height="40" as="geometry"/>
</mxCell>
<mxCell id="navItem1" value="<font color="#FFFFFF">Overview</font>" style="rounded=1;fillColor=#16213E;strokeColor=none;html=1;align=left;spacingLeft=40;fontColor=#FFFFFF;fontSize=13;" vertex="1" parent="1">
<mxGeometry x="12" y="80" width="196" height="36" as="geometry"/>
</mxCell>
<mxCell id="navItem2" value="<font color="#A0A0B0">Analytics</font>" style="rounded=1;fillColor=none;strokeColor=none;html=1;align=left;spacingLeft=40;fontSize=13;" vertex="1" parent="1">
<mxGeometry x="12" y="120" width="196" height="36" as="geometry"/>
</mxCell>
<mxCell id="navItem3" value="<font color="#A0A0B0">Settings</font>" style="rounded=1;fillColor=none;strokeColor=none;html=1;align=left;spacingLeft=40;fontSize=13;" vertex="1" parent="1">
<mxGeometry x="12" y="160" width="196" height="36" as="geometry"/>
</mxCell>
<!-- Main content area -->
<mxCell id="main" value="" style="rounded=0;fillColor=#F8F9FA;strokeColor=none;" vertex="1" parent="1">
<mxGeometry x="220" y="0" width="780" height="640" as="geometry"/>
</mxCell>
<!-- Top bar -->
<mxCell id="topbar" value="" style="rounded=0;fillColor=#FFFFFF;strokeColor=none;shadow=1;" vertex="1" parent="1">
<mxGeometry x="220" y="0" width="780" height="56" as="geometry"/>
</mxCell>
<mxCell id="pageTitle" value="<b>Overview</b>" style="text;html=1;fillColor=none;strokeColor=none;fontColor=#1A1A2E;fontSize=18;align=left;spacingLeft=24;" vertex="1" parent="1">
<mxGeometry x="220" y="12" width="200" height="32" as="geometry"/>
</mxCell>
<!-- Metric cards row -->
<mxCell id="metric1" value="<font color="#666" style="font-size:12px">Total Users</font><br><b style="font-size:28px;color:#1A1A2E">12,847</b><br><font color="#22C55E" style="font-size:12px">+12.5%</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#E5E7EB;shadow=1;align=left;verticalAlign=top;spacingTop=16;spacingLeft=20;" vertex="1" parent="1">
<mxGeometry x="248" y="80" width="230" height="110" as="geometry"/>
</mxCell>
<mxCell id="metric2" value="<font color="#666" style="font-size:12px">Revenue</font><br><b style="font-size:28px;color:#1A1A2E">$48.2K</b><br><font color="#22C55E" style="font-size:12px">+8.1%</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#E5E7EB;shadow=1;align=left;verticalAlign=top;spacingTop=16;spacingLeft=20;" vertex="1" parent="1">
<mxGeometry x="498" y="80" width="230" height="110" as="geometry"/>
</mxCell>
<mxCell id="metric3" value="<font color="#666" style="font-size:12px">Conversion</font><br><b style="font-size:28px;color:#1A1A2E">3.24%</b><br><font color="#EF4444" style="font-size:12px">-0.8%</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#E5E7EB;shadow=1;align=left;verticalAlign=top;spacingTop=16;spacingLeft=20;" vertex="1" parent="1">
<mxGeometry x="748" y="80" width="230" height="110" as="geometry"/>
</mxCell>
<!-- Chart placeholder -->
<mxCell id="chart" value="<b>Revenue Trend</b>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#E5E7EB;shadow=1;verticalAlign=top;spacingTop=16;spacingLeft=20;align=left;fontSize=14;fontColor=#1A1A2E;" vertex="1" parent="1">
<mxGeometry x="248" y="216" width="480" height="280" as="geometry"/>
</mxCell>
<!-- Table card -->
<mxCell id="table" value="<b>Recent Activity</b>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#E5E7EB;shadow=1;verticalAlign=top;spacingTop=16;spacingLeft=20;align=left;fontSize=14;fontColor=#1A1A2E;" vertex="1" parent="1">
<mxGeometry x="248" y="520" width="730" height="100" as="geometry"/>
</mxCell>
</root>
</mxGraphModel>
<mxCell id="iosNav" value="" style="rounded=0;fillColor=#F8F8F8;strokeColor=#C8C8CC;" vertex="1" parent="1">
<mxGeometry x="0" y="0" width="375" height="44" as="geometry"/>
</mxCell>
<mxCell id="iosTitle" value="<b>Screen Title</b>" style="text;html=1;fillColor=none;strokeColor=none;fontColor=#000000;fontSize=17;fontFamily=SF Pro Display;align=center;" vertex="1" parent="1">
<mxGeometry x="100" y="10" width="175" height="24" as="geometry"/>
</mxCell>
<mxCell id="iosBack" value="<font color="#007AFF">&lt; Back</font>" style="text;html=1;fillColor=none;strokeColor=none;fontSize=17;align=left;spacingLeft=8;" vertex="1" parent="1">
<mxGeometry x="0" y="10" width="80" height="24" as="geometry"/>
</mxCell>
<mxCell id="tabBar" value="" style="rounded=0;fillColor=#F8F8F8;strokeColor=#C8C8CC;" vertex="1" parent="1">
<mxGeometry x="0" y="768" width="375" height="49" as="geometry"/>
</mxCell>
<mxCell id="tab1" value="<font style="font-size:10px">Home</font>" style="text;html=1;fillColor=none;strokeColor=none;fontColor=#007AFF;align=center;" vertex="1" parent="1">
<mxGeometry x="10" y="778" width="65" height="30" as="geometry"/>
</mxCell>
<mxCell id="tab2" value="<font style="font-size:10px">Search</font>" style="text;html=1;fillColor=none;strokeColor=none;fontColor=#8E8E93;align=center;" vertex="1" parent="1">
<mxGeometry x="85" y="778" width="65" height="30" as="geometry"/>
</mxCell>
<mxCell id="tab3" value="<font style="font-size:10px">Profile</font>" style="text;html=1;fillColor=none;strokeColor=none;fontColor=#8E8E93;align=center;" vertex="1" parent="1">
<mxGeometry x="160" y="778" width="65" height="30" as="geometry"/>
</mxCell>
<mxCell id="androidNav" value="" style="rounded=0;fillColor=#FFFFFF;strokeColor=#E0E0E0;shadow=1;" vertex="1" parent="1">
<mxGeometry x="0" y="752" width="360" height="56" as="geometry"/>
</mxCell>
<mxCell id="anTab1" value="<font color="#6200EE" style="font-size:10px"><b>Home</b></font>" style="text;html=1;fillColor=none;strokeColor=none;align=center;" vertex="1" parent="1">
<mxGeometry x="20" y="764" width="60" height="32" as="geometry"/>
</mxCell>
<mxCell id="anTab2" value="<font color="#666" style="font-size:10px">Search</font>" style="text;html=1;fillColor=none;strokeColor=none;align=center;" vertex="1" parent="1">
<mxGeometry x="100" y="764" width="60" height="32" as="geometry"/>
</mxCell>
When designing for multiple screen sizes, create separate pages in the .drawio file:
| Breakpoint | Width | Name | Use |
|---|---|---|---|
| Mobile | 375px | mobile | iPhone SE / standard phones |
| Tablet | 768px | tablet | iPad / tablets |
| Desktop | 1280px | desktop | Standard laptop/desktop |
| Wide | 1440px | wide | Large monitors |
<mxfile>
<diagram id="mobile" name="Mobile (375px)">
<mxGraphModel dx="375" dy="812" grid="1" gridSize="8">
<root><mxCell id="0"/><mxCell id="1" parent="0"/></root>
</mxGraphModel>
</diagram>
<diagram id="tablet" name="Tablet (768px)">
<mxGraphModel dx="768" dy="1024" grid="1" gridSize="8">
<root><mxCell id="0"/><mxCell id="1" parent="0"/></root>
</mxGraphModel>
</diagram>
<diagram id="desktop" name="Desktop (1280px)">
<mxGraphModel dx="1280" dy="800" grid="1" gridSize="8">
<root><mxCell id="0"/><mxCell id="1" parent="0"/></root>
</mxGraphModel>
</diagram>
</mxfile>
<!-- Table header row -->
<mxCell id="thRow" value="" style="rounded=0;fillColor=#F9FAFB;strokeColor=#E5E7EB;" vertex="1" parent="1">
<mxGeometry x="0" y="0" width="700" height="40" as="geometry"/>
</mxCell>
<mxCell id="th1" value="<b>Name</b>" style="text;html=1;fillColor=none;strokeColor=none;fontColor=#6B7280;fontSize=12;align=left;spacingLeft=16;" vertex="1" parent="1">
<mxGeometry x="0" y="8" width="200" height="24" as="geometry"/>
</mxCell>
<mxCell id="th2" value="<b>Status</b>" style="text;html=1;fillColor=none;strokeColor=none;fontColor=#6B7280;fontSize=12;align=left;spacingLeft=16;" vertex="1" parent="1">
<mxGeometry x="200" y="8" width="150" height="24" as="geometry"/>
</mxCell>
<mxCell id="th3" value="<b>Date</b>" style="text;html=1;fillColor=none;strokeColor=none;fontColor=#6B7280;fontSize=12;align=left;spacingLeft=16;" vertex="1" parent="1">
<mxGeometry x="350" y="8" width="150" height="24" as="geometry"/>
</mxCell>
<!-- Data row -->
<mxCell id="row1" value="" style="rounded=0;fillColor=#FFFFFF;strokeColor=#E5E7EB;" vertex="1" parent="1">
<mxGeometry x="0" y="40" width="700" height="44" as="geometry"/>
</mxCell>
<mxCell id="r1c1" value="John Smith" style="text;html=1;fillColor=none;strokeColor=none;fontColor=#111827;fontSize=13;align=left;spacingLeft=16;" vertex="1" parent="1">
<mxGeometry x="0" y="50" width="200" height="24" as="geometry"/>
</mxCell>
<!-- Status badge -->
<mxCell id="r1c2" value="Active" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#DCFCE7;strokeColor=none;fontColor=#166534;fontSize=11;arcSize=50;" vertex="1" parent="1">
<mxGeometry x="216" y="52" width="60" height="22" as="geometry"/>
</mxCell>
<!-- Overlay backdrop -->
<mxCell id="overlay" value="" style="rounded=0;fillColor=#000000;opacity=50;strokeColor=none;" vertex="1" parent="1">
<mxGeometry x="0" y="0" width="1000" height="640" as="geometry"/>
</mxCell>
<!-- Modal -->
<mxCell id="modal" value="" style="rounded=1;fillColor=#FFFFFF;strokeColor=#E5E7EB;shadow=1;arcSize=4;" vertex="1" parent="1">
<mxGeometry x="300" y="160" width="400" height="280" as="geometry"/>
</mxCell>
<mxCell id="modalTitle" value="<b>Confirm Action</b>" style="text;html=1;fillColor=none;strokeColor=none;fontColor=#111827;fontSize=16;align=left;spacingLeft=24;" vertex="1" parent="1">
<mxGeometry x="300" y="176" width="340" height="28" as="geometry"/>
</mxCell>
<mxCell id="modalBody" value="Are you sure you want to proceed? This action cannot be undone." style="text;html=1;fillColor=none;strokeColor=none;fontColor=#6B7280;fontSize=13;align=left;spacingLeft=24;whiteSpace=wrap;" vertex="1" parent="1">
<mxGeometry x="300" y="216" width="360" height="60" as="geometry"/>
</mxCell>
<!-- Buttons -->
<mxCell id="cancelBtn" value="Cancel" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#D1D5DB;fontColor=#374151;fontSize=13;" vertex="1" parent="1">
<mxGeometry x="480" y="380" width="90" height="36" as="geometry"/>
</mxCell>
<mxCell id="confirmBtn" value="Confirm" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#EF4444;strokeColor=#DC2626;fontColor=#FFFFFF;fontSize=13;fontStyle=1;" vertex="1" parent="1">
<mxGeometry x="580" y="380" width="90" height="36" as="geometry"/>
</mxCell>
<mxCell id="toast" value="<b>Success!</b> Your changes have been saved." style="rounded=1;whiteSpace=wrap;html=1;fillColor=#DCFCE7;strokeColor=#BBF7D0;fontColor=#166534;fontSize=13;shadow=1;align=left;spacingLeft=40;arcSize=6;" vertex="1" parent="1">
<mxGeometry x="540" y="20" width="360" height="48" as="geometry"/>
</mxCell>
Use annotation shapes to communicate design decisions:
<!-- Annotation callout -->
<mxCell id="annotation" value="<font color="#DC2626"><b>Note:</b> This section collapses on mobile</font>" style="shape=callout;whiteSpace=wrap;html=1;fillColor=#FEF2F2;strokeColor=#FCA5A5;fontSize=11;perimeter=calloutPerimeter;position2=0.5;base=20;size=12;" vertex="1" parent="1">
<mxGeometry x="500" y="200" width="200" height="60" as="geometry"/>
</mxCell>
| Color | Hex | Meaning |
|---|---|---|
| Red | #DC2626 | Critical / must-fix |
| Orange | #EA580C | Question / needs decision |
| Blue | #2563EB | Developer note / implementation detail |
| Green | #16A34A | Approved / signed-off |
| Purple | #9333EA | Accessibility note |
Connect wireframe screens to show user navigation:
<!-- Screen 1 thumbnail -->
<mxCell id="screen1" value="<b>Login</b>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#D1D5DB;shadow=1;verticalAlign=bottom;spacingBottom=8;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="40" y="40" width="160" height="240" as="geometry"/>
</mxCell>
<!-- Screen 2 thumbnail -->
<mxCell id="screen2" value="<b>Dashboard</b>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#D1D5DB;shadow=1;verticalAlign=bottom;spacingBottom=8;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="320" y="40" width="160" height="240" as="geometry"/>
</mxCell>
<!-- Flow arrow -->
<mxCell id="flow1" value="Login success" style="edgeStyle=orthogonalEdgeStyle;rounded=1;strokeColor=#6B7280;fontColor=#6B7280;fontSize=11;" edge="1" source="screen1" target="screen2" parent="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
gridSize=8) for consistent spacing.drawio.svg for GitHub PRs, PNG for Slack/emailnpx claudepluginhub thelobbi/claude --plugin drawio-diagrammingProduces low-fidelity black-and-white UI wireframes as standalone SVG files. Use for sketching screens, pages, or flows, or bundling into a browsable viewer.
Creates detailed ASCII wireframes for page layouts, component placement, responsive breakpoints, and content hierarchy. Use when planning new pages or redesigning existing layouts.
Designs screen structure at wireframe fidelity: what goes where and why. Produces lo-fi idea boards, interactive grayscale wireframes, and click-through prototypes from flow logic.