Guides semantic redesign of diagrams for Mermaid, PlantUML, and Excalidraw by analyzing core concepts and leveraging platform strengths, avoiding mechanical conversions.
From slidevnpx claudepluginhub rhuss/cc-slidev --plugin slidevThis skill uses the workspace's default tool permissions.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Guides idea refinement into designs: explores context, asks questions one-by-one, proposes approaches, presents sections for approval, writes/review specs before coding.
Don't convert diagrams between formats. Redesign them.
Each diagram platform (Mermaid, PlantUML, Excalidraw) represents a different way of thinking visually. When creating multi-platform diagrams, analyze the slide's core concept and design platform-specific diagrams that leverage each tool's unique strengths.
| Platform | Best For | Visual Paradigm | Key Strengths | When to Use |
|---|---|---|---|---|
| Mermaid | Flow, process, sequences | Linear, structured | Clean syntax, real-time rendering, developer-friendly | Workflows, pipelines, state machines, API flows |
| PlantUML | Architecture, UML, formal models | Hierarchical, relational | Rich UML notation, component boundaries, deployment contexts | System architecture, class relationships, deployment diagrams |
| Excalidraw | Sketches, brainstorming, informal | Spatial, freeform | Hand-drawn style, flexible positioning, annotations | Whiteboard sessions, conceptual thinking, informal explanations |
Ask yourself:
| Slide Semantic | Best Platform | Why |
|---|---|---|
| Process/workflow | Mermaid flowchart | Directional flow, clear entry/exit |
| API interactions | Mermaid sequence | Time-based message passing |
| System architecture | PlantUML component | Component boundaries, interfaces |
| Deployment topology | PlantUML deployment | Physical node placement |
| Class design | PlantUML class | Inheritance, relationships, methods |
| Brainstorming | Excalidraw sketch | Informal, flexible, annotatable |
| Conceptual relationships | Excalidraw spatial | Proximity, grouping, containers |
Don't think: "How do I convert this diagram?"
Think:
Visual Thinking: "How does this move/transform/progress?"
Design Questions:
Example: For a slide about "Device plugins transform GPUs into schedulable Kubernetes resources":
flowchart LR
GPU[GPU Hardware] -->|Discovery| DP[Device Plugin]
DP -->|Registration| Kubelet
Kubelet -->|Advertising| Scheduler
Scheduler -->|Allocation| Pod
Why Mermaid? Emphasizes the flow of information from hardware through orchestration to workload.
Leverage Mermaid Features:
Visual Thinking: "How do these components relate and interact?"
Design Questions:
Example: For the same slide, emphasizing architecture:
@startuml
!theme plain
package "Node" {
component [Device Plugin] as DP
component [Kubelet] as K
database "GPU Hardware" as GPU
}
package "Control Plane" {
component [Scheduler] as S
component [API Server] as API
}
GPU -down-> DP: Discovery
DP -right-> K: gRPC\nRegistration
K -up-> API: Advertise\nResources
API <-down-> S: Resource\nTracking
note right of DP
Implements Device
Plugin API v1beta1
end note
@enduml
Why PlantUML? Shows component boundaries, packages, and formal relationships. Emphasizes architectural structure over flow.
Leverage PlantUML Features:
Visual Thinking: "How can I sketch this to make it approachable and clear?"
Design Questions:
Example: For the same slide, emphasizing spatial/conceptual relationships:
Visual Layout:
┌──────────────────────────────────────────────────┐
│ Worker Node (hand-drawn container) │
│ │
│ ┌────────────┐ │
│ │ GPU 0 │ ←─────┐ │
│ │ GPU 1 │ │ │
│ └────────────┘ │ │
│ │ │
│ ┌───────────────────┴──────┐ │
│ │ Device Plugin │ │
│ │ "Discovers & exposes" │ │
│ └───────────┬──────────────┘ │
│ │ gRPC │
│ ↓ │
│ ┌────────────────────────┐ │
│ │ Kubelet │ │
│ │ "Advertises capacity" │ │
│ └────────────┬───────────┘ │
└───────────────┼──────────────────────────────────┘
│ HTTPS
↓
┌───────────────┐
│ Scheduler │ ← "Now aware of GPUs!"
│ (Control Plane) │
└───────────────┘
Why Excalidraw?
Leverage Excalidraw Features:
Always ask: "What is this slide trying to convey?" before choosing platform.
Choose the platform that best fits the slide's core concept. Embed that one inline in Slidev.
Generate other platforms only if they add value or user requests multi-platform export.
Each platform should get a diagram designed for its strengths, not mechanically converted.
All platforms benefit from cognitive load limits (≤6-7 elements per diagram).
When creating diagrams for multiple platforms:
Option 1: Single Platform
Option 2: All Platforms (Semantic Redesign)
diagrams/, renders in public/images/Sources (diagrams/):
diagram-name.mmd (Mermaid)diagram-name.puml (PlantUML)diagram-name.excalidraw (Excalidraw JSON)Renders (public/images/diagram-name/):
diagram.svg (Mermaid render)diagram-plantuml.svg (PlantUML render)diagram-excalidraw.svg (Excalidraw render)flowchart TD
Start([Plugin Starts]) --> Discover[Discover GPUs]
Discover --> Register[Register with Kubelet]
Register --> Watch[Watch for Allocate Requests]
Watch --> Allocate{Allocation Request?}
Allocate -->|Yes| Configure[Configure Device]
Configure --> Watch
Allocate -->|No| Watch
Emphasis: Step-by-step process flow.
@startuml
package "Device Plugin Framework" {
interface "Registration" as Reg
interface "DevicePlugin" as DP
component [Plugin Implementation] as PI
component [Kubelet] as K
PI .up.|> DP: implements
PI -right-> Reg: calls
K -left-> Reg: provides
K -down-> DP: invokes
}
node "Worker Node" {
artifact "GPU Device" as GPU
}
PI -down-> GPU: manages
@enduml
Emphasis: Component relationships and interfaces.
Hand-drawn sketch showing:
Emphasis: Informal, annotated, shows "where code lives."
Old approach: Create in one format, mechanically convert to others New approach: Analyze slide semantics, design diagrams for each platform's strengths
Key principle: Each diagram platform is a different way of thinking visually. Use the right thinking for the right concept.
Result: Platform-appropriate diagrams that leverage each tool's unique capabilities, not lowest-common-denominator conversions.