ai-superpower/.ai/instructions/skills/mermaid.instructions.md
moilanik 9bfa4813a8 docs(mermaid): enforce actual line breaks for multiline text
The \n literal often fails to render correctly in Mermaid nodes. The
guidelines now require using actual newlines inside quoted text to
ensure multiline content displays reliably.
2026-04-10 08:50:04 +03:00

1.9 KiB

Mermaid Diagram Instructions


Edge Labels

Use -- "text" --> syntax, not -->|text| syntax.

| inside -->|label| breaks parsing if the label contains a pipe character (e.g. curl | bash). Quoted syntax always works:

✅  A -- "curl | bash" --> B
❌  A -->|curl | bash| B

Line Breaks (Multiline Text)

Do not use \n for line breaks inside Mermaid nodes or labels. It does not always render correctly. Instead, use actual line breaks (real newlines) inside quoted text.

✅ A["First line
Second line"]

❌ B["First line\nSecond line"]

Color Contrast — CRITICAL

All Mermaid diagrams MUST have sufficient color contrast. AI-generated diagrams often fail this.

Rule: always pair background with explicit text color.

Background type Text color
Light (#e6ffe6, #ffcccc, #fff3cd) color:#000
Dark (#009900, #cc0000, #0055cc) color:#fff
Default (no fill) no color needed
graph LR
    A[Input]:::good --> B[Process]:::bad --> C[Output]:::good
    classDef good fill:#009900,color:#fff
    classDef bad  fill:#cc0000,color:#fff

Never:

style NodeA fill:#ffcccc              ❌ no text color — unreadable
style NodeB fill:#66ff66              ❌ bright color, no contrast defined

Size

  • Abstract diagram: max 5-7 nodes — full scope, high level
  • Section diagrams: max 3-5 nodes — one subsystem only
  • Too many arrows = diagram is wrong scope, split it

When to Use What

Situation Use
Flows, sequences, architecture Mermaid graph or sequenceDiagram
File/folder structure ASCII tree
Timeline Mermaid gantt
Both structure and flow needed Both, separately

If Diagram Would Be Too Complex

Do not simplify by removing important nodes. Instead: split into two diagrams — one high-level, one zoomed-in detail.