utility-mermaid-diagrams
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.
What this skill does
<!-- 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 ## 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: 1. **Quote labels** . Any label containing spaces, parentheses, brackets, colons, commas, or reserved words must be quoted with double quotes 2. **Escape special characters** . Characters with mermaid or markdown meaning (`>`, `<`, `-` at line start, `#`) need escaping or quoting 3. **Declare before referencing** . Define a node before using it in an edge; referencing an undeclared node causes silent failures in some types 4. **Respect limits** . Each diagram type has a maximum node/participant count beyond which readability collapses (see `references/diagram-catalog.md` for per-type limits) 5. **Comment your intent** . Use `%%` comments to document non-obvious choices (why this layout direction, why this grouping) 6. **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 1. **Identify what you're communicating** . What relationship, flow, hierarchy, or proportion needs to be visible? Who is the audience? 2. **Apply the cardinal rule** . Confirm a diagram adds value over a list or table 3. **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 4. **Plan the diagram** . Fill out the planning worksheet in `references/TEMPLATE.md`: purpose, audience, node inventory, type rationale 5. **Write the mermaid code** . Follow `references/syntax-guide.md` rules; start with the minimal syntax example from `references/diagram-catalog.md` and expand 6. **Validate** . Run through the quality checklist below 7. **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 |
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.