auto-plantuml-edit

v1.0.0

Convert natural language to UML diagrams, export editable PPT/EMF with individually editable shapes in PowerPoint.

0· 52·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for zhangjilei123-1/auto-plantuml-edit.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "auto-plantuml-edit" (zhangjilei123-1/auto-plantuml-edit) from ClawHub.
Skill page: https://clawhub.ai/zhangjilei123-1/auto-plantuml-edit
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install auto-plantuml-edit

ClawHub CLI

Package manager switcher

npx clawhub@latest install auto-plantuml-edit
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description (NL → PlantUML → SVG → EMF → PPT) matches the included SKILL.md and the conversion script. Required tools (Java/PlantUML/Inkscape/python packages) are appropriate for producing SVG/EMF/PPT outputs. There are no unrelated environment variables or credentials requested.
Instruction Scope
SKILL.md confines actions to generating a .puml file and running the provided python script; it instructs how to obtain plantuml.jar from GitHub and how to install Inkscape/JDK. The instructions do not ask the agent to read unrelated user files, harvest credentials, or exfiltrate data to unexpected endpoints.
Install Mechanism
This is an instruction-only skill (no platform install spec) which is low-risk. The SKILL.md recommends downloading plantuml.jar from the official GitHub release URL (expected). The script contains fallbacks to embedded paths (scripts/inkscape/bin/inkscape.exe and scripts/jdk/.../java.exe) — currently no embedded binaries are present in the package, but those fallbacks mean that if such binaries were placed in the skill directory they would be used. That behavior is a convenience but worth noting.
Credentials
No credentials or secrets are required. The script checks JAVA_HOME and an optional INKSCAPE_PATH env var — these are reasonable for locating required binaries. No broad or unrelated environment access is requested.
Persistence & Privilege
Skill is not force-included (always:false) and does not request persistent elevated privileges or attempt to modify other skill/system configs. Running the script will create output files in the working directory (expected behavior).
Assessment
This skill appears to do what it says: convert PlantUML to editable EMF/PPT slides using PlantUML, Inkscape and python-pptx. Before running: (1) install Java and Inkscape from trusted sources and verify they are on PATH; (2) inspect the skill directory for any bundled executables (the script will accept embedded inkscape/java paths if present); (3) confirm the plantuml.jar download URL is correct (it points to an official GitHub release) or download it manually; (4) run the conversion in an isolated environment if you are concerned about running external binaries or processing untrusted .puml content; (5) create a Python virtualenv and install the listed requirements. Overall the package is coherent, but treat any bundled binaries in the skill folder with caution and avoid running it in environments with sensitive data unless you trust the skill source.

Like a lobster shell, security has layers — review code before you run it.

latestvk975r19k714bs1axn81aq1x3xh85kc76
52downloads
0stars
1versions
Updated 2d ago
v1.0.0
MIT-0

AutoPlantUMLEdit

Auto-generate UML diagrams from natural language, one-click export to editable PPT/EMF with individually editable shapes in PowerPoint.

Core Capabilities

  • Natural Language → PlantUML: Generate PlantUML syntax from user requirements
  • One-click Export: SVG → EMF → PPT, supports SVG/PNG/EMF/PPT formats
  • Fully Editable: EMF/PPT can be ungrouped in PowerPoint for independent shape editing

Trigger Conditions

Activate when user expresses:

  • "Generate a... sequence/class/flowchart diagram"
  • "Draw me a... architecture diagram"
  • "Create a... state diagram"
  • "I want to see... UML diagram"

Usage Flow

  1. Generate PlantUML syntax based on user requirements
  2. Save as {name}.puml file
  3. Run script to generate output

Script Commands

python svg2emf.py <input.puml> [-f ppt|svg|png|emf] [-o <output>]

Parameters:

ParameterDescriptionDefault
<input.puml>PlantUML source fileRequired
-fOutput formatppt
-oOutput file pathSame name .pptx

Examples:

# Generate PPT (default)
python svg2emf.py sequence.puml

# Export SVG
python svg2emf.py sequence.puml -f svg

# Export PNG
python svg2emf.py sequence.puml -f png

# Export EMF (editable)
python svg2emf.py sequence.puml -f emf

# Specify output path
python svg2emf.py sequence.puml -o my_diagram.pptx

PlantUML Syntax Reference

Sequence Diagram

@startuml
participant Alice as A
participant Bob as B
A -> B : message
B --> A : response
@enduml

Class Diagram

@startuml
class User {
  +name: String
  +login()
}
class Order {
  +items: List
  +calculate()
}
User "1" -- "*" Order : places
@enduml

Activity Diagram (Flowchart)

@startuml
start
:Login system;
if (Password correct?) then (Yes)
  :Go to home;
else (No)
  :Show error;
  stop
endif
stop
@enduml

State Diagram

@startuml
[*] --> Waiting
Waiting --> Processing: Start
Processing --> Completed: Success
Processing --> Failed: Error
Completed --> [*]
Failed --> [*]
@enduml

Use Case Diagram

@startuml
left to right direction
actor User as U
rectangle System {
  U -- (Login)
  U -- (Place Order)
  U -- (Query Order)
}
@enduml

Output Format Guide

FormatDescriptionPowerPoint Editable
.pptxSlide with embedded EMF✅ Ungroup to edit
.emfEnhanced Metafile✅ Ungroup to edit
.svgVector image❌ Needs conversion
.pngRaster image❌ Not editable

Recommended Workflow:

  1. Generate .pptx format
  2. Select the image in PowerPoint
  3. Right-click → GroupUngroup (may need to ungroup multiple times to fully separate all elements)
  4. Edit each element independently

⚠️ Important Notes

After generating PPT, you MUST tell the user the following:

"PPT generated! To edit each shape: Select the image → Right-click → Group → Ungroup. Note: You may need to ungroup multiple times (Ctrl+Shift+G) to fully separate all elements and ensure each shape can be edited independently."

Notes

  1. Avoid Chinese characters, spaces, and special characters in .puml filenames
  2. PlantUML syntax requires matching @startuml and @enduml
  3. Output files are saved in the current working directory
  4. Inkscape and JDK must be installed and configured in PATH (see dependency section below)
  5. Use system Python to run the script: Ensure dependencies are installed via pip install -r requirements.txt

⚠️ Swimlane/Participant Names Must Be in English

Due to PlantUML encoding limitations, swimlane names and participant names must be in English. Activity descriptions and messages should use the user's language.

@startuml ecommerce_flow

|Customer|
start
:Browse Products;
:Place Order;
|OrderService|
:Process Order;

@enduml

Rules:

  • Swimlane/Participant names: Must be in English (e.g., Customer, OrderService)
  • Activity descriptions/messages: Use user's language (if user speaks Chinese, use Chinese "浏览商品"; if English, use "Browse Products")
  • State names: Use English (e.g., Active, Pending, Completed)

Reason: PlantUML has an encoding bug when handling non-English swimlane/participant names, producing SVGs with corrupted HTML entity references. This is a PlantUML limitation that cannot be resolved via configuration.

Dependency Instructions

External Dependencies Check

Before using this skill, verify the following dependencies are installed:

1. Inkscape (Vector Conversion)

Inkscape is used to convert SVG to EMF format, it's the core dependency.

Check if installed:

# Run in command line
inkscape --version

If not installed, follow these steps:

  1. Visit Inkscape download page: https://inkscape.org/release/
  2. Download Windows installer (.exe or .msi)
  3. Run the installer, make sure to check "Add Inkscape to PATH" during installation
  4. After installation, reopen command line window and verify:
inkscape --version

Version requirement: Inkscape 1.0 or higher

Important: If not added to PATH during installation, you can add manually:

  • Add C:\Program Files\Inkscape\bin to system PATH environment variable

2. OpenJDK (Run PlantUML)

Check if installed:

java --version

If not installed, follow these steps:

  1. Visit Adoptium download page: https://adoptium.net/zh-CN/temurin/releases?version=8
  2. Download Windows x64 JDK 8 (.msi or .exe)
  3. Run the installer
  4. Configure environment variables:
VariableValue
JAVA_HOMEC:\Program Files\Eclipse Adoptium\jdk-8.x.x.x-hotspot (adjust to actual install path)
PATH (append)%JAVA_HOME%\bin
  1. Verify installation:
java --version

Python Dependencies

Install via pip:

pip install -r requirements.txt

requirements.txt contents:

  • pillow
  • python-pptx

PlantUML Jar Download

Important: If scripts/plantuml.jar does not exist, the AI model should download it automatically.

Download command:

# Navigate to AutoPlantUMLEdit skill directory first
curl -L -o "scripts/plantuml.jar" "https://github.com/plantuml/plantuml/releases/download/v1.2026.2/plantuml-1.2026.2.jar"

Or using PowerShell:

# Navigate to AutoPlantUMLEdit skill directory first
Invoke-WebRequest -Uri "https://github.com/plantuml/plantuml/releases/download/v1.2026.2/plantuml-1.2026.2.jar" -OutFile "scripts/plantuml.jar"

Verify after download:

java -jar scripts/plantuml.jar -version

Comments

Loading comments...