handdraw-flowchart

PassAudited by ClawScan on May 9, 2026.

Overview

This skill appears purpose-aligned: it locally renders Mermaid diagrams into Excalidraw and PNG files, with normal caution around npm dependencies and browser-based rendering.

This looks safe to use for generating diagrams. Before installing, be comfortable with running npm install and a local Node/Playwright renderer, and choose a dedicated output directory for generated files.

Findings (3)

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.

What this means

Installing the skill's dependencies will run npm package installation and rely on external package provenance.

Why it was flagged

The skill depends on third-party npm packages. They are pinned and supported by a lockfile, so this is a normal supply-chain notice rather than a concern.

Skill content
"dependencies": { "@excalidraw/excalidraw": "0.18.1", "@excalidraw/mermaid-to-excalidraw": "2.2.2", "esbuild": "0.28.0", "mermaid": "11.14.0", "playwright": "1.59.1" }
Recommendation

Install from the provided lockfile in a normal project environment and avoid upgrading dependencies without retesting.

What this means

The skill may start a local browser process during rendering.

Why it was flagged

The renderer intentionally launches browser-based code to export images. This is disclosed and aligned with the diagram-rendering purpose.

Skill content
The script uses browser execution because Excalidraw export utilities require DOM/canvas APIs. If Playwright has no bundled browser, the script tries common local Chrome/Chromium executable paths and honors `CHROME_PATH`.
Recommendation

Use a trusted local Chrome/Chromium path if setting CHROME_PATH, and run the renderer only for diagram files you intend to process.

What this means

The skill can create or overwrite diagram output files in the selected output directory.

Why it was flagged

The CLI writes generated output files to a user-specified directory. This is expected for a renderer, but users should choose output paths deliberately.

Skill content
const outDir = path.resolve(args["out-dir"] || path.dirname(inputPath)); ... await fs.writeFile(mmdPath, `${source}\n`, "utf8"); ... await fs.writeFile(scenePath, `${JSON.stringify(result.scene, null, 2)}\n`, "utf8"); ... await fs.writeFile(pngPath, Buffer.from(result.pngBase64, "base64"));
Recommendation

Direct output to a dedicated folder and avoid using protected or unrelated directories.