Image Compressor Compresses images using best available tool (sips → cwebp → ImageMagick → Sharp). Script Directory Scripts in scripts/ subdirectory. Replace ${SKILL_DIR} with this SKILL.md's directory path. Script Purpose scripts/main.ts Image compression CLI Preferences (EXTEND.md) Use Bash to check EXTEND.md existence (priority order):
Check project-level first
test -f .tuzi-skills/tuzi-compress-image/EXTEND.md && echo "project"
Then user-level (cross-platform: $HOME works on macOS/Linux/WSL)
- test
- -f
- "
- $HOME
- /.tuzi-skills/tuzi-compress-image/EXTEND.md"
- &&
- echo
- "user"
- ┌────────────────────────────────────────────────────────┬───────────────────┐
- │ Path │ Location │
- ├────────────────────────────────────────────────────────┼───────────────────┤
- │ .tuzi-skills/tuzi-compress-image/EXTEND.md │ Project directory │
- ├────────────────────────────────────────────────────────┼───────────────────┤
- │ $HOME/.tuzi-skills/tuzi-compress-image/EXTEND.md │ User home │
- └────────────────────────────────────────────────────────┴───────────────────┘
- ┌───────────┬───────────────────────────────────────────────────────────────────────────┐
- │ Result │ Action │
- ├───────────┼───────────────────────────────────────────────────────────────────────────┤
- │ Found │ Read, parse, apply settings │
- ├───────────┼───────────────────────────────────────────────────────────────────────────┤
- │ Not found │ Use defaults │
- └───────────┴───────────────────────────────────────────────────────────────────────────┘
- EXTEND.md Supports
- Default format | Default quality | Keep original preference
Usage
npx
-y
bun
${SKILL_DIR}
/scripts/main.ts
<
input
[ options ] Options Option Short Description Default File or directory Required --output -o Output path Same path, new ext --format -f webp, png, jpeg webp --quality -q Quality 0-100 80 --keep -k Keep original false --recursive -r Process subdirs false --json JSON output false Examples
Single file → WebP (replaces original)
npx -y bun ${SKILL_DIR} /scripts/main.ts image.png
Keep PNG format
npx -y bun ${SKILL_DIR} /scripts/main.ts image.png -f png --keep
Directory recursive
npx -y bun ${SKILL_DIR} /scripts/main.ts ./images/ -r -q 75
JSON output
npx -y bun ${SKILL_DIR} /scripts/main.ts image.png --json Output : image.png → image.webp (245KB → 89KB, 64% reduction) Extension Support Custom configurations via EXTEND.md. See Preferences section for paths and supported options.