New to Claude Skills? Learn how to install them →

daymade on GitHub

Mermaid Tools

Free

Effortlessly extract and generate Mermaid diagrams as PNGs.

Get this skill

Free · Opens the source repo

What Mermaid Tools does

Mermaid Tools is a skill designed to streamline the process of extracting Mermaid diagrams from markdown files and converting them into high-quality PNG images. This skill comes bundled with essential scripts that facilitate the extraction and generation process, ensuring users can easily manage their diagram workflows without manual intervention. The primary script, extract-and-generate.sh, orchestrates the entire operation, making it accessible even for those who may not be deeply familiar with command-line interfaces.

When you run the skill, it extracts all Mermaid code blocks from your specified markdown file, numbers them sequentially, and generates corresponding .mmd files and PNG images. The output is organized in a way that maintains the order of diagrams as they appear in the source document. This feature is particularly useful for users who need to present or share their diagrams in a visually appealing format, such as in reports or presentations.

The skill also supports advanced usage scenarios, allowing users to customize the dimensions and scaling of the generated images through environment variables. This flexibility ensures that whether you need standard resolution for documentation or high-resolution outputs for presentations, you can achieve the desired quality without hassle. Additionally, the script automatically adjusts dimensions based on the type of diagram, providing context-aware sizing that enhances the visual presentation of your work.

Mermaid Tools is ideal for developers, technical writers, and designers who frequently work with markdown files containing Mermaid diagrams. It simplifies the workflow of diagram extraction and image generation, making it a valuable addition to any toolkit focused on documentation or visual communication.

When to use it

Use this skill when you need to convert Mermaid diagrams embedded in markdown files into high-quality PNG images for presentations or documentation.

When not to use it

This skill may not be suitable for users who do not work with Mermaid diagrams or markdown files, or those who prefer GUI-based tools for diagram generation.

What you can build with it

Generating Diagrams for Reports

Use Mermaid Tools to extract diagrams from your markdown documentation and generate PNGs for inclusion in formal reports.

Creating Presentation Visuals

Quickly convert Mermaid diagrams into high-resolution images suitable for slideshows and presentations.

Automating Diagram Updates

Incorporate Mermaid Tools into a CI/CD pipeline to automatically update and generate diagrams from markdown files.

How to install Mermaid Tools

View source

1. Install with the skills CLI

npx skills add daymade/claude-code-skills/mermaid-tools --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by daymade

Mermaid Tools

Overview

This skill enables extraction of Mermaid diagrams from markdown files and generation of high-quality PNG images. The skill bundles all necessary scripts (extract-and-generate.sh, extract_diagrams.py, and puppeteer-config.json) in the scripts/ directory for portability and reliability.

Core Workflow

Standard Diagram Extraction and Generation

Extract Mermaid diagrams from a markdown file and generate PNG images using the bundled extract-and-generate.sh script:

cd "${CLAUDE_SKILL_DIR}/scripts"
./extract-and-generate.sh "<markdown_file>" "<output_directory>"

Parameters:

  • <markdown_file>: Path to the markdown file containing Mermaid diagrams
  • <output_directory>: (Optional) Directory for output files. Defaults to <markdown_file_directory>/diagrams

Example:

cd "${CLAUDE_SKILL_DIR}/scripts"
./extract-and-generate.sh "<markdown_file>" "<output_directory>"

What the Script Does

  1. Extracts all Mermaid code blocks from the markdown file
  2. Numbers them sequentially (01, 02, 03, etc.) in order of appearance
  3. Generates .mmd files for each diagram
  4. Creates high-resolution PNG images with smart sizing
  5. Validates all generated PNG files

Output Files

For each diagram, the script generates:

  • 01-diagram-name.mmd - Extracted Mermaid code
  • 01-diagram-name.png - High-resolution PNG image

The numbering ensures diagrams maintain their order from the source document.

Advanced Usage

Custom Dimensions and Scaling

Override default dimensions using environment variables:

cd "${CLAUDE_SKILL_DIR}/scripts"
MERMAID_WIDTH=1600 MERMAID_HEIGHT=1200 ./extract-and-generate.sh "<markdown_file>" "<output_directory>"

Available variables:

  • MERMAID_WIDTH (default: 1200) - Base width in pixels
  • MERMAID_HEIGHT (default: 800) - Base height in pixels
  • MERMAID_SCALE (default: 2) - Scale factor for high-resolution output

High-Resolution Output for Presentations

cd "${CLAUDE_SKILL_DIR}/scripts"
MERMAID_WIDTH=2400 MERMAID_HEIGHT=1800 MERMAID_SCALE=4 ./extract-and-generate.sh "<markdown_file>" "<output_directory>"

Print-Quality Output

cd "${CLAUDE_SKILL_DIR}/scripts"
MERMAID_SCALE=5 ./extract-and-generate.sh "<markdown_file>" "<output_directory>"

Smart Sizing Feature

The script automatically adjusts dimensions based on diagram type (detected from filename):

  • Timeline/Gantt: 2400×400 (wide and short)
  • Architecture/System/Caching: 2400×1600 (large and detailed)
  • Monitoring/Workflow/Sequence/API: 2400×800 (wide for process flows)
  • Default: 1200×800 (standard size)

Context-aware naming in the extraction process helps trigger appropriate smart sizing.

Important Principles

Use Bundled Scripts

CRITICAL: Use the bundled extract-and-generate.sh script from this skill's scripts/ directory. All necessary dependencies are bundled together.

Change to Script Directory

Run the script from its own directory to properly locate dependencies (extract_diagrams.py and puppeteer-config.json):

cd "${CLAUDE_SKILL_DIR}/scripts"
./extract-and-generate.sh "<markdown_file>" "<output_directory>"

Running the script without changing to the scripts directory first may fail due to missing dependencies.

Prerequisites Verification

Before running the script, verify dependencies are installed:

  1. mermaid-cli: mmdc --version
  2. Google Chrome: google-chrome-stable --version
  3. Python 3: python3 --version

If any are missing, consult references/setup_and_troubleshooting.md for installation instructions.

Troubleshooting

For detailed troubleshooting guidance, refer to references/setup_and_troubleshooting.md, which covers:

  • Browser launch failures
  • Permission issues
  • No diagrams found
  • Python extraction failures
  • Output quality issues
  • Diagram-specific sizing problems

Quick fixes for common issues:

Permission denied:

chmod +x "${CLAUDE_SKILL_DIR}/scripts/extract-and-generate.sh"

Low quality output:

MERMAID_SCALE=3 ./extract-and-generate.sh "<markdown_file>" "<output_directory>"

Chrome/Puppeteer errors: Verify all WSL2 dependencies are installed (see references for full list).

Bundled Resources

scripts/

This skill bundles all necessary scripts for Mermaid diagram generation:

  • extract-and-generate.sh - Main script that orchestrates extraction and PNG generation
  • extract_diagrams.py - Python script for extracting Mermaid code blocks from markdown
  • puppeteer-config.json - Chrome/Puppeteer configuration for WSL2 environment

All scripts must be run from the scripts/ directory to properly locate dependencies.

references/setup_and_troubleshooting.md

Comprehensive reference documentation including:

  • Complete prerequisite installation instructions
  • Detailed environment variable reference
  • Extensive troubleshooting guide
  • WSL2-specific Chrome dependency setup
  • Validation procedures

Load this reference when dealing with setup issues, installation problems, or advanced customization needs.

Frequently asked questions about Mermaid Tools

Similar skills