content/skills/mermaid-diagrams/SKILL.md
Practical guide for creating human-readable and agent-parseable diagrams using Mermaid. Includes conservative, renderer-compatible templates and when-to-use guidance.
npx skillsauth add comol/cursor_rules_1c mermaid-diagramsInstall 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.
graph LR/graph TB for flowcharts; some renderers fail on flowchart keyword.A["Text (x|y) |"].\n inside labels — Mermaid does not interpret such line breaks. Use <br/> for line breaks.quadrantChart, sankey-beta, requirementDiagram, gitGraph may not be available. Use provided flowchart fallbacks.mermaid.To optimize for quick human scanning in raw Markdown and robust parsing by agents, always ship an ASCII/Unicode sidecar immediately below each Mermaid block.
Policy:
text.Diagram: <name> (<type>).Recommended primitives:
[Name], (Name), +-----+\n| N |\n+-----+-->, decisions as {cond?} lines, lists with -.Actor -> Actor: message with indented lifelines.Example (Flowchart):
graph LR
A["Start"] --> B{Auth?}
B -->|Yes| C["Dashboard"]
B -->|No| D["Login"]
Diagram: Auth flow (flowchart)
[Start] --> {Auth?}
{Auth?} -- Yes --> [Dashboard]
{Auth?} -- No --> [Login]
Example (Text-based Sequence):
sequenceDiagram
participant U as User
participant W as WebApp
U->>W: Open
W-->>U: OK
Diagram: Happy path (sequence)
User -> WebApp : Open
WebApp -> User : OK
graph LR
A["Start"] --> B{Auth?}
B -->|Yes| C["Dashboard"]
B -->|No| D["Login"]
C --> E["Settings"]
sequenceDiagram
autonumber
participant U as User
participant W as WebApp
participant API
U->>W: Open
W->>API: GET /status
API-->>W: 200
W-->>U: OK
classDiagram
class User {
+String id
+String name
+login(): bool
}
class Order {
+String id
+Decimal total
+submit()
}
User "1" o-- "*" Order
stateDiagram-v2
[*] --> Idle
Idle --> Loading : fetch
Loading --> Ready : ok
Loading --> Error : fail
state Ready {
[*] --> Viewing
Viewing --> Editing : edit
Editing --> Viewing : save
}
Error --> Idle : retry
erDiagram
USER ||--o{ ORDER : places
ORDER ||--|{ ORDER_LINE : contains
PRODUCT ||--o{ ORDER_LINE : referenced
USER {
string id
string email
}
PRODUCT {
string id
string name
float price
}
journey
title Checkout UX
section Browse
"See product": 5: User
"Add to cart": 4: User
section Payment
"Enter card": 2: User
"3DS confirm": 2: User
section Result
"Success page": 5: User
gantt
title Release Plan
dateFormat YYYY-MM-DD
section Dev
Spec :done, des1, 2025-10-01,2025-10-05
Impl :active, des2, 2025-10-06,2025-10-20
Tests : des3, 2025-10-21, 7d
section Release
Freeze :milestone, m1, 2025-10-28, 0d
Deploy :crit, des4, 2025-10-29, 1d
pie
title Traffic by Source
"Direct" : 35
"Organic" : 45
"Ads" : 20
graph TB
Q1["Quick Wins<br/>High Impact - Low Effort<br/><br/>- Improve UX"]
Q2["Major Projects<br/>High Impact - High Effort<br/><br/>- Rewrite Core"]
Q3["Fill-ins<br/>Low Impact - Low Effort<br/><br/>- Docs polish"]
Q4["Thankless<br/>Low Impact - High Effort<br/><br/>- Legacy migration"]
Q1 --> Q2
Q1 --> Q3
Q2 --> Q4
Q3 --> Q4
graph LR
R1["Requirement: PCI-DSS compliant"]
T1["Test: PCI checklist"]
SVC["Service"]
SVC -- satisfies --> R1
T1 -- verifies --> R1
graph LR
Checkout["Checkout"] -->|100| PSP["PSP"]
PSP -->|60| Settled["Settled"]
PSP -->|40| Declined["Declined"]
graph LR
A["init"] --> B["feat-A"]
A --> C["fix-1"]
B --> D["merge"]
C --> D
sankey is unavailable.gitGraph is unavailable.flowchart with graph and simplify shapes.https://mermaid.live to isolate environment issues.tools
Catalog of MCP servers for 1C development — search, code navigation, metadata, code review, docs, ITS, templates. Use whenever a 1C task requires calling tools from any 1c-*-mcp / 1C-*-mcp server. Each server has its own detail file under `docs/` — load it when you are about to call tools from that server, and only if the server is actually available in the current session.
tools
1C metadata management — create, edit, validate, and remove configuration objects (catalogs, documents, registers, enums), managed forms, data composition schemas (SKD), spreadsheet layouts (MXL), roles, external processors (EPF/ERF), extensions (CFE), configurations (CF), databases, subsystems, command interfaces, templates. Use when working with 1C metadata structure.
development
Transcribe video and audio files via Gemini API. Use when the user asks to transcribe a recording, generate a meeting summary, extract speech from video or audio, or convert speech to text. Supports mp4, mkv, webm, avi, mov, mp3, wav, ogg, m4a, flac.
development
Improve and structure short, unstructured prompts and task statements, turning them into detailed imperative specifications with numbered analysis steps, explicit edge cases, and a clearly described expected output format. Preserves all terms and conditions from the source, does not add new requirements. Use when the user asks to: improve a prompt, refine a task statement, expand a task description, structure a spec, turn a note into a detailed instruction, make a prompt more precise or detailed, prepare a spec from a draft, polish a task, convert a short note into a clear specification. Accepts text as a command argument or a path to a .md file.