Borrowing it
Nothing to install: this file belongs to antoinebou12/uml-mcp. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/antoinebou12/uml-mcp/main/.github/skills/uml-mcp-d3-plugins/SKILL.mdgit clone --depth 1 https://github.com/antoinebou12/uml-mcpWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/antoinebou12/uml-mcp/uml-mcp-d3-plugins)<a href="https://agentmods.dev/skills/antoinebou12/uml-mcp/uml-mcp-d3-plugins"><img src="https://agentmods.dev/badge/skills/antoinebou12/uml-mcp/uml-mcp-d3-plugins/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/antoinebou12/uml-mcp/uml-mcp-d3-plugins"><img src="https://agentmods.dev/badge/skills/antoinebou12/uml-mcp/uml-mcp-d3-plugins.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00027 | $0.00803 |
| Opus 5.5 | $0.00011 | $0.00321 |
| Sonnet 5.5 | $0.00005 | $0.00161 |
| Haiku 4.5 | $0.00003 | $0.00080 |
Grade A, and why
uml-mcp-d3-plugins scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
D3 and plugin diagrams
Follow skill://uml-mcp-diagrams/SKILL.md. Discover live types first. If a D3
renderer is listed, use its exact catalog key, such as d3_architecture, with
generate_uml_image. Do not substitute a standalone HTML code block for the
requested App diagram. If D3 is absent, report that this deployment has not
enabled it; code availability in a repository does not prove runtime availability.
Read uml://templates, the plugin's registered resources and d3_catalog when
that tool is exposed. Check its supported services before assigning logos.
Use its source_format node/link fields and examples when present. provider
belongs at the top level; each node identifies its provider through service.
Validate before the first render rather than retrying unknown fields by removing
the requested logos.
Cloud services use keys such as aws:s3 and gcp:run; AI services include
tech:chatgpt, tech:openai, tech:claude and tech:anthropic. AWS/GCP marks
identify the provider; do not describe a provider mark as a specific service icon.
Start with this JSON and extend it from the user's component/edge inventory:
{"direction":"LR","title":"Web application","nodes":[{"id":"web","label":"Frontend","service":"tech:react"},{"id":"api","label":"Backend API","category":"backend"},{"id":"ai","label":"Claude","service":"tech:claude"}],"links":[{"source":"web","target":"api","label":"HTTPS / JSON"},{"source":"api","target":"ai","label":"Inference"}]}
Use stable unique IDs and explicit labels. Validate the JSON through
validate_uml with the same catalog type; request SVG for App previews.
Inspect text, logo contrast and edge endpoints, including after theme changes.
A clean parse is not proof of a readable graph. Keep cloud storage, cache,
authentication, queues and payment services distinct when the user supplied them.
For architecture containers, declare groups with id, label, type and
optional parent, then set each node's group. Preserve the user's boundaries
and labelled relationships when converting formats. For category-only grouping,
group_by: "category" wraps ungrouped nodes; it does not infer network or cloud
account boundaries. Use named ports for distinct flows when needed. Check routes
and label placement after dragging, then reopen an HTML export to verify the
containers and connections survived.
In the interactive architecture/topology HTML, Physics settles cards inside their current container bounds. It starts off; enable it before testing bounded dragging. Clicking a card or container traces its connections, including nested members. Focus or double-click zooms to the selection; Escape clears it. Check that exports retain settled positions and reopen without temporary highlights.
The App exports SVG, PNG, PDF and interactive standalone HTML with its D3 runtime and logos bundled. PDF embeds a high-resolution raster; use SVG for vector editing. Select HTML in the viewer to use the interactive plugin. Large HTML pages load on demand rather than in the initial tool result. Request downloads through the viewer; do not claim an HTML file exists merely because source was printed. If the plugin failed, report the actual error and preserve the graph inventory for a supported fallback.
In the embedded HTML view, SVG, PNG and HTML downloads preserve the live layout and theme. PDF export renders the source specification. File downloads go through the MCP host; an unsupported or rejected host download must be reported rather than claimed successful. Standalone HTML opened in a browser downloads directly.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 4d ago Changed · +4 lines 8fc9a5ed21d2
- 5d ago First seen · 57 lines · 27 tokens per session scan A 6cece9f76b64
uml-mcp-d3-plugins is a skill published in the GitHub repository antoinebou12/uml-mcp (109 stars, last pushed yesterday), licensed MIT. It adds 27 tokens to every session and 803 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-11-01.
uml-mcp-d3-plugins compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| uml-mcp-d3-pluginsantoinebou12/uml-mcp | Skill | 109 | yesterday | MIT | A | 27 | Claude Code, Codex |
| detailed-designpan94u/forge | Skill | 40 | 5d ago | none | A | 27 | Claude Code |
| architecture-diagram-creatorbookforge-ai/bookforge-skills | Skill | 42 | 6mo ago | CC-BY-SA-4.0 | A | 128 | Claude Code |
| webgl-holographic-foilnexu-io/open-design | Skill | 106k | yesterday | Apache-2.0 | A | 41 | Claude Code, Codex |
| html-ppt-hermes-cyber-terminalnexu-io/open-design | Skill | 106k | yesterday | Apache-2.0 | A | 53 | Claude Code, Codex |
| html-ppt-taste-brutalistnexu-io/open-design | Skill | 106k | yesterday | Apache-2.0 | A | 78 | Claude Code, Codex |
| visual-ralphYeachan-Heo/oh-my-codex | Skill | 34k | 3d ago | MIT | A | 52 | Codex |