npx claudepluginhub tta-lab/ttal-cli --plugin ttalThis skill uses the workspace's default tool permissions.
CLI-first image manipulation using ImageMagick (raster) and vtracer (raster-to-vector).
Convert and manipulate images using ImageMagick: format conversion, resizing, batch processing, thumbnails, quality adjustment, rotate, flip, crop.
Converts PNG images to high-quality SVGs: removes white backgrounds with ImageMagick alpha thresholding, vectorizes using vtracer spline curves, compresses with SVGO. Ideal for creating clean vectors from raster graphics.
Executes ImageMagick commands to remove backgrounds, resize images, convert formats, add rounded corners/watermarks, generate thumbnails, and adjust colors for image manipulation.
Share bugs, ideas, or general feedback.
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 |