Agent Economy Report

Skill code audit

CAUTION version 1.1.7 · audited 2026-09-17

diagram-generator @matthewyin

This package is a set of instructions for generating diagrams through an external MCP server. The instructions match the stated purpose and do not read credentials, access payments, or use obfuscated code. The main risk is that the recommended setup runs an unpinned npm package via npx, and the MCP server can create directories and write files to custom paths. The publisher's own skill card acknowledges both the unpinned dependency and file-write risk. There is no evidence of malicious exfiltration or hidden destinations, but the unpinned dependency and write behavior warrant review before use in a privileged agent. Verdict: CAUTION.

Declared purposeCreate and edit diagrams by converting user intent into a structured JSON specification, then delegating file generation to the mcp-diagram-generator MCP server.
Observed behaviorThe package is documentation and prompt guidance only; it has no executable code beyond instructions. It tells an agent to gather diagram requirements, choose a format and playbook, build a JSON specification, call the mcp-diagram-generator MCP server, and allow that server to write .drawio, .mmd, or .excalidraw files. It also describes running npx to install/start the MCP server, running npm run test:diagrams for MCP server code changes, and initializing a .diagram-config.json file.
Verdict, rules onlySAFE
Verdict, AICAUTION
Final verdictCAUTION (never better than either pass)

Capabilities

capabilityvs purposedetail
networkneededSKILL.md lines 38-39 recommend configuring an MCP server with npx -y mcp-diagram-generator, which downloads the package from the npm registry. The publisher link at skill-card.md line 9 points to clawhub.ai but is informational.
shellneededThe skill instructs running npx, npm run test:diagrams, and a Node command for local MCP server use (SKILL.md lines 38-39, 146, and 217).
filesystem_readneededThe workflow reads reference guides and may read existing .drawio/.mmd/.excalidraw files for edits (SKILL.md lines 58, 60, and 76).
filesystem_writeneededThe MCP server writes diagram files, creates directories, and may create .diagram-config.json (SKILL.md lines 45, 171, and 176).
install_packagesneededThe recommended remote configuration uses npx to fetch and execute mcp-diagram-generator from npm without a pinned version (SKILL.md line 39).

Findings

severityfinding
mediumUnpinned remote package execution
Line 38 sets the command to npx, and this line specifies -y mcp-diagram-generator. This downloads and runs the latest npm package at runtime without a pinned version. The package supply chain should be reviewed before use.
SKILL.md:39 "args": ["-y", "mcp-diagram-generator"]
mediumCustom output path accepted
The agent can pass an arbitrary output path to the MCP server. Combined with line 176, the server may create directories and write files wherever the process has permission. The skill card advises checking output paths at line 31.
SKILL.md:171 "output_path": "custom/path/to/diagram.drawio"
lowFilesystem writes are delegated to MCP server
The workflow gives the MCP server responsibility for directory creation and diagram file writing. This is consistent with the declared purpose but requires write access and should be limited to approved locations.
SKILL.md:176 The MCP server validates the schema, creates missing directories, and writes to the configured default directory when no output path is supplied.
lowCreates hidden config file and output directories
Initial use creates a .diagram-config.json configuration file and directories. This is filesystem write activity; not malicious by itself, but it should be limited to approved workspace locations.
SKILL.md:45 After changing configuration, restart the agent environment. On first use, the server creates `.diagram-config.json` and default output directories.
lowShell command for MCP server tests
Instructs executing npm run test:diagrams from a source checkout when code changes are made. This is a shell capability only needed for local development/testing.
SKILL.md:146 After generation, inspect the saved file enough to confirm the expected format-specific properties exist. For code changes to the MCP server, also run `npm run
infoLocal Node execution alternative
Documents an alternative local MCP server start command using Node. This is part of troubleshooting and is not hidden, but it is another shell execution path.
SKILL.md:217 "command": "node", "args": ["/absolute/path/to/mcp-diagram-generator/dist/index.js"]
infoPublisher discloses unpinned npm package risk
The skill card's own risk section confirms the dependency is unpinned. Mitigation at line 27 suggests pinning and reviewing the package version before use.
skill-card.md:25 Risk: The recommended setup runs an external MCP server through an unpinned npm package.
infoPublisher discloses file-write behavior
The skill card acknowledges that custom output paths and config/directory creation are possible. This matches the behavior described in SKILL.md.
skill-card.md:29 Risk: The skill can write diagram files to custom paths and may create output directories plus .diagram-config.json.
infoPublisher link to clawhub.ai
The only domain in the package is a link to the publisher page. It is not used in the diagram workflow, and no hidden network destination was found.
skill-card.md:9 [matthewyin](https://clawhub.ai/user/matthewyin)
infoVersion metadata mismatch
The release metadata and package.json disagree on the package version. This is not a security issue but indicates inconsistent publication metadata.
skill-card.md:59 1.1.7 (source: ClawHub release metadata; package.json reports 1.2.1)

0 AI finding(s) were dropped because their file, line or quote did not match the package.

Network destinations in the code

domainservice ratingwhere
clawhub.ainot in the service indexskill-card.md:9

Other facts

Binaries invokedgit, node, npm, npx
Environment variables readnone
Hard-coded walletsnone
Pipes a download to a shell0
eval / exec / subprocess0
base64 blobs0
File writes3
Persistence0

Files audited

filelinessha256
SKILL.md26024460f6aa9be5f60…
_meta.json6e91c2d409348bf9e…
package.json527e8d9afddf505dd…
references/format-selection-guide.md181c25809d75e23bba2…
references/interaction-intake-guide.md84db5fbcd56623b125…
references/json-schema-guide.md4673a6e33510ee2afd2…
references/layout-quality-guide.md72e8a682f64d840274…
references/network-topology-examples.md2440a5c5b01f2e59d19…
references/playbook-architecture.md868f7204a65b8f0424…
references/playbook-excalidraw.md606922436a494f6ef6…
references/playbook-flowchart.md75bf5389368534f50f…
references/playbook-network-topology.md1554d26bc3ec654cf17…
references/playbook-swimlane.md58f7b8ce3932bb1b07…
references/playbook-uml.md106386c16882682773f…
skill-card.md631e4db9b3565478c2…

For agents

JSON: https://agenteconomy.report/k/diagram-generator.audit.json · badge: https://agenteconomy.report/k/diagram-generator.audited.svg · skill rating: /k/diagram-generator · commission an audit of any skill: US$ 29 per version.

How this is computed

The complete published package of this exact version was downloaded from the registry and read statically; nothing was executed. A deterministic pass extracts network destinations, binaries, environment variables, writes, install commands, obfuscation markers, subprocesses and wallets, each with file and line. An AI then reads the whole package with those facts and writes the summary, the capabilities and the findings under a strict schema; every finding it produces must cite a file, a line and the exact text, or it is dropped. The final verdict is the worst of the two passes. The audit does not change the skill's trust tier (policy); the author may respond through the dispute channel and the response is published here. Commissioned by: the Agent Economy Report (free program: the 150 most downloaded skills, September 2026).