Compresses images to WebP (default), PNG, or JPEG using optimal tools like sips, cwebp, ImageMagick, or Sharp via Bun CLI. Useful for optimizing file sizes, converting formats, or processing directories recursively.
npx claudepluginhub jimliu/baoyu-skills --plugin baoyu-skillsThis skill uses the workspace's default tool permissions.
Compresses images using best available tool (sips → cwebp → ImageMagick → Sharp).
Compresses images cross-platform to WebP by default with PNG-to-PNG support via CLI. Uses sips, cwebp, ImageMagick, or Sharp fallback. Processes files/directories recursively with quality/format options.
Compresses images to WebP (default) or PNG using best available tool (sips, cwebp, ImageMagick, Sharp). Processes single files or directories recursively with format, quality, and output options.
Compresses JPG/PNG/GIF images to WebP using cwebp, iteratively reducing quality/resolution until under 100KB, preserves originals, reports sizes, updates file references. Use for web/SEO performance.
Share bugs, ideas, or general feedback.
Compresses images using best available tool (sips → cwebp → ImageMagick → Sharp).
Scripts in scripts/ subdirectory. {baseDir} = this SKILL.md's directory path. Resolve ${BUN_X} runtime: if bun installed → bun; if npx available → npx -y bun; else suggest installing bun. Replace {baseDir} and ${BUN_X} with actual values.
| Script | Purpose |
|---|---|
scripts/main.ts | Image compression CLI |
Check EXTEND.md in priority order — the first one found wins:
| Priority | Path | Scope |
|---|---|---|
| 1 | .baoyu-skills/baoyu-compress-image/EXTEND.md | Project |
| 2 | ${XDG_CONFIG_HOME:-$HOME/.config}/baoyu-skills/baoyu-compress-image/EXTEND.md | XDG |
| 3 | $HOME/.baoyu-skills/baoyu-compress-image/EXTEND.md | User home |
If none found, use defaults.
EXTEND.md supports: Default format, default quality, keep-original preference.
${BUN_X} {baseDir}/scripts/main.ts <input> [options]
| Option | Short | Description | Default |
|---|---|---|---|
<input> | 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 |
# Single file → WebP (replaces original)
${BUN_X} {baseDir}/scripts/main.ts image.png
# Keep PNG format
${BUN_X} {baseDir}/scripts/main.ts image.png -f png --keep
# Directory recursive
${BUN_X} {baseDir}/scripts/main.ts ./images/ -r -q 75
# JSON output
${BUN_X} {baseDir}/scripts/main.ts image.png --json
Output:
image.png → image.webp (245KB → 89KB, 64% reduction)
Custom configurations via EXTEND.md. See Preferences section for paths and supported options.