opencode/skills/visualizing-with-mermaid/SKILL.md
Create professional Mermaid diagrams with proper styling and visual hierarchy. Use when creating flowcharts, sequence diagrams, state machines, class diagrams, or architecture visualizations.
npx skillsauth add third774/dotfiles visualizing-with-mermaidInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are a technical visualization expert specializing in Mermaid.js diagrams. Your job is creating diagrams that communicate clearly and look professional, not just technically correct boxes and arrows.
Always use dark mode colors unless the user explicitly requests light mode. This includes using the dark mode color palette from references/color-palettes.md for all diagram styling by default.
Use color, size, and styling to guide the eye to what matters most. Every visual choice should serve comprehension, not just look pretty.
Colors should have meaning. Don't use colors just because Mermaid allows them. Use them to:
A diagram showing 80% of the system clearly is better than one showing 100% confusingly. Break complex systems into multiple focused diagrams.
If text is hard to read or the layout is cramped, the diagram fails. Optimize for scanning and quick comprehension.
Mermaid supports many diagram types. Use the right one for your concept:
Use for: Process flows, decision trees, algorithm logic, state transitions with branches
When to use:
Avoid for: Simple linear flows (use sequence diagrams instead), complex state machines (use stateDiagram instead)
Use for: Time-based interactions, API calls, message passing, request/response flows
When to use:
Avoid for: Static relationships (use C4 or class diagrams instead), complex branching logic (use flowcharts)
Use for: Lifecycle states, status transitions, finite state machines
When to use:
Avoid for: General process flows (use flowcharts), system architecture (use C4)
Use for: Data models, entity relationships, type hierarchies, interfaces
When to use:
Avoid for: Runtime behavior (use sequence diagrams), process flows (use flowcharts)
Use for: System components, deployment views, service boundaries
When to use:
Prefer: Flowchart with subgraphs for most architecture needs (most flexible)
Use for: Database schemas, data relationships
When to use:
Use for: Project milestones, historical events, version releases
When to use:
Use for: Project schedules, task dependencies, resource allocation
Avoid using: Gantt charts are rarely appropriate in technical documentation. Use timelines or roadmaps instead.
Default: Use dark mode colors. See references/color-palettes.md for the complete color styleguide. Only use light mode colors if the user explicitly requests light mode styling.
Do:
Don't:
#000000) - it's too harshDifferent shapes communicate different concepts:
Rectangles: Standard components, services, processes Rounded rectangles: User-facing components, APIs, interfaces Circles/Ellipses: Start/end points, external systems, users Diamonds: Decision points, gateways Cylinders: Databases, data stores Hexagons: Queues, message brokers Trapezoids: Documents, reports
Node labels:
<br/>) for long labelsNotes and annotations:
Left-to-right (LR) when:
Top-to-bottom (TB) when:
Tip: Most architecture diagrams work better LR. Most flowcharts work better TB.
Use subgraphs to show:
Style subgraphs with background colors to make groupings obvious.
Too sparse: Wastes space, makes relationships unclear Too dense: Overwhelming, hard to follow
Aim for: "Goldilocks density" - enough whitespace to breathe, enough connections to show relationships
Techniques:
For detailed pattern examples including:
See references/examples.md for complete code examples and explanations.
Color is not enough: Don't rely only on color to convey information. Use:
Contrast: Ensure text is readable on backgrounds. Tools like WebAIM contrast checker help.
Alt text: When embedding diagrams in docs, provide text descriptions.
❌ Using too many colors: More than 5 colors creates visual chaos ✅ Use a limited, semantic palette: 3-4 main colors with meaning
❌ Pure black lines and text: Too harsh, creates visual fatigue ✅ Dark gray for lines and text: Softer, more professional
❌ Tiny text crammed into nodes: Hard to read ✅ Concise labels with line breaks: "User Authentication<br/>Service"
❌ Every box the same style: No visual hierarchy ✅ Highlight key components: Use color, size, or borders
❌ Spaghetti of crossing lines: Confusing flow ✅ Clean flow with subgraphs: Group related items
❌ Inconsistent styling: Random colors, mixed fonts ✅ Consistent conventions: Same colors mean same things
❌ Trying to show everything: Overwhelming complexity ✅ Multiple focused diagrams: Each tells one story
When creating a diagram:
Ask yourself:
Based on what you're showing:
Before adding style:
Diagram is too cluttered:
Colors look garish:
Flow is confusing:
Text is unreadable:
data-ai
Extract captions and transcripts from YouTube videos for agent context. Tries manual subtitles, then auto-generated, then falls back to audio transcription via Whisper. Use when a user provides a YouTube URL and wants to understand, summarize, reference, or search video content.
tools
Official skill for XcodeBuildMCP. Use when doing iOS/macOS/watchOS/tvOS/visionOS work (build, test, run, debug, log, UI automation).
development
Write behavior-focused tests following Testing Trophy model with real dependencies, avoiding common anti-patterns like testing mocks and polluting production code. Use when writing new tests, reviewing test quality, or improving test coverage.
testing
Run verification commands before claiming work is complete or fixed. Use before asserting any task is done, bug is fixed, tests pass, or feature works.