mermaid
Skill1 starsChanged 5 months agoMITView on GitHub
Generate visually rich, GitHub-renderable Mermaid diagrams. All diagram types, base-ui color system, semantic shapes, classDef, linkStyle, themeVariables, and harness use cases.
44 other projects use a version of this.
Adopted by
Most recently taken up by
- lulufoo/lulu-boardtheir own version, first seen Nov 8, 2026
- chrislacey89/skillstheir own version, first seen Nov 4, 2026
- puncsky/system-design-and-architecturetheir own version, first seen Nov 2, 2026
- lulufoo/lulu-drawertheir own version, first seen Nov 1, 2026
- Voronenko/ai-filestheir own version, first seen Nov 1, 2026
- bex-co/bextheir own version, first seen Oct 28, 2026
Used with
Projects with it also use ansible, plantuml and 6 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
julweberSkillansible
Ansible automation reference for playbooks, roles, inventory, variables, and modules. Includes Proxmox VE and Docker integration via community.general and community.docker collections. Use when writing playbooks, troubleshooting Ansible runs, or designing automation workflows. Triggers: ansible, playbook, inventory, role, task, handler, vars, jinja2, galaxy, proxmox_kvm, proxmox_lxc, docker_container, docker_compose.
Also in 3 projects that use this
xenodiumSkillplantuml
This skill should be used when the user invokes "/plantuml" to create a diagram from the current context using PlantUML and output the resulting image path.
Also in 3 projects that use this
ihiteshguptaSkillterraform
Expert in Infrastructure as Code with Terraform. Use for creating, managing, and versioning infrastructure across cloud providers.
Also in 3 projects that use this
PostHogSkillkarpathy-guidelines
Behavioral guidelines to reduce common LLM coding mistakes. Use when writing, reviewing, or refactoring code to avoid overcomplication, make surgical changes, surface assumptions, and define verifiable success criteria. Based on https://github.com/multica-ai/andrej-karpathy-skills.
Also in 3 projects that use this
AWSSkillship
Finalize dev work on an issue branch — update docs, push, and open a PR.
Also in 4 projects that use this
SentrySkillcommit
Create commit messages following Sentry conventions. Use when committing code changes, writing commit messages, or formatting git history. Follows conventional commits with Sentry-specific issue references.
Also in 4 projects that use this
Other versions44 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 44
- puncsky/system-design-and-architecture★ 3.6ksame name
- alibaba/loongcollector★ 2.2ksame name
- chujianyun/skills★ 751same name
- bex-co/bex★ 576same name
- WH-2099/mermaid-skill★ 268same name
- xenodium/emacs-skills★ 142same name
- mgifford/accessibility-skills★ 48same name
- nilecui/SkillsBase★ 27same name
- greedychipmunk/agent-skills★ 24same name
- ulises-jeremias/agent-toolkit★ 19same name
34 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository26 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- audit-legalSkill
- audit-securitySkill
- echartsSkill
- explainSkill
- file-changelogSkill
- file-claudeSkill
- file-licenseSkill
- file-projectSkill
- file-readmeSkill
- frontendSkill
- hooksSkill
- lean-reviewSkill
- loopSkill
- masterpromptSkill
- mcpSkill
- new-projectSkill
- outputstyleSkill
- proofreadSkill
- rulesSkill
- settingsSkill
- skillsSkill
- sotaSkill
- subagentsSkill
- tasksSkill
- toonSkill
The file
We split this skill into the rules it gives an agent
8 rules. 0 are common, 3 are distinctive, and 5 are very specific to this project.
0
Common
Most of the 41 edited versions we read keep these.
3
Distinctive
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 27
No gradients, no CSS injection, no external fonts — not supported on GitHub.
- Very specific: line 30
Use %%{init: {...}}%% at the top of the diagram block for theme and curve config.
- Very specific: line 57
All diagrams default to the base-ui brand palette.
- Distinctive: line 88
Add to the top of any diagram requiring global color control:
- Distinctive: line 120
Use shapes as semantic signals — the shape itself communicates node function.
- Very specific: line 165
Use style for one-off styling that should not be a class:
- Very specific: line 237
Add subgraph groupings where logical zones exist (§7.5).
- Very specific: line 238
Verify: all node labels with emoji use double quotes.
“Common” is measured: kept by at least 6 in 10 of the 41 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Mermaid
1§ Purpose
Produce fully styled, visually rich Mermaid diagrams for READMEs, architecture documentation, workflow references, and skill/rule descriptions. Go beyond functional diagrams — apply color systems, semantic shapes, and visual hierarchy so the diagram communicates structure at a glance.
2§ Use when
- A README or document needs an architecture diagram and no screenshot exists.
- A workflow, lifecycle, state machine, or decision flow needs visual representation.
- Any other skill instructs "load the mermaid skill" before producing a diagram.
- User asks for a diagram, chart, or visual of any kind.
3§ Hard constraints
- GitHub-safe colors only: hex values (
#2FBF5E) inclassDefandthemeVariables. Named CSS colors (red,blue) are ignored by Mermaid's renderer. - Emoji in node labels: always wrap in double quotes —
["🔧 text"]. Unquoted emoji break the parser. stroke-dasharraycommas: escape as\,— regular commas are Mermaid delimiters.- No gradients, no CSS injection, no external fonts — not supported on GitHub.
- Color contrast: text color must achieve WCAG AA minimum (4.5:1) against node fill.
White text (
color:#fff) on dark fills; dark text (color:#0f172a) on light fills. - Use
%%{init: {...}}%%at the top of the diagram block for theme and curve config. Mermaid v11+ also supports frontmatter config, but%%{init}%%has wider support. - Kanban (
kanban) and Fishbone (ishikawa) require Mermaid v11+; note version dependency if rendering outside GitHub.
4§ Diagram type selector
| Use case | Diagram type | Syntax keyword |
| Architecture, data flow, decision logic | Flowchart | flowchart TD / flowchart LR |
| API calls, tool invocations, time sequences | Sequence | sequenceDiagram |
| State machines, lifecycle phases | State | stateDiagram-v2 |
| Feature overview, topic taxonomy | Mindmap | mindmap |
| Class / data model relationships | Class | classDiagram |
| Git branching strategy | Git graph | gitGraph |
| Project timeline, phases, milestones | Gantt | gantt |
| Task board, status tracking | Kanban (v11+, see 3§) | kanban |
| Root cause analysis | Fishbone (v11+, see 3§) | ishikawa |
| Proportional data | Pie chart | pie |
| Two-axis positioning | Quadrant | quadrantChart |
| Metric time series | XY chart | xychart-beta |
Direction for flowcharts: TD (top-down) for hierarchies and trees;
LR (left-right) for pipelines and sequential flows.
5§ Color system
All diagrams default to the base-ui brand palette. This aligns harness diagrams
with the visual identity defined in base-ui/tokens.css.
5.1§ Semantic classDef palette
Green — primary process nodes fill:#2FBF5E, stroke:#1E9447, color:#fff
Teal — secondary / alternative fill:#0D9488, stroke:#0A7A6F, color:#fff
Blue — entry / terminal / accent fill:#0284C7, stroke:#0369A1, color:#fff
Emerald — success / output / done fill:#10b981, stroke:#047857, color:#fff
Amber — warning / pending fill:#f59e0b, stroke:#d97706, color:#0f172a
Red — error / failure / blocked fill:#ef4444, stroke:#dc2626, color:#fff
Slate — I/O, data, peripheral fill:#1e293b, stroke:#334155, color:#94a3b8
Ink — storage / persistence fill:#0f172a, stroke:#2FBF5E, color:#a5b4fc5.2§ Standard classDef block
Include this block verbatim at the top of any flowchart. Remove unused classes before delivery.
classDef entry fill:#0284C7,stroke:#0369A1,color:#fff,font-weight:bold
classDef process fill:#2FBF5E,stroke:#1E9447,color:#fff
classDef alt fill:#0D9488,stroke:#0A7A6F,color:#fff
classDef success fill:#10b981,stroke:#047857,color:#fff
classDef warning fill:#f59e0b,stroke:#d97706,color:#0f172a
classDef error fill:#ef4444,stroke:#dc2626,color:#fff
classDef io fill:#1e293b,stroke:#334155,color:#94a3b8
classDef store fill:#0f172a,stroke:#2FBF5E,color:#a5b4fc5.3§ themeVariables init block
Add to the top of any diagram requiring global color control:
%%{init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#2FBF5E',
'primaryTextColor': '#ffffff',
'primaryBorderColor': '#1E9447',
'lineColor': '#0D9488',
'secondBkgColor': '#0f172a',
'fontSize': '14px'
},
'flowchart': { 'curve': 'cardinal' }
}}%%Available curve values: linear, cardinal, catmullRom, stepBefore,
stepAfter. Use cardinal for smooth organic curves; linear for strict
technical diagrams.
5.4§ Subgraph background
Style subgraphs with classDef on the subgraph id, or use 8-digit hex for
semi-transparency (last two digits = opacity, 80 = 50%):
classDef zone fill:#2FBF5E20,stroke:#2FBF5E,color:#fff
class subgraphId zone6§ Node shape reference
Use shapes as semantic signals — the shape itself communicates node function.
Terminal / entry / exit:
(["🚀 Start"]) stadium — rounded pill; use for BEGIN / END
Standard process:
["⚙️ Step"] rectangle — default; any operation or step
Decision / branch:
{"❓ Yes or No?"} diamond — any condition or branch point
Event / hook / trigger:
{{"⚡ SessionStart"}} hexagon — asynchronous event, lifecycle hook
I/O input:
[/"📥 Input"/] parallelogram — data entering a system
I/O output:
[\"📤 Output"\] inverse parallelogram — data leaving a system
Database / storage:
[("🗄️ Store")] cylinder — persistent storage, database, file
Reusable procedure:
[["📦 Subroutine"]] subroutine — referenced component, reusable block
Circle (connector):
(("🔵")) circle — off-page connector, event bubble
Double circle:
((("●"))) double circle — start/end in state machine style7§ Styling techniques
7.1§ classDef application
classDef process fill:#2FBF5E,stroke:#1E9447,color:#fff,font-weight:bold
A["Step"]:::process
B["Step"]:::process
class C,D process7.2§ Individual node override
Use style for one-off styling that should not be a class:
style A fill:#0284C7,stroke:#0369A1,color:#fff,stroke-width:3px7.3§ Edge styling with linkStyle
Index is 0-based, counted in order of --> declarations:
linkStyle 0 stroke:#0D9488,stroke-width:3px
linkStyle 1,2 stroke:#2FBF5E,stroke-width:2px
linkStyle default stroke:#94a3b8,stroke-width:1.5pxDashed edge:
linkStyle 3 stroke:#ef4444,stroke-dasharray:6\,3,stroke-width:2px7.4§ Labeled edges with semantic color
A -->|"✅ success"| B
A -->|"❌ error"| C
A -.->|"optional"| D
A ==>|"critical path"| EEdge types: --> solid, -.-> dashed, ==> thick, --o circle end,
--x cross end, <--> bidirectional.
7.5§ Subgraphs
subgraph zone["📦 Zone Label"]
direction LR
A["Node"]:::process
B["Node"]:::process
end
classDef zoneStyle fill:#2FBF5E20,stroke:#2FBF5E,stroke-dasharray:4\,2
class zone zoneStyle8§ Diagram templates
One complete, runnable template per diagram type lives in the assets — load the matching one, adapt data and labels, remove unused sections before delivery:
- [assets/flowchart.template.md] — flowchart, annotated: all classDefs, shapes, linkStyle
- [assets/diagram-templates.md] — sequence, state machine, mindmap, class diagram, git graph, gantt, kanban (v11+), fishbone (v11+), pie, quadrant, XY chart
9§ Harness use cases
Diagrams that add specific value to the harness and its skills:
| Context | Diagram type | What to show |
| CLAUDE.md / README | Flowchart TD | Configuration loading hierarchy (session → CLAUDE.md → rules/skills/agents) |
| Skill pipeline | Flowchart LR | Skill invocation: index → SKILL.md → assets |
| Hook lifecycle | Sequence | event → script → exit code → Claude action |
| Content routing | Flowchart TD | CLAUDE.md vs rules vs settings vs hooks |
| Agent spawn | Sequence | Claude → agent → tools → result |
| Review pipeline | Flowchart LR | scope → dimensions → findings |
| Lifecycle overview | Sequence | Full session lifecycle: SessionStart → work → PostToolUse |
| Roadmap / sprint | Kanban | Current work items by status |
| Release history | Git graph | Branch and merge strategy |
| Phase timeline | Gantt | Project phases with dependencies |
10§ Workflow
- Identify the diagram type from §4. If unclear, default to
flowchart TD. - Draft the nodes and edges first — structure before styling.
- Apply the
%%{init}%%block (§5.3) if global color control is needed. - Apply the standard classDef block (§5.2). Remove unused classes.
- Assign shapes semantically using §6. Match shape to node function.
- Assign classes using
:::classNameinline syntax. - Apply
linkStylefor critical or semantic edges (§7.3). - Add
subgraphgroupings where logical zones exist (§7.5). - Verify: all node labels with emoji use double quotes;
stroke-dasharraycommas are escaped; no named colors. - Deliver the diagram block. State which diagram type was chosen and why.
11§ Output contract
Must include:
- A fenced code block with
```mermaididentifier %%{init}%%block when more than 3 color classes are usedclassDeffor every distinct node role (never leave all nodes unstyled)- Double-quoted labels for any node containing emoji or special characters
- At least 3 distinct node shapes when the diagram has 6+ nodes
Must not include:
- Named CSS colors in
classDeforthemeVariables - Unescaped commas in
stroke-dasharray - Bare emoji in unquoted labels
- Diagrams with all nodes the same shape and color
- Unfilled placeholders in node text
12§ Associated documents
- [assets/flowchart.template.md] — annotated flowchart template with all classDefs, shapes, and linkStyle
- [assets/diagram-templates.md] — runnable templates for all other diagram types (sequence, state, mindmap, class, git graph, gantt, kanban, fishbone, pie, quadrant, XY chart)
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

