| name | Visual Design |
| description | This skill should be used when the user asks to "create mermaid diagram", "add visuals to slides", "suggest stock photos", "generate AI image prompts", "create diagram for presentation", "design visual theme", or needs guidance on diagram types, color palettes, image selection, or AI image generation prompting for presentations. |
| version | 0.2.0 |
Visual Design for Presentations
Effective visual design combines diagrams, images, and consistent theming to create engaging, professional, accessible presentations. Master mermaid diagrams, stock photography, AI image generation, colorblind-safe palettes, and visual cohesion.
Evidence-based accessibility: This skill incorporates research-based best practices for accessible visual design. See references/presentation-best-practices.md for full guidelines.
Mermaid Diagrams
Mermaid provides text-based diagramming that renders beautifully in Slidev and exports well.
Flowcharts
Best for: Processes, decision trees, workflows
Basic syntax:
graph TD
A[Start] --> B{Decision}
B -->|Yes| C[Action 1]
B -->|No| D[Action 2]
C --> E[End]
D --> E
Direction options:
graph TD- Top to bottomgraph LR- Left to rightgraph RL- Right to leftgraph BT- Bottom to top
Node shapes:
graph LR
A[Rectangle]
B(Rounded)
C([Stadium])
D[[Subroutine]]
E[(Database)]
F((Circle))
G>Flag]
H{Diamond}
I{{Hexagon}}
Arrow types:
graph LR
A-->B %% Solid arrow
C-.->D %% Dotted arrow
E==>F %% Thick arrow
G-.-H %% Dotted line
I---J %% Solid line
Edge labels:
graph LR
A -->|Label text| B
B -.->|Another label| C
Sequence Diagrams
Best for: API calls, interactions, communication flows
sequenceDiagram
participant Client
participant Server
participant Database
Client->>Server: HTTP Request
Server->>Database: Query
Database-->>Server: Results
Server-->>Client: HTTP Response
Message types:
->Solid line-->Dotted line->>Solid arrow-->>Dotted arrow
Activation boxes:
sequenceDiagram
Client->>+Server: Request
Server->>+Database: Query
Database-->>-Server: Data
Server-->>-Client: Response
Notes:
sequenceDiagram
Client->>Server: Request
Note right of Server: Processing
Server->>Database: Query
Note over Client,Server: Communication
Class Diagrams
Best for: Object-oriented design, data models, architecture
classDiagram
class User {
+String name
+String email
+login()
+logout()
}
class Order {
+int orderId
+Date date
+calculateTotal()
}
User "1" --> "*" Order : places
Relationships:
<|--Inheritance*--Compositiono--Aggregation-->Association--Link..|>Realization..Dependency
Visibility:
+Public-Private#Protected~Package
State Diagrams
Best for: State machines, lifecycle, status changes
stateDiagram-v2
[*] --> Draft
Draft --> Review
Review --> Approved
Review --> Rejected
Rejected --> Draft
Approved --> Published
Published --> [*]
With descriptions:
stateDiagram-v2
[*] --> Idle
Idle --> Processing : Start
Processing --> Complete : Success
Processing --> Error : Failure
Error --> Idle : Retry
Complete --> [*]
ER Diagrams
Best for: Database schemas, data relationships
erDiagram
CUSTOMER ||--o{ ORDER : places
ORDER ||--|{ LINE-ITEM : contains
PRODUCT ||--o{ LINE-ITEM : includes
CUSTOMER {
string name
string email
int customerId
}
ORDER {
int orderId
date orderDate
float total
}
Relationship types:
||--||One to one||--o{One to many}o--o{Many to many||--o|Zero or one
Gantt Charts
Best for: Timelines, project schedules, roadmaps
gantt
title Project Timeline
dateFormat YYYY-MM-DD
section Phase 1
Task 1 :a1, 2024-01-01, 30d
Task 2 :after a1, 20d
section Phase 2
Task 3 :2024-02-01, 25d
Task 4 :2024-02-15, 20d
Theming Diagrams
Apply consistent colors:
%%{init: {'theme':'base', 'themeVariables': {
'primaryColor':'#3b82f6',
'primaryTextColor':'#fff',
'primaryBorderColor':'#2563eb',
'lineColor':'#6b7280',
'secondaryColor':'#8b5cf6',
'tertiaryColor':'#f59e0b'
}}}%%
graph TD
A[Start] --> B[Process]
B --> C[End]
Theme presets:
default- Standard colorsdark- Dark modeforest- Green tonesneutral- Grayscalebase- Customizable (use themeVariables)
Diagram Selection Guide
Process or workflow? → Flowchart
- Shows steps and decisions
- Linear or branching paths
- Start and end points clear
System interaction? → Sequence Diagram
- Shows communication between components
- Time-ordered messages
- Request/response patterns
Data structure? → Class or ER Diagram
- Shows entities and relationships
- Object-oriented design
- Database schema
State changes? → State Diagram
- Shows status transitions
- Lifecycle representation
- Finite states
Timeline or schedule? → Gantt Chart
- Shows tasks over time
- Dependencies and milestones
- Project planning
Complex architecture? → Component + Flowchart
- Multiple diagram types
- Different abstraction levels
- Layered view
Stock Photography
Image Selection Criteria
Relevance:
- Directly related to slide content
- Reinforces message
- Doesn't distract
Quality:
- Minimum 1920x1080 resolution
- Sharp, well-lit
- Professional composition
Tone:
- Matches presentation style
- Appropriate for audience
- Consistent emotional impact
Diversity:
- Inclusive representation
- Varied perspectives
- Authentic, not staged
Unsplash Search Strategies
Concept-based searches:
- "team collaboration"
- "data visualization"
- "technology innovation"
- "business meeting"
- "cloud computing abstract"
Color-specific searches:
- "blue technology"
- "minimal white background"
- "dark professional"
Orientation searches:
- Add "landscape" for 16:9 slides
- Add "portrait" for split layouts
Quality indicators:
- High view count
- Professional photographer
- Editorial collection
Pexels Alternative
Similar to Unsplash, good backup source:
- Free for commercial use
- No attribution required (but appreciated)
- Good for videos too
Attribution
Include in presenter notes or final slide:
<!--
Image credits:
- Photo by [Photographer Name] on Unsplash
- https://unsplash.com/photos/[photo-id]
-->
Image Optimization
Before using:
- Resize to 1920x1080 maximum
- Compress to reduce file size
- Save in appropriate format (JPG for photos, PNG for graphics)
Tools:
- ImageMagick:
convert input.jpg -resize 1920x1080 output.jpg - Online: TinyPNG, Squoosh
AI Image Generation
DALL-E 3 Prompting
Structure:
[Subject] + [Style] + [Composition] + [Colors] + [Details] + [Quality]
Examples:
Technical presentation:
Isometric illustration of cloud infrastructure, interconnected servers
and databases, modern tech style, blue and purple gradient, clean
minimal design, high detail, professional quality
Business presentation:
Professional photograph of diverse business team in modern office,
collaborating around laptop, natural lighting, corporate environment,
blue and gray tones, shallow depth of field, high resolution
Data visualization:
Abstract data visualization, flowing connections and nodes,
information network concept, gradient from blue to cyan,
dark background, glowing elements, futuristic style, 16:9 ratio
Best practices:
- Be specific about style (photo, illustration, 3D render)
- Specify aspect ratio (16:9 for slides)
- Include lighting details for realism
- Mention color palette for consistency
- Add quality descriptors (high detail, professional)
Midjourney Prompting
Structure:
/imagine [description] --ar 16:9 --v 6 --style [style]
Examples:
Concept illustration:
/imagine neural network visualization, interconnected nodes and
pathways, abstract tech concept, electric blue and cyan,
dark background, volumetric lighting --ar 16:9 --v 6 --style raw
Architectural diagram:
/imagine microservices architecture diagram, isometric view,
containerized applications, kubernetes cluster, technical illustration,
blue white color scheme, clean lines --ar 16:9 --v 6
Parameters:
--ar 16:9Aspect ratio for slides--v 6Version 6 (latest)--style rawLess artistic, more literal--q 2Quality (1-2, higher = better)--s 50Stylization (0-1000, lower = literal)
Stable Diffusion Prompting
Positive prompt:
professional business chart visualization, clean modern design,
blue gradient background, data analytics concept, high quality,
detailed, 4k resolution, trending on artstation
Negative prompt:
blurry, low quality, text, watermark, signature, distorted,
ugly, bad anatomy, poorly drawn
Settings:
- Steps: 30-50
- CFG Scale: 7-12
- Size: 1024x576 (16:9) or 1920x1080
AI Image Best Practices
Do:
- Generate multiple variations
- Iterate on prompts
- Specify technical requirements
- Match presentation theme
- Use consistent style across slides
Don't:
- Use first result without review
- Mix incompatible styles
- Include text in AI images (often garbled)
- Over-complicate prompts
- Ignore licensing terms
Visual Theme Development
Color Palettes
Corporate/Professional:
Primary: #1e40af (Deep Blue)
Secondary: #6b7280 (Gray)
Accent: #3b82f6 (Bright Blue)
Background: #ffffff (White)
Text: #1f2937 (Dark Gray)
Tech/Modern:
Primary: #3b82f6 (Blue)
Secondary: #8b5cf6 (Purple)
Accent: #06b6d4 (Cyan)
Background: #0f172a (Dark Navy)
Text: #f8fafc (Light)
Academic/Formal:
Primary: #1e3a8a (Navy)
Secondary: #991b1b (Maroon)
Accent: #92400e (Brown)
Background: #fef3c7 (Cream)
Text: #1c1917 (Black)
Creative/Energetic:
Primary: #dc2626 (Red)
Secondary: #f59e0b (Amber)
Accent: #8b5cf6 (Purple)
Background: #ffffff (White)
Text: #18181b (Black)
Color Theory
Complementary: Opposite on color wheel
- High contrast
- Energetic feel
- Use sparingly
Analogous: Adjacent on color wheel
- Harmonious
- Pleasing to eye
- Professional look
Monochromatic: Variations of single hue
- Cohesive
- Sophisticated
- Easy to execute
Triadic: Three equally spaced colors
- Vibrant
- Balanced
- Needs careful use
Applying Theme Consistency
Diagrams: Use theme colors in all mermaid diagrams Images: Apply filters or overlays to match palette Backgrounds: Stick to theme backgrounds throughout Text: Consistent heading and body colors Icons: Single style (outline vs filled), matching colors
Icon Systems
Styles:
- Outline (modern, clean)
- Filled (bold, impactful)
- Flat (minimalist)
- 3D (depth, realistic)
Sources:
- Heroicons (outline/filled, free)
- Feather Icons (minimalist, free)
- Font Awesome (comprehensive, free tier)
- Material Icons (Google, free)
Consistency rules:
- Single icon style per presentation
- Consistent size (e.g., all 24px)
- Theme-matched colors
- Same stroke weight
Visual Composition
Rule of Thirds
Divide slide into 3x3 grid:
- Place important elements at intersections
- Align content along grid lines
- Creates balanced, professional look
Visual Weight
Distribute elements evenly:
- Heavy elements (images, dark colors) balance with light elements
- Symmetrical or asymmetrical balance
- Avoid one heavy corner
Focal Point
Guide viewer's eye:
- Size: Larger elements draw attention
- Color: Bright or contrasting colors stand out
- Position: Center or rule-of-thirds points
- Isolation: White space around element
Contrast
Create visual hierarchy:
- Light vs dark
- Large vs small
- Bold vs thin
- Color vs grayscale
Image + Text Integration
Text Overlays on Images
Ensure readability:
---
background: './image.jpg'
class: text-center
---
<div class="backdrop-blur-sm bg-black/50 p-8">
<h1 class="text-white text-6xl font-bold">
Readable Title
</h1>
</div>
Techniques:
- Dark overlay (30-70% opacity)
- Blur background behind text
- Position text in clear area
- Add drop shadow to text
Split Layouts
Image + text side-by-side:
---
layout: image-right
image: './diagram.png'
---
# Content Here
- Point 1
- Point 2
- Point 3
Balance:
- Equal visual weight on each side
- Complementary content
- Clear relationship between image and text
Visual Hierarchy
Size Hierarchy
Title (H1): 44-60pt
Subtitle (H2): 32-40pt
Section (H3): 24-32pt
Body: 18-24pt
Caption: 14-18pt
Color Hierarchy
Primary: Headlines, key data
Secondary: Subheadings, supporting text
Tertiary: Captions, notes
Neutral: Body text, backgrounds
Weight Hierarchy
Bold: Titles, emphasis, CTAs
Regular: Body text, most content
Light: Captions, metadata, fine print
Best Practices (Evidence-Based)
Diagrams
✅ Do:
- Choose diagram type matching content (flowchart for process, sequence for interaction)
- Apply theme colors consistently via mermaid init directive
- Keep diagrams simple (max 7-9 nodes - cognitive load research)
- Label clearly with readable font sizes (match slide minimum 18pt)
- Use directional flow (typically left-to-right or top-to-bottom)
- Progressive disclosure for complex diagrams (build across multiple slides)
- Test colorblind-safe (use patterns/shapes + color, not color alone)
❌ Don't:
- Overcomplicate with too many connections (cognitive overload)
- Use too many colors (stick to theme palette: 2 main + 1-2 accents)
- Make text too small (minimum 18pt equivalent in diagrams)
- Create bidirectional spaghetti (unclear flow)
- Ignore alignment (clean grid-based layout)
- Rely on color alone (add labels, patterns, icons for colorblind accessibility)
Images
✅ Do:
- Use high-resolution (1920x1080+)
- Match presentation tone
- Ensure diversity and inclusion
- Provide attribution
- Optimize file size
❌ Don't:
- Use pixelated or blurry images
- Choose cliché stock photos
- Ignore licensing
- Use inconsistent styles
- Overload with images
Color (Accessibility Required)
✅ Do:
- Define palette upfront (2 main colors + 1-2 accents = 3-4 total)
- Ensure contrast ratios (from research):
- Normal text (<24pt): Minimum 4.5:1
- Large text (≥24pt): Minimum 3:1
- Test with tools: WebAIM Contrast Checker, Colorblind Web Page Filter
- Use colorblind-safe palettes:
- Use ColorBrewer (colorbrewer2.org) for verified palettes
- Common safe combinations: Blue + Orange, Purple + Green, Blue + Red
- AVOID: Red + Green (most common colorblindness)
- Don't rely on color alone:
- Add patterns in charts (stripes, dots, hatching)
- Use labels and icons alongside colors
- Differentiate with size/shape + color
- Use consistently throughout (same meaning = same color)
- Test on different displays (projector, laptop, mobile)
❌ Don't:
- Use random colors (establish theme palette first)
- Rely on color alone (excludes 8% of males with colorblindness)
- Create low contrast (<4.5:1 fails accessibility standards)
- Mix too many palettes (max 3-4 colors total)
- Ignore accessibility (legal requirement in many contexts)
- Use red+green together without additional differentiation
Theme
✅ Do:
- Establish visual identity
- Apply consistently
- Create templates
- Document color codes
- Test in different contexts
❌ Don't:
- Change style mid-presentation
- Mix incompatible aesthetics
- Ignore brand guidelines
- Over-decorate
- Sacrifice readability for style
Quick Reference
Mermaid Diagram Types
Flowchart: graph TD
Sequence: sequenceDiagram
Class: classDiagram
State: stateDiagram-v2
ER: erDiagram
Gantt: gantt
Color Palette Templates (Colorblind-Safe)
Blue + Orange (Recommended - Universally accessible):
primary: "#3b82f6" # Blue (trust, tech)
secondary: "#f97316" # Orange (energy, action)
neutral: "#6b7280" # Gray (backgrounds)
text: "#1f2937" # Dark gray (body text)
background: "#ffffff" # White (slide background)
# Contrast ratios:
# Blue on white: 8.6:1 ✓
# Orange on white: 3.4:1 (use for headings ≥24pt) ✓
# Text on white: 16.1:1 ✓
Purple + Teal (Professional, modern):
primary: "#8b5cf6" # Purple (creative, innovative)
secondary: "#14b8a6" # Teal (calm, balanced)
neutral: "#64748b" # Slate gray
text: "#0f172a" # Near black
background: "#ffffff" # White
Dark Mode (High contrast):
primary: "#60a5fa" # Light blue (readable on dark)
secondary: "#fbbf24" # Amber (attention)
neutral: "#475569" # Slate (dividers)
text: "#f1f5f9" # Light gray (body text)
background: "#0f172a" # Very dark blue
# Note: Dark mode requires ≥7:1 contrast for text
Verification checklist:
- Contrast ratios verified (4.5:1+ for normal, 3:1+ for large text)
- Tested with colorblind simulator
- Colors have distinct meaning (not red/green for pass/fail)
- Patterns/icons supplement color in charts
- Palette documented for consistency
Image Checklist
- High resolution (1920x1080+)
- Relevant to content
- Matches presentation tone
- Properly attributed
- Optimized file size
- Accessible (alt text in notes)
For advanced mermaid syntax and visual design principles, consult the Mermaid documentation (https://mermaid.js.org/) and design resources like Refactoring UI.