PlantUML Image Skill
What I do
- 调用本地 Python 脚本渲染 PlantUML 内容为图片
- 固定输出
PNG、JPG、SVG - 固定使用
200 DPI - 固定使用
c4_bluetheme - 使用本机
plantuml.jar:/Users/apple/Downloads/plantuml.jar
When to use me
当用户需要把 PlantUML .puml / .plantuml / .iuml 文件转换成图片,且要求清晰度为 200 DPI、主题为 c4_blue 时使用。
如果用户目标是“最快本地渲染,不经过 AI 调度”,优先直接运行同目录下的 plantuml_image.py 或 plantuml-image 包装脚本,不要走 skill 触发链。
Invocation format
支持两种输入方式:
- 文件模式(推荐)
plantuml-image @path/to/diagram.puml
- Inline 模式
plantuml-image:
随后直接粘贴 PlantUML 内容。
Input contract
- 文件模式下,
@后必须紧跟文件路径 - 文件后缀优先识别为
.puml、.plantuml、.iuml - 文件必须可读
- 若使用 Inline 模式,先将内容写入临时
.puml文件,再进行渲染
Output contract
- 输出文件必须与源文件同目录
- 基础文件名保持一致,仅更换扩展名
- 必须同时生成:
.png、.jpg、.svg - 输出结果要在最后明确列出完整路径
Rendering rules
- 渲染逻辑由脚本
plantuml_image.py承担,skill 只负责准备输入并调用脚本 - 调用前先确认
java可用 - 调用前先确认
/Users/apple/Downloads/plantuml.jar存在 - 脚本内部必须固定使用:
-DPLANTUML_DPI=200-theme c4_blue-charset UTF-8
- 文件模式下默认输出到源文件同目录,不额外指定输出目录
- 按顺序生成
png、jpg、svg
Command template
使用 bash tool 调用 Python 脚本,INPUT_FILE 由上下文替换:
python3 /Users/apple/.config/opencode/skills/plantuml-image/plantuml_image.py INPUT_FILE
Inline 模式示例:
python3 /Users/apple/.config/opencode/skills/plantuml-image/plantuml_image.py --stdin --output-dir <dir>
然后将 PlantUML 内容通过 stdin 传入。
Error handling
- 若文件不存在或不可读,直接提示用户修正路径
- 若
java不可用,直接中止并说明环境缺失 - 若
plantuml.jar不存在,直接中止并说明固定路径无效 - 若 PlantUML 语法报错,透传核心错误信息给用户
Final response format
输出结果时只需给出简洁确认:
已生成:
- PNG: <path>
- JPG: <path>
- SVG: <path>