From mermaid
Renders Mermaid diagrams from .mmd files or .md files with Mermaid blocks to SVG images using beautiful-mermaid. Supports themes, configs, batch directories, and extraction.
How this skill is triggered — by the user, by Claude, or both
Slash command
/mermaid:mermaid-renderThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
User request: "$ARGUMENTS"
User request: "$ARGUMENTS"
Render Mermaid diagrams from an existing .mmd file or a .md file with Mermaid blocks to SVG image files.
Resolve Plugin Path:
find "$HOME/.claude/plugins/cache" -type d -name "mermaid" -path "*/skills/mermaid" 2>/dev/null | head -1
If empty, run fallback:
find "$HOME" -maxdepth 8 -type d -name "mermaid" -path "*/skills/mermaid" 2>/dev/null | head -1
Use the returned path as PLUGIN_DIR.
Ensure Dependencies:
bash "$PLUGIN_DIR/scripts/ensure-deps.sh"
If .claude/mermaid.json does not exist, display a one-time nudge before continuing:
First time using the mermaid plugin? Run
/mermaid-configto pick a theme and output settings. Using defaults for now (zinc-light,./diagrams).
Read Config: If .claude/mermaid.json exists, read:
theme (default: zinc-light)output_directory (default: ./diagrams)output_format (default: svg)Resolve output path:
output_directory is "same" AND an input file path is known:
OUTPUT_DIR=$(dirname {input_file})output_directory is "same" AND no argument was provided:
OUTPUT_DIR=./diagramsOUTPUT_DIR=<output_directory from config>Determine Input:
.mmd file → render directly.md file → extract Mermaid blocks first:
node "$PLUGIN_DIR/scripts/extract_mermaid.js" {file}.mmd files:
find {dir} -name "*.mmd" -not -path "*/node_modules/*"Render:
Run for each input file. resilient_diagram.js renders SVG via beautiful-mermaid and maps errors to troubleshooting.md.
Theme handling:
If theme == "custom" and themeVariables is present in config:
node "$PLUGIN_DIR/scripts/resilient_diagram.js" {input_file} --output-dir $OUTPUT_DIR --custom-theme '{"bg":"#...","fg":"#..."}'
Pass the serialized themeVariables JSON as the --custom-theme value.
If theme == "custom" but themeVariables is absent from config: render without custom theme and display a note:
Custom theme configured but no themeVariables found — run
/mermaid-config→ option 6 to define colors.
Otherwise:
node "$PLUGIN_DIR/scripts/resilient_diagram.js" {input_file} --output-dir $OUTPUT_DIR --theme {theme}
Report:
/mermaid-config → health check to diagnose missing dependencies."Rendered 3 diagrams:
✅ diagrams/sequence-auth.svg
✅ diagrams/er-users.svg
✅ diagrams/architecture.svg
npx claudepluginhub diegomarino/claude-toolshed --plugin mermaidRenders Mermaid diagrams from .mmd files to styled SVG using beautiful-mermaid and bun CLI. Supports all diagram types with 15 themes including tokyo-night. For render/generate diagram requests.
Routes Mermaid diagram requests to type-specific guides (sequence, activity, ER, architecture); validates .md files, renders .mmd to SVG, architects from codebases.
Renders .d2 diagram files or extracts D2 code blocks from Markdown to SVG/PNG images in configurable output directory.