From ttal
CLI image manipulation using ImageMagick and vtracer — convert PNG/JPG to SVG, remove watermarks, resize, crop, and edit raster images.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ttal:image-toolsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
CLI-first image manipulation using ImageMagick (raster) and vtracer (raster-to-vector).
CLI-first image manipulation using ImageMagick (raster) and vtracer (raster-to-vector).
# Check if installed
which magick && echo "imagemagick OK" || echo "need: brew install imagemagick"
which vtracer && echo "vtracer OK" || echo "need: cargo install vtracer"
Install if missing:
brew install imagemagick # raster image editing
cargo install vtracer # raster-to-vector conversion (Rust)
Best for logos, icons, flat illustrations:
vtracer --input input.png --output output.svg \
--colormode color \
--filter_speckle 10 \
--color_precision 4 \
--corner_threshold 60 \
--segment_length 6 \
--gradient_step 32
For complex images, increase precision:
vtracer --input input.png --output output.svg \
--colormode color \
--filter_speckle 4 \
--color_precision 6 \
--corner_threshold 60 \
--segment_length 4
For line art, text, or single-color designs:
vtracer --input input.png --output output.svg --colormode bw
filter_speckle, gradient_step, decrease color_precisionsegment_length, filter_specklecolor_precision (1-8, lower = fewer colors)Paint over a region with a solid color (e.g. matching background):
# Get image dimensions first
magick identify input.png
# Paint rectangle over bottom-right corner (100x100 area)
magick input.png -fill "#0F0F0F" -draw "rectangle 1180,1180 1280,1280" output.png
# Resize to specific width, maintain aspect ratio
magick input.png -resize 512x output.png
# Resize to exact dimensions
magick input.png -resize 512x512! output.png
# Resize to fit within bounds (no upscale)
magick input.png -resize 512x512\> output.png
# Crop to 500x500 from top-left
magick input.png -crop 500x500+0+0 output.png
# Crop from center
magick input.png -gravity center -crop 500x500+0+0 output.png
magick input.png output.jpg
magick input.jpg output.webp
magick input.png -quality 85 output.jpg
magick input.png -trim +repage output.png
magick input.png -threshold 50% output.pbm
When source image has watermarks, logos, or artifacts:
# 1. Check dimensions
magick identify input.jpg
# 2. Remove unwanted elements (paint over with background color)
magick input.jpg -fill "#BACKGROUND" -draw "rectangle x1,y1 x2,y2" clean.jpg
# 3. Convert to SVG
vtracer --input clean.jpg --output output.svg --colormode color \
--filter_speckle 10 --color_precision 4 --corner_threshold 60 \
--segment_length 6 --gradient_step 32
# 4. Check output size (aim for <50KB for icons)
ls -la output.svg
# Resize to favicon sizes
magick logo.png -resize 32x32 favicon-32.png
magick logo.png -resize 16x16 favicon-16.png
# Or create .ico with multiple sizes
magick logo.png -resize 256x256 -define icon:auto-resize=256,128,64,48,32,16 favicon.ico
| Task | Tool |
|---|---|
| PNG/JPG → SVG | vtracer |
| Resize, crop, format convert | magick |
| Remove watermark | magick (paint over) → then vtracer if SVG needed |
| Trim borders | magick |
| Create favicon | magick |
npx claudepluginhub tta-lab/ttal-cli --plugin ttalConvert and manipulate images using ImageMagick: format conversion, resizing, batch processing, thumbnails, quality adjustment, rotate, flip, crop.
Converts PNG images to high-quality SVG using ImageMagick, vtracer spline vectorization, and svgo compression. Supports optional white-background removal and parameter tuning for cleaner vectors.
Wraps raster logo files (webp, png, jpg) as base64-embedded SVG for pixel-identical output. Use when converting logos to SVG format without a vector source.