“Render Mermaid diagrams as beautiful SVG, PNG, or ASCII art. Supports 6 chart types (flowchart, sequence, state, class, ER, XY chart), 16 built-in themes, 5 style presets, CSS-level customization, interactive preview, and batch rendering. Works in terminal, chat, or web environments.” description_zh: “Mermaid 图表美化渲染工具,支持流程图/序列图/状态图/类图/ER图/XY图表6种类型,16主题5预设,可导出SVG/PNG/ASCII” description_en: “Beautiful Mermaid diagram renderer (SVG/PNG/ASCII, 16 themes, 5 presets, interactive preview)”
ReviewAudited by ClawScan on May 10, 2026.
Overview
Prompt-injection indicators were detected in the submitted artifacts (base64-block); human review is required before treating this skill as clean.
This skill looks reasonable for rendering Mermaid diagrams. Before installing, be aware that it uses Node/npm dependencies, reads and writes local diagram/output files, may open a local preview first, may load Google Fonts in that preview, and stores preview settings/code in browser localStorage. ClawScan detected prompt-injection indicators (base64-block), so this skill requires review even though the model response was benign.
Findings (5)
Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.
The agent may open a local preview step before producing the requested diagram output.
The skill tells the agent to call a specific preview tool before rendering, even when the user already specified a theme, unless the user opts out.
**AI 预览工作规则(最高优先级)**:任何涉及渲染 Mermaid 图表的请求...都必须先调用 `preview_url`... **唯一例外**:用户明确说"直接渲染,不用预览"或"跳过预览"
If you want immediate rendering, explicitly say “skip preview” or “direct render.”
A mistaken output path could create files in an unintended location or overwrite intended render outputs.
The CLI reads user-specified input files and creates output directories/files, which is expected for a renderer but still mutates the local filesystem.
code = fs.readFileSync(options.input, 'utf-8'); ... if (!fs.existsSync(outputDir)) { fs.mkdirSync(outputDir, { recursive: true }); }Use explicit input and output paths, especially for batch rendering.
Installing dependencies can bring in third-party code updates from npm.
Using the documented npm workflow fetches external packages. This is normal for the skill, and a lockfile is present, but the dependency ranges in package.json are not exact pins.
"dependencies": { "beautiful-mermaid": "^1.1.3", "sharp": "^0.34.5" }, "devDependencies": { "@types/node": "^20.10.0", "esbuild": "^0.27.4" }Install from a trusted environment, prefer the provided lockfile, and run normal package-audit checks if this will be used in sensitive workflows.
Using the preview may make a browser network request to Google for fonts.
Opening the local preview page can request external font resources from Google Fonts.
<link rel="preconnect" href="https://fonts.googleapis.com"> ... <link href="https://fonts.googleapis.com/css2?family=Geist+Mono...
If external network requests are a concern, block remote fonts or modify the preview to use local/system fonts.
Diagram text entered into the preview may remain stored in the browser after use.
The preview tool stores settings and custom Mermaid code in browser localStorage, creating local persistence across sessions.
**状态持久化**:所有选择(主题、预设、颜色、自定义代码)自动保存到 localStorage
Avoid entering confidential diagrams into the preview unless local persistence is acceptable, or clear the browser’s site data afterward.
