drawio-skill
A skill that turns natural-language descriptions into .drawio XML and exports them to PNG / SVG / PDF / JPG via the native draw.io desktop CLI.
A skill that turns natural-language descriptions into .puml PlantUML source and exports diagrams to PNG / SVG via the Kroki rendering API — no Java, no Graphviz, no local install (just curl).
A skill that turns natural-language descriptions into .drawio XML and exports them to PNG / SVG / PDF / JPG via the native draw.io desktop CLI.
External references: Semantic Scholar API Tutorial · API Docs · Request API Key A skill that turns the Semantic Scholar academic graph (200M+ papers across arXiv + bioRxiv + PubMed + journals + conferences) into a single-script, rate-limited, agent-friendly
A Claude Code skill that repurposes YouTube videos for Bilibili with bilingual (EN/ZH) hardcoded subtitles. Compatible with Claude Code, OpenClaw, Hermes Agent, Pi (pi-mono), and indexed by SkillsMP.
FAQ
plantuml-skill is a Claude Code plugin with 1 hand-picked skill for development work, indexed on Flowy. Install it with the command on its page. It includes plantuml-skill. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
$ npx -y skills add Agents365-ai/plantuml-skill --agent claude-code
English · 中文 · 📖 Online Docs
A skill that turns natural-language descriptions into .puml PlantUML source and exports diagrams to PNG / SVG via the Kroki rendering API — no Java, no Graphviz, no local install (just curl). Local Kroki Docker and plantuml.jar fallbacks are available for offline / air-gapped use. Works with Claude Code, Cursor, Copilot, OpenClaw, Codex, Hermes, and any agent compatible with the Agent Skills format.
curl; no Node, no Java, no Graphvizplantuml.jar + Java + Graphviz (air-gapped) — picks by sensitivity, never silently downgrades, and reports whether your source left the machineplain, cerulean, blueprint, aws-orange, vibrant — plus full skinparam overridesc4plantuml endpoint to sidestep the public PlantUML server's !include 404 trap[!TIP] The hero image above was generated from this single prompt:
Create a microservices e-commerce architecture with Mobile/Web/Admin clients,
API Gateway, User/Order/Product/Payment services, Kafka event bus,
Notification service, and User DB / Order DB / Product DB / Redis Cache /
Stripe API
Source .puml and rendered PNG live in assets/ — the skill produced both in one shot.
Six diagram types, each in a different built-in theme — all rendered via Kroki. Sources + PNGs in assets/examples/.
| Option | Install | When to use |
|---|---|---|
| Kroki API (default) | curl (pre-installed everywhere) | Online — zero setup |
| Local Kroki | docker run -d -p 8000:8000 yuzutech/kroki | Offline / privacy / heavy workloads |
plantuml.jar | brew install graphviz openjdk + download jar | Fully air-gapped |
Full recipes in docs/setup.md.
# Any agent (Claude Code, Cursor, Copilot, ...)
npx skills add Agents365-ai/365-skills -g
# Claude Code plugin marketplace
> /plugin marketplace add Agents365-ai/365-skills
> /plugin install plantuml
# Manual install
git clone https://github.com/Agents365-ai/plantuml-skill.git \
~/.claude/skills/plantuml-skill
Common paths: ~/.claude/skills/ (Claude Code), ~/.config/opencode/skills/ (Opencode), ~/.openclaw/skills/ (OpenClaw), ~/.agents/skills/ (Codex). Also indexed on SkillsMP and ClawHub.
Updating: /plugin update plantuml (Claude Code), skills update plantuml-skill (SkillsMP), clawhub update plantuml-pro-skill (OpenClaw), or git pull for manual installs.
After installation, just describe what you want:
Create a sequence diagram showing the OAuth 2.0 authorization code flow with
Client, Authorization Server, Resource Server, and User. Include the redirect,
token exchange, and resource access steps with proper activation boxes.
The skill picks the right diagram type, generates the .puml source, and exports to PNG/SVG via Kroki.
| Category | Examples | Notable features |
|---|---|---|
| Sequence | API calls, OAuth flows, protocol traces | Lifelines, activation boxes, async arrows |
| Component / Architecture | services, modules, queues, databases, clouds | package/rectangle grouping, shape vocabulary |
| Class | OOP models, data structures | Inheritance, composition, aggregation, multiplicities ("1" --> "*") |
| ER / Entity | database schemas | <<PK>> / <<FK>> notation, crow's-foot relationships |
| Activity / Flowchart | workflows, business processes | if/then/else/endif decision branches |
| Use Case | system requirements, user stories | Actors, system boundaries |
| State | state machines, lifecycle flows | [*] --> start/end markers |
| C4 | Context, Container, Component | Via Kroki's c4plantuml endpoint (no broken includes) |
| Other | mind maps, gantt | @startmindmap, @startgantt |
Behind the scenes: check curl → pick diagram type → generate .puml source with @startuml/@enduml markers → POST to Kroki (https://kroki.io/plantuml/png or …/svg) → validate & self-correct the render (fix syntax, ≤3 rounds) → vision self-check readability and auto-fix (≤2 rounds) → review loop on your feedback (≤5 rounds) → save output + report paths. Swap the endpoint for http://localhost:8000 to use a local Kroki container, or run java -jar plantuml.jar for air-gapped renders.
| Feature | Native agent | plantuml-skill |
|---|---|---|
| Generate PlantUML source | ✅ (LLMs know the syntax) | ✅ |
| Export to PNG/SVG | ❌ outputs text only | ✅ one curl POST to Kroki |
| Self-correct on render error | ❌ ships broken output | ✅ checks HTTP/bytes, fixes syntax, retries (≤3 rounds) |
| Vision self-check + review loop | ❌ never looks at the render | ✅ reads the PNG, auto-fixes readability (≤2), then iterates on feedback (≤5) |
| Renderer choice | none | ✅ public Kroki / local Kroki / plantuml.jar |
| Diagram-type catalog | implicit | ✅ 10+ types with shape & arrow vocabulary |
| Theme defaults | random per run | ✅ 5 named themes + skinparam overrides |
| C4 via cloud | ❌ often broken (!include 404s) | ✅ Kroki c4plantuml endpoint |
| Common-mistake guard rails | ❌ | ✅ 9-row curated pitfalls table |
| Offline / air-gapped | ❌ | ✅ local Kroki Docker or local jar |
Full comparison + key-advantages summary in docs/features.md.
Good fit:
Reach for a sibling skill instead when you need:
Part of the Agents365-ai diagram-skill family — pick the right tool for the job:
| Skill | Style | Best for |
|---|---|---|
| drawio-skill | Professional / vector | Architecture, ML/DL, ER diagrams with self-check loop |
| excalidraw-skill | Hand-drawn / sketchy | Whiteboard mockups, informal diagrams |
| mermaid-skill | Text-based, auto-layout | README-embeddable, version-control friendly |
| tldraw-skill | Whiteboard collaboration | Casual sketches, FigJam-style boards |
If this skill helps you, consider supporting the author:
Agents365-ai
.github/
workflows/
sync-365-skills.yml
.gitignore
assets/
example.png
example.puml
examples/
activity-cicd.png
activity-cicd.puml
c4-banking.png
c4-banking.puml
class-blog.png
class-blog.puml
er-ecommerce.png
er-ecommerce.puml
sequence-oauth.png
sequence-oauth.puml
state-order.png
state-order.puml
docs/
.nojekyll
features_CN.md
features.md
index.html
setup_CN.md
setup.md
zh.html
LICENSE
README_CN.md
README.md
skills/
plantuml-skill/
references/
from-source-code.md
kroki-troubleshooting.md
markdown-embed.md
rendering-backends.md
SKILL.md© 2026 Flowy · Free and open source
Built for Claude Code · Not affiliated with Anthropic