mcpbeat Sign in

Utility Mermaid Diagrams Agent Skill

Teaches PMs to create syntactically valid mermaid diagrams by selecting the right diagram type for their communication need, following syntax validity rules, and validating before shipping. Covers all 15 mermaid diagram types with PM-relevant examples and a dual-lens navigation system.

26k tokens
context cost
the whole folder, loaded on every use
8
files
instructions only
0
copies elsewhere
how many repositories repackaged it
516
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/product-on-purpose/pm-skills --skill utility-mermaid-diagrams

The instruction itself

10 sections, as written by the author

<!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 -->

Mermaid Diagrams

Create effective, syntactically valid mermaid diagrams for product documents.

When to Use

  • Creating mermaid diagrams for PRDs, specs, roadmaps, or stakeholder presentations
  • Choosing which of 15 diagram types fits a specific communication need
  • Debugging mermaid code that won't render or renders incorrectly
  • Reviewing diagrams for clarity, accuracy, and accessibility

When NOT to Use

  • Exporting diagrams to image files (PNG/SVG) - that's a rendering tool concern
  • Using non-mermaid diagramming tools (Figma, Lucidchart, draw.io)
  • Creating purely decorative visuals with no informational purpose
  • Producing a full customer-journey artifact (stages, touchpoints, emotional curve, pain points) rather than a standalone diagram - use discover-journey-map, which composes this skill for its timeline or flowchart section

The Cardinal Rule

> Don't diagram what a list can say.

Diagrams earn their place when they reveal relationships, branching, or flow that prose flattens. Before creating any diagram, ask:

*Does this show branching, relationships, or flow that a list or table would flatten?*

  • Yes → proceed with a diagram
  • No → use a numbered list, bullet list, or table instead

A 5-step linear process is a list. A 5-step process with two decision points and a retry loop is a diagram.

Diagram Selection Guide

| I need to show... | Use | Also consider |

|-------------------|-----|---------------|

| A decision or approval process | Flowchart | State |

| Multi-service or multi-party interactions | Sequence | Flowchart |

| Feature lifecycle or status transitions | State | Flowchart |

| Work stages or pipeline status | Kanban | State |

| Release or sprint timeline with dependencies | Gantt | Timeline |

| Version history or chronological milestones | Timeline | Gantt |

| 2D prioritization (effort/impact, risk/value) | Quadrant | - |

| Allocation breakdown or composition | Pie | Treemap |

| Problem decomposition or brainstorming | Mindmap | - |

| Domain models or data relationships | ER | Class |

| API or object contracts | Class | ER |

| System topology or infrastructure | Architecture | Flowchart |

| Flow quantities or budget allocation | Sankey | Pie |

| Hierarchical proportional data | Treemap | Pie |

| Trends or time-series metrics | XY-Chart | - |

For worked examples organized by PM task, see references/pm-use-cases.md.

For full syntax and options per type, see references/diagram-catalog.md.

Syntax Validity Principles

Six rules that prevent most rendering failures:

  • Quote labels - Any label containing spaces, parentheses, brackets, colons, commas, or reserved words must be quoted with double quotes
  • Escape special characters - Characters with mermaid or markdown meaning (>, <, - at line start, #) need escaping or quoting
  • Declare before referencing - Define a node before using it in an edge; referencing an undeclared node causes silent failures in some types
  • Respect limits - Each diagram type has a maximum node/participant count beyond which readability collapses (see references/diagram-catalog.md for per-type limits)
  • Comment your intent - Use %% comments to document non-obvious choices (why this layout direction, why this grouping)
  • Test before shipping - Paste into a mermaid renderer (mermaid.live, VS Code preview, or your target environment) and verify it renders correctly

For the complete syntax reference, see references/syntax-guide.md.

Instructions

  • Identify what you're communicating - What relationship, flow, hierarchy, or proportion needs to be visible? Who is the audience?
  • Apply the cardinal rule - Confirm a diagram adds value over a list or table
  • Select a diagram type - Use the selection guide above, browse references/pm-use-cases.md by task, or browse references/diagram-catalog.md by type
  • Plan the diagram - Fill out the planning worksheet in references/TEMPLATE.md: purpose, audience, node inventory, type rationale
  • Write the mermaid code - Follow references/syntax-guide.md rules; start with the minimal syntax example from references/diagram-catalog.md and expand
  • Validate - Run through the quality checklist below
  • Embed - Place the validated mermaid code block in your document

Output Contract

  • Planning artifact: A completed diagram planning worksheet (references/TEMPLATE.md)
  • Final output: A syntactically valid mermaid code block embedded in the target document
  • Quality gate: All items in the quality checklist pass

Quality Checklist

  • [ ] Diagram renders without error in target environment
  • [ ] Cardinal rule satisfied - a list or table would not communicate this more clearly
  • [ ] No linear sequences without branching, relationships, or hierarchy
  • [ ] All labels with spaces or special characters are properly quoted
  • [ ] Special characters escaped where needed
  • [ ] Node/participant count within type-specific limits
  • [ ] Colors are accessible (WCAG AA 3:1 contrast minimum, black text on light backgrounds)
  • [ ] Color is never the sole differentiator - shapes and labels also distinguish elements
  • [ ] Diagram has a descriptive title or surrounding prose context
  • [ ] %% comments document any non-obvious layout or grouping choices

References

| File | Purpose |

|------|---------|

| references/TEMPLATE.md | Diagram planning worksheet - fill out before writing mermaid code |

| references/EXAMPLE.md | Worked example: PM creating 4 diagrams for a product launch |

| references/diagram-catalog.md | All 15 diagram types: syntax, PM examples, limits, pitfalls |

| references/pm-use-cases.md | PM task → diagram type mapping with mini worked examples |

| references/syntax-guide.md | Complete syntax validity rules, escaping, styling, and validation checklist |

Other skills for the same job

different authors, same section of the catalogue
Protocolsio Integration
by christophacham
×4

Integration with protocols.io API for managing scientific protocols. This skill should be used when working with protocols.io to search, create, update, or publish protocols; manage protocol steps and materials; handle discussions and comments; organize workspaces; upload and manage files; or integrate protocols.io functionality into workflows. Applicable for protocol discovery, collaborative protocol development, experiment tracking, lab protocol management, and scientific documentation.

16k tokens
Tailored Resume Generator
by frostant
×4

Analyzes job descriptions and generates tailored resumes that highlight relevant experience, skills, and achievements to maximize interview chances

3k tokens
Excalidraw Diagram Generator
by github
vendor ×3

Generate Excalidraw diagrams from natural language descriptions. Use when asked to "create a diagram", "make a flowchart", "visualize a process", "draw a system architecture", "create a mind map", or "generate an Excalidraw file". Supports flowcharts, relationship diagrams, mind maps, and system architecture diagrams. Outputs .excalidraw JSON files that can be opened directly in Excalidraw.

36k tokens scripts
Expo Dev Client
by openai
vendor ×3

Build and distribute Expo development clients locally or via TestFlight

961 tokens
Executing Plans
by ZhanlinCui
×3

Use when you have a written implementation plan to execute in a separate session with review checkpoints

542 tokens
Anndata
by christophacham
×3

Data structure for annotated matrices in single-cell analysis. Use when working with .h5ad files or integrating with the scverse ecosystem. This is the data format skill—for analysis workflows use scanpy; for probabilistic models use scvi-tools; for population-scale queries use cellxgene-census.

16k tokens
Benchling Integration
by christophacham
×3

Benchling R&D platform integration. Access registry (DNA, proteins), inventory, ELN entries, workflows via API, build Benchling Apps, query Data Warehouse, for lab data management automation.

14k tokens
Biopython
by christophacham
×3

Comprehensive molecular biology toolkit. Use for sequence manipulation, file parsing (FASTA/GenBank/PDB), phylogenetics, and programmatic NCBI/PubMed access (Bio.Entrez). Best for batch processing, custom bioinformatics pipelines, BLAST automation. For quick lookups use gget; for multi-service integration use bioservices.

24k tokens

How to use it

Copy the folder

Take product-on-purpose/utility-mermaid-diagrams from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.