Install
openclaw skills install svg-drawCreate SVG images and convert them to PNG without external graphics libraries. Use when you need to generate custom illustrations, avatars, or artwork (e.g., "draw a dragon", "create an avatar", "make a logo") or convert SVG files to PNG format. This skill works by writing SVG text directly (no PIL/ImageMagick required) and uses system rsvg-convert for PNG conversion.
openclaw skills install svg-drawGenerate vector graphics and raster images using pure SVG code and system conversion tools.
For new drawings:
assets/ as starting points)For existing SVG files:
Choose or create a template
assets/ for existing templates (dragon, lobster, etc.)Write the SVG file
# Example: Write SVG to file
write('/path/to/output.svg', svg_content)
Convert to PNG
/root/.openclaw/workspace/skills/svg-draw/scripts/svg_to_png.sh input.svg output.png 400 400
Always include:
<svg> tag with xmlns="http://www.w3.org/2000/svg" and viewBox<rect> (prevents transparent backgrounds)width and height attributesCommon SVG elements:
<rect>, <circle>, <ellipse>, <polygon>, <path><text> with text-anchor="middle" for centeringopacity attribute for transparency effectsExample character structure:
Background → Body → Head → Face features → Limbs → Accessories → Name
Use the bundled conversion script:
/root/.openclaw/workspace/skills/svg-draw/scripts/svg_to_png.sh <input.svg> <output.png> [width] [height]
Parameters:
input.svg: Source SVG file pathoutput.png: Destination PNG file pathwidth: Output width in pixels (default: 400)height: Output height in pixels (default: 400)Example:
/root/.openclaw/workspace/skills/svg-draw/scripts/svg_to_png.sh dragon.svg dragon.png 512 512
assets/dragon_template.svg)Blue dragon with:
Customization ideas:
fill="#4a90d9" for different body colorsfill="#ffcc00"assets/lobster_template.svg)Red lobster with:
Customization ideas:
fill="#e85d04" (darker red) or fill="#f48c06" (orange)Friendly/Cute:
#4a90d9 (blue), #f48c06 (orange)#ffcc00 (yellow), #ff6b6b (coral)#1a1a2e (dark blue)Professional:
Change colors: Find fill="#" or stroke="#" attributes and replace the hex codes
Resize elements: Adjust rx, ry (ellipses) or width, height (rectangles)
Reposition: Modify cx, cy (circles/ellipses) or x, y (rectangles)
Add text:
<text x="200" y="370" font-family="Arial, sans-serif" font-size="24" font-weight="bold" fill="#ffcc00" text-anchor="middle">Your Text</text>
svg_to_png.sh - Convert SVG to PNG using rsvg-convertdragon_template.svg - Friendly blue dragonlobster_template.svg - Cute red lobsterSVG not rendering:
<svg> tag with xmlns attributeviewBox is set correctlyConversion fails:
rsvg-convert is installed: which rsvg-convertImage looks wrong: