Excalidraw Skill
yctimlin/mcp_excalidraw
Excalidraw canvas toolkit for creating, editing, and refining diagrams on a live canvas.
Creates diagrams via the uml-mcp MCP server (generateuml, generateumlimage, validateuml, listdiagramtypes, generateumlbatch) and returns shareable Kroki URLs or inline chat images.
$ npx skills add antoinebou12/uml-mcp --skill uml-mcp-diagrams -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install antoinebou12/uml-mcp uml-mcp-diagrams --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/antoinebou12/uml-mcp.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.skill/skills/uml-mcp-diagrams .claude/skills/uml-mcp-diagrams && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "uml-mcp-diagrams" agent skill from https://github.com/antoinebou12/uml-mcp/tree/main/.skill/skills/uml-mcp-diagrams into .claude/skills/uml-mcp-diagrams/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "uml-mcp-diagrams", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/antoinebou12/uml-mcp/tree/main/.skill/skills/uml-mcp-diagramsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add antoinebou12/uml-mcp --skill uml-mcp-diagrams -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install antoinebou12/uml-mcp uml-mcp-diagrams --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/antoinebou12/uml-mcp.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.skill/skills/uml-mcp-diagrams .agents/skills/uml-mcp-diagrams && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "uml-mcp-diagrams" agent skill from https://github.com/antoinebou12/uml-mcp/tree/main/.skill/skills/uml-mcp-diagrams into .agents/skills/uml-mcp-diagrams/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "uml-mcp-diagrams", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add antoinebou12/uml-mcp --skill uml-mcp-diagrams -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install antoinebou12/uml-mcp uml-mcp-diagrams --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/antoinebou12/uml-mcp.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.skill/skills/uml-mcp-diagrams .cursor/skills/uml-mcp-diagrams && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "uml-mcp-diagrams" agent skill from https://github.com/antoinebou12/uml-mcp/tree/main/.skill/skills/uml-mcp-diagrams into .cursor/skills/uml-mcp-diagrams/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "uml-mcp-diagrams", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/antoinebou12/uml-mcp.git --path .skill/skills/uml-mcp-diagrams--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add antoinebou12/uml-mcp --skill uml-mcp-diagrams -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install antoinebou12/uml-mcp uml-mcp-diagrams --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/antoinebou12/uml-mcp.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.skill/skills/uml-mcp-diagrams .gemini/skills/uml-mcp-diagrams && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "uml-mcp-diagrams" agent skill from https://github.com/antoinebou12/uml-mcp/tree/main/.skill/skills/uml-mcp-diagrams into .gemini/skills/uml-mcp-diagrams/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "uml-mcp-diagrams", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install antoinebou12/uml-mcp uml-mcp-diagramsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add antoinebou12/uml-mcp --skill uml-mcp-diagrams -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/antoinebou12/uml-mcp.git skills-src && mkdir -p .github/skills && cp -r skills-src/.skill/skills/uml-mcp-diagrams .github/skills/uml-mcp-diagrams && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "uml-mcp-diagrams" agent skill from https://github.com/antoinebou12/uml-mcp/tree/main/.skill/skills/uml-mcp-diagrams into .github/skills/uml-mcp-diagrams/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "uml-mcp-diagrams", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add antoinebou12/uml-mcp --skill uml-mcp-diagrams -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install antoinebou12/uml-mcp uml-mcp-diagrams --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/antoinebou12/uml-mcp.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.skill/skills/uml-mcp-diagrams .opencode/skills/uml-mcp-diagrams && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "uml-mcp-diagrams" agent skill from https://github.com/antoinebou12/uml-mcp/tree/main/.skill/skills/uml-mcp-diagrams into .opencode/skills/uml-mcp-diagrams/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "uml-mcp-diagrams", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
uml-mcp-diagramsCreates diagrams via the uml-mcp MCP server (generateuml, generateumlimage, validateuml, listdiagramtypes, generateumlbatch) and returns shareable Kroki URLs or inline chat images.
Uml MCP Diagrams is an agent skill from antoinebou12/uml-mcp. Creates diagrams via the uml-mcp MCP server (generateuml, generateumlimage, validateuml, listdiagramtypes, generateumlbatch) and returns shareable Kroki URLs or inline chat images. Use when the user wants diagrams, PlantUML/Mermaid/D2/UML, URLs, Kroki, goat/umlet, or diagramtype.
Its SKILL.md is about 3.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development, covering Diagrams. It works with Model Context Protocol and Mermaid. The repository describes itself as: UML-MCP Server is a UML diagram generation tool based on MCP (Model Context Protocol), which can help users generate various types of UML diagrams through natural language…. The licence is MIT.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit b4413c7. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown).
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
github.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Uml MCP Diagrams loads about 3.2k tokens when it runs. Until then it costs about 77 tokens; SKILL.md has 1,490 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from antoinebou12/uml-mcp at commit b4413c7, republished under its MIT licence (© antoinebou12). 1,490 words, ~3,186 tokens.
.claude/skills/uml-mcp-diagrams/SKILL.md (or your agent's skills folder).Maintainers: Keep tool tables and
output_dirwording aligned with the Smithery bundle uml-skill/SKILL.md (diagramming-uml) and the Claude Code plugin skillplugins/uml-mcp/skills/uml-diagrams/SKILL.mdwhen you edit any of them..github/skills/uml-mcp-diagrams/SKILL.md(GitHub Copilot) must stay a byte-identical copy of this file.
Turn the user’s intent into valid diagram_type + source code, call generate_uml (or generate_uml_image for chat-visible pictures), and surface the url (and playground when present). Prefer URL-first output (omit output_dir / use null) unless the user explicitly asks to save a file. When the user asks to show the diagram in chat, prefer generate_uml_image with output_format: png.
uml://types / uml://formats or call list_diagram_types before generate_uml. Catalog includes ~37 Kroki-backed types (including goat, umlet).diagram_type to the language of code (e.g. Mermaid body → mermaid; PlantUML with @startuml → plantuml or the specific Kroki PlantUML subtype if applicable).validate_uml before an expensive retry loop or when the user pastes untrusted LLM output. Prefer strict: true for Mermaid sequence diagrams.sequenceDiagram; participant A; A->>B: hi on one line — strict validation rejects that; flowcharts may still use end-of-statement ;.url, playground, and a short copy of code every time. Always format them as markdown links in the chat reply (see reply template). Never omit Playground when the tool returned it.generate_uml_image (png default). It fetches bytes even on hosted Vercel when MCP_URL_ONLY is on. generate_uml with output_format: png/jpeg also force-fetches. Tool text includes , URL:, and Playground: for clients that do not attach ImageContent.diagram_type or output_format values; confirm against uml://types / uml://formats.output_dir unless the user asked for files on disk (MCP).code—Kroki expects valid DSL only (prose belongs in the chat message, not inside PlantUML/Mermaid source).diagram_options when the API expects a JSON object—never use a bare array or malformed string.sequenceDiagram statements with ; on a single physical line.generate_uml_batch calls on hosted MCP (server caps concurrency when most items are Mermaid); recover failed Mermaid items with solo generate_uml.output/foo.png in chat markdown; use MCP image content or the returned HTTPS URL.diagram_type is unknown or ambiguous, read uml://types (or uml://capabilities) to list valid types and supported backends.uml://templates or uml://examples; use resources/list for extra guides (e.g. named Mermaid samples, BPMN 2.0.2 reference) when those URIs are registered.validate_uml with the same diagram_type, code, and planned output_format. Use strict: true for stricter Mermaid/D2 checks when needed.uml://types, call list_diagram_types for the same metadata.For ambiguous specs, large diagrams, or many actors/states/messages, plan before coding:
validate_uml / generate_uml.These rules apply to diagram source (Mermaid, PlantUML, D2, etc.), not to HTML layout:
activate / deactivate; Mermaid activate / deactivate when appropriate). Close every activation interval you open. Mermaid: one statement per line.* / global exception path where the DSL allows.classDef / highlighted participant, one PlantUML skinparam / styled element, one D2 node style). Avoid rainbow or per-node rainbow fills — hierarchy and labels carry meaning.flowchart TD/LR, PlantUML left to right direction + skinparam linetype ortho, D2 direction: right), group related nodes (subgraph / together { } / D2 container), and use directional arrows (-down->, -right->) on edges that would otherwise cross. Canonical per-backend rules live in the algorithm_explainer and paper_concept_diagram prompt outputs (and uml_diagram_with_thinking).When the user (or pipeline) splits positive (must follow) and negative (must refuse) instructions for an LLM that emits diagram source, keep both sides short and non-overlapping.
| Channel | Purpose | Good content |
|---|---|---|
| positive | Additive constraints on the model | “Output only valid Mermaid.” “Use sequenceDiagram.” “One statement per line.” “No prose outside the diagram.” |
| negative | Things to refuse | “No markdown fences.” “No YAML front matter.” “No semicolon-packed sequenceDiagram lines.” “No explanation after the diagram.” |
Positive pattern: short, imperative, DSL-focused. Negative pattern: forbid specific failure modes you see in logs (fences, preamble, wrong diagram type keyword).
Do not duplicate the entire user spec in both positive and negative—negatives should be exclusions, not a second copy of the task.
For assistant-facing explanations (summaries, caveats, next steps), you may use a Humanizer skill if it is installed in the client. Do not run humanizer output through diagram code — Kroki needs valid DSL only.
| Input | Guidance |
|---|---|
diagram_type | Required. Must match a key from uml://types (e.g. class, sequence, mermaid, d2, goat, umlet). |
code | Required. Source in the language that matches diagram_type. |
output_dir | Omit or null for URL-first output (no write to disk; responses may include content_base64 when no directory is set and URL-only mode is off). Set only if the user wants a saved image. |
output_format | Default svg is usually best for URLs. Use png/jpeg when you want MCP ImageContent in chat (force-fetch even under URL-only). Mermaid raster uses mermaid.ink /img/?type=png (not /png/). |
theme | PlantUML types only; omit otherwise. |
scale | SVG only; optional size multiplier. |
Use when the user wants the picture visible in chat (Cursor, Copilot, ChatGPT image-capable clients).
| Input | Guidance |
|---|---|
Same as generate_uml | diagram_type, code, optional theme / scale |
output_format | Default png (widest client support); svg / jpeg also allowed |
output_dir | Always omitted (memory-only) |
On hosted deployments with MCP_URL_ONLY=true, this tool still force-fetches rendered bytes so MCP ImageContent / content_base64 is present. Prefer this over asking the user to open a URL when they asked to “show” or “render in chat”.
generate_uml (no per-item output_dir).MCP_BATCH_MAX_ITEMS (default 20), MCP_BATCH_CONCURRENCY (default 4, clamped 1–16).generate_uml.error, fix code or diagram_type / output_format and retry (or run validate_uml again). If Mermaid PNG fails, retry with svg (URL + playground still useful) or confirm the server uses mermaid.ink /img/?type=png. from the tool text.url).playground is present (Mermaid → mermaid.live; PlantUML → plantuml.com). Required in the reply whenever the tool returned it.local_path — only when output_dir was set.code in a fenced block so the user can edit and regenerate.
- **URL:** <url>
- **Playground:** <playground>
\`\`\`mermaid
<code>
\`\`\`Manual smoke prompts (ChatGPT / Cursor): tests/prompts/chatgpt_mcp_smoke_test.md.
| User intent | Typical diagram_type |
|---|---|
| Classes, associations, packages | class (PlantUML) or mermaid with classDiagram |
| Messages over time, lifelines | sequence or Mermaid sequence |
| Flows, swimlanes, BPMN | activity, bpmn, or Mermaid flowchart |
| Components, deployment | component, deployment, or C4-style types if listed in uml://types |
| Quick graphs, Gantt, pie | mermaid |
| Declarative layout / modern DSL | d2 |
| ASCII box drawings, monospace diagrams | ditaa, svgbob, or goat (GoAT Markdeep-style ASCII → SVG) |
| UMLet UXF XML | umlet |
When several types fit, pick the one the user named; otherwise prefer the type with the clearest template in uml://templates.
generate_uml, generate_uml_image, validate_uml, list_diagram_types, generate_uml_batchuml://types, uml://formats, uml://templates, uml://examples, uml://capabilities, uml://recipes, uml://server-info, uml://workflow, plus type-specific URIs from resources/list (named Mermaid samples, BPMN guide, …)Prompts (when the client exposes them): uml_diagram, uml_diagram_with_thinking, and type-specific prompts (class_diagram, sequence_diagram, activity_diagram, usecase_diagram, mermaid_sequence_api, mermaid_gantt, bpmn_process_guide, c4_model, wireviz_harness, bpmn_executable_process, convert_class_to_mermaid, algorithm_explainer, paper_concept_diagram) help structure code before generate_uml.
Manual ChatGPT / Cursor smoke prompts: tests/prompts/chatgpt_mcp_smoke_test.md. Full Kroki catalog stress: tests/prompts/kroki_full_catalog_stress_test.md.
Always use the MCP tool/resource APIs exposed in the environment; do not guess unsupported diagram_type or output_format values when unsure—confirm with uml://types / uml://formats.
© antoinebou12, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .skill/skills/uml-mcp-diagrams of antoinebou12/uml-mcp.
Open the folder on GitHubat commit b4413c7
Uml MCP Diagrams next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Uml MCP Diagrams this skillantoinebou12/uml-mcp | 105 | — | ~3.2k | Automated safety check: Pass | MIT | |
| Excalidraw Skillyctimlin/mcp_excalidraw | 2.5k | — | ~4.6k | Automated safety check: Pass | MIT | |
| GitDiagram Repository Overviewahmedkhaleel2004/gitdiagram | 18k | — | ~427 | Automated safety check: Pass | MIT | |
| Drawiobahayonghang/drawio-skills | 287 | — | ~4.1k | Automated safety check: Notes | MIT | |
| Mermaid Diagramsveelenga/claude-mermaid | 216 | — | ~1.3k | Automated safety check: Pass | MIT | |
| Excalidraw Canvas Toolkitlingzhi227/agent-research-skills | 390 | — | ~3.8k | Automated safety check: Pass | None |
yctimlin/mcp_excalidraw
Excalidraw canvas toolkit for creating, editing, and refining diagrams on a live canvas.
ahmedkhaleel2004/gitdiagram
Explains the architecture of a public GitHub repository through GitDiagram: how the code is organized, the main components with paths, and a Mermaid diagram.
bahayonghang/drawio-skills
Create, edit, replicate, import, and export draw.io diagrams with an offline YAML-first workflow: architecture, network topologies, flowcharts, UML/ER, org charts, Mermaid/CSV conversion, existing…
veelenga/claude-mermaid
Creating and refining Mermaid diagrams with live reload. An agent skill from veelenga/claude-mermaid.
lingzhi227/agent-research-skills
Draws and refines Excalidraw diagrams on a live canvas through MCP tools or a REST API, with screenshots, file import and export, snapshots and Mermaid conversion.
BV-Venky/excalidraw-architect-mcp
Guide for structuring graph input (nodes and edges) for the Excalidraw Architect MCP tool to produce clean, readable diagrams.
antoinebou12/uml-mcp
Produces Mermaid or PlantUML diagram code from user specifications for UML, architecture, and flow diagrams.
antoinebou12/uml-mcp
Create and extend MCP (Model Context Protocol) servers in Python using FastMCP and the official SDK.
antoinebou12/uml-mcp
Create and validate diagrams with the uml-mcp MCP server (generateuml, generateumlimage, validateuml, listdiagramtypes, generateumlbatch).
antoinebou12/uml-mcp
Modern Python tooling and best practices using uv, ruff, ty, and pytest.
antoinebou12/uml-mcp
Step-by-step and reflective problem-solving for complex or multi-step tasks.
antoinebou12/uml-mcp
Navigate the UML-MCP repository and its documentation quickly.
Works with
Categories
Creates diagrams via the uml-mcp MCP server (generateuml, generateumlimage, validateuml, listdiagramtypes, generateumlbatch) and returns shareable Kroki URLs or inline chat images. Uml MCP Diagrams is an agent skill from antoinebou12/uml-mcp. Creates diagrams via the uml-mcp MCP server (generateuml, generateumlimage, validateuml, listdiagramtypes, generateumlbatch) and returns shareable Kroki URLs or inline chat images.
Uml MCP Diagrams fits situations like: the user wants diagrams; plantUML/Mermaid/D2/UML.
Run `npx skills add antoinebou12/uml-mcp --skill uml-mcp-diagrams -a claude-code`. Or copy the skill folder (.skill/skills/uml-mcp-diagrams in antoinebou12/uml-mcp) into .claude/skills/uml-mcp-diagrams in your project. Claude Code loads it when a task matches its description.
Run `npx skills add antoinebou12/uml-mcp --skill uml-mcp-diagrams -a codex`. Or copy the skill folder (.skill/skills/uml-mcp-diagrams in antoinebou12/uml-mcp) into .agents/skills/uml-mcp-diagrams in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add antoinebou12/uml-mcp --skill uml-mcp-diagrams -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/uml-mcp-diagrams, .gemini/skills/uml-mcp-diagrams, .github/skills/uml-mcp-diagrams and .opencode/skills/uml-mcp-diagrams in your project.
SKILL.md names no scripts, command-line tools or credentials: Uml MCP Diagrams is instructions for the agent only.
SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Uml MCP Diagrams is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.2k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Uml MCP Diagrams: Excalidraw Skill (yctimlin/mcp_excalidraw, 2.5k stars), GitDiagram Repository Overview (ahmedkhaleel2004/gitdiagram, 18k stars), Drawio (bahayonghang/drawio-skills, 287 stars) and Mermaid Diagrams (veelenga/claude-mermaid, 216 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
antoinebou12 (a GitHub user) maintains it in antoinebou12/uml-mcp, which has 105 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 11, 2026.
Source: antoinebou12/uml-mcp on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.