--- 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:** ```mermaid 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 bottom - `graph LR` - Left to right - `graph RL` - Right to left - `graph BT` - Bottom to top **Node shapes:** ```mermaid graph LR A[Rectangle] B(Rounded) C([Stadium]) D[[Subroutine]] E[(Database)] F((Circle)) G>Flag] H{Diamond} I{{Hexagon}} ``` **Arrow types:** ```mermaid graph LR A-->B %% Solid arrow C-.->D %% Dotted arrow E==>F %% Thick arrow G-.-H %% Dotted line I---J %% Solid line ``` **Edge labels:** ```mermaid graph LR A -->|Label text| B B -.->|Another label| C ``` ### Sequence Diagrams Best for: API calls, interactions, communication flows ```mermaid 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:** ```mermaid sequenceDiagram Client->>+Server: Request Server->>+Database: Query Database-->>-Server: Data Server-->>-Client: Response ``` **Notes:** ```mermaid 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 ```mermaid classDiagram class User { +String name +String email +login() +logout() } class Order { +int orderId +Date date +calculateTotal() } User "1" --> "*" Order : places ``` **Relationships:** - `<|--` Inheritance - `*--` Composition - `o--` Aggregation - `-->` Association - `--` Link - `..|>` Realization - `..` Dependency **Visibility:** - `+` Public - `-` Private - `#` Protected - `~` Package ### State Diagrams Best for: State machines, lifecycle, status changes ```mermaid stateDiagram-v2 [*] --> Draft Draft --> Review Review --> Approved Review --> Rejected Rejected --> Draft Approved --> Published Published --> [*] ``` **With descriptions:** ```mermaid stateDiagram-v2 [*] --> Idle Idle --> Processing : Start Processing --> Complete : Success Processing --> Error : Failure Error --> Idle : Retry Complete --> [*] ``` ### ER Diagrams Best for: Database schemas, data relationships ```mermaid 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 ```mermaid 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: ```mermaid %%{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 colors - `dark` - Dark mode - `forest` - Green tones - `neutral` - Grayscale - `base` - 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: ```markdown ``` ### 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:9` Aspect ratio for slides - `--v 6` Version 6 (latest) - `--style raw` Less artistic, more literal - `--q 2` Quality (1-2, higher = better) - `--s 50` Stylization (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:** ```markdown --- background: './image.jpg' class: text-center ---