mermaid-to-gif▌
zc277584121/marketing-skills · updated Apr 8, 2026
MDX-style export adds YAML metadata + attribution linking explainx.ai and this canonical listing URL.
Convert Mermaid diagrams into animated GIFs with rich animation effects. Supports .mmd files and extracting ```mermaid code blocks from .md files.
Skill: Mermaid to GIF
Convert Mermaid diagrams into animated GIFs with rich animation effects. Supports .mmd files and extracting ```mermaid code blocks from .md files.
Prerequisites: FFmpeg, Python 3.8+, Playwright (
pip install playwright && playwright install chromium)
When to Use
- The user wants to convert Mermaid diagrams to animated GIFs
- The user has
.mmdfiles or.mdfiles containing mermaid code blocks - The user needs animated visuals for presentations, documentation, or social media
- The user wants to batch-convert all mermaid blocks in a document
Context-Aware Style Selection
IMPORTANT: When converting mermaid blocks from .md files, read the surrounding markdown context to choose the most appropriate animation style for each diagram. Do NOT blindly apply the same style to all blocks.
Decision Guide
- Read the markdown text around each mermaid block — understand what the diagram is illustrating
- Match the style to the semantic meaning:
| Context Clue | Recommended Style | Reasoning |
|---|---|---|
| Data pipeline, ETL flow, request/response path | pulse-flow |
Flowing dashed lines convey data movement |
| Architecture layers, org chart, hierarchy | progressive |
Elements activate layer-by-layer |
| Step-by-step process, tutorial walkthrough | highlight-walk |
Spotlight guides the reader through each step |
| System overview, title diagram, simple reference | wave |
Brightness ripple adds life without distraction |
| Sequence diagram with message flow | progressive |
Messages activate one by one in conversation order |
| Class/ER diagram (reference/static) | progressive or wave |
Structure lights up or gets a subtle ripple |
-
Consider special handling:
- If the surrounding text says "data flows from A to B", use
pulse-floweven for a simple flowchart - If the text describes "three layers" or "two tiers", use
progressiveto activate layer-by-layer - If the diagram is decorative or supplementary, use
waveto keep it simple - For very large or complex diagrams, prefer
waveor shorter--durationto keep GIF size reasonable
- If the surrounding text says "data flows from A to B", use
-
Per-block style override: When batch-processing a
.mdfile, you may need to run the script multiple times with different styles, extracting specific blocks. Or process the whole file with a sensible default and re-run individual blocks that need different treatment.
Example: Context-Aware Processing
## Data Ingestion Pipeline ← context: "pipeline" → pulse-flow
[mermaid block: graph LR with ETL stages]
## System Architecture ← context: "architecture" → progressive
[mermaid block: graph TD with layers]
## Quick Reference ← context: "reference" → wave
[mermaid block: simple diagram]
Default Workflow
Single .mmd file
python ${CLAUDE_SKILL_ROOT}/scripts/mermaid_to_gif.py diagram.mmd
Markdown file with mermaid blocks
python ${CLAUDE_SKILL_ROOT}/scripts/mermaid_to_gif.py document.md -o ./images/
This extracts all ```mermaid code blocks and generates one GIF per block.
Multiple files
python ${CLAUDE_SKILL_ROOT}/scripts/mermaid_to_gif.py *.mmd -o ./gifs/
python ${CLAUDE_SKILL_ROOT}/scripts/mermaid_to_gif.py doc1.md doc2.md -o ./gifs/
Replacing mermaid blocks in markdown
After generating GIFs, replace the original ```mermaid code blocks with image references:

Use descriptive alt text based on the diagram content. The image path should be relative to the markdown file.
Animation Styles
All styles keep the diagram fully visible from frame 1 — no elements start hidden or fade in from zero. Every style adds motion while the user can see the complete diagram structure at all times.
| Style | Effect | Best For |
|---|---|---|
progressive (default) |
All elements start dimmed (25% opacity), activate sequentially to full brightness; edges draw in with stroke animation | Flowcharts, architecture, hierarchy |
highlight-walk |
All elements start dimmed (15%); a spotlight with blue glow moves through each element, leaving visited ones bright | Step-by-step process, tutorials |
pulse-flow |
All elements fully visible; edges become flowing dashed lines (uniform dash size and speed) | Data flow, pipelines, request paths |
wave |
All elements fully visible; a brightness pulse + blue glow ripple sweeps through elements sequentially | Simple diagrams, overviews, reference |
Animation Details
- progressive: Elements start at 25% opacity (diagram structure always visible). Nodes, edges, and labels activate in interleaved order (node → edge → node → edge) following flow direction. Edges use stroke-dashoffset to draw in visually. Activation is fast (8% of total duration per element).
- highlight-walk: All elements start at 15% opacity. A spotlight (with blue glow) moves through elements in order, leaving visited elements at 90% opacity. The whole diagram is visible as a "ghost" before the spotlight reaches each element.
- pulse-flow: All elements at full opacity. Edge paths get a uniform dashed pattern (10px dash + 6px gap) that flows at a fixed speed (200px/cycle), so all edges animate at the same pace regardless of length.
- wave: All elements at full opacity. A brightness pulse (1.0→1.4→1.0) with blue glow sweeps through elements sequentially. No position changes — purely a visual ripple effect.
Common Options
| Flag | Default | Description |
|---|---|---|
-o, --output-dir |
Same as input | Output directory for generated GIFs |
-s, --style |
progressive |
Animation style (see table above) |
--fps |
10 |
Frames per second |
--duration |
4.0 |
Animation duration in seconds |
--hold |
1.0 |
Hold last frame before looping (seconds) |
--theme |
default |
Mermaid theme: default, dark, forest, neutral |
--bg |
#ffffff |
Background color (hex) |
--padding |
40 |
Padding around diagram in pixels |
--scale |
2 |
Render scale factor (2 = retina quality) |
--custom-css |
— | Path to custom CSS file |
--no-loop |
— | Play GIF once instead of looping |
Examples
# Dark theme with faster animation
python ${CLAUDE_SKILL_ROOT}/scripts/mermaid_to_gif.py arch.mmd --theme dark --bg "#1a1a2e" --duration 3
# High FPS for smoother animation
python ${CLAUDE_SKILL_ROOT}/scripts/mermaid_to_gif.py flow.mmd --fps 15 --duration 5
# Batch convert all mermaid blocks from a doc
python ${CLAUDE_SKILL_ROOT}/scripts/mermaid_to_gif.py README.md -o ./images/
# Custom CSS for special effects
python ${CLAUDE_SKILL_ROOT}/scripts/mermaid_to_gif.py diagram.mmd --custom-css my-style.css
# No loop, suitable for one-time playback
python ${CLAUDE_SKILL_ROOT}/scripts/mermaid_to_gif.py intro.mmd --no-loop --duration 6
# Lower resolution for smaller file size
python ${CLAUDE_SKILL_ROOT}/scripts/mermaid_to_gif.py diagram.mmd --scale 1
Custom CSS
Create a CSS file to customize the appearance of the diagram during animation:
/* Rounded nodes with shadow */
.node rect {
rx: 10;
filter: drop-shadow(2px 2px 4px rgba(0,0,0,0.3));
}
/* Thicker edge lines */
.edgePath path {
stroke-width: 2.5;
}
/* Custom background for actors (sequence diagram) */
.actor {
fill: #e8f4f8;
}
Pass it via --custom-css:
python ${CLAUDE_SKILL_ROOT}/scripts/mermaid_to_gif.py diagram.mmd --custom-css my-style.css
How It Works
- Parse input — extract Mermaid code from
.mmdor.mdfiles - Generate HTML — embed Mermaid.js (CDN) + animation JS/CSS in a self-contained HTML file
- Render — Mermaid.js renders the diagram to SVG in headless Chromium via Playwright (with 2x device scale for retina quality)
- Scale — small SVGs are automatically scaled up to minimum 700px CSS width for readability
- Animate — JS animation engine exposes
setProgress(t)for frame-by-frame control (t: 0→1). Elements are collected, sorted by position (respecting LR/TB direction), and animated in interleaved node-edge order - Capture — Playwright takes a screenshot at each frame step
- Assemble — FFmpeg two-pass palette encoding (palettegen → paletteuse with Floyd-Steinberg dithering)
Important Notes
- Internet required: Mermaid.js is loaded from CDN at render time
- Supported diagram types: flowchart, sequence, class, state, ER, gitgraph, mindmap, pie, gantt, and more
- No hidden elements: all 4 styles keep the diagram visible from frame 1 — no waiting for elements to appear
- Fallback behavior: for unrecognized diagram types or when no animatable elements are detected, falls back to a whole-diagram opacity reveal
- Resolution: default scale=2 produces retina-quality images (~1400-1600px wide). Use
--scale 1for smaller files - GIF size: for very large outputs, reduce FPS to 8, shorten duration, use
--scale 1, or usewavestyle
How to use mermaid-to-gif on Cursor
AI-first code editor with Composer
Prerequisites
Before installing skills in Cursor, ensure your development environment meets these requirements:
- ›Cursor installed and configured on your development machine
- ›Node.js version 16.0+ with npm package manager (verify with
node --version) - ›Active project directory or workspace where you want to add mermaid-to-gif
Execute installation command
Execute the skills CLI command in your project's root directory to begin installation:
The skills CLI fetches mermaid-to-gif from GitHub repository zc277584121/marketing-skills and configures it for Cursor.
Select Cursor when prompted
The CLI will show a list of available agents. Use arrow keys to navigate and space to select Cursor:
Verify installation
Confirm successful installation by checking the skill directory location:
Reload or restart Cursor to activate mermaid-to-gif. Access the skill through slash commands (e.g., /mermaid-to-gif) or your agent's skill management interface.
Security & Verification Notice
We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.
Skills execute code in your development environment. Always verify the publisher's identity, review recent commits, and test in isolated environments before production deployment.
List & Monetize Your Skill
Submit your Claude Code skill and start earning
Use Cases▌
Task Automation & Efficiency
Automate repetitive workflows and reduce manual effort
Example
Generate reports, summarize documents, draft communications
Save 3-5 hours per week on routine tasks
Knowledge Enhancement
Learn new skills, understand complex topics, get expert guidance
Example
Explain concepts, provide examples, suggest learning resources
Accelerate learning and skill development by 2x
Quality Improvement
Enhance output quality through reviews, suggestions, and refinements
Example
Review drafts, suggest improvements, catch errors
Improve work quality by 30-40% with less effort
Implementation Guide▌
Prerequisites
- ›Claude Desktop or compatible AI client with skill support
- ›Clear understanding of task or problem to solve
- ›Willingness to iterate and refine outputs
Time Estimate
15-45 minutes depending on use case complexity
Installation Steps
- 1.Install skill using provided installation command
- 2.Test with simple use case relevant to your work
- 3.Evaluate output quality and relevance
- 4.Iterate on prompts to improve results
- 5.Integrate into regular workflow if valuable
Common Pitfalls
- ⚠Expecting perfect results without iteration
- ⚠Not providing enough context in prompts
- ⚠Using skill for tasks outside its intended scope
- ⚠Accepting outputs without review and validation
Best Practices▌
✓ Do
- +Start with clear, specific prompts
- +Provide relevant context and constraints
- +Review and refine all outputs before using
- +Iterate to improve output quality
- +Document successful prompt patterns
✗ Don't
- −Don't use without understanding skill limitations
- −Don't skip validation of outputs
- −Don't share sensitive information in prompts
- −Don't expect skill to replace human judgment
💡 Pro Tips
- ★Be specific about desired format and style
- ★Ask for multiple options to choose from
- ★Request explanations to understand reasoning
- ★Combine AI efficiency with human expertise
When to Use This▌
✓ Use When
Use when skill capabilities match your task, clear ROI on time saved, and you can validate outputs. Best for repetitive tasks, learning, and quality improvement.
✗ Avoid When
Avoid when task requires deep expertise you can't validate, involves sensitive decisions, or when learning process is more valuable than speed of completion.
Learning Path▌
- 1Familiarize yourself with skill capabilities and limitations
- 2Start with low-risk, non-critical tasks
- 3Progress to more complex and valuable use cases
- 4Build expertise through regular use and experimentation
Discussion
Product Hunt–style comments (not star reviews)- No comments yet — start the thread.
Ratings
4.6★★★★★55 reviews- ★★★★★Jin Zhang· Dec 28, 2024
mermaid-to-gif fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
- ★★★★★Zara Kim· Dec 28, 2024
mermaid-to-gif reduced setup friction for our internal harness; good balance of opinion and flexibility.
- ★★★★★Ganesh Mohane· Dec 16, 2024
I recommend mermaid-to-gif for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.
- ★★★★★Jin Yang· Dec 12, 2024
mermaid-to-gif is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
- ★★★★★Anaya Harris· Nov 19, 2024
We added mermaid-to-gif from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
- ★★★★★Charlotte Haddad· Nov 19, 2024
mermaid-to-gif is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
- ★★★★★Sakshi Patil· Nov 7, 2024
Useful defaults in mermaid-to-gif — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
- ★★★★★Min Liu· Nov 7, 2024
Keeps context tight: mermaid-to-gif is the kind of skill you can hand to a new teammate without a long onboarding doc.
- ★★★★★Henry Jackson· Nov 3, 2024
mermaid-to-gif reduced setup friction for our internal harness; good balance of opinion and flexibility.
- ★★★★★Chaitanya Patil· Oct 26, 2024
mermaid-to-gif is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
showing 1-10 of 55